2.8.2 以太网 VLAN(VLAN数据帧格式、交换机接口类型)
原始的以太网数据帧没有802.1QTag字段,在网络中进行转发的时候能够被主机接收、解封查看。
而一但有了802.1Q Tag字段的以太网数据帧,主机即使能接收数据帧,也无法识别数据帧中的内容从而会直接丢弃。
一、802.1Q Tag数据帧中字段简介
TPID/Type(标签标识符):取值为0x8100,表示802.1Q数据帧。
PRI(优先级):在Qos功能中控制数据帧的优先转发操作。
CFI/DEI(标准格式指示位):表示MAC地址的格式,以太网中该值为0。在FDDI(光纤令牌环网络)、以太网令牌环网络中该值为1。
VLAN ID(vlan标识符):标识vlan号。数据帧范围0~4095,其中0和4095有特殊的作用:vlan 0,对不携带vlanid且使用pri字段优先级帧做调试、vlan4096用于保留使用
。
抓包分析:
- 第一个Type表示帧的类型,0x8100表示802.1QTag数据帧。
- 802.1Q下面的Type为以太网中的用于表示上层封装协议,0x0806表示ARP协议,如果0x8100在这里就表示IP协议。
- Padding表示数据帧不够最小64Byte字节的时候,通过该字段进行填充数据帧至64Byte
二、如何给数据进行封装上VLAN?
交换机基于不同的端口类型,对端口下的数据进行数据帧的封装、解封装操作。
理解数据帧的进入、离开/出去方向的概念:
交换机的端口类型分为3种:
-
Access类型,通常在连接终端在端口上配置。实现数据帧的收发无标记帧。
1、无帧进入交换机将打上VLAN
2、有帧进入交换机将不变动标签
3、有帧从交换机出去,标签与接口一致,剖离标签发送
4、有帧从交换机出去,标签与接口不一致,丢弃数据帧
-
Trunk类型,中继端口,相当于一个隧道,隧道中跑vlan标签数据,特点就是允许多个VLAN数据帧通过。
1、无帧进入交换机将打上默认的Pvid VLAN**(本征VLAN,与Access功能一样,起到打标签与剥离标签作用)**
2、有帧进入交换机将不变动标签
3、有帧从交换机出去,标签与接口一致,剖离标签发送
4、有帧从交换机出去,标签与接口不一致,丢弃数据帧
- Hybrid类型,结合了Access和Trunk类型的特点,可以决定哪些vlan可以通过,哪些vlan不可以通过。
如何进行配置端口类型?
- Access
- 接口模式下,设置接口类型为Access,封装vlan10
- port link-type access
- port default vlan 10
- Trunk
- 接口模式下,设置接口为中继类型,PVID为10,放行vlan10~20
- port link-type trunk
- port trunk pvid vlan 10
- port trunk allow-pass vlan 10 to 20
- port trunk allow-pass vlan 10 to 20 30 40(放行vlan10~20、vlan30、vlan40)
- port trunk allow-pass vlan all(放行所有VLAN)
- Hybrid
- 接口模式下,设置Hybrid类型,PVID为10,vlan10vlan20通过剥离标签,vlan30vlan40通过不剥离。
- port link-type hybrid
- port hybrid pvid vlan 10
- port hybrid untagged vlan 10 to 20
- port hybrid tagged vlan 30 to 40
三、通过命令查看端口类型与标签处理方式
命令: display port vlan active :
- 默认接口类型为Hybrid,默认PVID为vlan1,untag也是vlan1,默认不放行其它vlan。
- 下图VLAN List 中的U和T分别表示:U=Untag,T=Tag。
- PVID 1 U:10
- VLAN10数据帧通过,因为是U:10所以需要剥离标签。
- PVID 10 U:10 T:1
- VLAN10数据帧通过,因为PVID10所以需要剥离标签。
- PVID 10 T:1 20
- VLAN20数据帧通过,因为T中有20,VLAN20直接转发不需要剥离