|
|
|
|
|
|
|
|
|
|
|
当一个网桥或交换机接收到来自于某个计算机工作站的数据帧,它将给这个数据帧加上一个标签以标识这个数据帧来自于哪个VLAN。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
为了能够使用任意一种方法给数据帧加标签,网桥必须有一个不断升级更新的数据库。这个数据库叫做过滤数据库,包含了本网络中全部VLAN之间的映射以及它们使用哪个字段作为标签。例如,如果通过基于端口的方式来加标签,该数据库应该指示哪个端口属于哪个VLAN。网桥必须能够维护这样的一个数据库并且应保证所有在这个LAN中的网桥在它们的过滤数据库中有同样的信息。
|
|
|
|
|
|
IEEE 802.1Q协议将4字节的VLAN标签,添加到传统的以太网帧的目的MAC地址字段和协议类型字段(在IEEE 802.3协议中属于帧的长度字段)之间。其中包含有一个2字节大小的VLAN ID号“即TCI字段”用来标志各个VLAN,如下图所示。
|
|
|
|
|
|
|
|
(1)前同步码(Preamble,Pre)。该字段长7字节。Pre字段中1和0交互使用,接收站通过该字段知道导入帧,并且该字段提供了同步化接收物理层帧接收部分和导入位流的方法。
|
|
|
|
(2)起始定界符(Start-of-Frame Delimiter,SFD)。该字段长1字节。字段中1和0交互使用,结尾是两个连续的1,表示下一位是利用目的地址的重复使用字节的重复使用位。
|
|
|
|
(3)目的地址(Destination Address,DA)。该字段长6字节。DA字段用于识别需要接收帧的站。
|
|
|
|
(4)源地址(Source Addresses,SA)。该字段长6字节。SA字段用于识别发送帧的站。
|
|
|
|
(5)协议标识符(Tag Protocol Identifier,TPI)。2字节协议标识符以太网为0X8100(十六进制)。
|
|
|
|
(6)规范标识符(Tag Canonical Identifier,TCI)。该字段长2字节,为标签控制信息字段,包括用户优先级(User Priority)、规范格式标识符(Canonical Format Indicator,CFI)和VLAN ID三个部分。
|
|
|
|
.User Priority:定义用户优先级,包括8个(2的三次方)优先级别。
|
|
|
|
.CFI:以太网交换机中,规范格式指示器总被设置为0。由于兼容特性,CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有CFI,那么设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。
|
|
|
|
.VID:VLAN ID是对VLAN的识别字段,在标准802.1Q中常被使用。该字段为12位。支持4096(212)VLAN的识别。在4096可能的VID中,VID=0用于识别帧优先级。4095(十六进制FFF)作为预留值,所以VLAN配置的最大可能值为4094。
|
|
|
|
(7)Type/Length。该字段长2字节。如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的MAC客户机数据大小,也表示帧类型ID。
|
|
|
|
(8)Data。是一组n(46≤n≤1500)字节的任意值序列。帧总值最小为64字节。其中FCS(Frame Check Sequence)占4字节。该序列包括32位的循环冗余校验值,由发送MAC方生成,通过接收MAC方进行计算得出以校验被破坏的帧。
|
|
|
|
很多PC和打印机的网卡并不支持802.1Q,一旦它们收到一个标签帧,它们会因为读不懂标签而丢弃该帧。在802.1Q中,用于标签帧的最大合法以太帧大小已由1518字节增加到1522字节,这样就会使网卡和旧式交换机由于帧“尺寸过大”而丢弃标签帧。
|
|
|
|
对于每一个到来的VLAN帧,网桥或交换机将根据查找过滤数据库的结果决定该帧归属于哪一个VLAN、将从哪个接口被转发出去。一旦网桥或交换机决定了某个数据帧的下一步去向,它就得决定是否需要给这个数据帧加标签。具体实现包括以下三个过程:
|
|
|
|
(1)接收过程:负责接收数据包,数据包可以是带标签头的,也可以不带标签头。如果不带,交换机会根据该端口所属的VLAN添加上相应的标签头。
|
|
|
|
(2)查找/路由过程:根据数据包的目的MAC地址、VLAN标识,查找过滤数据库中注册的信息,以决定把数据包发送到哪个端口。
|
|
|
|
(3)发送过程:将数据包发送到以太网段上,如果该网段的主机不能识别802.1Q标签头,则在出端口前将该标签头去掉;如果是发送到互连其他交换机的端口,则标签头一般不去掉。
|
|
|
|
|
|
交换链路内(Inter-Switch Link,ISL)协议是Cisco公司的私有协议,主要用于维护交换机和路由器间的通信流量等VLAN信息。
|
|
|
|
ISL和802.1Q功能相同,只是所采用的帧格式不同。ISL帧标签采用一种低延迟(Low-Latency)机制为单个物理路径上的多VLAN流量提供复用技术。ISL主要用于实现交换机、路由器以及各节点(如服务器所使用的网络接口卡)之间的连接操作。为支持ISL功能特征,每台连接设备都必须采用ISL配置。ISL所配置的路由器支持VLAN内通信服务。非ISL配置的设备,则用于接收由ISL封装的以太帧,通常情况下,非ISL配置的设备认为这些帧非法并丢弃。
|
|
|
|
|
|
交换机允许在同一台交换机上可存在多个VLAN,也允许一个VLAN跨越多个交换机,这时就需要将同属于一个VLAN的交换机连接起来,这个连线就称为VLAN中继或VLAN干线(VLAN Trunk)。它通过在互相连接的端口上配置中继模式,就可以使属于不同VLAN的数据帧都可以通过这条中继链路进行传输。
|
|
|
|
VTP(VLAN Trunk Protocol,VLAN中继协议)用来保持VLAN的删除、添加、修改等管理操作的一致性。在同一个VTP域内,VTP通过中继端口在交换机之间传送VTP信息,从而使一个VTP域内的交换机能够共享VLAN信息。VTP有三种模式,如下表所示。
|
|
|
|
|
|
|
|
而在中继链路上接收到数据帧时,交换机必须采用某种方法来识别数据帧是属于哪个VLAN的,目前Cisco支持4种识别技术,如下表所示。
|
|
|
|
|
|
|