基于NetFPGA的列车以太骨干网负载均衡的设计

2013-05-12 07:59周召均夏浩延付闯闯
铁道运营技术 2013年2期
关键词:PC机队列以太网

周召均,夏浩延,付闯闯

(西南交通大学 电气工程学院,硕士研究生,四川 成都 610031)

现代列车正朝着高速化、自动化和舒适化方向发展,与传统的列车相比,机车车辆各计算机之间相互传输交换的信息量越来越大,诸如列车控制信息(如牵引、制动、空调)、诊断信息(如设备故障信息、维修信息)、旅客信息(如预报站、线路)、语音视频等。列车通信网络已成为高速列车系统的关键技术。现有的列车工业现场总线如绞线列车总线(WTB)、多功能车辆总线(MVB)、CAN总线等已逐渐不能够满足列车信息的超大容量、实时性的需求。一些新的工业现场总线就引入了列车通信网络,工业以太网就是其中之一〔1〕。

目前,工业以太网技术在列车通信系统领域中还没有得到充分应用。但与其他现场总线相比,工业以太网在列车网络中具有突出优势。工业以太网提供了针对控制网络数据传输的以太网标准,具有较高的网络安全性、可操作性与实时性,同时克服了现有列车网络总线传输速度低下、组网拓扑单一等缺陷,非常适合在列车通信网络中应用〔2〕。其主要优势体现:以太网是目前应用最为广泛的计算机网络技术,受到广泛的技术支持,而且基于TCP/IP协议的以太网是一种标准的开放式网络,相对于目前使用的令牌总线(ARCNET)、CAN总线等列车网络,其成本更加低廉。本文的开发思路是基于NetFPGA硬件平台作二次开发,在数据链路层实现负载均衡传输,从而减小网络延时和冲突几率,提高网络的实时性,同时增加网络的带宽,采用硬件冗余方式,提高网络系统的性能。

1 Ne t FPG A列车骨干网络硬件平台

NetFPGA是由美国斯坦福大学开发的为研究人员可在硬件上搭建千兆的高性能网络模型的低成本可重用的硬件平台〔3〕。NetFPGA系统是由NetFPGA开发板、运行于操作系统的PC机以及相应的软件组成,通过相互间的配合数据交换形成网络结构系统。其中NetFPGA开发板是核心,它是通过PCI与运行软件的PC机通信的,其包括1个用于用户自定义的逻辑编程的Virtex-II Pro50和1个用于实现连接主机CPU的PCI接口控制逻辑的Xilinx Spartan以及4个千兆以太网MAC控制器等构成。

本文选取NetFPAGA作为硬件平台的原因:一是NetFPGA硬件平台是一个开放的平台,在网络上有大量的源代码和参考设计,在此基础上做二次开发比较方便。二是在于其模块化设计理念,可使开发者很容易在NetFPGA平台上设计出高性能的网络系统〔4-6〕。本文利用NetFPGA平台参考路由器进行二次开发,在路由器的网络层实现数据的负载均衡,使数据在数据链路层分开,沿不同的物理线路传输到目的地,以减小因数据量过大而阻塞的几率,增大骨干网络各个路由器之间传输的信息量。

2 Ne t FPG A硬件平台及设计方案

2.1 列车骨干网络拓扑结构 列车骨干网络拓扑结构的方案是基于IEC61375 2-5〔1〕的工业以太网进行设计的,使用Xilinx NetFPGA通过二次开发搭建工业以太网实验平台,每个NetFPGA带有4个千兆网口,将NetFPGA通过PCI插槽插在一台PC机上,PC机+NetFPAG模拟中央装置和终端装置,设计半实物仿真系统见图1。每个节点上的NetFPGA板卡上的4个端口刚好满足分成2组,在每组上的2个端口上实现负载均衡,以便骨干网络上的大量数据快速的在各节点之间传输。

图1 基于I EC61375 2-5的列车工业以太网通信网络拓扑结构

2.2 PC机与Ne t FPG A结构设计 骨干网络的每个节点由一台PC机和一块NetFPGA板卡构成,它们之间通过高速PCI总线连接,PC机与NetFPGA的结构设计见图2所示。

图2 Ne t FPG A与PC结构设计

PC机用户空间运行TTDP、OSPF等相关的路由协议和一些应用程序,以完成路由计算的工作和提供必要的服务,在内核空间生成路由表,并通过PCI总线写入到NetFPGA的转发表当中以决定是否转发,由NetFPGA硬件完成数据的转发功能。本方案将NetFPGA板卡的端口nfc0与nfc1分成一组,nfc2与nfc3分成一组,数据的均衡传输在NetFPGA的硬件层实现。

