VLAN

把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。

VLAN的帧格式 #

IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。

Vlan Tag

802.1q Tag各字段含义:

  • TPID:长度为2字节,表示帧类型。取值为0x8100时表示802.1q Tag帧。
  • PRI:Priority,长度为3比特,表示帧的优先级,取值范围为0~7,默认值越大优先级越高。一般情况下,当交换机部署QoS时,优先发送优先级高的数据帧。
  • CFI:Canonical Format Indicator,长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
  • VID:VLAN ID,长度为12比特,表示该帧所属的VLAN。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。

在一个VLAN交换网络中,以太网帧主要有以下两种形式:

  • 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
  • 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。

VLAN 划分 #

为了提高处理效率,交换机内部处理的数据帧一律都是Tagged帧。

当端口收到untagged帧时,则需要为其分配vlan tag。

给数据帧加上标签可以通过以下方法:

  • 基于流 (高优先级)
  • vlan翻译
  • 基于mac地址
  • 基于子网
  • 基于协议
    • FrameType EthernetII, IEEE 802.3 SNAP, IEEE 802.3 LLC
    • EtherType IPV4, IPX-RAW, IPX-LLC等
  • 基于端口,网络管理员给交换机的每个端口配置缺省VLAN(PVID)

基于端口划分VLAN的优先级最低,但却是最常用的VLAN划分方式。

VLAN的基本概念 #

根据端口在转发报文时对Tag标签的不同处理方式,可将端口的链路类型分为三种:

  • 接入链路(Access Link)

    端口发出去的报文不带tag标签。一般用于和不能识别VLAN tag的终端设备相连,或者不需要区分不同VLAN成员时使用。

  • 干道链路(Trunk Link)

    端口发出去的报文,端口缺省VLAN内的报文不带tag,其它VLAN内的报文都必须带tag。通常用于网络传输设备之间的互连。

  • 混合链路(Hybrid Link)

    端口发出去的报文可根据需要设置某些VLAN内的报文带tag,某些VLAN内的报文不带tag。

    Hybrid类型端口既可以用于网络传输设备之间的互连,又可以直接连接终端设备。

不同链路类型端口收发报文的差异:

  • 接入端口(Access Port)

    只属于缺省VLAN。

    接收untag帧时,添加缺省VLAN的Tag。

    接收tag帧时,vlan与缺省vlan相同时,接收该报文;vlan与缺省vlan不相同时,丢弃该报文。

    发送帧时,剥掉Tag。

  • 干道端口(Trunk Port)

    可以加入多个VLAN。

    接收untag帧时,添加缺省VLAN的Tag。

    接收tag帧时,vlan在允许vlan列表内,接收该报文,否则该丢弃报文。

    发送帧时,vlan为缺省vlan时,剥掉tag,否则保留tag。

  • 混合端口(Hybrid Port)

    可以加入多个VlAN。

    接收untag帧时,添加缺省VLAN的Tag。

    接收tag帧时,vlan在允许vlan列表内,接收该报文,否则该丢弃报文。

    发送帧时,如果该vlan配置的是tag则保留tag,否则剥掉tag。

QINQ #

因为IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足以太网中标识大量用户的需求,于是QinQ技术应运而生。

QinQ(802.1Q-in-802.1Q)通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能。

内层 VLAN Tag:为用户的私网 VLAN Tag,Customer VLAN Tag (简称 CVLAN)。设备依靠该 Tag 在私网中传送报文。

外层 VLAN Tag:为运营商分配给用户的公网 VLAN Tag, Service VLAN Tag(简称 SVLAN)。设备依靠该 Tag 在公网中传送 QinQ 报文。

交换机可对内外层Tag进行添加、修改、删除操作。