ETB在列车网络控制系统中的应用研究

    朱红岗 张哲瑞

    

    摘要:针对列车网络控制系统中以太列车骨干网络的传输及网络协议特性,文章给出了ETB构成及编组拓扑,从底层初始化、列车拓扑发现协议初始化、协议管理和软件初始化4个方面介绍,模拟了ETB网络的具体流程,实现了ETB网络节点的自动编组。

    关键词:以太列车骨干网络;列车拓扑发现协议;自动编组

    以太列车骨干网络是将工业以太网的带宽高、速率快、实时性好等特点引入了列车网络中,以适应未来列车网络系统发展的方向。以太列车骨干网络(Ethernet Train Backbone,ETB)与工业以太网的不同之处在于网络拓扑结构、禁止使用生成树、快速生成树协议和网络初始化协议。株洲时代电气针对ETB的初始化协议提出了一种分布式比较算法,使用了链路层的LLDP协议来建立所有节点的信息,最后形成一个连接向量表。本文研究了ETB的编组形式及协议组成,模拟了ETB网络的数据流,实现了列车ETB网络节点自动编组。

    1.ETB网络拓扑

    ETB网络拓扑结构采用线性结构,每个ETBN有两个参考方向,从Tc2车指向Tc1车为方向1,从Tc1车指向Tc2车为方向2。车辆的物理连线使ETBN的方向1与车辆的方向1相同,这样保证了多个节点情况下,每个节点的方向1应是相同的,列车通信方向也一致。列车的首节点地址是01,其余节点按总线方向2从02开始按递增顺序依次编号,最后命名的节点为尾节点。列车上的终端设备,可以直接连接到以太列车骨干网节点(ETB Node,ETBN)上。以太列车骨干网拓扑结构如图1所示。

    以太列车骨干网主要包括4个部分:底层初始化、运行TTDP协议、协议管理、软件初始化。底层初始化使得底层能够顺利实现收发数据的工作,运行TTDP协议完成ETB网络的编组和通信,在编组成功后分配IP地址,协议管理和软件初始化完成对应用层数据的传输控制,实现列车网络的顺畅运行。

    2.底层初始化

    底层初始化软件主要完成4个方面的功能。

    2.1线程的初始化

    负责程序所有底层线程的初始化,接口API函数对各种数据结构进行填充,如port:端口号,interface:ETB网口的标识号等。

    线程初始化包括:实现线程的链表结构的初始化;开启所有线程;初始化路由表;初始化客户端;取得相应的端口的IP等信息;连接vns server。

    线程初始化组件的数据结构包括:路由器ID号、区域ID号、更新频率、OSPF协议的hello帧的间隔时、路由更新时间、ARP ttl时间、nat超时时间、线程指针函数、路由表、ARP协议地址映射、ARP队列、客户端命令、路由更新协议、nat协议表结构、nat保持线程、nat表唤醒条件、ARP线程、OSPF协议的hello线程、OSPF协议的更新线程、OSPF超时处理线程、迪克斯加算法处理线程、路由更新广播线程、路由广播更新协议唤醒条件、路由器状态线程、上次路由器状态保持结构、本地ip过滤列表、日志文件等。

    2.2内存的初始化

    内存初始化接口函数为mem init(),主要完成内存初始化。

    2.3内存栈的管理的初始化

    内存栈初始化接口函数为mems init(),主要实现内存栈初始化。

    2.4对数据包进行管理

    数据包管理完成所有的数据包函数的初始化。

    3.TTDP协议初始化

    TTDP协议完成对ETB的网络节点进行编组。TTDP协议包含HELLO帧和TOPOLOGY帧。每个ETB节点会不停地检测ETB上的其他节点,在方向1和方向2上通过多播方式周期性发送这两个数据帧。HELLO帧用于检测相邻ETBN的情况,根据帧的源MAC地址来查找自己的转发表,确定ETBN的左右节点并记录,更新左右节点表,即连接向量域(Connectivity Vector),如果ETB上只有一个ETBN,则一段时间后自动宣布进入稳态。TOPOLOGY帧用于检测网络上所有可能出现的节点的编号情况,根据拓扑对总表进行一次更新,即ETBN向量域(ETBN Vector),对整个列车进行编组。

    列车网络的安全性能和级别较高,考虑到冗余控制策略,实现带冗余的TTDP协议包发送流程,主要分为以下3个线程:

    线程1:发送TTDP HELLO帧,构建相邻节点广播包,并且将该包通过mac层发送至相邻节点,测试节点之间的物理连接,并且建立ETBN向量表,用来描述方向1或方向2上所有节点的连接关系。

    线程2:接收和发送TTDP TOPOLOGY帧,接收全局广播包,判断是否本節点发出,若是,则丢弃该数据包;若否,更新本节点mac表,同时将相邻节点广播包发送至全局网络,向其他ETBN通告本节点的拓扑发现信息,同时建立连接表Connectivity Table,并更新自己的连接表。

    线程3:发送冗余判别广播包,热备端ETBN不断地发送心跳包到其余ETBN,若收到其余ETBN心跳包应答信息,热备端保持;若未收到应答信息,则执行冗余切换,由备份ETBN接管热备端的所有运行工作。

    4.协议管理

    协议管理,完成编组车辆间的网络通信协议管理,分为5部分:

    (1)端口初始化:获取网13IP地址,对IP地址和MAC地址进行定位。

    (2)ARP数据处理:打包并发送ARP格式的hello帧,管3~ARP的队列。

    (3)OSPF hello数据处理:基于OSPF协议而开发的Hello包并定时发出,用于发现相邻ETBN、建立连接关系、选举DR和BDR、确保双向通信。

    (4)OSPF lsa数据处理:打包并发送OSPF~lsa帧格式数据并定时发出。OSPF lsa数据主要类型有:路由链路信息:链路Router-id,接口地址,接口网络,接口类型。网络链路信息DR通告。汇总链路ABR通告。(d)通告外部路由。

    (5)OSPF lsa timeout数据处理:打包并发送OSPF的lsa timeout帧格式并定时发出,用于探测lsa数据帧是否超时。

    5.软件初始化

    软件初始化,完成编组车辆间的数据交互。在端口正常状态下,判断网络协议类型:

    (1)是否是ARP数据包,判断为ARP应答,则更新队列,返回目的地址不可达。判断为ARP请求,请求IP与网口地址一致则进行ARP应答,不一致则丢弃该报文。

    (2)判断是否是IP数据包,若是则进入IP数据处理线程;若以上两种数据包都不是,则丢弃该报文。

    其中,IP数据处理线程分为以下3部分:

    (1)是否为OSPF广播包,若目的地址与网口地址匹配,进行OSPF迪克斯加算法处理;若不匹配,查看路由下一跳是否存在,若存在下一跳,TTL减1,进行校验和,发送数据包,若不存在下一跳,返回目的地址不可达。

    (2)是否为TCP或者UDP报文,若为TCP包,进行TCP数据处理;若为UDP包,返回目的地址不可达。

    (3)是否为ICMP报文,若为ICMP包,执行应答请求,创建应答数据,否则,返回目的地址不可达。

    6.结语

    本文介绍了列车网络控制系统中以太列车骨干网络ETB的构成和编组拓扑,从底层初始化、列车拓扑发现协议TTDP初始化、协议管理和软件初始化4个方面详细说明了模拟ETB网络的具体流程,实现了ETB网络中列车节点的自动编组,后续工作将研究列车网络控制系统中的以太编组网络。

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 基于MATLAB 的信号时域采样及

    唐敏敏 张静摘要:频率混叠是数字信号处理中特有的现象,发生频率混叠后,信号会分析出错误的结果。而采样过程中,由于频率不够高,采样出

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建