2.3 Ne t FPG A硬件模块化路由器设计 模块化的硬件路由器采用的是管道模型,利用流水线结构对数据进行处理,使用高带宽的数据包通路总线实现Packet的相关分析和处理,低带宽的寄存器通路来实现各个模块的寄存器的读写以完成用户软件对模块的功能和参数的配置〔3〕。数据通过MAC队列或者CPU队列(即由其他主机传输过来的数据或者是本机产生的待转发数据)进入用户数据通道主要经过数据仲裁模块、输出端口查询模块然后再进入输出队列。输出队列分为需要转发到其他主机的数据进入MAC队列和进入本机的CPU队列数据,其队列调度input_arbiter是通过轮询的方式对每个队列进行访问的。数据包由仲裁模块出来后会进入核心module输出端口查询模块output_port_lookup,完成数据包的分析处理,检查其目标MAC地址、帧类型、版本号、生存时间以及校验等。本设计是基于Xilinx的Reference Router设计的,数据进入输入输出查询模块时进行数据分流。数据头部处理输出端口查询模块见图3。2.4 Ve r i l o gHD L负载均衡实现 数据输出进入Output_Queues前需要对入队进行查询处理,然后才能决定进入那个队列。

图3 数据头部处理输出端口查询模块

头部处理的状态机制很简单,只有PARSE_HDRS和WAIT_EOP两个状态,状态机之间的转换条件是in_ctrl和in_wr。负载均衡实现的核心代码:

3 实验及结果

3.1 实验过程 本节对基于IEC61375 2-5的列车以太网网络拓扑结构的负载均衡进行功能测试。

实验环境如图4(a)所示,采用3台装有NetFPGA板卡的联想IdeaCentre K320的PC机,搭建图1给出的实验拓扑结构。将3台主机HA,HB,HC串接,主机HA上nfc0,nfc1分别接主机HB上nfc0、nfc1,主机HB上nfc2,nfc3接HC主机nfc0,nfc1;下载本设计生成的bit文件到板卡;ifconfig配置端口的ip地址、子网掩码(HA主机的nfc0端口10.128.0.1;HB主机nfc0端口10.128.0.2,nfc2端口10.128.0.4;HC主机的nfc0端口0.128.0.3);终端HA ping主机HC的nfc0端口,回显结果如图4(b)所示,主机HA上监测端口nfc0和nfc1上接受或发送的数据包数目和时间的java GUI显示见图4(c)。

图4 负载均衡实验及结果

3.2 实验结果分析 从实验结果中可以看出:数据的延时在0.1 ms左右,完全可以满足列车控制网络的要求(循环时间小于1ms);主机HA ping向HC 10个数据包,同时收到10个数据包并且数据在端口0和端口1上均匀地传输,实现了数据的负载均衡。

4 结束语

本文运用负载均衡的思想主要是为了解决列车骨干网络的大量数据传输与端口带宽不足的矛盾以及减小数据在数据链路层阻塞引起的延时时间。在实际应用中端口的带宽增加会大量增加成本,负载均衡就解决了这一因单一线路的升级成本太高或难以实现的难题。本文基于NetFPGA实现列车骨干网络的负载均衡传输,为列车骨干网络的大量数据传输提供了一条新的解决方案。

〔1〕彭国平,杜亚江.以太网技术在列车通信网络中的应用探讨〔J〕.铁道车辆.2008,46(12):25-28.

〔2〕黄轶,胡鹏飞.工业以太网在列车网络中的应用设计〔J〕.铁道运营技术,2011 Vol.17 No.1.

〔3〕周剑,陆桂华.零存整取NetFPGA开发指南〔M〕.北京:北京航空航天大学出版社,2010.6.

〔4〕Glen Gibb,John W.Lockwood,et al.NetFPGA—An Open Platform for Teaching How to Build Gigabit-Rate Network Switches and Routers〔J〕.IEEE Transactions on Education,VOL.51,NO.3,AUGUST 2008.

〔5〕John W.Lockwood,Nick McKeown,Greg Watson,et al.NetFPGA-An Open Platform for Gigabit-rateNetwork Switching and Routing〔C〕.IEEE International Conference on Microelectronic Systems Education(MSE'07),2007.

〔6〕Hamed Tabatabaei,Yashar Ganjali. Preserving Pacing in Real Networks-An Experimental Study Using NetFPGA〔J〕.2nd North American NetFPGA Developers Workshop.Stanford,2010.

猜你喜欢
PC机队列以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
丰田加速驶入自动驾驶队列
VC.NET下实现dsPIC单片机与PC机的通信
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于单片机与PC机的电气量采集系统设计
浅谈EPON与工业以太网在贵遵高速公路中的应用