工业以太网MRP协议及多主机制的研究

2014-10-22 15:22高正明张庆军包伟华
自动化仪表 2014年8期
关键词:环网主站报文

高正明 张庆军 包伟华

(上海自动化仪表股份有限公司,上海 200072)

工业以太网MRP协议及多主机制的研究

高正明 张庆军 包伟华

(上海自动化仪表股份有限公司,上海 200072)

针对工业通信网络高可用性的要求,采用MRP协议组建的环型冗余网络,在故障发生时能够迅速建立起新的网络拓扑来恢复网络通信。通过研究MRP协议给出的环型拓扑以太网网络冗余的解决方案,在介绍MRP协议工作原理的基础上,研究了MRP协议的多主站连接时的协议机制。采用多主协议能够提高环网的可靠性,便于网络的管理和维护。

工业通信网络 高可用性 环网冗余 MRP协议 多主站

0 引言

媒体冗余协议(media redundancy protocol,MRP),是基于环型拓扑的网络恢复协议,采用网络冗余的方法提高网络的可用性。当环型网络中的交换机或交换机内部的链路发生一个单一故障时,MRP协议能够在一定的时间内确定性地恢复网络的功能,满足工业网络的可用性要求。随着技术和应用需要的不断提高,MRP协议还定义了单环下的多个主站协议和机制,并向IEC(国际电工委员会)/SC65C/WG15工作组进行了提交。本文的主要内容就是简要介绍及研究MRP的技术。

1 MRP协议原理

媒体冗余协议(MRP),是基于环型拓扑的网络恢复协议,典型的MRP协议的冗余网络拓朴图如图1[1]所示。环中的MRP兼容节点可以是MRP兼容交换机,也可以是MRP兼容终端节点,且必须有两个环端口。每个MRP兼容节点都能够检测或恢复交换机内部的链路故障,也能够检测或恢复相邻节点的故障。环中的MRP兼容节点有两种角色:媒体冗余管理者(media redundancy manager,MRM)、媒体冗余客户(media redundancy client,MRC)。MRM和MRC的角色可以互相调换,但运行的网络中只允许一台交换机处于MRM工作状态。

MRP协议组成的环网在物理上连接成环,在逻辑上实际处于链状结构,并且要避免形成环路。为了确保链路故障恢复时网络在逻辑上不成环,当网络上链路发生中断时,与该链路连接的两个MRC环端口设为阻塞状态,以中止正常业务报文的转发。并且,MRM将原处于阻塞状态的环端口设为转发状态,使得通信链路恢复,实现冗余功能。当网络上链路故障恢复时,MRM在检测到环闭的情况下将一环端口设为阻塞状态,此时,MRC再将原处于阻塞状态的环端口设为转发状态。

为了提高协议鲁棒性,避免在链路接触不良时导致协议时序的不确定性,在MRC中设置两个暂态,单连接暂态(DE)和双连接暂态(PT),即对应于只有一个环端口连接时的暂态和对应于两个环端口都连接时的暂态。当MRC只有一个环端口连接,并检测到另一环端口刚连接时,先进入双连接暂态,启动连接定时器,在连接定时器超时或者从站收到拓扑改变报文(TopologyChange)后再达到双连接稳态(PT_IDLE)。当MRC两个环端口都已连接,并检测到一环端口刚断开时,先进入单连接暂态,启动断开定时器,在断开定时器超时或者从站收到拓扑改变报文(TopologyChange)后再达到单连接稳态(DE_IDLE)。

MRM和MRC两个环端口具有下列3种状态。

(1)Disabled:所有的帧都被阻塞。

(2)Blocked:除了以下测试帧,其他帧都被阻塞。

①来自MRM的MRP_TopologyChange帧和MRP_ Test帧。

②来自MRC的MRP_LinkChange帧。

③ IEEE 802.1D中定义的其他协议的帧,如LLDP、PTP。

(3)Forwarding:根据IEEE 802.1D的转发行为转发所有的帧。

MRM通过以下步骤控制环的状态。

①按照预先配置的时间周期,通过两个环端口向环的两个方向发送MRP_Test帧。

② 将一个环端口设置为 Forwarding状态,如果MRM接收到它自己发出的MRP_Test帧,这意味着整个环是闭合的(见图1),则将另一个环端口设置为Blocked状态。

③如果MRM在配置的时间内不能收到它自己发出的MRP_Test帧,这意味着环是断开的[1],则将两个环端口都设置为Forwarding状态。

MRM不会将MRP_Test帧、MRP_TopologyChange帧和MRP_LinkChange帧转发到非环端口,并且也不会在其自身的两个环端口间转发这3种帧,以避免无限循环。

MRM通过MRP_TopologyChange帧向环中的MRC指示环状态的改变。

MRC在环中的行为如下。

①每个MRC将一个端口收到的MRP_Test帧转发到另一个环端口,反之亦然。

