VLAN协议简介
VLAN简介
定义
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
目的
以太网是目前应用最普遍的局域网技术,它是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的共享通讯介质的数据网络通讯技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。

经典以太网

交换式以太网
在这种情况下出现了VLAN技术,这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。
作用
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
标准协议协议
- IEEE 802.1q协议,由IEEE于1999年颁布,是VLAN实现方案的标准协议,允许多个网桥(Bridge)在信息不被外泄的情况下公开的共享同一个实体网上。IEEE 802.1q-英文缩写写为dot1q。
- IEEE 802.1p协议,是IEEE 802.1Q(VLAN标签技术)标准的扩展协议,两者共同运作,使第二层网上交换器能够提供流量优先级和动态多播过滤服务。
- IEEE 802.1ad协议,或称为QinQ、vlan stacking,是一种以802.1Q为基础衍生出来的通讯协定。原始802.1Q为允许加入单一Vlan header。QinQ允许两个Vlan header被放置在同一个frame中。
VLAN的基本概念
VLAN标签
要使设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。
VLAN帧格式
单层VLAN数据帧

图:VLAN数据帧格式
字段解释:
TPID字段,长度为2Byte
含义:Tag Protocol Identifier(标签协议标识符),表示数据帧类型。
取值:表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。
PRI字段,长度为3bit
含义:Priority,表示数据帧的802.1Q优先级。
取值:取值范围为0~7,值越大优先级越高。当网络阻塞时,设备优先发送优先级高的数据帧。
CFI字段,长度为1bit
含义:Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。
取值:CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。
VID字段,长度12bit
含义:VLAN ID,表示该数据帧所属VLAN的编号。
取值:VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。设备利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。
双层VLAN数据帧

- 内层 VLAN Tag:为用户的私网 VLAN Tag,Customer VLAN Tag (简称 CVLAN)。设备依靠该 Tag 在私网中传送报文。
- 外层 VLAN Tag:为运营商分配给用户的公网 VLAN Tag, Service VLAN Tag(简称 SVLAN)。设备依靠该 Tag 在公网中传送 QinQ 报文。
以太网帧类型
在一个VLAN交换网络中,以太网帧主要有以下两种类型:
- 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
- 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。
接口类型
在以太网中,有些设备如路由器交换机可以处理Tagged帧和Untagged帧,有些设备如电脑手机等只能处理Untagged帧,要使这些设备交互,就需要接口能够识别Untagged帧并在收发时给帧添加、剥除VLAN标签。同时,现网中属于同一个VLAN的用户可能会被连接在不同的设备上,且跨越设备的VLAN可能不止一个,如果需要用户间的互通,就需要设备间的接口能够同时识别和发送多个VLAN的数据帧。
为了适应不同的连接和组网,设备定义了Access接口、Trunk接口和Hybrid接口3种接口类型。
Access接口
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。它只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。

Trunk接口
Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。

Hybrid接口
Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。

缺省VLAN
缺省VLAN又称PVID(Port Default VLAN ID)。当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的缺省VLAN决定。
接口收发数据帧时,对Tag的添加或剥除过程。
- 对于Access接口,缺省VLAN就是它允许通过的VLAN,修改缺省VLAN即可更改接口允许通过的VLAN。
- 对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN。接口的缺省VLAN和允许通过的VLAN需要分别配置,互不影响。
典型应用场景
单台交换机VLAN内互访

组网需求:
- PC1和PC2之间可以互相访问;
- PC3和PC4之间可以互相访问;
- 其他PC之间禁止互相访问
配置说明
- E0/1:Access端口,untag加入vlan1;
- E0/2:Access端口,untag加入vlan1;
- E0/3:Access端口,untag加入vlan2;
- E0/4:Access端口,untag加入vlan2;
多台交换机VLAN内互访

组网需求:
- PC1和PC2之间可以互相访问;
- PC3和PC4之间可以互相访问;
- 其他PC之间禁止互相访问
配置说明
SwtichA:
- E0/1:Access端口,untag加入vlan1;
- E0/3:Access端口,untag加入vlan2;
- G2/1:Trunk端口,tag加入vlan1和vlan2
SwtichB:
- E0/2:Access端口,untag加入vlan1;
- E0/4:Access端口,untag加入vlan2;
- G2/1:Trunk端口,tag加入vlan1和vlan2
单台交换机VLAN间互访

组网需求:
- PC1和PC2之间可以互相访问;
- PC1和PC3之间可以互相访问;
- PC1、PC2、PC3和Server之间可以互相访问
- 其他PC之间禁止互相访问
配置说明
- E0/1:Hybrid端口,归属v10,同时untag加入v20,v30,v100
- E0/2:Hybrid端口,归属v20,同时untag加入v10,v100
- E0/3:Hybrid端口,归属v30,同时untag加入v10,v100
- G2/1: Hybrid端口,归属v100,同时untag加入v10,v20,v30
多台交换机VLAN间互访

组网需求:
- PC1和PC3之间可以互访;
- PC2和PC3之间可以互访;
- PC1和PC4之间可以互访;
- PC2和PC5之间可以互访;
- 其余PC之间均禁止互相访问。
配置说明:
SwithA:
- E0/1:Hybrid端口,加入v10,同时untag加入v30
- E0/2:Hybrid端口,加入v20,同时untag加入v30
- E0/3:Hybrid端口,加入v30,同时untag加入v10,v20
- G2/1:Hybrid端口,tag加入v10,v20
SwitchB:
- E0/1:Access端口,加入v10
- E0/1:Access端口,加入v10
- G1/1:Hybrid端口,tag加入v10,v20.
注:交换机间的Hybrid端口,等价于Trunk端口
QinQ网络拓扑

用户网络A和B的私网VLAN分别为VLAN 1~10 和VLAN 1~20。运营商为用户网络A和B分配的公网VLAN分别为VLAN 3 和VLAN 4。
- 当用户网络 A 和 B 中带私网 VLAN Tag 的报文进入运营商网络时,报文外面就会被分别封装上 VLAN 3 和 VLAN 4 的公网 VLAN Tag。
- 来自不同用户网络的报文在运营商网络中传输时被隔离,即使这些用户网络各自的 VLAN 范围存在重叠,因为分配到的公网 VLAN 不同,在运营商网络中传输时也不会产生冲突。
- 当报文穿过运营商网络,到达运营商网络另一侧 PE(Provider Edge,服务提供商网络边缘)设备后,报文被剥离公网 VLAN Tag,然后再传送给用户网络的 CE(Customer Edge,用户网络边缘)设备。
原创不易,你的支持是我最大的动力,欢迎大家点赞,收藏,关注!
