TSN实战系列3:802.1Q VLAN(Virtual LAN)的配置与抓包
前提提要:采用飞凌 嵌入式 的OK1028A-C开发板进行TSN相关功能的测试,OK1028A-C开发板基于NXP LS1028A处理器设计,双核 ARM Cortex-A72,原生支持6个千兆以太网接口,并内置一个支持TSN的4端口switch,后续TSN的相关子 协议 功能测试都将基于该开发板展开。
TSN中的以太网帧的优先级主要通过VLAN中VLAN tag的优先级字段来进行区分,所以本节先进行VLAN的学习。
报文格式
VLAN数据帧的报文格式如下,利用vlan报文中的PRI字段,可以将需要发送的数据帧的优先级进行设置

| 字段 | 长度 | 含义 | 取值 |
|---|---|---|---|
| TPID | 2Byte | Tag Protocol Identifier(标签协议标识符),表示数据帧类型。 | 取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 |
| PRI | 3bit | Priority,表示数据帧的802.1p优先级。 | 取值范围为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配置
将两块开发板(分别称为A板和B板)的eno0端口通过网线连接,利用vconfig工具对vlan分别进行配置
- A板和B板均执行以下命令,其表示为在端口eno0添加VID为100的VLAN端口
vconfig add eno0 100
- 执行完毕后,终端显示如下

- 通过查看文件路径/proc/net/vlan/config可获得添加的VLAN信息列表

- 通过以下命令为新增的VLAN端口设置IP地址,并将端口使能,设置完毕后通过ifconfig可查看相应VLAN端口
A板的IP地址设置为192.168.3.10(其网段需与eno0端口的原网段不同),MAC地址设置为c2:14:dc:4e:36:60(默认情况下,创建的VLAN端口MAC地址与原物理端口MAC地址相同,可通过命令行修改其MAC地址)
ifconfig eno0.100 192.168.3.10 up
ifconfig eno0.100 hw ether c2:14:dc:4e:36:60
B板的IP地址设置为192.168.3.20(其网段需与eno0端口的原网段不同),MAC地址设置为46:59:62:79:fc:73
ifconfig eno0.100 192.168.3.20 up
ifconfig eno0.100 hw ether 46:59:62:79:fc:73
终端端口显示,新增的VLAN端口命名方式为<物理端口名>.

抓包
标准以太网报文
将两块开发板(分别称为A板和B板)的eno0端口通过网线连接,并将其IP地址设置在同一网段,在实际测试中将A板的eno0端口IP设置为192.168.1.10,B板的eno0端口IP设置为192.168.1.20,在A板采用tcpdump工具进行抓包,B板对A板进行ping
A板执行以下命令,进入抓包状态:
tcpdump host 192.168.1.10 -e
B板执行以下命令:
ping 192.168.1.10
在A板的终端界面抓包结果显示如下,其中46:59:62:79:fc:72为B板的eno0端口MAC地址,c2:14:dc:4e:36:59为A板的eno0端口MAC地址,紧接着的信息为ethertype以太网类型,其值为0x0800,表示以太网类型为IPV4

VLAN以太网报文
A板执行以下命令,进入抓包状态:
tcpdump host 192.168.3.10 -e
B板执行以下命令:
ping 192.168.3.20
在B板的终端界面抓包结果显示如下,其中46:59:62:79:fc:73为B板的eno0.100 VLAN端口MAC地址,c2:14:dc:4e:36:60为A板的eno0.100 VLAN端口MAC地址,紧接着的信息为ethertype以太网类型,其值为0x8100,表示该数据帧为VLAN数据帧,其VID为100,数据帧的优先级p为0

也可通过查看文件/proc/net/vlan/eno0.100获取VLAN端口发送和接收的数据帧数量

如果对你有帮助,欢迎点赞收藏,有相关问题也可以评论讨论,后续将继续更新该系列。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)