TSN测试0

记录TSN网关:型号RELY-TSN-BRIDGE。测试一些TSN协议时遇到的可能会存在共性的问题。希望能够对各位有一些帮助。

VLAN

开始打算做一些测试的时候,我已经对TSN协议和网关的使用有一定熟悉,但对以太网协议还不是很熟悉。好在TSN协议多数都在数据链路层运行,不熟悉高层协议影响不是特别大。

第一步想到的就是我需要电脑能够发出TSN能够处理的数据,也就是携带VLAN tag。
VLAN-tag

  • WINDOWS系统

经过一些尝试,最后没有选择在熟悉的windows上进行。WINDOWS确实有支持VLAN tag。下面是我的网卡设置,系统是WINDOWS10:
网卡设置
在使用VLAN和优先级,然后设置好VLAN ID后,windows系统可以支持VLAN,但是我用的抓包工具Wireshark无法抓到VLAN tag的内容,试了很多方法也没找到可行的。因为我必须要在抓包时能够显示里面的优先级,所以这个方案无法满足。如果windows取消VLAN支持,那么Wireshark可以抓到VLAN tag,但是windows不会自动回复ARP。这样来看windows在实际测试的时候不如linux系统灵活。

除此之外,我也发现linux上面有很多现成库的支持,所以即使只是想做一些简单的测试,linux也是一个更好的选择。

  • linux系统

测试用的是ubuntu20.04,查找配置相关的指令花了一些时间,发送数据和抓包都可以满足要求。配置指令如下:
安装VLAN模块:

apt install vlan
modprobe 8021q

启用VLAN(使用vconfig指令时提示应该用更新的iproute2,所以我没有用vcconfig):

ip link add link eth0 name eth0.5 type vlan id 5 egress-qos-map 2:2 3:3
ip addr add 192.168.100.1/24 dev eth0.5 brd +
ip link set eth0.5 up

查看指令:

ip link show
ip addr show

删除:

ip link delete eth0.5 type vlan

其中egress-qos-map 2:2 3:3是启用VLAN tag中的优先级标识和socket中的参数SO_PRIORITY之间的映射,映射之后修改这个参数就可以发出带有优先级的以太网数据了。

uint proiority = 3;
setsockopt(m_socket, SOL_SOCKET, SO_PRIORITY, &priority, sizeof(priority));

关于Qbv的小测试

简单做一个关于Qbv的测试,网关配置如下:
网关配置
发送数据是优先级3,5连续并循环。不激活Qbv功能时,接收如下:
在这里插入图片描述
激活后:
在这里插入图片描述
在单独一个优先级的时间片上很容易看到结果;在3和5同时打开的时间片,发现通道是按照FIFO规则的,网关会优先转发上一个时间片没有转发的优先级为5的数据,然后才会恢复3,5,3,5这样转发情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值