讲述什么是动态VLAN.docx
《讲述什么是动态VLAN.docx》由会员分享,可在线阅读,更多相关《讲述什么是动态VLAN.docx(21页珍藏版)》请在冰豆网上搜索。
讲述什么是动态VLAN
讲述什么是动态VLAN
来源:
作者:
发布时间:
2008-07-28阅读次数
亚威岁末大优惠——所有Cisco培训课程7折
动态的VLAN形成很简单,由端口自己决定它属于哪个VLAN时,就形成了动态的VLAN。
不过,这
不是Terminator,也不是变成非小说文学的TheForbinProject,它是一个简单的映射,这个映射取决于工
程师创建的数据库。
分配给动态VLAN的端口被激活后,交换机就缓存初始帧的源MAC地址。
随后,交
换机便向一个称为VMPS(VLAN管理策略服务器)的外部服务器发出请求,VMPS中包含一个文本文件,文
件中存有进行VLAN映射的MAC地址。
交换机对这个文件进行下载,然后对文件中的MAC地址进行校验。
如果在文件列表中找到MAC地址,交换机就将端口分配给列表中的VLAN。
如果列表中没有MAC地址,
交换机就将端口分配给默认的VLAN(假设已经定义默认了VLAN)。
如果在列表中没有MAC地址,而且也
没有定义默认的VLAN,端口不会被激活。
这是维护网络安全一种非常好的的方法。
20.3.1VMPS操作
当使用VMPS的时候,要从TFTP服务器上下载一个MAC地址到vlan映射的数据库到VMPS服务器(实
质为一台Catylsyt交换机)。
此后VMPS就可以接受用户请求了。
如果所分配的vlan被限制在一组端口范围内,VMPS确认发起请求的端口是否在这个组内,并作如
下响应:
1.如果vlan在该端口是允许的,VMPS向客户返回vlan的名字
2.如果vlan在该端口是不允许的,VMPS不处于安全模式,这时拒绝接入响应
3.如果此vlan在该端口是不允许的,并且VMPS处于安全模式,VMPS发出端口关闭响应
如果数据库内的vlan与该端口上当前的vlan不匹配,并且该端口上有活动主机,VMPS会视VMPS
的安全模式发出拒绝或端口关闭响应。
如果交换机从VMPS服务器端接收到拒绝接入响应,将会阻止由
该mac地址发往此端口或者从这个端口来的童心。
交换机将继续监控发往该端口的德分组,并在发现新
的地址时向VMPS或者从这个端口来的通信。
如果交换机从VMPS服务器接收到端口关闭响应,将会立刻
关闭端口,并只能手工重新启用。
.
可以配置一个fallbackvlan的名字,如果配置连接到网络上并且其mac地址不再数据库中,VMPS会
将fallbackvlan的名字发给客户端,如果不配置fallbackvlan,mac地址也不在数据库中,VMPS将会发出
拒绝响应,如果VMPS处于安全模式,将会关闭端口。
出于安全的原因,可以在配置表中显式的天价条目,拒绝待定mac地址的访问,具体方法是将此
mac地址对应的vlan名字指定为关键字-NONE-,这样,VMPS就会发出拒绝接入或端口关闭响应。
交换机上的动态端口仅属于一个vlan,当链路up后,交换机只能在VMPS服务器提供vlan分配后
才会转发来自或者发往此端口的通信,VMPS客户端从连接到动态端口的新主机发送的首个分组中获得源
mac,并尝试通过发往VMPS服务器的VQP请求,在VMPS数据库中找到与之匹配的vlan。
CiscoCatalyst2950和3550允许多台同属于一个vlan的主机连接在一个动态端口上,如果活动主机
大于20台,VMPS将把接口关闭,如果动态端口上的连接中断,断口返回隔离状态并不属于一个vlan。
对连接doa该端口的任何主机,在将端口分配给某个vlan之前,要通过VMPS重新检查。
20.3.2VMPS数据库配置
将VMPS客户配置为动态时,有一些限制。
在位动态端口指定vlan成员身份时采用下面原则:
1.将端口配置为动态之前,必须先配置VMPS
2.VMPS客户端必须与VMPS服务器处于同一个VTP管理域中
3.VMPS客户端必须与VMPS服务器同属于一个管理vlan
4.如果将端口配置为动态,会自动在该端口启动STP的PortFast功能
5.如果将一个端口由静态配置为同一个vlan中的动态端口,端口会立即连接到此vlan上,
直到vmps为动态端口上特定的主机的合法性检查数据库。
6.静态端口不可以改变为动态端口
7.静态的trunk不可以改变为动态端口
8.EtherChannel内的物理端口不能被配置为动态端口
9.如果有过多的活动主机连接到端口中,vmps会关闭动态端口
VMPS数据库配置文件必须放置在TFP服务器上,VMPS数据库配置文件是一个ASCII码的文本文件。
如下是一个标准的VMPS数据库配置文件
注意,在配置vmps数据库时,由于vmps解析器是line-based的,所以配置时要以VMPS开头,防
止vmps服务器错误的读取其他类型的配置文件..
20.3.3VMPS服务器配置
通常,VMPS服务器仅在Catalyst5500/6500等高端交换机上支持,配置方式如下
setvmpsdownloadmethodrcp|tftp[username]
setvmpsdownloadserverip_addr[filename]
setvmpsstateenable
20.3.4OpenVMPSd
同时可以采用VMPSforLinux实现VMPS服务器。
1.访问下载OpenVMPSd
2.在linux中tar–vzxfvmpsd-1.3.tar.gz解压文件
3../configuae配置
4.Make
5.Makeinstall
6.配置vmps数据库
7.运行vmpsd(vmpsd–d–aip-addr–l0x0004–fvmps.db
8.如果需要启动linux服务器时加载vmps可以在/etc/rc.local中加入vmpsd
其他VMPSD的配置信息如下
SYNOPSIS
vpmsd[-d][-aaddress][-ffile][-llevel][-pport]
OPTIONS
-abindaddress
IPaddresstobindvmpsdto.Requestsfromclientsmustcomeinonthisaddress.
-dCausesvmpsdtostayintheforegroundinsteadofdetachingasadaemon.Alsologs
tostderr.
-fconfigfile
Specifytheconfigurationfilethatvmpsdwilluse.Theprogramwillfailwithoutthis
option,ascurrentlythereisnodefaultset.
-lloglevel
Settheloglevelvmpsdwilluse.Optionsare:
·0x0100--fatalerrorsonly
·0x0200--informationalmessages
·0x0400--printwarnings
·0x0800--printdebugmessages;veryverbose
·0x0001--system
·0x0002--parser
·0x0004–vqp
-plistenerport
Portvmpsdwilllistenon.Defaultsto1589.
FILES
vmps.db
20.3.5VMPS客户端配置
Switch(config)#vmpsserveripaddressprimary
Switch(config)#vmpsserveripaddress//可以设置3个备份vmps服务器
Switch(config)#interfacefa0/1
Switch(config-if)#switchportmodeaccess
Switch(config-if)#switchportaccessvlandynamic
20.3.6VMPS检查
vmpsreconfirmminutes重新配置时间间隔
vmpsretrynumber-of-retries重试次数
clearvmpsserver清除vmps服务器.
clearvmpsstatistics清除vmps统计
showvmps察看vmps状态
showvmpsmac
showvmpsstatistics
showvmpsvlanvlan-name
showvmpsvlanportsvlan-name
20.4Trunking
汇聚链接(TrunkLink)指的是能够转发多个不同VLAN的通信的端口。
如上图。
汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。
通过汇聚链路
时附加的VLAN识别信息,有可能支持标准的“IEEE802.1Q”协议,也可能是Cisco产品独有的“ISL(Inter
SwitchLink)”。
如果交换机支持这些规格,那么用户就能够高效率地构筑横跨多台交换机的VLAN。
另外,汇聚链路上流通着多个VLAN的数据,自然负载较重。
因此,在设定汇聚链接时,有一
个前提就是必须支持100Mbps以上的传输速度。
另外,默认条件下,汇聚链接会转发交换机上存在的所有VLAN的数据。
换一个角度看,可以
认为汇聚链接(端口)同时属于交换机上所有的VLAN。
由于实际应用中很可能并不需要转发所有VLAN
的数据,因此为了减轻交换机的负载、也为了减少对带宽的浪费,我们可以通过用户设定限制能够
经由汇聚链路互联的VLAN。
20.4.1Trunk类型
Cisco支持多种Trunk方式(即对VLAN帧标识):
1.ISL――Cisco专有封装协议,也是默认的。
前面加26字节,后面加4字节FCS。
2.IEEE802.1Q――IEEE标准方法,在帧头写入VLAN信息,后面只增加4字节FCS。
3.802.10――FDDI上传输VLAN信息的Cisco专有协议,把VLAN信息写入SAID安全关
联标识符部分
4.LANE――基于ATM上传输VLAN信息的一种IEEE标准方法。
帧标记和封装方法
20.4.2ISL
ISL,是Cisco产品支持的一种与IEEE802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。
使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISLHeader)”,并且在帧尾带上通过
对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值。
换而言之,就是总共增加了30字
节的信息。
在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以
了。
由于原先的数据帧及其CRC都被完整保留,因此无需重新计算CRC。
ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(Encapsulated
VLAN)”。
并且由于ISL是Cisco独有的协议,因此只能用于Cisco网络设备之间的互联。
20.4.3IEEE802.1Q
IEEE802.1Q,俗称“DotOneQ”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。
IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(TypeField)”
之间。
具体内容为2字节的TPID和2字节的TCI,共计4字节。
在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。
这时数据帧上的CRC是插入
TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。
而当数据帧离开汇聚链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算。
TPID的值,固定为0x8100。
交换机通过TPID,来确定数据帧内附加了基于IEEE802.1Q的VLAN
信息。
而实质上的VLANID,是TCI中的12位元。
由于总共有12位,因此最多可供识别4096个VLAN。
基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签。
因此,它也被称作“标签型
VLAN(TaggingVLAN)”。
Nativevlan
802.1Q-trunk为转发未被标记的frame而定义了nativeVLAN。
交换机能够从未被标记的trunk
上的nativeVLAN转发2层frame,接受方将把所有的未标记frame转发到nativeVLAN中。
如果是ISL,则没被封装的frame将会丢弃,包括nativeVLAN,所有的数据将被封装
BabyGiantFrame
原始以太网帧大小不超过1518字节,如果一个最大长度的帧是通过802.1Q来标记得,那么
这个帧变成1522字节,这种大于1500小于2000的帧被成为小巨人帧。
20.4.4IEEE802.10
IEEE802.10标准定义两种策略,在城域网(MAN)或广域网(WAN)骨干上桥连VLAN,以支持VLAN
之间的通信。
这些策略为交换和路由提供VLAN支持。
IEEE802.10标准,在源MAC地址和离开交换机
之前的FDDI帧的链路服务访问点(LinkServiceAccessPoint,LSAP)字段之间,实现一个VLANID。
该VLANID
是报文头中的4个字节。
接收交换机检查头,并检测交换机内是否存在VLANID。
如果存在,它删除
IEEE802.10头,将帧转发到匹配VLANID的接口。
每个端用户接口只允许一个VLANID。
连接到MAN或
WANFDDI网络的接口被认为是VLAN骨干(trunk),支持多个VLANID。
20.4.5LANE
LANE的功能是在ATM网络上仿真LAN,LANE协议定义了仿真IEEE802.3以太网或802.5令牌环
网的机制。
LANE协议定义了与现有LAN给网络层提供的服务相同的接口,在ATM网络中传输的数据
以相应的LANMAC分组格式封装。
ATMLANE是专为LAN接入而设置的,意即ATM的局域网仿真(LANEmulation)。
对传统IP终端而
言,ATM网络就像是一个局域网,其中包含若干由路由器连接起来的IP子网。
A.LANE支持多种协议(MPOA:
Multi-ProtocoloverATM)传送,允许不同的LANE之间的互
联;
B.充分支持LAN中的无连接特性;
C.支持单播、多播及广播传送;
D.基于客户端/服务器模式(Client/Server),一个LANE服务器可对多个LANE客户端。
每个ELAN(EmulatedLAN)由一组LANE客户(LEC)和LANE服务构成。
LEC还可以是作为ATM主机代
理的网桥和路由器。
LE服务由三个不同的功能实体构成:
LAN仿真配置服务器(LECS)、LAN服务器(LES)
和BUS,这三个服务实体可以各自存在,但通常位于同一设备,例如:
LES可以位于ATM交换机、路
由器、网桥和工作站。
ATMLANE的构成及相互关系如下.
(1)LANE客户端(LEC:
LANEClient)
在ATM终端系统上仿真以太网或令牌环网结点,至少得绑定一个MAC地址,其功能是封
装IP数据报交给ATM网传送,同时转译ATM分组,重新组成IP数据报。
(2)LANE服务器(LES:
LANEServer)
提供MAC地址得注册和解析手段
响应LEC的上述请求
一个LANE中只有一个LES
(3)LANE广播和未知服务器(BUS:
Broadcast&UnknownServer)
仿真传统LAN的广播机制
在LEC间直接链路建立前单播LEC数据
一个LANE中只有一个BUS
(4)LANE配置服务器(LECS:
LANEConfigurationServer)
维护一个ATM网络中多个LANE内的LEC、LES和BUS的配置信息
为每个LEC提供其所属LES的ATM地址
因为LANE提供与现有MAC协议给网络层提供的驱动相同的服务接口,不需要改变该驱动,这将加
速ATM的发展和应用。
但是,LANE的功能是使ATM的特性对高层协议透明,因此它使高层协议不能
利用ATM固有的优点,尤其是其服务质量保证。
尽管LANE提供在ATM网络子网内桥接的有效方式,
但子网间的业务仍需要通过路由器转发,因此,ATM路由器很可能成为瓶颈。
20.4.6配置Trunk
首先,将端口模式改为Trunk,
Switch(config-if)#switchportmodetrunk
Switch(config-if)#switchporttrunk?
allowedSetallowedVLANcharacteristicswheninterfaceisintrunking
mode
encapsulationSettrunkingencapsulationwheninterfaceisintrunkingmode
nativeSettrunkingnativecharacteristicswheninterfaceisin
trunkingmode
pruningSetpruningVLANcharacteristicswheninterfaceisintrunking
mode
在3550等能够支持ISL和dot1q两种封装的机器上,需要先设置封装模式
如下所示,先配置modetrunk
3550-Switch(config-if)#switchportmodetrunk
Commandrejected:
Aninterfacewhosetrunkencapsulationis"Auto"cannotbeconfigured
"trunk"mode.
封装类型可以设置为ISL,dot1q或者自动协商3种模式
Switch(config-if)#switchporttrunkencapsulation?
dot1qInterfaceusesonly802.1qtrunkingencapsulationwhentrunking
islInterfaceusesonlyISLtrunkingencapsulationwhentrunking
negotiateDevicewillnegotiatetrunkingencapsulationwithpeeron
interface
默认情况下Trunk允许所有的vlan通过,此时可以通过
Switch(config-if)#switchporttrunkallowedvlan{vlan-list|all}
Switch(config-if)#switchporttrunkallowedvlan{add|except|remove}vlan-list
Vlan的允许通过通常用在一些特殊的情况,例
如,在右图中,交换机间有2条链路,要做基于vlan
通过限制的负载均衡,在一条链路上承载vlan2,3
的流量,另一条链路上承载vlan4,5的流量。
Switch(config)#intfa0/1
Switch(config-if)#switchporttrunkallowedvlan2-3
Switch(config-if)#switchporttrunkexceptvlan4-5
Switch(config)#intfa0/2
Switch(config-if)#switchporttrunkallowedvlan4-5
Switch(config-if)#switchporttrunkexceptvlan2-3
20.5DTP动态中继协议
DTP(DynamicTrunkingProtocol),用来动态协商端口类型为Access或者Trunk。
要完成自动协商,2端口
必须在同一个VTPdomain中。
每30s发送一次DTP的frame.该协议仅在交换机间协商。
20.5.1配置DTP
3550和2950支持的端口模式如下
3550-Switch(config-if)#switchportmode?
accessSettrunkingmodetoACCESSunconditionally
dot1q-tunnelSettrunkingmodetoDOT1QTUNNELunconditionally
dynamicSettrunkingmodetodynamicallynegotiateaccessortrunkmode
trunkSettrunkingmodetoTRUNKunconditionally
2950-Switch(config-if)#switchportmo?
accessSettrunkingmodetoACCESSunconditionally
dynamicSettrunkingmodetodynamicallynegotiateaccessortrunkmode
trunkSettrunkingmodetoTRUNKunconditionally
端口模式可以配置为如下5种模式
例如,在动态模式下关闭协商,系统会提示冲突
2950-Switch(config-if)#switchportnonegotiate
Commandrejected:
Conflictbetween'nonegotiate'and'dynamic'status.
20.5.2DTP组合
由于端口可以支持5种模式,可以做出如下的一个排列组合分类,以便找到DTP的协商结果
20.5.3DTP检验
2950-Switch#showinterfaceswitchport
Name:
Fa0