VLAN技术浅谈-season-1
本帖最后由 输入新用户名 于 2011-12-9 10:55 编辑关键字:为什么需要VLAN?,802.1Q,VLAN成员连接方式,Tag/Untag报文的处理原则,VLAN划分方式
1 前言
VLAN技术的出现不仅仅给我们在网络设计和规划上提供了更多的选择,也更为安全和方便的管理网络,同时由VLAN技术引出的各种相关应用也是层出不穷。可以说VLAN技术是以太网技术的一个革命性的变革,同时也是以太网中最为基础和关键的技术。
--------------------------------------------------------------------------------我是操蛋的分割线{:soso_e141:}-------------------------------------------------------------------------------------------
本文主要针对VLAN技术产生的背景、VLAN技术的原理、VLAN的相关应用等几个部分来逐一进行介绍。
2 为什么需要VLAN?
为什么需要VLAN技术,它的优点在哪里呢?
在TCP/IP协议规范中,没有VLAN的定义。当第二层网络交换机发展到一定程度的时候,传统的路由器由于在性能上的不足,它作为网络节点的统治地位受到了很大的挑战。既然传统路由器是网络的瓶颈,而交换机又有如此优越的性能,为什么不用交换机取代传统路由器,来构造网络呢?我们都知道,位于协议第2层的交换机虽然能隔离冲突域,提高每一个端口的性能,但并不能隔离广播域,不能进行子网划分,不能层次化规划网络,更无法形成网络的管理策略,因为这些功能全都属于网络的第三层———网络层。因此,如果只用交换机来构造一个大型计算机网络,将会形成一个巨大的广播域,结果是,网络的性能反而降低以至无法工作,网络的管理束手无策,这样的网络是不可想象的。按照TCP/IP的原理,一般来说,广播域越小越好,一般不应超过200个站点。那么,如何在一个交换网络中划分广播域呢?交换机的设计者们借鉴了路由结构中子网的思路,得出了虚网的概念,即通过对网络中的IP地址或MAC地址或交换端口进行划分,使之分属于不同的部分,每一个部分形成一个虚拟的局域网络,共享一个单独的广播域。这样就可以把一个大型交换网络划分为许多个独立的广播域,即VLAN。
VLAN(Virtual LAN)中文叫做虚拟局域网,它的作用就是将物理上互连的网络在逻辑上划分为多个互不相干的网络,这些网络之间是无法通讯的,就好像互相之间没有连接一样,因此广播也就隔离开了。VLAN的实现原理非常简单,通过交换机的控制,某一VLAN成员发出的数据包交换机只发给同一VLAN的其它成员,而不会发给该VLAN成员以外的计算机。简言之,一个VLAN就是一个广播域。
VLAN的优点如下:
l 广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
l 增强局域网的安全性:VLAN间不能直接通信,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,而需要通过路由器或三层交换机等三层设备。
l 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
--------------------------------------------------------------------------------我是操蛋的分割线{:soso_e141:}-------------------------------------------------------------------------------------------
3 VLAN的基础知识
3.1 802.1Q
VLAN技术最为显著的优点就是所有VLAN成员不用局限在一个物理范围之内,VLAN的划分可以跨越多个交换机,如图1所示,在网络规划时将VLAN 10和VLAN 20分别部署在两台不在同一地点的交换机上。这种跨设备的VLAN成员互连的组网,就必然涉及到不同VLAN流量识别的问题。
http://www.netconfed.com/data/attachment/forum/201111/09/131418q9hhxgxvahv1v001.jpg 11-9-2011 13:14:18 上传
下载附件 (29.97 KB)
图1 跨设备的VLAN互连
那么如何解决这种跨设备的流量区分问题呢?其实解决办法也很简单,在跨设备转发时给报文打上VLAN信息,如打上VLAN标签,标识报文所属的VLAN,交换机通过对报文中VLAN信息的识别进行相应的转发。
IEEE 提出了802.1Q标准,这个标准也可以称为VLAN技术的标准,在这个标准中定义了上面提到的VLAN标签,同时吸纳了802.1P的成果,在以太网上引入了优先级的概念,并制定了VLAN标准在未来一段时间内的发展方向,形成的802.1Q标准在业界获得了广泛的推广,它成为VLAN史上的一块里程碑。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。
下面我们重点介绍一下802.1Q封装。
802.1Q定义了一个新的以太网帧字段,这个字段添加在以太网帧的源MAC之后,长度/类型字段之前。封装具体内容如图2所示:
http://www.netconfed.com/data/attachment/forum/201111/09/1314199v898vv8no9z9kvz.jpg 11-9-2011 13:14:19 上传
下载附件 (39.36 KB)
图2 802.1Q封装
802.1Q封装共4个字节,包含2个部分:TPID(Etype),Tag Control Info;
l TPID:长度为2个字节,固定为0x8100,标识报文的封装类型为以太网的802.1Q封装;
l Tag Control Info:包含三个部分:802.1P优先级、CFI、VLAN-ID;
802.1P Priority:这3位指明帧的优先级。一共有8种优先级,取值范围为0~7,,主要用于当交换机出端口发生拥塞时,交换机通过识别该优先级,优先发送优先级高的数据包。
CFI:以太网交换机中,规范格式指示器总被设置为0。由于兼容特性,CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有CFI,那么设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。
VID:VLAN ID是对VLAN的识别字段,在标准802.1Q中常被使用。该字段为12位。支持4096(2^12)VLAN的识别。在4096可能的VID中,VID=0用于识别帧优先级,4095(FFF)作为预留值,所以VLAN配置的最大可能值为4094。
--------------------------------------------------------------------------------我是操蛋的分割线http://cache.soso.com/img/img/e141.gif-------------------------------------------------------------------------------------------
3.2 VLAN成员连接方式
VLAN成员的连接方式分为三种:Access,Trunk,Hybrid;l Access连接:报文不带tag标签,一般用于和tag-unaware(不支持802.1Q封装)设备相连,或者不需要区分不同VLAN成员时使用;l Trunk连接:在PVID所属的VLAN不带tag标签转发,其他VLAN中的报文都必须带tag标签,用于tag-aware(支持802.1Q封装)设备相连,一般用于交换机之间的互连;l Hybrid连接:可根据需要设置某些VLAN报文带tag,某些报文不带tag。与trunk连接最大的不同在于,trunk连接只有PVID所属的VLAN不带tag,其他VLAN都必须带tag,而Hybrid连接是可以设置多个VLAN不带tag;实际应用中,根据设置设备端口的Access、Trunk、Hybrid属性来实现各种不同的连接方式。端口属性的应用也远远超出了简单的VLAN成员互连,特别是我司,用端口属性来实现了一些相对复杂的功能,比如isolated-user VLAN,组播VLAN。--------------------------------------------------------------------------------我是操蛋的分割线http://cache.soso.com/img/img/e141.gif-------------------------------------------------------------------------------------------3.3 Tag/Untag报文的处理原则
为了理解VLAN内报文的转发,就必须要知道交换机对于不同VLAN报文的tag/untag的处理原则。首先,需要明确一点就是,在交换机的内部,为了快速高效的处理,报文都是带tag转发的。其实,这点很好理解,因为交换机上很可能会配置多个VLAN,那不同VLAN流量区分只有依靠tag标签。下面从报文入和报文出两个方向来介绍。l 报文入方向:在入方向上,交换机的根本任务就是决定该报文是否允许进入该端口,根据入报文的tag/untag的属性以及端口属性,细分为如下情况:1) 报文为untag:允许报文进入该端口,并打上PVID的VLAN tag,与端口属性无关;2) 报文为tag:在这种情况下,需要交换机来判断是否允许该报文进入端口;Ø Access端口: PVID和报文中tag标明的VLAN一致,接收并处理报文;否则丢弃。Ø Trunk/Hybrid端口:如果端口允许tag中标明的VLAN 通过,则接收并处理报文;否则丢弃。l 报文出方向:在出方向上,交换机已经完成对报文的转发,其根本任务就是在转发出端口时,是否携带tag转发出去,根据出端口属性,细分为如下情况:1) Access端口:将标签剥掉,不带tag转发;2) Trunk端口:报文所在VLAN和PVID相同,则报文不带tag;否则带tag;3) Hybrid端口:报文所在VLAN配置为tag,则报文带tag;否则不带tag;
--------------------------------------------------------------------------------我是操蛋的分割线http://cache.soso.com/img/img/e141.gif-------------------------------------------------------------------------------------------3.4 VLAN划分方式 VLAN在交换机上的实现方式,主要有以下几种:基于端口:最为常用的划分方式,根据以太网交换机的端口来划分。这种划分方法的优点是定义VLAN成员时非常简单,只要将所有的端口都指定一下就可以了。它的缺点是,如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。基于子网:这种划分VLAN的方法是根据每个主机的网络层地址划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,还有,它不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的,一般的交换机芯片都可以自动检查网络上数据包的以太网帧头,但要让芯片能检查IP帧头,需要更高的技术,同时更费时。基于MAC:这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置它属于哪个组。这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置量是很大的,而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。我司的Voice VLAN也是基于MAC地址的一种应用,对于它的实现在本文的下一部分会重点介绍。CISCO有一个成熟的基于MAC地址的VLAN实现方式为VMPS,本文不再熬述。基于协议:协议VLAN与上面介绍的两种实现方式的原理类似,都是根据数据报文的某个特征进行VLAN的划分,只是关注的特征不同。基于协议的VLAN通过识别报文的协议类型和封装格式进行VLAN的划分,如IP、IPX、AppleTalk协议族;Ethernet II,802.3,802.3/802.2 LLC, 802.3/802.2 SNAP等封装格式。这种实现方式的优缺点与上面的实现方式类似,效率不高。目前,IEEE 802.1v规定了基于端口和协议(port-and-protocal based VLAN)的标准草案,我司的协议VLAN也是这种划分方式的完整实现,在本文的后面会对协议VLAN做一个详细的介绍。其他划分:比如基于组播地址的VLAN,基于业务的VLAN,基于应用的VLAN。
同意楼上的,能否发个完整版的pdf或者word呢,谢谢~ {:6_267:} 看看!
页:
[1]