基于EPA网桥的链路冗余控制方法转让专利

申请号 : CN200910251037.0

文献号 : CN101764706B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 向敏王平周涛孙韶伟周川

申请人 : 重庆邮电大学

摘要 :

本发明请求保护EPA网桥链路冗余控制的实现方法,涉及工业现场控制领域。本发明在EPA网桥上实现了EPA网络链路冗余功能、冗余管理功能。该方法采用STP生成树算法实现其链路冗余功能,对网络路径进行分析,如果网络中存在环路,选择最健壮的链路作为通信链路,其余为冗余备份链路,并将环路中连接冗余备份链路的网桥端口设置为阻塞状态,将网络修剪为无环路的树状拓扑结构。本方法提供的冗余链路管理功能,使用STP冗余管理协议,对通信链路进行自动管理,提高了EPA网络整体的可靠性、稳定性与健壮性。本发明适用于高可靠性、高实时数据传输的工业以太网。

权利要求 :

1.基于EPA网桥的链路冗余控制方法,在EPA网桥中设置链路冗余处理模块,修改EPA网桥的报文转发功能,采用实时嵌入式操作系统以任务管理机制对网桥所有功能进行统一管理,提取与其通信的设备的EPA通信标识符,判定通信设备的合法性和当前链路的状态,其特征在于,链路冗余处理模块具体包括,初始化模块、根网桥选择模块、网桥解析模块、优先级设置模块和端口状态模块,初始化模块设置本网桥为根网桥,向网络中其他网桥所有端口发送配置桥协议数据单元BPDU报文;网桥解析模块接收到其他所有网桥发送的BPDU报文,解析各个BPDU报文中所携带的ID号;根网桥选择模块将所有接收到的BPDU报文中的ID号与该网桥自己的ID号进行比较,如果所有接收BPDU报文中的ID号都没有自己的ID号大,则确定自己为根网桥,如果接收到的BPDU报文中的ID号比自己的ID号大,则改变该网桥目前的状态为非根网桥;网桥解析模块对网络路径进行分析,如果当前网桥收到携带自己ID号的桥协议数据单元BPDU报文,说明网络中存在环路,如果网络中存在环路,优先级设置模块根据时间戳差确定网桥的优先级,即,存储器中建立时间戳列表,计算其他网桥发送的BPDU报文中携带的时间戳与自己收到BPDU报文时的接收时间戳差,优先级设置模块确定时间戳差越小的网桥优先级越高;保留满足优先级条件的路径,其余为冗余备份链路,端口状态模块将环路中连接冗余备份链路的网桥端口设置为阻塞状态,将网络修剪为无环路的树状拓扑结构。

2.根据权利要求1所述的链路冗余控制方法,其特征在于,如果在规定时间内没有收到网桥发送的BPDU报文,则判断相应网桥发生故障,端口状态模块发送控制命令恢复被阻塞的端口,优先级设置模块重新选择满足优先级条件的最优路径作为通信链路。

说明书 :

基于EPA网桥的链路冗余控制方法

技术领域

[0001] 本发明涉及网络通信技术,具体是一种EPA(基于以太网的工业自动化)网络的链路冗余控制方法。

背景技术

[0002] EPA实时以太网,是一种全新的适用于工业现场设备的开放性实时以太网标准,将大量成熟的IT技术应用于工业控制系统。EPA系统是一种分布式系统,它利用ISO/IEC8802-3、IEEE802.11、IEEE802.15等协议将分布在现场的若干个设备、微网段以及控制/监视设备连接起来,使所有设备一起运作,协同完成工业生产过程和操作中的测量和控制。
[0003] EPA网络应用于工业现场,可靠性要求非常苛刻。EPA网桥是EPA产品链中的重要设备,它把两个或多个微网段互连起来,既要求实现微网段内设备的通信数据有效隔离,又必须确保微网段内设备同外网段设备数据通信的快速性和准确性。因此EPA网桥链路的可靠性对于EPA网络高效、可靠运行非常关键。链路冗余技术对于提高和改善工业以太网链路的可靠性具有很好的应用价值。现有的以太网链路冗余技术主要在交换机上实现,通过在各交换节点之间构建多条物理链路来提供冗余通信路径,(如“双以太网冗余通信系统的设计及应用”刘丽军等,工业控制计算机2005年18卷7期,通过建立在TCP/IP(传输控制协议/网际协议)协议基础上的Socket(套接字)来建立客户端和服务器端的连接,客户端和服务器如果检测到通信故障将自动启用备用链路),从而提高网络的容错能力和提高网络通信的可靠性。然而交换机与EPA网桥功能定义不同,交换机实现链路冗余的控制方法无法实现微网段设备通信数据的有效隔离;同时,目前针对EPA网络的链路冗余控制方法还没有出现较好的解决方案。为此,设计一种基于EPA网桥的链路冗余控制方法以提高EPA网络的可靠性。

发明内容

