​前提提要:采用飞凌 嵌入式 的OK1028A-C开发板进行TSN相关功能的测试,OK1028A-C开发板基于NXP LS1028A处理器设计,双核 ARM Cortex-A72,原生支持6个千兆以太网接口,并内置一个支持TSN的4端口switch,后续TSN的相关子 协议 功能测试都将基于该开发板展开。
TSN中的以太网帧的优先级主要通过VLAN中VLAN tag的优先级字段来进行区分,所以本节先进行VLAN的学习。

报文格式

VLAN数据帧的报文格式如下,利用vlan报文中的PRI字段,可以将需要发送的数据帧的优先级进行设置
在这里插入图片描述

字段长度含义取值
TPID2ByteTag Protocol Identifier(标签协议标识符),表示数据帧类型。取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
PRI3bitPriority,表示数据帧的802.1p优先级。取值范围为0~7,值越大优先级越高。
CFI1bitCanonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。
VID12bitVLAN ID,表示该数据帧所属VLAN的编号。VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。

VLAN配置

将两块开发板(分别称为A板和B板)的eno0端口通过网线连接,利用vconfig工具对vlan分别进行配置

  1. A板和B板均执行以下命令,其表示为在端口eno0添加VID为100的VLAN端口
vconfig add eno0 100
  1. 执行完毕后,终端显示如下
    在这里插入图片描述
  2. 通过查看文件路径/proc/net/vlan/config可获得添加的VLAN信息列表
    在这里插入图片描述
  3. 通过以下命令为新增的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端口发送和接收的数据帧数量
在这里插入图片描述
如果对你有帮助,欢迎点赞收藏,有相关问题也可以评论讨论,后续将继续更新该系列。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