基于IEC 62439-2标准的提高工业以太网可靠性的方法研究
2015-01-13徐琳升胡立生
徐琳升 胡立生
(上海交通大学电子信息与电气工程学院,上海 200240)
工业以太网具有成本低、传输速率高且开放性好的特点[1],越来越多的工业控制系统中的通信任务都采用工业以太网技术来完成。以太网是以办公自动化为标准设计的,并没有考虑工业现场环境,如高温、高压及强电磁等。因此,以太网的工业现场应用必须解决可靠性问题。
工业应用对网络可靠性的要求主要体现在两个方面:一是网络的故障容错能力,二是网络故障发生时,网络检测恢复时间小于宽限时间(系统可容忍的网络中断时间)。路径冗余是提高工业以太网可靠性的常用方法,其中环状拓扑提供了一种最为简单、高效的单点容错路径冗余解决方案。目前,工业应用最为广泛的路径冗余方法就是IEC 62439-2标准中定义的运行在数据链路层的介质冗余协议(MRP)。
MRP提供了一种在以太网环形网络中能够快速检测环网中的链路故障,并能在故障发生时建立新的网络拓扑来恢复网络,实现通信冗余的方法[2]。由多个工业以太网交换机组成以太网环形网络,交换机在物理上连接成环,在逻辑上为链状结构,交换机中有且仅有一个设置为主站(MRM),主站负责控制网络逻辑结构;其他设置为从站(MRC),通过各交换机环端口状态切换实现环网冗余链路备份。MRP网络拓扑结构如图1、2所示。
图1 MRP环网闭合状态
图2 MRP环网断开状态
MRM工作方式。MRM以预设的时间间隔周期性地向两个环端口发送链路检测帧,如果MRM在设定时间超时前收到链路检测帧,则说明环链路处于闭合状态。MRM的环端口一个设为转发状态,另一个设为阻塞状态,如图1所示。如果MRM没有在预设时间内收到链路检测帧,则说明环链路处于断开状态,MRM的两个环端口都设为转发状态,如图2所示。
MRC工作方式。MRC如果检测到本机环端口链路故障或链路恢复,则重新设置环端口状态,并分别向两个环端口发送链路故障帧或链路恢复帧;如果MRC在一个环端口收到链路检测帧、链路故障帧、链路恢复帧或拓扑改变帧,则向另一个环端口转发。
MRM和MRC交互方式。如果MRM收到MRC发出的链路故障帧或链路恢复帧,则加速链路检测,即减小发送链路检测帧的时间间隔;如果MRM检测到环链路状态发生变化,则重新设置环端口状态,清空自身MAC地址转发表,并以预设时间间隔分别向两个环端口发送拓扑改变帧,通知MRC网络拓扑的变化;如果MRC收到MRM发出的拓扑改变帧,则重新设置环端口状态,并清空MAC地址转发表,学习新的网络拓扑。
2 MRP性能分析
2.1 网络故障恢复时间计算
根据上文对MRP原理的介绍可以知道,网络恢复时间Trec主要由故障检测时间Tdetect和环网中各交换机在接收到MRM发送的拓扑改变帧后清空自身MAC地址转发表的时间Tflush两部分组成,即:
Trec=Tdetect+Tflush
(1)
故障检测时间Tdetect由MRM设定的检测帧超时时间Ttest和检测帧在环网中被转发一周所需要的时间Tring组成,即:
Tdetect=Ttest+Tring
(2)
Ttest=MRP_TSTNRmax·MRP_TSTdefaultT
(3)
Tring=N(Tswitch+Tqueue+Tbit+Tline)
(4)
式中 MRP_TSTdefaultT——链路检测帧发送周期;
MRP_TSTNRmax——最大重传次数;
N——环网中交换机的个数;
Tswitch——交换机解析链路检测帧的时间;
Tqueue——交换机转发以太网帧时的排队延迟;
Tbit——交换机接收或发送以太网帧所需的时间;
Tline——以太网帧在交换机之间传播的时间。
当MRM检测到网络故障后,便开始以固定周期MRP_TOPchgT发送拓扑改变帧。环网中MRC接收到MRM发送的最后一个拓扑改变帧后,将其自身MAC地址转发表清空,故:
Tflush=Thold+Tring+TFDB
(5)
Thold=MRP_TOPchgT·MRP_TOPNRmax
(6)
式中 MRP_TOPchgT——MRM发送拓扑改变帧的周期;
MRP_TOPNRmax——拓扑改变帧的最大重传次数;
TFDB——交换机清空MAC地址转发表的时间;
Thold——MRM周期性发送拓扑改变帧的时间;
Tring——拓扑改变帧在环网中一周所需的时间。
综上所述,MRP的网络恢复时间为:
Trec=MRP_TSTNRmax·MRP_TSTdefaultT+2N(Tswitch+
Tqueue+Tbit+Tline)+MRP_TOPchgT·
MRP_TOPNRmax+TFDB
(7)
根据网络对故障恢复时间的要求,通过对式(7)中一些可变参数的设定,即可得到满足不同要求的网络故障恢复时间。例如,将式(7)中的每个参数设定为:MRP_TSTNRmax=3,MRP_TSTdefaultT=1ms,N=50,Tswitch=0.01ms,Tqueue忽略,Tbit=0.00512ms,Tline=0.0005ms,TFDB=0.5ms,Thold=0.5ms×3。代入式(7)可得网络故障恢复时间Trec=1×3+2×50×(0.01+0.00512+0.0005)+1.5+0.5≈6.6ms
通过以上分析可知,基于单环网络拓扑的MRP协议能够快速检测网络故障,并在网络故障发生时通过建立新的网络拓扑快速恢复网络,恢复时间为毫秒级。这在一定程度上提高了工业以太网的可靠性。
2.2 MRP网络容错分析
网络容错能力定义为,当网络发生故障时保持全网连通的能力,即任意两个节点之间都保持通信的能力[3]。MRP是基于单环网络拓扑结构的冗余协议。因此,其网络容错能力仅为单点故障,即MRP仅在网络中单个链路或节点发生故障时能保证全网的连通性。综上可知,MRP的故障恢复时间和网络容错能力均与网络拓扑中的节点个数有关。由式(7)可知,当网络拓扑节点个数N增大时MRP的网络故障恢复时间将增大;同时,网络中出现多点故障的概率随之增大。因此,在MRP的实际应用中,对环网中节点个数N的最大值有一定的限制。
为了减小MRP的网络故障恢复时间,提高网络容错能力,通常将节点数量较大的MRP环网拓扑结构分割成几个小的环网拓扑,然后分别应用MRP。这就对分割后的各个环网间的通信提出了要求。笔者参照MRP基本原理,构建了一种用于环网间通信的互连介质冗余协议(IMRP)。
3 互连介质冗余协议
IMRP是可用于MRP环网间通信的数据链路层路径冗余协议。与MRP类似,IMRP也具有快速检测网络故障,并通过建立新的网络拓扑来恢复网络的能力。下面以连接两个MRP环网为例,详细介绍IMRP,其网络拓扑结构如图3、4所示。
图3 IMRP环网闭合状态
图4 IMRP环网断开状态
图3、4中,在每个MRP环网中分别任意选出两个工业以太网交换机节点(MRM、MRC均可),每个节点指定一个互连端口,4个节点通过互联端口和环端口在物理上连接成环。指定其中一个节点为主节点(MIM),管理整个IMRP环网,其余3个节点为从节点(MIC)。
3.1检测/控制帧
设计一个长度为64字节的标准以太网帧,其帧格式如图5所示。
图5 检测/控制帧格式
图5中,帧头部为标准以太网帧头。数据部分各字段的含义如下:
IMRP_Length 帧长度
IMRP_Type 帧类型
IMRP_InID IMRP的ID号
IMRP_SA 发送该帧的主机MAC地址
IMRP_Interval 时间间隔
Padding 无效填充
IMRP中使用的以太网帧类型共有以下几种:
a. IMRP_Test帧。链路检测帧,由MIM以预设的时间间隔IMRP_TSTdefault周期性地发出,来检测IMRP环网状态。
b. IMRP_TopologyChange帧。拓扑改变通知帧,由MIM发出,来通知MRP环网和IMP环网中节点,网络拓扑的改变。
c. IMRP_LinkUp帧。当MIC检测到链路恢复时发送该帧,通知MIM链路的恢复。
d. IMRP_LinkDown帧。当MIC检测到链路断开时发送该帧,通知MIM链路断开。
3.2 IMRP基本原理
IMRP采用与MRP相同的循环检测机制,具有以下3种工作方式。
MIM工作方式。MIM以预设的时间间隔IMRP_TSTdefault周期性地向环端口和互连端口发送IMRP_Test帧。若MIM在设定时间IMRP_TSTNRmax×IMRP_TSTdefault超时前收到本机发出的IMRP_Test帧,则说明IMRP环网处于闭合状态。此时,MIM将互连端口设为阻塞状态,如图3所示。若MIM在设定时间内没收到本机发出的IMRP_Test帧,则说明IMRP环网处于断开状态,MIM将互连端口设为转发状态,如图4所示。
MIC工作方式。若MIC检测到互连链路故障,则设置互连端口为阻塞状态,并分别向环端口发送IMRP_LinkDown帧;若MIC检测到互连链路恢复,则分别向环端口发送IMRP_LinkUp帧;若MIC收到IMRP_LinkDown帧或IMRP_LinkUp帧,则转发。
MIM与MIC交互方式。若MIM收到MIC发出的IMRP_LinkDown帧,则立即将互连端口设为转发状态,清空本机MAC地址转发表,并通过环端口和互连端口发送IMRP_TopologyChange帧,通知其连接的两个MRP环网中的其他节点,网络拓扑发生变化;若MIM收到MIC发出的IMRP_LinkUp帧,则MIM加速链路检测,若检测到链路闭合,则设互连端口为阻塞状态,同样清空本机MAC地址转发表,并发送IMRP_TopologyChange帧;若MIC收到MIM发出的IMRP_TopologyChange帧,则重新设置互连端口状态,清空本机MAC地址转发表,并转发该帧。
4 结束语
随着工业以太网在工业现场越来越多的应用,其网络可靠性的增强也成为近年来研究的热点。笔者参考目前应用最广泛的MRP基本原理,构造了用于互连通信的IMRP,从而进一步提高工业以太网的可靠性。
[1] 肖贺,管海兵,宦飞.工业以太网冗余技术分析[J].通信技术,2012,(3):59~63,67.
[2] IEC 62439-2,High Availability Automation Networks[S].Geneva:International Electrotechnical Commission,2008.
[3] 张雷.工业以太网拓扑设计与优化研究[D].杭州:浙江大学,2012.