1、VLAN基础
虚拟局域网(Virtual Local Area Network,VLAN)是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的数据交换技术。VLAN技术主要应用在三层交换机中。
VLAN是基于物理网络构建的逻辑子网,所以构建VLAN需要使用支持VLAN技术的交换机。当网络之间的不同VLAN进行通信时,就需要三层交换机或者路由器。
1个VLAN内部的广播流量不会转发到其他VLAN中,这样有助于控制流量、提高网络安全性(即VLAN隔离广播域);VLAN内部的单播流量可以通过路由转发到其他VLAN中。
2、VLAN划分
2.1 根据端口划分
这是最常用的VLAN划分方式,属于静态划分。例如,A交换机的1-12端口定义为VLAN10,12-24号端口定义为VLAN20,25-48端口和B交换机的1-48端口定义为VLAN30。VLAN之间通过3层交换机或路由器保证通信。
2.2 根据MAC地址划分
这种划分方法是根据每台主机的MAC地址来划分,即对每个MAC地址的主机都配置其属于哪个组,属于动态划分VLAN。这种方法的最大优点是当设备的物理位置移动时,VLAN不用重新配置;缺点是初始化时,所有的用户都必须进行配置,配置工作量大,网卡更换或设备更新时又需要重新配置。而且这种划分容易导致交换机的端口存在很多个VLAN组的成员,无法限制广播包,从而导致广播太多,影响网络性能。
2.3 根据网络层上层协议划分
这种划分是根据每个主机的网络层地址或协议类型划分的,属于动态划分VLAN。这种划分方法根据网络地址划分,但与网络层的路由毫无关系。优点是用户的物理位置变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分,这对网络管理者来说很重要。另外,这种划分方法不需要附加帧标签来识别VLAN,这样可以减少网络的通信量。缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的。
2.4 根据IP组播来划分VLAN
IP组播实际也是一种VLAN的定义,即认为一个组播组就是一个VLAN。这种划分方法将VLAN扩展到了广域网,因此这种方法具有更强的灵活性,而且也很容易通过路由器进行扩展。当然这种方法不适合局域网,主要是因为效率不高。该方式属于动态划分VLAN。
2.5 基于策略的VLAN
根据管理员事先指定的VLAN规则,自动将加入网络中的设备划分到正确的VLAN。该方式属于动态划分VLAN。
3、VLAN配置
当一个数据帧进入交换机,如果不带VLAN标签,该数据帧就会被打上接口指定PVID的Tag,然后数据帧将在PVID中传输。华为交换机的以太网端口有三种类型:access、trunk、hybrid。
(1)access端口只能属于单个VLAN,一般用于连接计算机的端口;
(2)trunk端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于连接交换机之间的端口;也可以连接终端,但需要在trunk端口上打上PVID;
(3)hybrid端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文既可以用于交换机之间连接,也可以用于连接用户的计算机。
trunk和hybrid的区别在于发送数据时,hybrid端口可以允许多个VLAN的报文发送时不打标签,而trunk端口只允许默认VLAN报文发送时不打标签。默认情况下,hybrid和trunk端口的默认VLAN是VLAN1。
以下是hybrid端口的示例:
[switch-Ethernet0/1] interface Ethernet 0/1
[switch-Ethernet0/1]port link-type hybrid
[switch-Ethernet0/1]port hybrid pvid vlan 10
[switch-Ethernet0/1]port hybrid vlan 10 20 untagged //对VLAN为10、20的报文,剥掉VLAN Tag
[switch-Ethernet0/1]interface Ethernet0/2
[switch-Ethernet0/2]port link-type hybrid
[switch-Ethernet0/2]port hybrid pvid vlan 20
[switch-Ethernet0/]port hybrid vlan 10 20 untagged
用interface0/1接口的PC1和用interface0/2的PC2是可以互通的,但是从PC1到PC2的通信是基于VLAN10的,而从PC2到PC1的通信是基于VLAN20的。
4、IEEE802.1Q与QinQ
4.1 IEEE 802.1Q
IEEE802.1Q是成熟的VLAN协议,该协议定义了基于端口的VLAN模型。IEEE802.1Q给每个需要转发的帧都添加一个“标签”,其中包含VLAN的编号,交换机在进行帧转发的时候,判断这些“标签”是否匹配,从而确定其互通性。
IEEE802.1Q帧结构是在标准IEEE802.3以太网标准帧中插入了4字节的IEEE802.1Q帧标签。
- 标签协议标识符(Tag Protocol Identifier ,TPID):在IEEE802.1Q中规定该标记的值为0x8100,用来识别VLAN和非VLAN数据帧;
- 标签控制信息(Tag Control Information,TCI):包括用户优先级(3bit)、规范格式指示器(1bit)和VLAN ID(12bit)。其中,VLAN ID为12位,VID=0用于识别帧优先级。4095(FFF)作为预留值,所以VLAN配置的最大可能值为4094。
4.2 QinQ
QinQ是在传统IEEE802.1Q VLAN标签头的基础上,增加一层新的IEE802.1QVLAN标签头。QinQ帧格式如下如所示:
QinQ最初主要是为扩展VLAN ID空间而产生的,但随着城域以太网的发展以及运营商精细化运作的要求,QinQ的双层标签又有了进一步的使用场景。它的内、外标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。另外,QinQ数据帧戴着两层标签穿越运营商网络,内层标签透明传送,也可以看作一种简单、实用的VPN技术。