②如果MRC检测到一个环端口链路的故障或恢复,MRC可以通过其环端口发送MRP_LinkChange帧通知这个链路的改变。每个MRC将一个端口收到的MRP_LinkChange帧转发到另一个环端口,反之亦然。

③ 每个 MRC将一个端口收到的 MRP_ TopologyChange帧转发到另一个环端口,反之亦然。同时,每个MRC都需要处理这种帧,并清空其过滤数据库(filtering data base,FDB)。

如果MRM收到了MRP_LinkChange帧(MRP_ LinkUp和MRP_LinkDown),MRM将减小测试间隔时间,加速发送MRP_Test帧检测环是否断开。

MRM发送给MRC的MRP_TopologyChange帧是带延时的,在这个时间以后环的拓扑才被改变。表示这个延时的参数被称为MRP_Interval。只有这个时间耗尽以后,所有的MRC才清空FDB。

图2 MRM在一个断开的环中的状态Fig.2 The state of MRM in an opened ring

MRM在一个断开的环中的状态如图2所示。

2 单环多个主站的支持

在环网中有多个MRM(MRP主站)的情况下,由于MRM会阻塞环端口,多个MRM会将环分割成多段,导致环网不能正常工作。所以,环网中只能有一个是处于工作状态的MRM。可是,在环网中如果只有一个MRM,当MRM出现故障时,整个网络的状况将处于未知的状况,这又会影响系统的可靠性。

针对上述问题,MRP协议引入了多主站的机制。具体来说,就是开始支持多主站的媒体冗余自动管理者(media redundancy automanager,MRA)竞选机制。对于具备MRM能力的设备,出厂时其缺省模式可以配置成MRA模式,这样在设备启动后进行自动竞选,直到产生一个唯一的MRM,其他的作为MRC。

启动时MRP环网中的各个角色如图3所示[3]。图3的MRP环网中有2个处于MRA角色的设备。竞选的主要原理就是每个MRA定义了一个优先级的参数,当两个设备优先级的参数相同时,比较设备的MAC地址,MAC地址越小,设备的优先级越高。MRA通过优先级参数和MAC地址的组合保证了优先级的唯一性。

图3 启动时MRP环网中的各个角色Fig.3 Each role of MRP ring at network startup

设备启动后,MRA会将优先级参数放在MRP_Test报文中进行发送,其他的MRA在收到报文后,会将报文中的优先级与自身的进行比较,如果比自己高,就放弃MRA的角色,进入MRC的角色。竞选后MRP环网中的各个角色如图4所示[2]。图4中,具有最高优先级的设备的角色由MRA转为MRM,并开始管理环网。

图4 竞选后MRP环网中的各个角色Fig.4 Each role in MRP ring after the election

竞选机制的好处是,如果选出的MRM不在网络中或者出现故障时,网络中会自动进行重新竞选,上次选举中第二优先级的设备会成为MRM。当新的MRA设备加入到网络中时,也会进行重新竞选。如果一个不支持MRA的MRM加入到网络中,所有的MRA将退回到MRC角色,竞选取消,保证环网中MRM的唯一性。

MRM主站竞选的过程如图5所示[1]。图5中共有4个MRA的设备,在设备上电时将竞选MRM。首先4个MRA都将向2个环端口发送包含自己优先级信息的MRP_Test报文,收到MRP_Test报文后不再转发而进行优先级比较。如果接收到的优先级低于自己的优先级,则发送负响应报文MRP_TestMgrNAck。图5中,MRA3和MRA4低于MRA1和MRA2,因此MRA3和MRA4将收到相邻的MRA1、MRA2的负响应报文。

MRA收到负响应报文后,将记录高优先级MRA的MAC地址和优先级,并将角色转换为MRC;同时,通过2个环端口向高优先级MRA发送MRP_TestPropagate报文。图5中,MRA3和MRA4由于优先级低,将进入MRC角色,同时开始正常转发MRP_Test报文。

这时转换为MRC的MRA设备需要根据转发并接收到的MRP_Test监视并记录高优先级设备的生存状态。同时,也需要根据MRP_TestPropagate来更新网络中高优先级的设备。这样做的目的是监视高优先级的设备的生存状态。当它发现高优先设备发送的MRP_ Test报文超时时,它会重新进入MRA角色,并发动新的MRM竞选,实现了多主备份和冗余管理。

图5中的MRA3和MRA4进入到MRC角色后,MRA1和MRA2将可以看到相互的MRP_Test报文,MRA1和MRA2将进行竞选,MRA1最终成为唯一的MRM。

图5 主站竞选的过程Fig.5 Election process of the MRM

使用负响应报文进行握手的目的主要是保证高优先级的MRA在环内,因为有可能有的交换机通过环端口连接到环网中的非环端口。如果环网中交换机的非环端口没有进行报文过滤,环网外部的MRP_Test报文将会被引入到环网中。

