VLAN技术网桥和交换机的根本功能是通过将网络分割成多个冲突域,减少碰撞次数。但无法隔离广播帧。所有用户同在一个广播域中会引起网络性能的下降,浪费网络带宽,因此控制网络内的广播传输变得非常重要。假设计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARPRequest)信息”,来尝试获取计算机B的MAC地址。交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。最终ARP请求会被转发到同一网络中的所有客户机上。AB广播带来的负面作用这个ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗。广播的隔离方法传统的共享介质的以太网和交换式的以太网中,对广播风暴的控制和网络安全只能用工作在第三层的设备——路由器来实现,因为默认情况下路由器不会转发广播信息。……广播普通交换机无法隔离广播域路由器可以隔离广播域……广播路由器而现在的局域网一般可以通过交换机来隔离广播,即VLAN技术。财务处财务处员工人事处财务处员工同一广播域同一广播域财务处财务处员工人事处财务处员工同一广播域同一广播域财务处财务处员工人事处财务处员工同一广播域财务处财务处员工人事处财务处员工同一广播域同一广播域虚拟局域网VLAN1虚拟局域网VLAN2VLAN简介VLAN(VirtualLocalAreaNetwork)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而组建虚拟工作组的新兴技术。IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站。由于它是逻辑地而不是物理地划分,所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。是否具有VLAN功能是衡量局域网交换机的一项重要指标。网络的虚拟化是未来网络发展的潮流。交换机上划分VLAN隔离广播风暴如果在交换机上生成红、蓝两个VLAN;同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。A如果要更为直观地描述VLAN的话,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。使用VLAN的目的VLAN的三大优点:控制广播风暴:一个VLAN就是一个逻辑广播域,通过对VLAN的创建,隔离了广播,缩小了广播范围,可以控制广播风暴的产生。提高网络的整体安全性:可以控制用户访问权限和逻辑网段大小,将不同用户群划分在不同VLAN,从而提高交换式网络的整体性能和安全性方便网络的管理:对于采用VLAN技术的网络来说,一个VLAN可以根据部门职能、对象组或者应用将不同地理位置的网络用户划分为一个逻辑网段。在不改动网络物理连接的情况下可以任意地将工作站在工作组或子网之间移动。利用虚拟网络技术,大大减轻了网络管理和维护工作的负担,降低了网络维护费用VLAN标准——IEEE802.1Q数据帧IEEE802.1Q是虚拟局域网的正式标准,定义了同一个物理链路上承载多个局域网的数据流的方法。IEEE802.1Q定义了VLAN帧格式,为识别帧属于哪个VLAN提供了一个标准的方法。这个格式统一了标识VLAN的方法,有利于保证不同厂家设备配置的VLAN可以互通。目的MAC源MAC类型数据FCS目的MAC源MACTPID数据重新计算的FCS类型TCI0x81002个字节Priority3bitCFI12bitVID1bit标记协议标识(TPID):固定值0x8100,表示该帧载有802.1Q标记信息标记控制信息(TCI):Priority:3比特,表示优先级,决定了数据帧的重要紧急程度,优先级越高,就越优先得到交换机的处理。在QoS中有应用。CFI(CanonicalFormatIndicator):1比特,规范格式指示符,当其值为0时,表示该数据帧采用规范帧格式,如果该位是1则表示该帧为非规范帧格式。VID(VlanID):12比特,指明VLAN的ID,可用范围1-4094,每个支持802.1Q协议的交换机发送出来的数据包都会包含这个域,以指明该帧属于哪一个VLAN。在一个交换网络环境中,以太网的帧有两种格式:有些帧是没有加上这四个字节标志的,称为未标记的帧(untagedframe),有些帧加上了这四个字节的标志,称为带有标记的帧(tagedframe)。0x81002个字节Priority3bitCFI12bitVID1bitAccessLink和TrunkLink接入链路干道链路主机和交换机之间的链路是接入链路;交换机之间通过干道链路互相连接。Access端口只属于1个vlanTrunk端口可以属于多个vlanVLAN帧在网络中的通信对于主机来说,它是不需要知道VLAN的存在的。主机发出的帧都是untaged的帧;交换机接收到这样的帧之后,根据配置规则(如端口信息)判断出帧所属VLAN进行处理。如果帧需要通过另外一台交换机发送,则该帧必须通过干道链路传输到另外一台交换机上。为了保证其它交换机正确处理帧的VLAN信息,在干道链路上发送的帧大多数(不是全部)都带上了VLAN标记。当交换机最终确定帧转发端口后,将帧发送给主机之前,将VLAN的标记从以太网帧中删除,这样主机接收到的帧都是不带VLAN的标记的以太网帧。一般情况下,干道链路上传送的都是TagedFrame,接入链路上传送的都是UntagedFrame。这样做的最终结果是:网络中配置的VLAN可以被所有的交换机正确处理,而主机不需要了解VLAN信息。广播帧如何到达同一VLAN的各个节点因为VLAN可能跨越多个交换机,当一个交换机从某VLAN的一个端口收到广播帧之后,为了保证同属一个VLAN的所有主机都接收到这个广播帧,交换机必须按照如下原则将帧进行转发:1、发送给本交换机中同一个VLAN中的其它端口;2、将这个帧发送给本交换机的包含这个VLAN的所有干道链路,以便让其它交换机上的同一个VLAN的端口能接收到该帧。VLAN的种类基于端口的VLAN针对交换机的端口进行VLAN的划分,不受主机的变化影响。基于协议的VLAN在一个物理网络中针对不同的网络层协议进行安全划分基于MAC地址的VLAN基于主机的MAC地址进行VLAN划分,主机可以任意在网络移动而不需要重新划分基于组播的VLAN基于组播应用进行用户的划分基于IP子网的VLAN针对不同的用户分配不同子网的IP地址,从而隔离用户主机,一般情况下结合基于端口的VLAN进行应用基于端口的VLAN主机A主机B主机C主机D以太网交换机VLAN表端口所属VLANPort1VLAN5Port2VLAN10…………Port7VLAN5…………Port10VLAN10Port1Port2Port7Port10基于MAC地址的VLANVLAN表MAC地址所属VLANMACAMACBMACCMACDVLAN10VLAN5VLAN10VLAN5主机A主机B主机C主机D以太网交换机MACAMACBMACCMACD基于协议的VLANVLAN表协议类型所属VLANIPX协议IP协议……VLAN5VLAN10……主机A主机B主机C主机D以太网交换机使用IPX协议运行IP协议使用IPX协议运行IP协议基于子网的VLANVLAN表IP网络所属VLANIP1.1.1.1/24IP1.1.2.1/24……VLAN5VLAN10……主机A主机B主机C主机D以太网交换机1.1.1.51.1.2.881.1.1.81.1.2.99ABCDVLAN的类型:PortVLAN利用交换机的端口进行vlan划分,一个端口只属于一个VLAN,PortVLAN设置在连接主机的端口(即接口的模式为Access)F0/1F0/2F0/3Port-VLAN原理通过查找MAC地址表,交换机对发往不同VLAN的数据不转发F0/1F0/2F0/3ABCVlan10Vlan20Vlan10ABACX交换机端口MAC地址VLANIDF0/1A10F0/2B20F0/3C10配置PortVLAN创建VLAN10,将它命名为test的例子Switch#configureterminalSwitch(config)#vlan10Switch(config-vlan)#nametestSwitch(config-vlan)#end把接口0/10加入VLAN10Switch#configureterminalSwitch(config)#interfacefastethernet0/10Switch(config-if)#switchportmodeaccessSwitch(config-if)#switchportaccessvlan10Switch(config-if)#end默认名字是vlanXXXX,用noname命令可以恢复为默认名字如果把一个接口分配到一个不存在的vlan中,则交换机会自动创建该vlanPortVLAN的配置将一组接口加入某一个VLANSwitch(config)#interfacerangefastethernet0/1-8,0/15,0/20Switch(config-if-range)#switchportaccessvlan20注:交换机端口类型默认为Access。连续接口0/1-8,不连续接口用逗号隔开,但一定要写明模块编号配置TagVLAN-Trunk把Fa0/1配成Trunk口Switch#configureterminalSwitch(config)#interfacefastethernet0/1Switch(config-if)#switchportmodetrunk把端口Fa0/20配置为Trunk端口,但是不包含VLAN2(默认trunk链路能够在两条交换机之间传递所有vlan的帧):Switch(config)#interfacefastethernet0/20Switch(config-if)#switchporttrunkallowedvlanremove2Switch(config-if)#endNativeVLAN并非所有的帧通过trunk口都打上tag标签。NativeVLAN的作用:在Trunk链路使用802.1Q封装时,用NativeVLAN指定哪个VLAN的数据不用做802.1Q标记,NativeVLAN外的其它VLAN数据都会做802.1Q封装的标记.为什么要使用NativeVLAN:交换的管理流量以及未指定VLAN的流量,默认使用NativeVLAN(默认为VLAN1)来传送,这些流量不需要做802.1Q封装.配置命令:Switch(config-if)#switchporttrunknativevlan2Switch(config-if)#end注意:每个Trunk口的缺省nativeVLAN是VLAN1在配置Trunk链路时,