以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,载波侦听多路访问/冲突检测)的共享通讯介质的数据网络通讯技术,当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至使网络不可用等问题。通过交换机实现LAN互联虽然可以解决冲突(Collision)严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network)技术,这种技术可以把一个LAN划分成多个逻辑的LAN――VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文被限制在一个VLAN内。同一个VLAN内的主机通过传统的以太网通信方式进行报文的交互,而不同VLAN内的主机之间则需要通过路由器或三层交换机等网络层设备进行通信。如图所示。
VLAN的优点如下:
1) 提高网络性能。将广播包限制在VLAN内,从而有效控制网络的广播风暴,节省了网络带宽,从而提高网络处理能力。
2) 增强网络安全。不同VLAN的设备不能互相访问,不同VLAN的主机不能直接通信,需要通过路由器或三层交换机等网络层设备对报文进行三层转发。
3) 简化网络管理。同一个虚拟工作组的主机不会局限在某个物理范围内,简化了网络的管理,方便了不同区域的人建立工作组。
VLAN的划分不受物理位置的限制,不在同一物理位置范围的主机可以属于同一个VLAN;一个VLAN包含的用户可以连接在同一个交换机上,也可以跨越交换机。本交换机支持的VLAN划分方式包括802.1Q VLAN、MAC VLAN和协议VLAN三种。MAC VLAN和协议VLAN仅对untag数据包和优先级tag数据包生效,当一个数据包同时满足802.1Q VLAN、MAC VLAN和协议VLAN时,交换机将按照MAC VLAN、协议VLAN、PVID的顺序来处理数据包,在相应VLAN中转发数据包。
802.1Q VLAN
由于普通交换机工作在OSI模型的数据链路层,若要交换机能够识别不同VLAN的数据包,只能对数据包的数据链路层封装进行VLAN识别。因此,VLAN识别字段被添加到数据链路层封装中。
IEEE 802.1Q协议为了标准化VLAN实现方案,对带有VLAN标识的数据包结构进行了统一规定。协议规定在目的MAC地址和源MAC地址之后封装4个字节的VLAN Tag,用以标识VLAN的相关信息,如图所示。VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
1) TPID:用来表示本数据帧是带有VLAN Tag的数据。该字段长度为16bit。协议规定的缺省取值为0x8100。
2) Priority:用来表示数据包的传输优先级。
3) CFI:以太网交换机中,CFI总被设置为0。由于兼容特性,CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧CFI设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。
4) VLAN ID:用来标识该报文所属VLAN的编号。该字段长度为12bit,取值范围为0~4095。由于0和4095通常不使用,所以VLAN ID的取值范围一般为1~4094。VLAN ID简称VID。
交换机利用VLAN ID来识别报文所属的VLAN,当接收到的数据包不携带VLAN Tag时,交换机会为该数据包封装带有接收端口缺省VLAN ID的VLAN Tag,将数据包在接收端口的缺省VLAN中进行传输。
MAC VLAN
MAC VLAN是VLAN的另一种划分方法,根据每个主机的MAC地址来划分VLAN,即对每个主机的MAC地址均划分到VLAN中。MAC VLAN的优点在于,将MAC地址与VLAN绑定后,该MAC地址对应的设备可以随意切换端口,只要连接到相应VLAN的成员端口即可,而不必改变VLAN成员的配置。
MAC VLAN中数据包处理有如下特点:
协议 VLAN
协议VLAN是按照网络层协议来划分VLAN,可分为IP、IPX、DECnet、AppleTalk、Banyan等VLAN网络。这种按网络层协议来组成的VLAN,可使广播域跨越多个交换机,同时用户在网络内部可以自由移动且无须改变其VLAN成员身份。对于希望针对具体应用和服务来管理用户的网络管理员,可通过划分协议VLAN来进行管理。
本交换机可针对常见的协议类型划分VLAN,常用协议类型值见下表。请根据实际需要创建协议VLAN。
协议类型 |
对应取值 |
ARP |
0x0806 |
IP |
0x0800 |
MPLS |
0x8847/0x8848 |
IPX |
0x8137 |
IS-IS |
0x8000 |
LACP |
0x8809 |
802.1X |
0x888E |
协议VLAN中数据包处理有如下特点:
1.当端口收到UNTAG数据包时,首先查看是否创建配置相应的协议VLAN,若已创建协议VLAN,则给数据包插入协议VLAN的TAG;若没有相应的协议VLAN,则根据接收端口的PVID值给数据包插入TAG,并将数据包在相应的VLAN中转发。
2.当端口收到TAG数据包时,交换机按照802.1Q VLAN的方式处理该帧。如果接收端口属于携带该VLAN TAG的数据包通过,则正常转发;如果不属于,则丢弃该数据包。
3.划分了协议VLAN后,为了保证数据的正常传输,请将协议VLAN的使能端口设置为相应802.1Q VLAN成员。详情请查看表 端口类型与VLAN数据处理关系。