环网外的MRA如图6所示[1]。

图6 环网外的MRAFig.6 The MRA located outside MRP ring

图6中,实线箭头表示MRP_Testframe:T1、T2,虚线箭头表示MRP_TestMgrNAck:NA1。图6中MRA2就是在环网外部的设备。MRA2的环端口接入到MRP环的非环端口上,如果MRA1的优先级低于MRA2的优先级,MRA1将会收到MRA2的MRP_Test报文;但是MRA2收不到MRA1的MRP_Test报文,MRA2就不会发送负响应报文,这样MRA1就可以保持在MRM状态。如果MRA1的优先级高于MRA2,由于MRA2收不到负响应报文,因此就不会影响网络的正常竞选。

需要注意的是,在MRM竞选时,为了避免环路,MRA设备需要将第二个环端口设置为阻塞状态。MRP_TestPropagate报文主要用来防止转化为MRC的MRA所监视的高优先级设备转化为MRC后,停止发送MRP_Test报文,再重新竞选,导致网络出现迭代现象。

MRA多主协议的实施,给设备和维护也提供了便利,不一定再需要手工维护和配置每台设备的信息,设备的添加和移除也可以大大减少网络维护的工作量。

3 结束语

MRP协议实现环形网络的冗余,与传统的生成树协议(spanning tree protocol,STP)和快速生成树协议(rapid spanning tree protocol,RSTP)相比,网络恢复时间提高了一个数量级,实现了快速的网络恢复,能够满足工业控制系通过与通信网络的高可用性的要求。MRP尤其支持多主站,实现了通信链路的冗余与通信设备冗余的结合,也极大地方便了设备的管理和维护。

[1]IEC 62439 Industrial communication networks-high availability automation networks Part2:media redundancy protocol(MRP)[S].2010.

[2] Hansen K.Redundancy Ethernet in industrial automation[C]//Proceedings of 10th IEEE International Conference on Emerging Technologies and Factory Automation ETFA 2005,2005:941-947.

[3]SeifertR,Edwards J.The all-new Switch book:the complete guide to LAN switching technology[M].New Jersey:John Wiley&Sons,Inc,2000.

[4]Tanenbaum A S.计算机网络[M].熊桂喜,王小虎,译.3版.北京:清华大学出版社,2003.

[5]Cena G,Valenzano A,Vitturi S.Hybrid wired/wireless networks for real-time communications[J].Industrial Electronics Magazine,IEEE,2008,2(1):8-20.

[6]Kirrmann H,Hansson M,Muri P.IEC 62439 PRP:Bumpless recovery for highly available,hard real-time industrial networks[C]//IEEE Conference on Emerging Technologies&Factory Automation,ETFA,2007:1396-1399.

[7]程晓琳,徐用愚.现场总线控制网络模型与网络集成[J].测控技术,2000,19(10):35-37.

[8]夏锋,孙优贤.基于交换式以太网实现多现场总线集成[J].电力系统及其自动化学报,2003,15(4):58-62.

[9]杨清宇.现场总线实时分布式控制网络技术研究[D].西安:西安交通大学,2003.

[10]Prytz G.Redundancy in industrial Ethernet networks[C]//Proceedings of 6th IEEE InternationalWorkshop on Factory Communication Systems WFCS,2006:380-385.

[11]陆爱林,冯冬芹,荣冈,等.工业以太网的发展趋势[J].自动化仪表,2004,25(2):1-4.

[12]郭俊能.宽带传输网络生存性及自愈技术研究[D].重庆:重庆大学,2000.

Study on Media Redundancy Protocol and Multiple Media Redundancy Manager

In accordance with the requirementof high availability for industrial communication network,by adopting the redundant ring network based on media redundancy protocol(MRP);when any failure occurs,the communication can be recovered quickly via establishing a new network topology.Through studying the solution of ring topological Ethernet redundancy given by MRP,on the basis of introduction of the working principle ofMRP,themechanism ofmultiple MRM is studied.Withmultiple MRM,the reliability of the ring can be improved,and the management and maintenance of the network may bemore convenient.

Industrial communication network High availability Ring redundancy Media redundancy protocol(MRP) Multiple media redundancy manager(MRM)

TP29

A

修改稿收到日期:2014-06-26。

高正明(1959-),男,1983年毕业于上海市业余工业大学轻工分校自动控制专业,获学士学位,高级工程师;主要从事智能仪表及自动控制系统的研究。

猜你喜欢
环网主站报文
基于J1939 协议多包报文的时序研究及应用
低轨星座短报文通信中的扩频信号二维快捕优化与实现
基于ODUk Spring方式实现基础网络环网保护的研究
CTCS-2级报文数据管理需求分析和实现
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
浅析反驳类报文要点
高速公路万兆环网建设探析
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
县级配电自动化主站系统的设计