尹 涛 李巍巍
(国电南瑞科技股份有限公司,210003,南京∥第一作者,工程师)
网络报文过滤装置在城市轨道交通路网指挥中心系统中的应用
尹 涛 李巍巍
(国电南瑞科技股份有限公司,210003,南京∥第一作者,工程师)
为了保障城市轨道交通路网指挥中心系统安全运行,在城市轨道交通路网指挥中心系统与综合监控系统之间安装网络报文过滤装置。应用linux平台下的libpcap库,结合配置文件,使得符合过滤条件的报文通过,不符合过滤条件的报文丢弃。测试结果显示,使用该装置之后,系统很难受到攻击。最后形成了一套城市轨道交通路网指挥中心系统与综合监控系统网络报文过滤与通信的解决方案,可为今后其他综合系统与子系统网络通信提供技术创新参考。
城市轨道交通; 路网指挥中心系统; 综合监控系统; 网络报文过滤装置
Author′s address NARI Technology Co.,Ltd.,210003,Nanjing,China
城市轨道交通是按线路为最小单位来监控运行,而综合监控系统(ISCS)是城市轨道交通自动化调度管理的重要工具,在城市轨道交通中发挥着重要作用。轨道交通ISCS是一个涵盖多功能、多专业子系统的集成互联控制系统,它提供了一种信息共享平台,方便地铁运营人员对地铁的实时监视与控制。随着地铁线路的增加,城市轨道交通路网指挥中心系统(TCC)应运而生。城市轨道交通TCC系统作为整个地铁线路调控的平台,通过专用内网接入各条线路ISCS,负责城市各条地铁线路监视与控制,对于城市交通安全运行有着重要的作用[1-3]。
由于每条地铁线路的ISCS通过内部专用网络连接到TCC中,所以TCC不可能受到外部的网络攻击。但是,地铁线路综合监控软件由不同的厂家提供,这增加了内网网络风暴产生的可能性,一旦发生网络风暴,将增加TCC服务器负荷,有可能使得整个TCC系统瘫痪。每条地铁线路ISCS与TCC之间通信协议不尽相同,为了将各条地铁线路ISCS接入TCC中,减少TCC负荷,并防止网络攻击,增加TCC安全性,必须引入网络报文过滤装置。又由于网络报文过滤装置只负责消息的过滤,并不储存信息,所以虽然TCC服务器是两台冗余,但是网络报文过滤装置并不需要交叉冗余备份,只需普通直接连接,如图1所示。
1.1 TCC与ISCS功能
TCC位于线路控制中心,主要负责采集ISCS的转发信号,主要功能是统计分析与决策,在权限允许的范围内,下发行车安排、行车调度、电力调度等控制命令,控制各条线路安全运行。
ISCS以冗余实时服务器和历史服务器为基础,通过通信骨干网将所有的车站级监控系统连接起来。车站级监控系统位于车站和车辆段,通过专用的接口设备(FEP)和其他子系统接口,采集各子系统数据,并下发控制指令[4-5]。
图1 网络报文过滤装置架构图
1.2 TCC通信方案
TCC负责整个城市轨道交通系统的指挥决策与控制,而ISCS则负责某一条轨道交通线路各个子系统的监视与控制。TCC是以ISCS为基础,以一条地铁线路为基本调控单位,调控的基础是ISCS转发来的各个专业的信号,通过TCC推理分析和决策等步骤,然后下发控制命令。在一般情况下,ISCS直接将信号通过网络转发给TCC,这样就增加了TCC受到网络攻击的风险,对TCC安全运行构成严重影响。在TCC与ISCS之间增加网络报文过滤装置,能够起到屏蔽作用,使其免受网络攻击的危害。
网络报文过滤装置在ISCS与TCC之间起到一个桥梁的作用。利用网络报文过滤装置可以有效、方便地连接TCC,可以起到网络隔离作用,使得TCC服务器免受攻击。
2.1 设计方案
网络报文过滤装置主要分为以下几个方面:程序初始化,读取配置文件,通过libpcap库抓取流经网络报文过滤装置的报文,判断报文的源IP地址和目的IP地址。符合配置文件要求的进行下一步处理,不符合过滤条件的直接丢弃[6-7]。详细流程见图2。
2.2 初始化
首先利用libpcap库,读取网络报文过滤装置的网卡数,针对每个网卡分别创建两个线程,一个是网络报文接受线程,另一个是网络报文发送线程。接受线程与发送线程之间通过循环队列传递报文信息。初始化主要包括获取网卡名、网卡编号、数据报文更新时间以及过滤条件等。
图2 网络报文过滤装置工作流程图
2.3 配置文件结构及处理
在初始化之后,读取配置文件。配置文件主要包含一些过滤规则,接收报文主要依据这些过滤规则处理收到的报文(丢弃或重新组包)。配置文件的结构如下所示:
其中:rules的节点属性num表示规则个数;rule0表示对应的规则节点描述;sourceip表示接收报文的源IP地址;destip表示接收报文的目的IP地址;direction为过滤方向选择,当direction为1时表示sourceip和destip之间能相互通信,当direction为0时,报文只能从sourceip地址到destip地址,不能从destip发送报文到sourceip,只能允许单向传送报文。
2.4 基于libpcap的网络数据抓取
由于需要获取报文的MAC地址以及IP地址等底层信息,同时为了提高报文抓取效率,网络报文过滤装置采用libpcap库抓取对应网卡的报文。在libpcap库中,利用基于非回调函数的捕获数据包函数pcap_next_ex 来捕获报文。将抓取的报文交由其他程序处理,符合条件的对其重新组织报文,不符合条件的丢弃。
2.5 重新组织报文
在捕获到报文之后,判断报文是否符合过滤条件。如果符合过滤条件,则重新组织报文,之后放入与destip在同一网段的网络报文过滤装置的对应网卡循环队列里。在放入对应网卡循环队列之前,需要从新组织报文。报文组织流程如图3所示。
在判断捕获到的报文符合过滤条件后,首先根据目的IP地址,在网络报文过滤装置可移植运行库(ARP)缓存中,利用ioctl(sockfd,SIOCGARP,&arpreq) 获取缓存中IP地址对应的MAC地址。如果缓存中没有IP地址对应的MAC地址,则通过发送ARP报文来获取对方的MAC地址。
在成功获取对方的MAC地址之后,重新组织报文头部,然后将重新组织的报文放入网络报文过滤装置对应网卡的循环队列中。
经过上述配置,在模拟环境中,利用本文的多线程设计方法,在百兆网络环境中,过滤速度能够达到10 MB/s,ISCS数据量大、实时性要求高等特性也能轻松满足。
网络报文过滤装置在TCC中主要起到网络隔离作用,通过一定的过滤规则,可以过滤掉不符合条件的报文,对符合条件的报文重新组织传入TCC服
图3 捕获报文处理流程图
务器中,这样大大的提高了TCC服务器的安全性和可靠性,降低TCC服务器负荷,保证TCC免受攻击,使其能够安全稳定地运行。
[1] 刘晓娟,城市轨道交通智能控制系统[M].北京:中国铁道出版社,2003.
[2] 刘孟觉,李冰,胡波.一种新型综合监控联动功能模型的设计与实现[J].自动化与仪表,2012,27(11):31.
[3] 李冰.地铁综合监控系统中的数据转发研究[J].自动化与仪表,2011,26(06):8.
[4] 魏晓东.地铁综合监控系统建设的关键问题分析[M].北京:电子工业出版社,2004.
[5] 吉春山,周韬,张天红,等.浅谈网关机技术在实时数据采集系统中的应用[J].自动化技术与应用,2013,32(3):81.
[6] 岳红梅,石冬发,徐咏梅,等.基于嵌入式LINUX的网络隔离系统研究与实现[J].计算机工程与应用,2005,41(5):141.
[7] 邓智群,刘福,慕德俊,等.网络隔离体系结构研究[J].计算机应用研究,2005,22(5):219.
Application of Network Packet Filtering Device in Urban Rail Transit TCC
YIN Tao, LI Weiwei
In order to protect the safe operation of TCC, a network packet filtering device is installed between TCC and ISCS.Through a certain algorithm and combined with the configuration file,message that meet the filter criteria could pass through, while messages don't match the filter will be discarded.Experimental result shows that,after the installation of network isolation device,the system is very hard to attack. Thus, a solution of network packet filtering and communication to TCC and ISCS is finally formed, which provides technical reference and innovation for the future comprehensive system and subsystems of network communication.
urban rail transit; traffic control centre (TCC); integrated supervisory control system (ISCS); network packet filtering device
U 293.6
10.16037/j.1007-869x.2016.08.026
2014-10-14)