[0004] 本发明针对EPA工业控制网络中链路的高可靠性要求,提出了一种适用于工业控制网络,以EPA网桥为载体的链路冗余控制方法。
[0005] 本发明解决上述技术问题所采用的技术方案如下:
[0006] 根据EPA工业控制网络的特点并结合EPA协议标准,在EPA网桥中设置EPA网络链路冗余处理模块,修改EPA网桥的报文转发功能,采用μC/OS-II(实时嵌入式)操作系统以任务管理机制对网桥所有功能进行统一管理。EPA网桥进入数据通信状态后,一方面提取与其通信的设备的EPA通信标识符(0x88CB),判定通信设备的合法性和当前链路的状态,网桥解析模块接收网络上其他所有网桥发送的配置桥协议数据单元BPDU报文,解析各个BPDU包文中所携带的各个网桥唯一的ID号,将ID号最小的网桥确定为网络中的根网桥,根网桥负责周期性向全网发送拓扑协议数据单元TPDU,即将网络拓扑结构告知其他网桥。网络解析模块对网络路径进行分析判断,如果当前网桥收到携带自己ID号的桥协议数据单元BPDU报文,说明网络中存在环路,将由根网桥根据路径优先级确定修剪后的网络拓扑结构;而优先级判断模块根据时间戳差确定网桥的优先级,选择最健壮的链路作为通信链路,其余为冗余备份链路,端口状态模块将环路中连接冗余备份链路的网桥端口设置为阻塞状态,将网络修剪为无环路的树状结构。另一方面通过STP(Spanning TreeProtocol)生成树算法周期性发送链路探测报文,识别通信链路的通信状态,当发现当前通信链路出现故障时,由生成树算法(STP)自动启用备用链路,从而实现EPA通信链路快速、高效、可靠运行。
[0007] 链路冗余控制避免环路的出现,本发明所提出的控制方法通过在EPA网桥实现STP(Spanning Tree Protocol)生成树算法来阻塞一些冗余链路端口,将具有冗余链路功能的网络结构修剪成一个无环路的树形拓扑,避免了网络中出现环路。当活动链路失效时,自动调整拓扑结构重新构造出一个树形拓扑,由此达到链路备份的目的,EPA网络也因此具备了一定的网络容错能力。该网桥采用生成树算法(STP)实现了微网段链路冗余控制功能,避免网段出现通信环路,提高了通信链路的可靠性,使EPA网络设备实时、有序、可靠的进行报文处理和转发,从而有助于构建具有高可靠性的大规模EPA控制网络。

附图说明

[0008] 图1EPA现场设备或微网段拓扑结构图
[0009] 图2EPA网桥软件组成结构示意图
[0010] 图3EPA网桥链路冗余控制示意图
[0011] (a)实际物理网络拓扑结构图
[0012] (b)修剪后的生成树示意图
[0013] (c)故障恢复后的生成树示意图

具体实施方式

