VLAN
IEEE 802.1Q 交换机端口类型
MVRP协议
-
VLAN
Virtual LAN虚拟局域网。LAN可以是由几台少数家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络–也就是广播域。将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,也能够提升网络的安全性。
广播域,指的是 广播帧(目标MAC地址全部为1)所能攒底道德范围,能够直接通信的范围。严格的说并不仅仅是广播帧,多播帧和目标不明的单播帧也能在同一个广播域中畅行无阻。
链路类型:
用户主机和交换机之间的链路为接入链路,交换机与交换机之间的链路为主干链路。
端口类型:接入链路
Access端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同。
Access端口在转发数据前会移除VLAN Tag。
当Trunk端口收到帧时,如果该帧不包含Tag,将添加上端口的PVID;如果该帧包含Tag,则不改变。中继链路
当Trunk端口发送帧时,该帧的VLAN ID在Trunk的允许发送列表中:若与端口的PVID相同时,则剥离Tag发送;若与端口的PVID不同时,则直接发送。
VLAN划分方法:基于端口,基于MAC地址,基于IP子网划分,基于协议划分,基于策略。其中基于端口的额VLAN划分方法在实际中最为常见。
主要代码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/742129eb26c740449fec3080aa04746c.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0b5cdebb9dfd4a49939fbcbc6cd4a293.png)![批量将接口加入VLAN](https://img-blog.csdnimg.cn/direct/f4d413a847d446fdadfa37e776947ed1.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e36059c6927049bdb317fc6c797323d8.png)
Access接口接受和转发数据的方式:
1. 接受数据帧。
2. untagged数据帧,打上PVID,接收。
3. tagged数据帧,与PVID比较,相同则接收,不同则丢弃。
4. 发送数据帧
5. VID和PVID比较,相同则剥离标签发送,不同则丢弃
相同的VLAN可以互相访问,不同的VLAN不能互相访问。
Trunk接口在发送数据帧时:VID在允许列表中,VID与PVID一致,则玻璃标签发送;与其不一致时,则直接带标签发送;若不在允许列表则直接丢弃。
-
IEEE 802.1Q
IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用于标识数据帧所属的VLAN。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用于标识数据帧所属的VLAN。
在一个VLAN交换网络中,以太网帧主要有以下两种形式:
有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
无标记帧(untagged帧):原始的,未加入4字节VLAN标签的帧。
交换机内部处理的数据帧都是Tagged帧,从用户终端接收到无标记帧后,交换机会为无标记帧添加VLAN标签,重新计算帧校验序列(FCS),然后通过干道链路发送帧;向用户终端发送帧前,交换机会去除VLAN标签,并通过接入链路向终端发送无标记帧。
QinQ报文封装格式
因为IEEE 802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是产生了QinQ技术,拓展VLAN的数量空间。QinQ在原有的802.1Q报文的基础上增加一层802.1Q标签,使得VLAN数量增加到4094×4094。
在公网的传输过程中,设备只根据外层VLAN Tag转发报文,并根据报文的外层VLAN Tag进行MAC地址学习,而用户的内层VLAN Tag将被当作报文的数据部分进行传输。QinQ的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。
帧大小:
QinQ报文比802.1Q报文多4个字节,因此建议用户在组网时适当增加运营商网络各接口的最大帧长(至少为1504字节)。目前交换机缺省支持的最大帧长超过1504字节,不需要手动配置。
TPID:不同运营商的系统可能将QinQ帧外层VLAN标记的TPID设置为不同值。为实现与这些系统的兼容性,可以修改TPID值,使QinQ帧发送到公网时,承载与特定运营商相同的TPID值,从而实现与该运营商设备之间的互操作性。VLAN数据帧的TPID与不带VLAN标记的帧的协议类型字段位置相同,为避免在网络中转发和处理数据包时出现问题,不可将TPID值设置为表1-2中的任意值。 -
交换机端口类型:
缺省:默认
PVID:网络通信中基于端口的VLAN ID,一个端口可以属于多个VLAN,但是一个端口只能有一个PVID,收到一个不带Tag头的数据包时,会打上PVID所表示的VLAN号,视同该VLAN的数据包处理。
报文信息:相对于VLAN ID
以太网端口有三种链路类型: Access、 Hybrid 和Trunk。
Access 类型的端口只能属于1个VLAN,一 般用于连接计算机的端口;
Access端口收报文:
收到一个报文 ,判断是否有VLAN信息:如果没有则打上端口的 PVID 并进行交换转发,如果有则直接丢弃(缺省)
Access端口发报文:
将报文的VLAN信息剥离,直接发送出去
Trunk 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
trunk端口收报文:
收到一个报文,判断是否有VLAN信息:如果有,判断该trunk端口是否允许该VLAN的数据进入;如果可以,则转发,否则丢弃;如果没有VLAN信息则打上端口的 PVID ,并进行交换转发。
trunk端口发报文:
比较将要发送报文的VLAN信息和端口的 PVID ,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送。
Hybrid 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。
收到一个报文, 判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入(在untagged和tagged列表中的都算允许通过,这个就相当于 trunk 的allow-pass vlan),如果可以,则转发,否则丢弃(此时端口上的untagged配置是不用考虑的,untagged配置只对发送报文时起作用);如果没有则打上端口的 PVID ,并进行交换转发。
hybrid端口发报文:
1)、 判断该VLAN在本端口的属性(disp interface即可看到该端口对哪些VLAN是untagged,哪些VLAN是tagged)
2)、 如果是untagged则剥离VLAN信息,再发送,如果是tagged则直接发送。
Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
总结:
三种端口在接收报文都会事先判断是否有 Vlan信息 。
Access端口:
1、接收报文:分为三种情况
1)若报文的tagged与自己的不匹配则丢弃,
2)若报文的tagged与自己的匹配则直接转发,
3)若报文没有 Vlan信息,则打上自己端口的PVID进行交换转发
说明 Access 端口在进行交换转发都会带有tagged,
2、发送报文:
剥离报文的 Vlan信息(即:去除Vlan ID),表明报文是自己人,无需通过tagged验证。
Trunk端口:
1、接收报文:
通过 allow-pass vlan 的设置,只允许部分vlan的数据进入,
若不在allow-pass vlan 的设置的范围内则直接丢弃,否则直接转发;
如果该报文没有 Vlan信息 ,则打上端口的PVID进行交换转发。
说明Trunk 端口在进行交换转发同样都会带有tagged,
2、发送报文:
只剥离缺省Vlan的报文,即tagged与端口的PVID进行比较,若相等,则剥离 Vlan信息(即:去除Vlan ID),不带tagged发送报文
Hybrid端口:
1、接收报文:
若 Vlan信息 在 untagged和 tagged 的列表中,则都允许这些vlan的数据进入并直接转发,否则丢弃;(与Trunk端口的 allow-pass vlan 类似)
若没有VID(即:Vlan ID)则打上自己端口的 PVID 进行转发。
2、发送报文:
若报文属于untagged的Vlan则剥离 Vlan信息 (即:去除Vlan ID)再发送;
若报文属于tagged的Vlan则直接发送(即:带着Vlan ID 发送报文) -
MVRP协议
MRP(Multiple Registration Protocol,多属性注册协议)作为一个属性注册协议的载体,可以用来传递属性信息。MVRP(Multiple VLAN Registration Protocol,多VLAN注册协议)是MRP的一种应用,用于在设备间发布并学习VLAN配置信息。当设备启动了MVRP之后,设备将本地的VLAN配置信息向其他设备发送,同时还能够接收来自其他设备的VLAN配置信息,并动态更新本地的VLAN配置信息,从而使所有设备的VLAN信息都达成一致,极大减少了网络管理员的VLAN配置工作。在网络拓扑发生变化后,MVRP还能根据新的拓扑重新发布及学习VLAN配置信息,做到VLAN配置信息实时与网络拓扑同步更新。
MRP:MRP支持在MSTI(Multiple Spanning Tree Instance,多生成树实例)的基础上,协助同一局域网内各成员之间传递属性信息。
以通过MVRP实现VLAN注册和注销为例,MRP的属性注册和注销过程如下:
当端口收到一个VLAN的声明时,该端口将注册该声明中的VLAN(该端口将加入到该VLAN中)。
当端口收到一个VLAN的回收声明时,该端口将注销该声明中的VLAN(该端口将退出该VLAN)。
属性的注册和注销只会在各自的MSTI上进行。
MRP消息主要包括Join消息、New消息、Leave消息和LeaveAll消息,它们通过互相配合来实现信息的注册或注销。其中,Join消息和New消息属于声明,Leave消息和LeaveAll消息属于回收声明。
MVRP传递的VLAN配置信息既包括本地手工配置的静态信息,也包括来自其他设备的动态信息。MVRP有三种注册模式,不同注册模式对动态VLAN的处理方式有所不同。
Normal模式
该模式下的MVRP实体允许进行动态VLAN的注册或注销。
Fixed模式
该模式下的MVRP实体禁止进行动态VLAN的注销,收到的MVRP报文会被丢弃。也就是说,在该模式下,实体已经注册的动态VLAN是不会被注销的,同时也不会注册新的动态VLAN。
Forbidden模式
该模式下的MVRP实体禁止进行动态VLAN的注册,收到的MVRP报文会被丢弃。也就是说,在该模式下,实体不会注册新的动态VLAN,一旦在配置该模式前注册的动态VLAN被注销后,不会重新进行注册。
与MVRP相关的协议规范有:IEEE 802.1ak
配置MVRP功能:
配置限制和指导:
MVRP功能只能与STP、RSTP或MSTP配合使用,而无法与其他二层网络拓扑协议(如PVST、RRPP和Smart Link)同时配置。MVRP报文的收发不受STP/RSTP/MSTP阻塞端口影响。有关STP、RSTP、MSTP和PVST的详细介绍,请参见“二层技术-以太网交换配置指导”中的“生成树”;有关RRPP的详细介绍,请参见“可靠性配置指导”中的“RRPP”;有关Smart Link的详细介绍,请参见“可靠性配置指导”中的“Smart Link”。
建议不要同时启用远程端口镜像功能和MVRP功能,否则MVRP可能将远程镜像VLAN注册到错误的端口上,导致镜像目的端口会收到很多不必要的报文。有关远程端口镜像的详细介绍,请参见“网络管理和监控配置指导”中的“镜像”。
在二层聚合接口上启用了MVRP功能后,会同时在二层聚合接口和对应的所有选中成员端口上进行动态VLAN的注册或注销。
如果二层以太网接口加入了聚合组,则加入聚合组之前和加入聚合组之后在该接口上进行的MVRP相关配置不会生效,该接口退出聚合组后,MVRP的配置才会生效。
配置准备:
由于MVRP需要基于MSTI运行,因此在配置MVRP时,需要保证当前网络内所有MSTI都生效,即网络中设备都需要至少存在一个MSTI对应的VLAN以保证MSTI能够生效。
MVRP功能只能在Trunk端口上生效,因此需要保证MVRP实体的端口链路类型为Trunk类型。有关Trunk端口的详细介绍,
开启MVRP功能: