心跳包在核电仪控网络安全性设计中的研究

2017-02-27 03:49阳小华汪琳霞
自动化仪表 2017年1期
关键词:序号报文核电

文 杰, 阳小华, 汪琳霞

(南华大学电气工程学院, 湖南 衡阳 421001)

心跳包在核电仪控网络安全性设计中的研究

文 杰, 阳小华, 汪琳霞

(南华大学电气工程学院, 湖南 衡阳 421001)

随着核电仪控网络对安全性要求越来越高,提出了一种心跳包模型。在不降低通信速度和增加网络负担的情况下,利用接收到的心跳包数据,判断网络节点间的连接状况,可提高总线网络通信的安全性。通过对仪控网络进行测试表明,该模型能够检测出标准IEC61784-3中规定的多种威胁核电仪控网络安全的故障,有效提升了网络的安全性。

核电; 仪控网络; 心跳包; 安全性; 智能电网; 网络节点; 通信速度;CAN总线;GPRS

0 引言

安全的通信网络是核电数字化仪控系统,特别是核电保护系统的重要组成部分。心跳包技术是提高核电仪控网络安全性的一种重要手段。仪控系统可以通过分析含有心跳包数据的报文,对核电仪控网络的安全性进行检测和判断,然后采取请求重新连接或报警手段,提醒用户检修网络来保证仪控系统的安全运行。心跳包技术,是收发心跳数据包(简称心跳包)的机制。心跳包是遵循心跳数据包协议定义的周期性、循环发送的数据包[1-4]。目前,心跳包技术已经被广泛应用于互联网的通信服务[5-6]、网络平台的故障检测、基于GPRS的系统[7-8]网络负载均衡[9-10]、服务系统双机热备[11-12]以及智能电网数据传输过程[13-15]。

本文设计了一种改进的心跳包机制,即在核电仪控网络中的相互传输的数据报文中直接添加心跳字段。这种机制可以在不降低仪控网络传输速度的情况下,检测仪控网络中各个节点的通信,同时还可以保障网络中传输数据报文的安全性与确定性。最后,在某核电仪控系统科研测试平台中,对运用该机制的高可靠网络通信协议进行测试。试验结果表明,这种改进的心跳机制能够检测出标准《IEC61784-3工业通信网络协议集——第3部分:现场总线功能安全—一般规则和协议定义》中规定的为满足安全通信要求所必须检测出的几种常见故障,切实提高了仪控网络的安全性。

1 安全性概念

安全性是指不发生事故的能力,是判断、评价系统性能的一个重要指标。它表明系统在规定的条件下、规定的时间内不发生事故,完成规定功能的能力。其中事故指的是使一项正常进行的活动中断,并造成人员伤亡、职业病、财产损失或环境损害的意外事件。

1.1 核电仪控系统安全性要求

分析核电控制系统安全性时,必须考虑两种重要的失效模式:安全失效与危险失效。安全失效是不会使系统处于潜在的危险状态或功能故障状态的失效,核电控制系统安全失效一般为误动。危险失效是可能使系统潜在地处于某种危险或功能丧失状态的失效,核电控制系统危险失效一般为拒动[16]。因此,要保障核电仪控网络的安全性就是要防止由于网络本身的原因导致这两种失效的情况出现。

1.2 心跳包在安全性中的作用

心跳包机制是实现网络高安全性和高可靠性,保证工业控制设备的正常运行和服务不中断的常用技术。传统的心跳包机制就是将具有数据检测或简单控制功能的设备作为通信网络中的从节点。这些从节点每隔固定时间发送一个特定心跳数据包信息给具备核心控制器功能的主节点,主节点收到后回复一个相应信息。如果主节点在指定时间内没有收到相应从节点信息,则认为该从节点设备处于离线状态;如果从节点在指定时间内没有收到主节点返回的信息,则认为网络异常中断,并采取相应的措施[16-19]。

这种方式倘若直接应用在仪控网络中,不但会使得帧的发送等待时间增加、网络效率降低,而且无法保障网络中其他报文的准确性与有效性。这些缺陷将可能导致仪控系统出现安全失效和危险失效的风险,因此需要作一定的改进,即在数据帧中直接添加心跳字段。从节点在发送数据(包括仲裁失败重发)时,填充心跳信息。主节点可在接收时,判断心跳字段在从节点发送过程中的唯一性及连续性,从而提高网络的确定性、实时性。另外,在数据帧中增加心跳字段相当于给发送的数据帧编写序号,可以避免主节点和从节点设备因发生故障或遭受攻击而重复发送同一帧或无用帧造成网络带宽浪费,提高了系统的安全性。这种经过改进的心跳包机制正好可以检测出工业网络通信标准IEC61784-3中规定的报文重复、丢失、插入和时序混乱等影响仪控网络安全性的故障,切实提高了核电仪控网络的安全性。

2 心跳机制设计

2.1 心跳包检错机制设计

由于测试平台所限,基于改进心跳机制的通信协议建立在CAN总线基础之上,传统的CAN总线通信协议采用带仲裁机制的载波侦听多路访问(carriersensemultipleaccuess,CSMA)通信模式,但这种方式无法满足通信的可靠性和确定性。因此,在CAN总线中,采用基于连接的主/从通信模式。CAN总线的心跳包报文结构如图1所示。

帧起始仲裁场控制场数据场CRC场应答场帧结尾

图1 心跳包报文结构图

Fig.1Heartbeatpacketstructure

在本设计中,使用CAN总线扩展帧中的仲裁场的扩展标志符的17∶15位共3bit作为心跳字段。但是由于平台限制,底层驱动暂无法修改,而将心跳包放入标准帧数据场第一个字节的7∶5位,作为心跳字段。该字段初始值为0,每发送一个数据包,就将该字段值加1。当加至7(即3bit为111)时,发送的心跳字段重新从0计数。CAN总线的数据场为8B。

在这8个字节中,数据区第0字节用作信息的头部,补充心跳字段和总线冗余标志位;如果传输数据超过了数据区的长度,需采用分段方式将数据用多个数据包发送。因此,此时数据区除了I/O信息头部外,还需增加第1字节作为分段标志,补充分段类型和分段计数器。其中,分段类型用于表明该分段是第一个分段、中间段还是最后一个分段,其值依次为0、1、2。分段计数器是每发送一个相邻的分段,该值就在下一个分段自动加1,以防止分段遗失或者顺序错乱;其最大支持64个分段。数据场的最后2个字节是16位CRC校验。虽然CAN总线本身在链路层自带CRC校验,但是经过2次CRC校验,可以极有效地避免数据在传输过程中可能出现的错误,而且兼顾传输的各个流程。虽然CRC校验会损失部分实时性,但可以大大提高传输的可靠性。

2.2 心跳模型实现

按照上述心跳机制与心跳包报文设计的通信协议,主要应用于核电仪控网络。整个核电仪控系统网络结构如图2所示。

图2 系统网络结构图

整个网络分为3层。其中,最接近现场的是设备层,改进的心跳包协议也应用于此层。此外,考虑到故障隔离原则,仪控网络设计了安全区与非安全区。安全区主要负责核电保护系统的监视和控制,而且其控制层内设计了备用控制器,以防因整个系统失效而对系统关键设备失去控制。非安全区主要负责核电系统的日常控制与维护。

按照前文阐述的心跳机制与心跳包报文设计通信协议,当主节点与从节点完成各项总线通信初始化流程后,主节点与从节点就可以交换现场监测数据和各种控制命令。心跳机制流程如图3所示。

图3 心跳机制流程图

从节点(即从站)在处理轮询响应的过程中,会按照严格的顺序序号对心跳字段赋值;主站在接收到轮询响应之后,同样会按照严格的顺序序号检查心跳字段:若正确,则进行下一步操作;若错误,则报错。连续3次报错之后,主站认为该从站故障,不再对该从站发送轮询命令。

3 测试与分析

标准IEC61784-3规定了影响仪控网络安全性的9种通信故障,其中心跳包机制能够检测出重复(unintendedrepetition)、丢失(loss)、报文插入(insertion)和时序混乱(incorrectsequence)这几类故障。本文通过在某核电仪控系统科研测试平台的核电仪控网络中采用包含改进心跳包机制的通信协议,并通过测试其是否能检测以上几种故障,以证明心跳包机制在提高核电仪控网络方面的作用。下面对能检测的4种故障进行测试和分析。

3.1 报文重复

报文重复故障是指由于系统错误、故障或受到干扰,导致老旧、过时的报文在错误的时间段重复发送。其测试原理是通过重复发送同一帧报文,心跳信号无变化,可通过心跳信号机制检测出该故障。为了获取总线数据,在总线上安装CAN总线分析仪表——CANcaseXL接口卡。当测试开始时,启动CAN总线监控软件CANoe侦听总线,获取测试数据。

根据通信协议,数据报文中数据场第一个字节的bit7∶bit5为心跳字段。若为正确的心跳序号,顺序依次是0x00、0x20、0x40、0x60、0x80、0xA0、0xC0、0xE0、0x00、0x20、0x40……而从CANoe侦听的报文数据可以看出,实际测试过程中发送到总线上的报文序号依次是0x00、0x00、0x00、0x00,即从站在正确响应第一帧序号0报文之后,又重复响应了3帧序号0报文。

此时,从主站的显示屏显示的信息可以看出,序号0报文正确接收,而后续的3帧可由心跳信号机制检测出故障报文。

3.2 报文丢失

报文丢失故障是由于系统错误、故障或受到干扰,导致报文没有被接收或确认而导致的错误。由于丢失一帧报文会造成中间心跳序号不连续,所以可通过心跳信号机制检测出该故障。

报文丢失测试数据如表1所示。

表1 报文丢失测试数据

在CANoe侦听的报文数据中,标志符“0x40D”的报文为主站的轮询命令报文,标志符“0x3C1”的报文为从站的轮询响应报文。由于轮询响应报文中数据场第一个字节的bit7∶bit5为心跳字段,若为正确的心跳序号,顺序依次是0x00、0x20、0x40、0x60、0x80、0xA0、0xC0、0xE0、0x00、0x20、0x40……而从CANoe侦听的报文数据可以看出,实际测试过程中发送到总线上的报文序号依次是0x00、0x20、0x40、0x60、0xA0、0xC0、0xE0,即从站在正确响应序号0、1、2、3报文之后,丢失了序号4报文,直接响应了序号5报文。

此时,从主站显示屏显示的信息可以看出,序号0、1、2、3报文正确接收,而后续的序号5、6、7报文由于心跳信号不连续,可由心跳信号机制检测出故障报文。

3.3 报文插入

报文插入故障是由于系统错误、故障或受到干扰,导致未期望的或未知的源实体报文插入到了总线。其测试原理是由于插入一帧报文,造成中间心跳序号不连续模拟故障,可通过心跳信号机制检测出该故障。

报文插入测试数据如表2所示。

表2 报文插入测试数据

CANoe侦听的报文数据中,标志符“0x40D”的报文为主站的轮询命令报文,标志符“0x3C1”的报文为从站的轮询响应报文。由于轮询响应报文中数据场第一个字节的bit7∶bit5为心跳字段,若为正确的心跳序号,顺序依次是0x00、0x20、0x40、0x60、0x80、0xA0、0xC0、0xE0、0x00、0x20、0x40……从CANoe侦听的报文数据可以看出,实际测试过程中发送到总线上的报文序号依次是0x00、0x20、0x40、0xE0、0x60、0x80,即从站在正确响应序号0、1、2报文之后,插入了一帧序号7报文,再依次响应序号3、4报文。

从主节点的显示屏显示的信息可以看出,序号0、1、2报文正确接收,而后续的序号7、3、4报文由于心跳信号不连续,可由心跳信号机制检测出故障报文。

3.4 时序混乱

时序混乱是指由于系统错误、故障或受到干扰,导致源节点预先确定的报文发送顺序不正确。该故障可以通过模拟心跳序号混乱,造成中间心跳序号不连续实现,可通过心跳信号机制检测出该故障。

由于轮询响应报文中数据场第一个字节的bit7∶bit5为心跳字段,若为正确的心跳序号,顺序依次是0x00、0x20、0x40、0x60、0x80、0xA0、0xC0、0xE0、0x00、0x20、0x40……而从CANoe侦听的报文数据可以看出,实际测试过程中发送到总线上的报文序号依次是0x00、0x20、0x40、0x80、0x60、0xA0、0xC0、0xE0,即从站在正确响应序号0、1、2报文之后,先是响应了序号4报文,再响应序号3报文。

此时,由主节点相连屏幕获取的信息可知,序号0、1、2报文正确接收,而后续的序号4、5、6报文由于心跳信号不连续,可由心跳信号机制检测出故障报文。

经过上述测试,证明了改进的心跳包机制可以很好地检测出影响核电仪控网络安全性的4种故障。

4 结束语

本文研究了心跳包技术的应用对提高核电仪控网络安全性的作用,提出了一个改进心跳机制的心跳模型,并将其应用于基于某核电网络测试平台的核电仪控网络中。对测试结果的分析表明,基于改进心跳机制的心跳模型能够很好地检测出影响仪控网络安全性的4种故障,提高了仪控网络的安全性。该模型的数据协议具有很好的扩展性,在其他需要高安全性的工业控制网络中也具有很好的移植性和适用性。

[1]LIFF,YUXZ,WUG.Designandimplementationofhighavailabilitydistributedsystembasedonmulti-levelheart-beatprotocol[C]//ProceedingsoftheInternationalConferenceonControl,AutomationandSystemsEngineering,2009:83-87.

[2]HOUZH,HUANGYX,ZHENGSQ.Designandimplemen-tationofheartbeatinmulti-machineenvironment[C]//Proceedingsofthe17thInternationalConferenceonAdvancedInformationNetworkingandApplications,2003:583-586.

