孙海峰
ATS子系统单播泛洪引发网络风暴仿真及网络优化
孙海峰
摘 要:列车自动监控(ATS)子系统网络的稳定和优化,关乎整个信号系统的稳定和安全。以真实线路硬件和组网方式为基础,模拟仿真了网络中的单播泛洪网络风暴,收集了第一手的数据资料,并对数据通信系统(DCS)网络结构优化做了进一步的分析。
关键词:ATS;DCS;泛洪;单播;广播;网络风暴;仿真;优化
孙海峰:通号国际控股有限公司,工程师,北京 100166
在城市轨道交通信号系统中,列车自动监控(ATS)子系统作为行车运营不可或缺的部分,已经越来越得到各个厂家的重视。在非基于无线的信号系统中,数据通信系统(DCS)网络只负责承载ATS子系统网络流量,但是到了基于无线通信的列车控制(CBTC)阶段,DCS网络开始承载整个车-地通信的重任。DCS网络的安全完整性等级一般为SIL0,而ATS子系统的安全完整性等级一般为SIL2。SIL0级的安全等级甚至可以被认为没有安全等级的限制,从这个意义上说,ATS子系统和DCS网络均为非安全系统。但是,DCS网络作为信号系统通信的基础,A T S子系统作为信号系统的人机界面,它们在列车正常运营中的重要地位是不容忽视的。A T S主要功能有:①编制运行图,根据运行图自动办理列车进路,自动调整列车运行间隔,必要时可以人工介入调整列车间隔;②记录运行数据;③运营人员对信号系统进行控制的人机接口,如设置进路、设置停站时间、设置线路或列车的临时限速等。因此,一旦ATS出现故障,操作员将失去对整个信号系统的操作权,造成线路无法正常运营的严重后果。
A T S子系统的组网方式通常有2种:一种是由通信系统的传输子系统提供透传的网络通道,ATS提供网络交换机等设备与传输子系统进行接口,达到组网的目的;还有一种是信号系统使用光纤、光端机、光交换机等设备自己组建DCS网络,以便达到传输安全信息的目的。2种传输方式各有利弊,分别适配不同制式的信号系统。前一种方式在组建网络方面要经过DCS网络与传输系统的接口,且涉及到2种网络拓扑的连接,因此,接口的稳定与否决定了整个DCS网络的稳定性,潜在的问题较多;后者由于是信号系统自己建网,网络结构由信号系统设计方控制,网络拓扑较为透明,因此,稳定性较高。本文的仿真环境将使用前一种组网方式,以便充分说明在复杂网络环境下可能出现的问题。在本仿真中,暂不考虑车载无线信号的接入情况。
1.1网络拓扑结构
本文所采用的信号系统DSC仿真环境整体网络拓扑如图1所示。
网络中采取双网环形连接,通信传输系统同步数字体系(SDH)采用双网冗余结构,它为DCS网络在每个节点提供2条独立的通道,分别连接交换机的2个端口。
图1 仿真拓扑图
图2 控制中心与车站连接示意图
为了比较清晰地说明问题,图2为控制中心(OCC)和车站的一个典型连接示意图。
1.2硬件设备组成
在图2控制中心与车站连接示意图中,左侧为控制中心的设备连接示意图,右侧为车站设备连接示意图。所有交换机均为3层交换机,但暂不使用其路由功能,OCC 的3台交换机之间采用星形连接的方式,以防止单点故障导致网络通信中断;所有车站的网络配置均相同。为保证单点故障不影响网络通信,中心交换机3和车站的交换机均采用双线冗余的连接方式接入SDH传输系统。为了防止产生网络环路,所有交换机上均启用了生成树协议(STP),使2条同时接入SDH的网线通道有1条逻辑上是断开的。
为了充分模拟真实的运营环境,仿真共连接了19个车站网络节点,1个OCC网络节点,所有车站配备ATS工作站;车站节点中,车站ATS工作站采用惠普计算机,采用双网卡配置,搭载双网卡绑定程序(称为“HP NIC teaming”技术)达到热备冗余的目的,2块网卡绑定后使用1个逻辑IP地址与控制中心ATS应用服务器通信,逻辑上相当于1块网卡。每块网卡分别连接车站3层交换机的2个端口,2个端口配置的VLAN相同。
仿真环境下,所有的ATS设备均处于同一个VLAN中。整个ATS网络为平面结构。SDH设置为透传模式,仅为信号ATS子系统提供传输通道,不对传输的报文进行任何处理。
网络硬件连接完毕后,通过SDH网管软件,为每1条SDH通道加入“TAG”标签以保证DCS网络中VLAN信息的正确传输。
由于D C S网络的交换机已经开启了STP,因此,当车站逐个接入网络并与OCC通信时,每当接入1个车站(节点)时,STP就会更新自己的内部拓扑图(拓扑改变通告,简称TCN),并且重新计算每1条路径,当发现存在1条或者多条环路时,STP会从逻辑上打断环路,因此,在同一时刻只有1条逻辑通道保证网络的正常通信。从一定程度上保证了网络的联通性。
在每1个车站接入网络前,开启各个车站的ATS客户端软件,一旦网络连通,ATS客户端软件会自动和控制中心的ATS服务器软件进行通信,可以看到,刚接入几个车站时,ATS客户端软件和服务器通信是正常的,但当接入的车站越来越多时,网络节点逐渐增加时,各个车站交换机的端口指示灯闪烁频率开始变快,网络开始出现延迟的现象,同时,ATS客户端与服务器的连接也不再正常,开始出现时断时续的现象。
随后,开始从中心交换机2上的1个可通信的端口进行抓包分析。
试验中选取的端口为ATS网络中的1个端口,正常情况下,此端口可与ATS网络中的车站ATS、ATS服务器正常通信。这里需要特殊说明一下,一般在正常的网络中,需要抓取数据包的时候需要设置“监测”端口,这个端口可以获取流经本交换机的所有数据流量,在交换机正常工作时,监测端口的流量就已经很大了,而且会消耗交换机很大的运算资源。在本仿真中,为了真实反映交换机某一个普通端口所受到的网络冲击,另外,为了减少交换机死机的概率,因此,未启用监测端口进行监测,而是采用了1个普通通信端口进行抓包分析。
由于瞬时的数据量比较大,因此,提取的数据包的检测时长为155.155 s。在此时间段内,平均每秒采集数据包6 913.504个,流量约为4.522 Mbit/s,获取的数据包约有1 072 667个。在107万个数据包中,TCP(传输控制协议)数据包为907个,占总数量的0.08%;UDP(用户数据报协议)数据包为16 253个,占总数量的1.52%;广播数据包为54 985个,占总数量的5.126%,其中ARP(地址解析协议)数据包为40 840个,占总数量的3.81%;L L C(逻辑链路控制)数据包为1 013 699个,占到了94.5%。大部分的交换机资源和带宽都被LLC数据消耗了。交换机每隔0.1~0.08 ms便会收到一个LLC数据包,这些数据包发送频率快且内容重复性高。
从LLC数据包中可以发现,它首先按照IEEE 802.3 Ethernet报头进行封装,包含了目标MAC地址和源MAC地址;其次,LLC层报头包含了链路的控制信息;下面的数据包含了58 bytes的连续数据,但内容非常有限。从整个报文封装的形式和内容来看,它的作用是惠普双网卡绑定后网卡驱动程序的心跳(Heartbeat)信息。由于它包含了明确的目标MAC地址和源MAC地址,因此,不属于广播报文,而是点对点的单播报文。但为什么会出现如此多的单播数据包并造成网络崩溃呢?这是最大的疑问。
在收集到的数据中,广播报文数量为5.5万个,绝对数量还是比较大的,占总数据包的5.14%,从比例来讲不算太高。其中,ARP数据占到了广播报文的74.27%,占比也比较高。初步分析和网络出现环路有部分关系。
另外,校验码错误的数据包的数量为29 243个,其中有一部分数据出现大量的、连续校验错误数据包。这也是交换机资源将要耗尽,或者由于大量的拥塞数据导致的。
从仿真结果中可以看出,虽然此次仿真中收集到了超过正常网络的广播报文,但导致网络中断的真正元凶为数量巨大的LLC单播报文,这种报文不仅数量多且报文重复率高,最终耗尽了网络资源引发网络崩溃。这种现象称为泛洪。泛洪产生的原因分析如下。
(1)首先从网络结构上进行分析,在此次仿真中,所有网络交换机均被配置为2层交换机,每1个交换机均能够检测到其他的交换机。虽然每个交换机都启用了STP,但在增加车站的节点交换机时,交换机之间会通过发送TCN来交换拓扑图数据,并且当拓扑发生变化时,也会通过TCN来通知其他的交换机。STP会据此来计算新的拓扑图中的环路。
对照图2的控制中心和车站的典型连接图,可以发现其中环路如图3所示。
在图3中,仅仅考虑了OCC和1个车站之间的情况,车站与车站之间也存在环路。在此次仿真中,有多达19个车站交换机,因此,类似环路3的环路的数量将异常庞大。STP不得不针对如此多的环路进行计算。
STP在计算环路路径并且更新拓扑数据的过程中,受限于2个条件:当拓扑图非常大时,交换机之间更新拓扑图数据需要时间;更新数据完成后,交换机需要消耗一定的资源进行环路的计算。如果拓扑图比较大,STP需要扩散BPDU(网桥协议数据单元)数据包,相应计算的时间将成倍增长,在计算结果尚未出现之前,由于STP无法通知交换机逻辑上应该关闭哪一条连接,因此,2条连接都是打开的状态,重复数据包可以畅通无阻地被转发。因此,大量环路的出现是单播泛洪出现的前提。
(2)交换机是通过2层交换机的MAC地址表和CAM(中央地址存储器)表来转发数据。如果1个数据帧到达交换机后,交换机MAC地址表中没有此数据帧中目的MAC地址的表项,那么交换机会将此数据帧广播到对应VLAN中除了接收端口外的其他端口,这样就形成了泛洪。泛洪可能由3种原因导致:①不对称路由;②生成树拓扑改变;③转发表溢出。
由于仿真的网络呈环形,因此,基本不存在不对称路由的情况。另外,现在的交换机一般都有很大容量的地址表空间,所以,转发表溢出是可能的但是很少见。因此,生成树拓扑改变是本次单播泛洪出现的原因。
综合上述两点分析,可以发现:当网络中不断增加新的节点,网络拓扑发生变化后,到达某一个目的地址的路径可能发生变化,例如,以前数据包从端口1转发,现在变成了端口2,这样就可能导致数据包不能正确转发,所以,必须用某种机制去避免出现这种情况。S T P中T C N的作用是通知交换机网络拓扑变化,并且减小交换机中MAC转发表的超时时间。TCN由端口转发状态改变触发。在一个配置合理的网络中TCN报文是很少的,也就是网络拓扑几乎很少发生改变。
在正常的情况下,交换机收到TCN后会使MAC转发表加速老化,但是不久就会更新MAC表项,这样泛洪不会持续很久的时间,所产生的数据包的数量也不会很多,且可以随着端口转发状态的改变而逐渐被交换机丢弃。但是,如果有交换机不断接入网络,或者从网络断开连接,那么就会产生大量的TCN,交换机则会连续收到TCN的报文,那么MAC转发表就会处于不断的变化之中,如果此时1个未知MAC地址的数据帧到达,就会引起单播泛洪;再加上STP尚未收敛,网络中存在大量的环路,被转发的泛洪数据包会通过环路,再次回到此交换机,并在复制后再次被转发,大量的泛洪就会产生,同时,由于交换机的运算资源被用来计算STP的环路,它用于转发数据包的能力就会减少,会造成大量数据包的阻塞,因此,有用的数据包无法转发出去,无用的广播和多播信息却不断增多,周而复始的恶性循环,最终会导致交换机资源的耗尽、死机和网络中断。
图3 潜在的环路示意图
如上节所述,不对称路由、生成树拓扑改变和转发表溢出可能会导致单播泛洪,而不对称路由在DCS网络中基本不存在,由于现在交换机的配置较高,转发表溢出也很少发生,因此,我们还是将目光集中在生成树拓扑改变这个原因上。采取将原来的2层平型网络划分为3层带路由的网络,并划分不同的VLAN来隔绝广播域,使每个STP作用的网络范围变小,从而达到减少TCN的目的。
网络的优化示意如图4所示。在交换机3及车站的交换机N上启用了路由功能,原本存在的环路2和环路3被切断,网络域1和网络域2上分别运行各自的STP,环路1则由网络域1上运行的STP控制。这样优化以后,STP的作用范围明显变小了,单播泛洪的可能性随着减小,另外,即使网络域2中产生了大量的广播数据包,也不会影响到整个网络。
由于ATS在OCC会有很多与其他子系统的网络接口(如PIS、大屏、时钟、无线系统等),这些外部系统一般是信号ATS子系统认为不安全的网络,即使如图4所示进行了网络优化,它们的接入也会对ATS网络有潜在的影响。因此,建议在控制中心用防火墙替代交换机3,用来保护ATS内部网络,并增加外部接口交换机专门负责外部接口的接入。重新优化后的网络连接方式如图5所示。
图4 网络域优化示意图
图5 加入防火墙后的网络优化方案
单播泛洪造成的网络风暴与广播包造成的网络风暴相比,二者发生的原因不同,某些情况下,广播报文可以直接进行放弃处理;但是单播报文含有数据,交换机不会轻易进行放弃处理,而一旦发生泛洪,同样会引起网络崩溃,它的发生具有相当的隐蔽性。
针对信号系统的D C S网络,一旦产生了网络风暴将会对系统产生非常大的破坏,轻者导致网络中断,重者会因此造成数据延迟、混乱,以至于影响到行车的安全。在目前信号系统的应用中,网络通信已经逐渐成为控制信号传输非常重要的一个环节,因此,在网络的设计之初,就要从源头上截断出现网络风暴的可能性。由于DCS网络是一个封闭的局域网,因此,预防措施也很简单:恰当划分VLAN,缩小广播域,隔离广播风暴,使用防火墙对重要设备进行防护,定期对网络进行查毒、杀毒,加强对网络线路运行状态的监控,常态化对网络设备的硬件维护,做到了这些措施,基本能够保证网络风暴的不再发生。
参考文献
[1] 张欣. 生成树协议及其优化策略[J]. 科技信息,2006(S1):15.
[2] 王震宇,马晓军,蒋烈辉. STP协议与生成树设计优化[J]. 信息工程大学学报,2003,4(1):66-68.
[3] 朱凯进,席小刚. 浅析生成树协议在大型局域网内的正确应用[J].硅谷,2010(24):2.
责任编辑 冒一平
Simulation in Unicast Flooding Causing Data Storm on ATS and Network Optimization
Sun Haifeng
Abstract:Stability and optimization on the subsystem of the network of the automatic train supervision (ATS) have impact directly on the stability and security of entire signaling system. Taking the real hardware and networking mode as the basis, the paper describes the flooding broadcast storm simulation, collects data, and makes further analysis on network structure optimization of the data communication system (DCS).
Keywords:ATS, DCS, flooding, unicast, broadcast, data storm, simulation, optimization
收稿日期2014-07-25
中图分类号:U231.7