[0014] 以下针对附图和具体实例对本发明的实施进行具体描述。
[0015] 图1为EPA网络拓扑结构,包括两个网段:监控级L2网段和现场设备级L1网段。现场设备级L1网段用于实现工业生产现场的各种现场设备之间以及现场设备与L2网段的连接;监控级L2网段主要用于实现控制室仪表、装置以及人机接口之间的连接。无论是监控级L2网段还是现场设备级L1网段,均可分为一个或几个微网段。每个微网段作为一个控制区域,用于连接多个EPA设备。在一个控制区域内,EPA设备之间互相通信,实现特定的测量与控制功能。微网段之间通过EPA网桥相互连接,一个微网段通过一个EPA网桥与其他微网段相连。
[0016] 图2所示为EPA网桥组成结构示意图。包括,μC/OS-II(实时嵌入式)操作系统、EPA通信协议栈模块、EPA网桥安全功能模块、网桥底层驱动模块、链路冗余模块。在EPA网桥中设置链路冗余处理模块,修改EPA网桥的报文转发功能,采用μC/OS-II(实时嵌入式)操作系统以任务管理机制对网桥所有功能进行统一管理。μC/OS-II操作系统模块为EPA网桥中的多任务提供调度和通信的功能,管理各个功能模块。EPA通信协议栈模块实现EPA网桥的组态和调度管理。EPA网桥安全功能模块采用防火墙机制,对微网段设备进行EPA报文鉴别,非EPA设备的通信数据就地丢弃,从而实现非EPA数据的过滤;EPA网桥底层驱动模块实现报文的接收与转发。EPA网桥链路冗余模块确保通信链路的可靠性,通过链路冗余控制实现EPA网络链路的备份,当主链路出现故障时,启用备份链路,从而提高EPA网络整体的可靠性。
[0017] 链路冗余模块具体包括:初始化模块、根网桥选择模块、网桥解析模块、优先级设置模块、端口状态模块。各个网桥上电启动后,初始化模块将网桥自身的状态设定为根网桥(Root Bridge),并通过网桥上所有端口(两端口网桥端口设为A、B,三端口网桥端口设为A、B、C)向网络发送配置桥协议数据单元BPDU(Bridge Protocol Data Unit),发送自身ID号(每个ID号全网络唯一)以及发送信息的时间戳到网络上,为网络竞争根网桥(Root Bridge)提供ID号和最优路径选取提供时间戳。网桥解析模块接收到网络上其他所有网桥发送的BPDU报文,解析各个BPDU报文中所携带的ID号,并将其发送到根网桥选择模块;根网桥选择模块将所有接收到的其他网桥BPDU报文中的ID号与自己的ID号进行比较,如果所有接收BPDU报文中的ID号都比自身的ID号大,则设定该网桥自己为根网桥。如果某个网桥接收到的BPDU报文中所携带的ID号比自己的ID号小,则改变该网桥目前的状态为非根网桥。
[0018] 端口状态模块根据网桥当前工作的不同任务设置网桥端口状态,根据网桥的任务可设置网桥端口为阻塞(Blocking)、侦听(Listening)、学习(Learning)、转发(Forwarding)或禁用(Disabled)5个状态中其中之一状态。端口状态模块根据不同任务设置网桥的端口状态:上电工作时,设置端口为侦听状态,接收外来BPDU报文所携带的ID号,通过比较所接收ID号和自身ID号的大小,如果存在一个ID比自身ID号小,则将该网桥设置为非根网桥,如果该网桥接收的所有ID都比自身的ID号大,则设置该网桥为根网桥,负责周期性向全网发送拓扑协议数据单元TPDU,将网络拓扑结构信息告知其他网桥,并向网络发送BPDU报文,且将该根网桥端口状态置为学习状态,端口处于正常收发状态。网络解析模块对网络路径进行分析,如果当前网桥收到携带自己ID号的桥协议数据单元BPDU报文,说明网络中存在环路,则根据根网桥所发送的TPDU报文中的拓扑结构信息,该网桥端口状态模块将连接在环路中的冗余备份链路端口设置为阻塞状态;当端口状态模块检测到一个3端口或更多端口的网桥中出现某些端口不能正常工作时,置这些端口为禁用状态。
[0019] 以图3为例具体说明,图3为EPA网桥冗余模块实现链路冗余控制的示意框图。图3为链路冗余模块利用生成树算法(STP)自动调整拓扑结构重新构造出一个树形拓扑的示意图。假定实际物理网络为图3(a)中所示,网络中存在不允许的回环网络(如环形箭头所示)。系统上电初始化后,接入网络中的网桥采用IEEE1588协议实现网桥的时钟同步,网桥之间通过相互发送并传递BPDU报文获得网络的拓扑信息并根据链路的优先级选择最健壮的链路作为生成树的“树枝”。每个网桥接收其他网桥发送的BPDU报文,提取BPDU报文中携带的时间戳信息T1,收到BPDU报文的网桥记录下收到此BPDU报文时的时间戳T2,存入存储器中,存储器中建立时间戳列表,计算其他网桥发送的BPDU报文中携带的时间戳与自己收到时的接收时间戳之差(T2-T1),将时间戳之差存储到存储器列表中,以此时间差的大小确定路径优先级,优先级判断模块根据时间戳差(T2-T1)确定网桥的优先级,时间戳差越小的网桥优先级越高。假定初始化时已经判断出网桥1为根网桥,把网桥3和网桥5加入到网络中。工作在网桥3和网桥5的每个端口分别向网络中其他网桥发送BPDU报文,网桥收到BPDU报文后分析出存在环路,则发送报文到网桥3和网桥5中进行路径优先级选择,网桥3和网桥5分别记录时间戳,并根据时间戳差判断路径优先级,保留满足优先级条件的路径,并将非优先级路径作为冗余备份路径。端口状态模块将连接冗余备份路径的网桥端口设置为阻塞状态,如本例中确定出网桥3的端口B和网桥5的端口A应当设置为阻塞状态,阻塞端口之间的链路为被阻塞链路(图中用虚线表示),使图3(a)变成如图3(b)所示的无回环网络,使被阻塞链路作为冗余备份链路。根网桥周期性对网桥端口进行扫描,如果在规定时间内没有收到路径上相应网桥发送的BPDU报文,则判断相应网桥发生故障。根网桥端口状态模块发送控制命令恢复被阻塞的端口,并根据优先级原则重新选择满足优先级条件的最优路径作为通信路径。如果网桥4在周期时间中没有向根网桥发送BPDU报文,则可知该网桥发生故障不能工作,E网段将暂时无法与其它网段通信,根网桥发送命令到网桥
3,网桥3根据此命令由生成树算法(STP)自动恢复被阻塞的端口B,重新修剪出通畅的通信链路,重新修剪出的网络如图3(c)所示。
[0020] 以上只是本发明的优选实施例说明,本发明的保护范围基于本领域技术人员的理解结合权利要求进行限定。