[3]STRIEGELA,MANIMARANG.Edge-basedfaultdetectioninadiffservnetwork[C]//ProceedingsoftheInternationalConferenceonDependableSystemsandNetworks,2002:79-88.

[4]FITZPATRICKJ,MURPHYS,MURPHYJ.AnapproachtotransportlayerhandoverofVoIPoverWLAN[C]//Proceedingsofthe3rdIEEEConsumerCommunicationsandNetworkingConference,2006:1093-1097.

[5] 周奇才,张慧群,熊肖磊,等.基于Socket网络通信中C#心跳包实现方法的研究[J].机电一体化,2014,8(10):11-19.

[6] 鄢锋,桂卫华,胡志坤,等.一种网络节点通信控制的心跳模型[J].信息与控制,2008,37(5):525-528.

[7] 田小辉,李明远,田昕.基于GPRS的远程无线透传终端系统的设计与实现[J].现代电子技术,2005,28(4):97-99.

[8] 许振文.基于GPRS和MCGS的SCADA系统的研究与实现[D].北京:中国农业大学,2005.

[9] 侯宗浩,董小社,郑守淇,等.一种支持负载均衡的多机心跳模型[J].小型微型计算机系统,2005,26(1):1l-14.

[10]郑在宾,金海.有TCP连接容错功能的网络负载平衡调度系统[J].华中科技大学学报(自然科学版),2003,31(2):17-19.

[11]赵巍,胡术,韩学为.空管系统中双机管理的设计与实现[J].中国民航飞行学院学报,2005,15(6):32-35.

[12]吴江娇,高文洪.采用智能单元式控制台实现计算机联锁系统的人机交互[J].北京交通大学学报(自然科学版),2004,28(6):107-110.

[13]薛晨,黎灿兵,黄小庆,等.智能变电站信息一体化应用[J].电力自动化设备,2011,31(7):110-113.

[14]郭创新,王林青,曹一家.基于移动智能体多级电力控制中心互联通信平台模型研究[J].电工技术学报,2006,21(4):75-81.

[15]马韬韬,李珂,朱少华,等.智能电网信息和通信技术关键问题探讨[J].电力自动化设备,2010,30(5):87-91.

[16]李熊,程康,张春雷,等.浅谈核电仪控系统中安全性与可靠性的关系及区别[J].自动化博览,2013,12(8):61-63.

[17]郭兴吉,李淑珍,文永革.带心跳功能的连接池技术研究[J].现代计算机,2015,4(3):16-18.

[18]鄢锋,桂卫华,胡志坤,等.基于Socket的整流装置远程监控系统[J].计算机工程,2008,34(5):243-245.

[19]胡志坤,何多昌,桂卫华,等.基于改进心跳包机制的整流远程监控系统[J].计算机应用,2009,28(2):364-366.

ResearchonHeartbeatPacketAppliedintheSafetyDesignofNuclearPowerInstrumentControlNetwork

WENJie,YANGXiaohua,WANGLinxia

(CollegeofElectricalEngineering,UniversityofSouthChina,Hengyang421001,China)

Inordertomeetthesafetyrequirementsforinstrumentcontrolnetworkofnuclearpowerbecomehigherandhigher,aheartbeatmodelisproposed.Withoutsacrificingcommunicationspeedandnetworkburden,byusingthereceivedheartbeatdata,theconnectionconditionbetweennetworknodesisjudged,thesafetyofcommunicationofbusnetworkisimproved.Throughtestingtheinstrumentandcontrolnetwork,itisindicatedthatthismodelcandetectvariousfaultsspecifiedinthestandardofIRC61784-3,thatarethreateningthesecurityofinstrumentcontrolnetworkofnuclearpower,andeffectivelyenhancethesecurityofthenetwork.

Nuclearpower;Instrumentcontrolnetwork;Heartbeatpacket;Safety;Smartgrid;Networknode;Communicationspeed;CANfieldbus;GPRS

文杰(1983—),男,硕士,讲师,主要从事机器人控制、工业总线通信、工业大系统控制优化的研究。E-mail:wenjie412@126.com。阳小华(通信作者),男,教授,博士生导师,主要研究领域为可信计算、核电站计算机控制系统纵深防御、网络控制等。E-mail:xiaohua1963@foxmail.com。

TH86;TP

ADOI: 10686/j.cnki.issn1000-0380.201701015

修改稿收到日期:2016-07-20

猜你喜欢
序号报文核电
基于J1939 协议多包报文的时序研究及应用
第四代核电 高温气冷堆
百年初心精神 点亮核电未来
低轨星座短报文通信中的扩频信号二维快捕优化与实现
CTCS-2级报文数据管理需求分析和实现
2020年核电活动安排
浅析反驳类报文要点
核电链接
技术指标选股
技术指标选股