VLAN入门:从基础概念到应用场景详解
VLAN入门:从基础概念到应用场景详解
1、标准
802.1Q 定义的 VLAN ID 域有 12 个比特,最多可以提供 4094 个 VLAN。但在实际应用中,尤其是在城域网中,需要大量的 VLAN 来隔离用户,4094 个 VLAN 远远不能满足需求。QinQ 使整个网络最多可以提供 4094×4094 个 VLAN,满足了城域网对 VLAN 数量的需求。
目前单层vlan和双层vlan,统一在802.1Q。
1.1、单层vlan
- 标准:IEEE 802.1Q
- 描述:定义了虚拟局域网(VLAN)的基本框架和操作,包括VLAN标签的格式和处理方法
1.2、双层vlan(QinQ)
标准:IEEE 802.1ad
描述:
802.1Q 定义的 VLAN ID 域有 12 个比特,最多可以提供 4094 个 VLAN。但在实际应用中,尤其是在城域网中,需要大量的 VLAN 来隔离用户,4094 个 VLAN 远远不能满足需求。 QinQ 使整个网络最多可以提供 4094×4094 个 VLAN,满足了城域网对 VLAN 数量的需求。 QinQ 是 802.1Q in 802.1Q 的简称,是基于 IEEE 802.1Q 技术的一种比较简单的二层 VPN 协议。通过将一层 VLAN Tag 封装到私网报文上,使其携带两层 VLAN Tag 穿越运营商的骨干网络(又称公网),从而使运营商能够利用一个 VLAN 为包含多个 VLAN 的用户网络提供服务。特点:
- 缓解公网 VLAN 资源日益紧缺的问题;
- 用户可以规划自己的私网 VLAN,不会导致与公网 VLAN 冲突;
- 为用户提供了一种简单、灵活的二层 VPN 解决方案;
- 当公网进行 VLAN 规划时,用户网络不必更改原有配置,使用户网络具有了较强的独立性。
1.3、相关协议
- IEEE802.1Q(单层VLAN)
- IEEE802.1ad(双层VLAN)
- IEEE802.1p(带优先级的VLAN)
1.4、桢格式
vlan的tag含义:
标签协议标识TPID:固定取值为0x8100,表明这是一个携带802.1Q标签的帧
优先级PRI:指明帧的优先级。0-7,表示8种优先级,提供有差别的转发服务。
标准格式指示CFI:在以太网环境中,这个字段始终为0。
VLAN标识:它唯一地标志了以太网帧属于哪一个VLAN
VID的取值范围是0~ 4095 (0 ~ 212-1)
0和4095都不用来表示VLAN,因此用于表示VLAN的VID的有效取值范围是1 ~ 4094。
2、应用场景
- 城域网(Metro Ethernet):QinQ(802.1Q in 802.1Q)技术广泛应用于城域网中,帮助服务提供商在其网络中高效地管理和隔离客户流量【缓解公网vlan不足】
- 企业网络:在大型企业网络中,QinQ可以用于实现更复杂的VLAN划分和流量管理【隔离公网vlan和私网vlan】。
实现二层vpQinQ工作原理
QinQ报文在运营商网络中传输时带有双层VLAN Tag:
内层 VLAN Tag:为用户的私网 VLAN Tag,Customer VLAN Tag (简称 CVLAN)。设备依靠该 Tag 在私网中传送报文。
外层 VLAN Tag:为运营商分配给用户的公网 VLAN Tag, Service VLAN Tag(简称 SVLAN)。设备依靠该 Tag 在公网中传送 QinQ 报文。
在公网的传输过程中,设备只根据外层 VLAN Tag 转发报文,而内层 VLAN Tag 将被当作报文的数据部分进行传输。
用户网络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,用户网络边缘)设备。
3、划分方式
802.1Q帧是由交换机来处理的,而不是用户主机和路由器来处理的
当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,简称“打标签”。
当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,简称“去标签”。
一般端口接收时总希望能够打上标签,发送出去时候总希望能去除标签。
方式 vlan_id
port1 1
port2 2
3.1、基于mac
3.2、基于端口
3.3、基于协议:ipv4、ipv6
3.4、基于子网
3.5、基于策略
4、端口模式
4.1 、access port
一般用于连接主机或路由器。
按照数据流的方向,在access接口的入方向打上PVID,用于交换机内部路由,出方向移除PVID。
规则:
- 收到报文,判断是否有vlan标签:如果没有则打上端口的PVID,并进行交换转发;如果有则直接丢弃;
- 发送报文,将vlan信息剥离,直接发送出去;
4.2、trunk port
一个链路可以承载多个vlan。 一般用于连接交换机。
规则:
- 当trunk端口接收到帧时,如果该帧不包含tag,将打上端口的PVID(vlan1);如果该帧包含VLAN ID在trunk的允许发送列表,则携带源标签进行转发,否则丢弃该报文;
- 当trunk端口发送帧时,该帧VLAN ID在trunk的允许发送列表:若与端口的PVID相同时,则剥离tag发送(vlan1,本征vlan);若与端口的PVID不同时,则直接发送;
4.3、hybrid port
即可以连接主机,又可以连接交换机。可以从taged或untagged加入vlan。
- Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文