2018年7月4日,本公众号发布了团队做的第一版TTE演示系统,见公众号文章《一个人,一个想法,一家公司和即将被改变的全世界网络》,时隔一年之后,团队经过不断的积累改进,TTE演示系统也进行了不断的升级,现发布第二版TTE演示系统。与第一版演示系统不同的是,第一版TTE演示系统使用的交换机和端系统都是Xilinx的FPGA开发板,第二版则全部采用自研的交换机板卡和端系统板卡,交换机的端口数也从4个增加到了8个(演示平台是8个,实际可支持24个千兆,6个万兆口),端系统板卡则有支持PCIe接口,可支持VxWorks、Linux及Windows等操作系统,也可在没有CPU的情况下采用硬件实现的UDP协处理器工作。
随着5G的脚步越来越近,一些新的应用也正在酝酿之中,正如4G刚开始推出之际,一些说着自己的手机只要能够发短信和打电话就够用了的人,转眼间就被快捷支付、短视频和各种直播平台等精彩纷呈的4G新应用所吸引了,瞬间不再说要那么快的速度有什么用之类的话。
5G时代,除了带宽更大之外,还有一个非常重要的特点,就是同步和低时延的引入。随着5G的宣传推广,大家可以在各种媒体上看到不同国家的人一起合奏一首曲子,或者实现远程手术之类的5G新应用,这或许是未来体现5G业务的一个重要特点。
同5G一样,对强实时和低时延要求更加苛刻的TTE网络也正在不断的寻找应用场景落地。相对而言,这种TTE网络对同步的要求更加苛刻,5G要求时间同步精度在毫秒级,而TTE系统则要求在纳秒级甚至是亚纳秒级,同时对业务也要求具有很高的确定性。
好了,不多说了,开始发布。
演示系统介绍TTE(Time-Triggered Ethernet)将时间触发协议(TTP)的实时性、确定性、容错性与传统以太网的普及性、成熟性、组网灵活性相结合,能在同一网络中高可靠、高性能地支持各种不同应用属性业务的综合传输,使其成为能够同时高效支持工业数据采集、控制指令传输、网络互联互通的新型综合信息传输网络。
TTE以其实时确定、安全容错、综合传输的特点,将被广泛应用于航空航天、轨道交通、汽车自动驾驶、工业控制等领域。
下面进行TTE系统演示,演示系统由八端口的TTE交换机和八个端系统,组成,连接关系如图所示,可以演示TT、RC及BE业务的综合传输。
交换机的1、2端口连接TTE模拟端系统#1、#2,模拟端系统#1连接摄像头,将摄像头采集的图像数据封装成TT业务流向模拟端系统#2发送,同时模拟端系统#1向模拟端系统#2传输BE业务流。网络监测终端可以实时显示模拟端系统#2上接收到的TT业务速率、BE业务速率、同步精度等参数。
TTE交换机3、4端口连接基于Windows主机的TTE端系统#3、#4,端系统通信板卡通过PCIe接口与主机相连。端系统#3、端系统#4通过应用软件收发TT、RC业务流,端系统#4点播端系统#3上的视频资源,进行BE视频业务流的播放。同时端系统#3还作为系统的615A加载端及SNMP管理端。
TTE交换机5、6端口连接基于VxWorks的TTE端系统#5、#6。端系统#5、#6之间收发TT、BE业务流。
TTE交换机7、8端口连接Testcenter网络测试仪,网络测试仪通过7、8端口注入背景干扰流,同时通过7端口向8端口发送RC业务流。
TTE核心技术
演示系统展示了自主研发的TTE六项核心技术 ,分别是:
详细介绍
- 网络同步技术采用6802或1588时钟同步协议;
- 调度表生成算法及生成软件;
- 615A文件分发协议;
- 16端口千兆TTE交换机设计;
- TTE端系统设计—主机式、嵌入式及瘦终端;
- TTE网络管理技术—配置、读取、监控网络设备的工作状态。
一、时间同步协议
TTE网络能够正常工作的前提是系统同步。本演示系统可以支持6802或1588两种同步方式,同步精度均小于100ns,这里以6802同步为例,进行说明。TTE交换机作为压缩主机CM,TTE端系统作为同步主机SM,主要实现固化功能、压缩功能以及结团检测功能,同时定义了冷启动服务、重启动服务以及时间同步服务。各端系统监测软件显示,系统同步精度始终小于100ns。详见:以太网中时间同步的那点事。
二、调度表生成算法及生成软件
TTE演示系统各节点时钟同步后,时间调度表生成软件可以根据输入的网络参数和业务参数,为网络中的各节点产生相应的发送时间调度表和接收时间调度表。调度表能保证各TT业务在传输的过程中不会产生任何冲突,并能充分兼顾网络带宽利用率,为ET业务传输提供更好的服务。
调度表生成软件功能如下:
1) 网络拓扑
在网络拓扑菜单,可看到网络中共有一个交换机和八个端系统。通过点击端系统和交换机的图标,可添加业务、查看业务、查看相应的发送表和接收表。
2) 参数配置
在参数配置菜单,配置TTE网络的各个参数,包括TT业务数目,同步精度,链路带宽,最小时间片及各类时延。
3) 添加业务
在添加业务菜单,逐条依次添加各TT业务,包括其ID,源端系统编号,周期,目的端系统编号,数据长度,产生时间。
4) 查看当前业务
在查看业务菜单,查看已添加的各TT业务,方便进行修改等操作。
5) 生成调度表
选择保存生成调度表的路径,确定之后软件调用后台算法程序,生成各调度表文件,并保存至指定路径下。
6) 查看调度表
在查看调度表菜单,查看各调度表文件中的具体内容。比如源端系统3的调度表文件中,重要的字段有业务ID号、基本周期号及发送时间点等。
7) 端系统业务模拟展示
在端系统展示菜单下,有上下两图,其含义类似。上面为源端系统的业务发送图,其中,横轴代表时隙,纵轴区分各源端系统,而竖直的虚线可区分各个基本周期。图中,每个矩形代表一个TT业务,其宽度代表数据长度,不同颜色代表不同目的端系统编号。而矩形在横轴上的开始发送时隙,由调度表文件进行控制。
下面为目的端系统的业务接收图。
滑动上下两图中的横轴,可以看到,各端系统有序无冲突地传输所有TT业务。
8) 交换机业务模拟展示
在交换机展示菜单下,有两张图,分别是交换机输入端口的业务发送图和交换机输出端口的业务接收图。
可以看到,业务在交换机中也可以有序无冲突地传输。
9) 性能评估
在性能评估菜单下,给出评估调度算法的几个参数,主要有负载率和时延等。
10) 帮助
点击帮助菜单,将打开软件的使用说明书。
三、615A文件分发协议
时间调度表文件生成后,需要使用615A远程文件传输协议将调度表文件分发到各网络节点。
615A协议分为加载端和目标端两部分。加载端相当于管理端,主要进行操作命令的输入。目标端负责对加载端的请求进行相应的消息回复。
本演示中,基于Windows的 TTE 端系统#3作为加载端,其它各端系统作为目标端。
下面以给VxWorks端系统传送table.txt调度表文件为例,演示使用615A协议进行文件远程传送过程。
- 首先在VxWorks端系统上运行目标端;
- 串口工具显示正在监听,表明目标端已经成功运行;
- 打开Windows 端系统#3的加载端程序,可以看到软件功能主要分为三个操作,FIND,信息操作和上传操作;
- 首先进行FIND操作。该操作通过发送广播帧,获得网络中上线的目标端,可以看到,通过FIND操作可以找到IP为192.168.1.1的目标端。
- 然后选择该目标端进行信息操作,可以获取该目标端的详细信息,如硬件代码,序列号等等。通过信息操作,可以确定FIND操作找到的目标端是否为需要的目标端。
- 确认目标端后,便可以进行文件上传操作。点击“上传操作”,然后“选择文件”,选择“table.txt”文件上传,可以看到,传输状态显示“传输完成”;同时在VxWorks操作系统下,通过FTP工具可以查看到,table.txt文件已经存在于文件系统,表明文件已经传输成功。
当使用615A协议将调度表文件传送到VxWorks端系统后,我们利用SNMP网络管理协议中的SET操作实现该端系统调度表文件的本地解析与配表工作,此时该端系统就可以进入到正常的工作态了。过程简单演示如下:
(1) 首先在VxWorks下启动SNMP 代理端,串口工具显示“waiting for request...”,表明该代理端已经成功运行。
(2) 打开Windows端系统下SNMP 管理端,这里设置IP地址为:192.168.1.1,即运行代理端的VxWorks端系统IP地址,接下来便可以进行SET和GET操作。可以手动输入OID进行相应操作,也可以使用右边的快捷操作。这里使用快捷操作进行演示。
点击“VxWorks配置调度表”后边的“确定”,发送相应SET指令到VxWorks下的代理端,完成配置。结果显示value值为Successful,同时观察串口工具窗口中显示相应的配置调度表成功信息,表明远程配表成功。
同时,本软件还可以通过GET操作获取相关信息,如TT规划速率、TT发送速率、TT接收速率等,在这里不进行演示。
四、TTE交换机设计
实验室自主采用FPGA设计实现16端口TTE交换机,采用SAE6802/IEEE 1588时钟同步技术,支持时间触发(TT)业务、速率受限(RC)业务、标准以太网(BE)业务的混合交换功能,提供一种实时确定、安全容错的综合信息交换网络。
五、TTE端系统设计
主机式(主机 FPGA板卡),嵌入式(嵌入式CPU FPGA板卡),瘦终端(无CPU的FPGA板卡)。
实验室自主设计实现三种类别的TTE端系统,分别为主机 FPGA板卡的主机式端系统,嵌入式CPU FPGA板卡的嵌入式端系统,以及无CPU的FPGA板卡瘦终端。端系统采用SAE 6802/IEEE 1588时钟同步技术,根据时间调度表实现时间触发(TT)业务、速率受限(RC)业务、标准以太网(BE)业务的混合发送与接收。
六、TT、RC及BE业务综合传输演示
时间调度表成功传输到各网络节点,并完成调度表的解析与配置后,TTE交换机与端系统开始正常工作。
接下来开始进行TTE交换机与端系统功能演示:
初始状态下,模拟端系统#1向模拟端系统#2持续发送固定速率TT视频业务流和BE业务流,两条业务流速率之和不高于TTE交换机端口2速率上限1Gbps,通过摄像头捕捉的TT视频业务流流畅播放。网络监测终端可以实时显示模拟端系统#2接收到的TT业务速率、BE业务速率、同步精度等参数。
频源Windows端系统#3持续向点播终端Windows端系统#4发送BE视频业务流、TT业务流及RC业务流,三种业务流速率之和不高于TTE交换机端口4速率上限1Gbps,点播终端可以看到BE视频业务流流畅播放。端系统#3运行TTE网络监控软件,可以实时监测三种业务的收发速率。
VxWorks端系统#5、#6互发TT业务流和BE业务流。
Testcenter网络测试仪从TTE交换机7端口向8端口单播发送RC业务流。
在干扰测试状态下,网络测试仪通过TTE交换机7、8端口分别向2、4端口打出两条速率各为900M的背景干扰流。
此时,TTE交换机2端口业务速率高于速率上限1Gbps,发生链路争用,受背景干扰流影响,模拟端系统#2的BE业务流接收速率从330Mbps下降至240Mbps,而具有确定性保障的摄像头TT业务视频流仍稳定播放,丝毫无卡顿现象。TTE网络监控软件上的TT业务流接收速率、传输时延保持不变。
同时,由于背景干扰流的影响,TTE交换机4端口业务速率也高于速率上限1Gbps,视频点播终端Windows端系统#4的BE视频业务流开始出现卡顿现象,与无卡顿的摄像头TT业务视频流形成鲜明对比。
受干扰流的影响主机端系统#4的RC业务流接收速率不变,但传输时延变大;BE视频业务流接收速率明显变小。
VxWorks端系统#5、#6不接收背景干扰流, TT业务流和BE业务流的收发速率保持不变。
释放两条背景干扰流后,模拟端系统#2的BE业务流接收速率恢复至330Mbps,视频点播终端Windows端系统#4的BE视频业务流恢复流畅播放。
另外,TTE交换机7、8端口间的RC业务BAG值为1ms,Jitter值为100us,业务带宽约为8Mbps,当注入的RC业务流带宽小于8Mbps,例如5Mbps,网络测试仪显示5Mbps的RC业务流全部被接收;当注入的RC业务流带宽大于8Mbps,例如15Mbps,网络测试仪显示只接收到8Mbps的RC业务流,说明TTE交换机对速率受限RC业务具有警管功能。
七、TTE网络管理技术—配置、读取、监控网络设备的工作状态
TTE网络管理技术基于SNMP协议开发管理软件,通过“SET”指令控制网络节点运行解析配表文件,完成本地配表工作;通过“GET”操作读取网络节点的各种工作状态信息,实现对端系统运行参数的读取功能。
TTE网络监控软件负责持续读取各网络节点的性能参数,包括同步状态、同步精度及TT/RC/BE业务的收发速率等信息,并通过整理统计,给出相应的业务流带宽、时延及时延抖动等性能曲线,以此监控系统运行状态。
TTE网络监控软件具有良好的可视化操作界面,支持同时监控多个不同类型的端系统,包括基于Windows的端系统,基于VxWorks的端系统等。
监控软件分为三部分:
1) Agent,运行在被监控的端系统上,负责采集数据并上报给web服务器;
2) Web服务器,运行在Linux系统上,负责数据格式转换并转发给前端页面;
3) 前端页面,在浏览器中打开,负责数据可视化等操作。
TTE网络监控软件的演示如下:
1) 运行目标端系统上的agent(双击agent.exe);
2) 运行Linux系统下的web服务器(打开虚拟机,输入./server.o);
3) 打开浏览器,在地址栏输入tte.xdisn.net进入软件主界面。
TTE网络监控软件主界面显示当前在线的端系统设备及其ID、IP、MAC地址等信息,黄色gateway端系统 ,蓝色为普通端系统,灰色为已掉线的端系统。点击按钮进入对应的端系统子界面,子界面显示该端系统的实时性能参数。以Windows端系统#3为例:三个坐标系依次显示端系统#3的TT业务发送与接收速率曲线、RC业务发送与接收速率曲线、BE业务发送与接收速率曲线。左下方的指示灯显示端系统#3当前的同步状态,网口连接状态,中间的坐标系显示同步精度曲线,右下方为设备的地址信息。
完整视频
https://www.ixigua.com/i6713439887539831303/
上述在线视频在上传过程中被压缩了,原版视频文件也可以从百度网盘下载。如下
链接:https:///s/1K77S4epSJq8lk05UPN6JCA
提取码:c28j
复制这段内容后打开百度网盘手机App,操作更方便哦
宣传海报
演示所用交换板:
端系统PCIe板卡
欢迎大家到实验室参观指正!
依旧,系统内的每行代码都是自己的;希望,下一次给大家发布的是我们自己的TTE交换机和端系统芯片。我们一起期待!
全文完。
,