CN102082696B - 一种冗余网络系统以及基于该系统的报文发送方法 - Google Patents
一种冗余网络系统以及基于该系统的报文发送方法 Download PDFInfo
- Publication number
- CN102082696B CN102082696B CN2011100575787A CN201110057578A CN102082696B CN 102082696 B CN102082696 B CN 102082696B CN 2011100575787 A CN2011100575787 A CN 2011100575787A CN 201110057578 A CN201110057578 A CN 201110057578A CN 102082696 B CN102082696 B CN 102082696B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- redundant
- interface
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 83
- 230000002452 interceptive effect Effects 0.000 claims abstract description 11
- 230000000052 comparative effect Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 8
- 210000001503 joint Anatomy 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 206010033799 Paralysis Diseases 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种冗余网络系统以及基于该系统的报文发送方法。一种冗余网络系统,包括:至少两个冗余节点对,冗余节点对包括两个互为冗余的节点,互为冗余的节点通过交互接口连接,节点具有两个物理地址和逻辑地址相同的冗余接口对,冗余接口对包括两个互为冗余的接口,每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对的一个接口,形成通信通道;多个冗余节点对按照上述方式依次相连接,形成线型冗余网络系统。与现有技术相比,提高了冗余度。同时,在线型冗余网络系统中满足只要2对冗余节点对之间的4条通信通道不同时发生故障,系统依然能正常通信,进一步提高了系统的可用性。
Description
技术领域
本发明涉及以太网通信技术领域,更具体地说,涉及一种冗余网络系统以及基于该系统的报文发送方法。
背景技术
当分布式控制系统用于工业过程控制时,其通信网络应能及时传输现场过程信息和控制管理信息,因此,通常要求其通信网络必须具有快速实时的响应能力和稳定可靠的传输能力。
目前,分布式控制系统中采用的通信网络——实时以太网常常采用单环冗余网络系统或者双环冗余网络系统,以增加网络通信的可靠性。
请参阅图1A,其为单环冗余网络系统。其中,该系统包括若干节点,每个节点具有两个接口,节点与节点的接口之间通过通信通道进行报文通信。以网络具有三个节点——节点1、节点2和节点3为例。节点1具有接口1和接口1`,节点2具有接口2和接口2`,节点3具有接口3和接口3`。那么,节点1发送报文至节点2有两条通信通道:(1)通过接口1发送报文至接口2;(2)通过接口1`发送报文至接口3`,再由接口3将报文转发至接口2`。
单环冗余网络系统中若有两个节点之间的一条通信通道出现故障,如节点1的接口1至节点2的接口2的通信通道出现故障时,单环冗余网路系统转变为线形网络系统,每个节点之间的通信通道剩余一条,仍能够正常通信,如:节点1经过接口1`发送报文至接口3`,再由接口3将报文转发至节点2的接口2`。但是,若两条通信通道出现故障,整个网络发生通信故障,无法正常工作。
请参阅图1B,其为双环冗余网络系统。其中,该系统包括若干冗余节点对,每个冗余节点对包括节点和与其对应的冗余节点,每个节点和冗余节点具有两个接口,节点与节点的接口之间通过通信通道进行报文通信。节点和其对应冗余节点通过另一个接口连接,进行报文通信。以系统具有三个节点——节点1、节点2和节点3为例。节点1具有接口1和接口1`,节点2具有接口2和接口2`,节点3具有接口3和接口3`,冗余节点1具有接口4和接口4`,冗余节点2具有接口5和接口5`,冗余节点3具有接口6和接口6`。双环冗余网络系统发送报文时,节点和与其对应的冗余节点会同时发送同一报文至与其连接的节点。那么,节点1发送报文至节点2有两条通信通道:(1)通过接口1发送报文至接口2;(2)通过接口1`发送报文至接口3`,再由接口3将报文转发至接口2`。
双环冗余网络系统中若有一个环网的通信通道出现故障,如节点组成的环网通信故障,则仍可通过冗余节点组成的环网进行通信。而当由冗余节点组成的环网中两条通信通道出现故障,整个网络发生通信故障,无法正常工作。
总体来说,现有单环冗余网络系统和双环网络冗余系统的冗余度低。单环冗余网络系统2条通信通道发生故障;双环冗余网络系统中两个单环路中各有2条通信通道发生故障,系统即无法正常运行。
发明内容
为解决上述技术问题,本发明提供一种冗余网络系统以及基于该系统的报文传输方法,提高了冗余度。在线型冗余网络系统中满足只要2对冗余节点对之间的4条通信通道不同时发生故障,系统依然能够正常通信;在环型冗余网络系统中满足只要2组2对冗余节点对之间的8条通信通道不同时发生故障,系统依然能正常通信,进一步提高了系统的可用性。技术方案如下:
基于本发明的一个方面,本发明提供一种冗余网络系统,包括:至少两个冗余节点对,所述冗余节点对包括两个互为冗余,且物理地址和逻辑地址相同的节点,所述互为冗余的节点通过交互接口连接,所述节点具有两个物理地址和逻辑地址相同的冗余接口对,所述冗余接口对包括两个互为冗余,且物理地址和逻辑地址相同的接口,每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对的一个接口,形成通信通道;多个冗余节点对按照上述方式依次相连接,形成线型冗余网络系统;
所述节点包括:报文接收模块,用于接收另一个节点发送的报文;
数据选择模块,用于解析接收到的报文,从报文中选择自身节点的数据;
报文转发模块,用于将一个冗余接口对接收到的报文从节点的另一个的冗余接口对转发;
报文发送模块,用于节点通过自身的两个冗余接口对将发送自身的报文;
控制模块,用于依据控制指令,控制所述节点自身报文的发送。
基于本发明的另一个方面,本发明还提供一种基于冗余网络系统的报文发送方法,包括:
冗余节点对中节点通过各自的一个冗余接口对接收报文;
判断接收到报文的节点的物理地址是否为报文的源物理地址;
当接收到报文的节点的物理地址不为报文的源物理地址时,节点解析接收到的报文,从报文中选取自身节点的数据;
节点通过另一个冗余接口对转发接收到的报文,直至接收到报文的节点的物理地址为报文的源地址;
当接收到报文的节点的物理地址为报文的源物理地址时,结束报文转发。
应用上述技术方案,至少两个冗余节点对,所述冗余节点对包括两个互为冗余,且物理地址和逻辑地址相同的节点,所述互为冗余的节点通过交互接口连接,所述节点具有两个物理地址和逻辑地址相同的冗余接口对,所述冗余接口对包括两个互为冗余,且物理地址和逻辑地址相同的接口,每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对的一个接口。
一个冗余节点对在接收到报文后,通过自身另一侧的冗余接口对的4个接口转发报文。由于一个节点通过一个冗余接口对与相邻的冗余节点对连接,也就是说一个节点与相邻的冗余节点对有两条通信通道,最多能够同时接收到两个报文。当其中一条通信通道发生故障时,节点仍能够接收到报文,并通过自身的两条通信通道发送给与其相邻的另一个冗余节点对。对于2对冗余节点对来说,之间就有4条通信通道,
与现有技术相比,提高了冗余度,同时在线型冗余网络系统中满足只要2对冗余节点对之间的4条通信通道不同时发生故障,系统依然能够正常通信,进一步提高了系统的可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为现有单环冗余网络系统的示意图;
图1B为现有双环冗余网络系统的示意图;
图2为本发明实施例提供的冗余网络系统的示意图;
图3为本发明实施例提供的冗余网络系统中节点的结构示意图;
图4为本发明实施例提供的冗余网络系统中节点中控制模块的一种结构示意图;
图5为本发明实施例提供的冗余网络系统中节点中控制模块的另一种结构示意图;
图6为本发明实施例提供的冗余网络系统的另一种示意图;
图7为本发明实施例提供的冗余网络系统中节点的另一种结构示意图;
图8为本发明实施例提供的冗余网络系统中节点的再一种结构示意图;
图9为本发明实施例提供的冗余网络系统中节点的再一种结构示意图;
图10为本发明实施例提供的报文发送方法的一种流程图;
图11为本发明实施例提供的报文发送方法的另一种流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
一个实施例
发明人经研究发现,采用单环冗余网络或双环冗余网络的以太网在网络通信故障时,如图1B所示的双环冗余网络来说,由节点1、节点2和节点3组成的节点环网中,节点1到节点2的通信通道,以及节点1到节点3的通信通道发生故障。此时,节点1要将报文发送给节点3,由于节点1到节点2的通信通道,以及节点1到节点3的通信通道发生故障,节点1到节点3的通信通道中断,报文无法发送到节点3,因此系统的冗余度低,双环冗余网络系统中两个单环路中各有2条通信通道发生故障,系统无法正常运行
为了解决上述问题,本发明实施例提供一种冗余网络系统,通过增加节点的接口数量和增加节点的冗余节点来提高系统的冗余度,包括:至少两个冗余节点对,所述冗余节点对包括两个互为冗余,且物理地址和逻辑地址相同的节点,互为冗余的节点通过交互接口连接,所述节点具有两个物理地址和逻辑地址相同的冗余接口对,所述冗余接口对包括两个互为冗余,且物理地址和逻辑地址相同的接口,每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对的一个接口。多个冗余节点对按照上述方式依次相连接,此时冗余网络系统为线型冗余网络系统
请参阅图2,图2是本发明实施例提供的冗余网络系统的一种示意图,系统包括四个冗余节点对——节点1和冗余节点1、节点2和冗余节点2、节点3和冗余节点3、节点4和冗余节点4。每个节点具有两个物理地址和逻辑地址相同的冗余接口对,所述冗余接口对包括两个互为冗余,且物理地址和逻辑地址相同的接口,互为冗余的节点通过交互接口连接。每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对的一个接口,形成通信通道。以冗余节点对1——节点1和冗余节点1、冗余节点对2——节点2和冗余节点2说明。
节点1具有冗余接口对1和2,且冗余接口对1和2的物理地址和逻辑地址相同,冗余接口对1具有接口11和12,接口11和12的物理地址和逻辑地址相同,冗余接口对2具有接口13和14,接口13和14的物理地址和逻辑地址相同。冗余节点1具有冗余接口对1`和2`,且冗余接口对1`和2`的物理地址和逻辑地址相同,冗余接口对1`具有接口11`和12`,接口11`和12`的物理地址和逻辑地址相同,冗余接口对2`具有接口13`和14`,接口13`和14`的物理地址和逻辑地址相同。
节点1和冗余节点1通过交互接口1相连,用于交互各自需要发送的报文,以保证发送的报文相同,同时该交互接口可用于实现节点1和冗余节点1之间的时钟同步。时钟同步的实现可参照IEEE1588时钟同步协议或者其他时钟同步协议。
节点2具有冗余接口对1和2,且冗余接口对1和2的物理地址和逻辑地址相同,冗余接口对1具有接口21和22,接口21和22的物理地址和逻辑地址相同,冗余接口对2具有接口23和24,接口23和24的物理地址和逻辑地址相同。冗余节点2具有冗余接口对1`和2`,且冗余接口对1`和2`的物理地址和逻辑地址相同,冗余接口对1`具有接口21`和22`,接口21`和22`的物理地址和逻辑地址相同,冗余接口对2`具有接口23`和24`,接口23`和24`的物理地址和逻辑地址相同。
节点2和冗余节点2通过交互接口2相连,用于交互各自需要发送的报文,以保证发送的报文相同,同时该交互接口可用于实现节点2和冗余节点2之间的时钟同步。,时钟同步的实现可参照IEEE1588时钟同步协议或者其他时钟同步协议。
节点1和冗余节点1、节点2和冗余节点2之间接口连接如下:
接口13与接口21相连,接口14与接口21`相连,接口13`与接口22相连,接口14`与接口22`相连,也就是节点1的一个冗余接口对1的两个接口13和14交叉连接在与该节点相邻的冗余节点对中节点2的接口21和冗余节点2的接口21`。
需要说明的是:冗余节点是为了更好的阐述本发明,以区别互为冗余的节点,以更好的阐述本发明。
上述系统中节点的结构示意图请参阅图3,包括:与图3所示的节点的结构示意图相同,包括:报文接收模块31、数据选择模块32、报文转发模块33、报文发送模块34和控制模块35。其中:
报文接收模块31,用于接收另一个节点发送的报文,该报文通过节点的一个冗余接口对接收。数据选择模块32,用于从接收到的报文中选择自身节点的数据。报文转发模块33,用于将一个冗余接口对接收到的报文从节点的另一个的冗余接口对转发出去。
报文发送模块34,用于节点通过自身的两个冗余接口对将发送自身的报文。该报文同时发送至与节点的接口相连的冗余节点对中。
报文发送模块34发送报文的方式可以为单播发送方式和组播发送方式。当采用单播发送时,报文中携带一个节点,即物理地址为目的物理地址的节点的数据,如:冗余节点对1单播发送报文至节点4,则报文中只携带节点4的数据,报文的目的物理地址为节点4的物理地址。由于采用单播发送方式时,报文中只携带物理地址为目的物理地址的节点的数据,因此,其他节点的数据选择模块32从接收到的报文中选择到的数据为空。同时,其他节点将接收到的报文由报文转送模块33转发至相邻的冗余节点对。
当报文采用组播发送时,报文中携带多个节点的数据。比如:冗余节点对1发送的报文中同时携带节点2、3和4的数据时,冗余节点对2和冗余节点对3在接收到报文后,数据选择模块32,对报文进行解析,从接收到的报文中选择属于自身节点的数据。而报文转送模块33,则将接收到的报文通过另一个冗余接口对转发至相邻的冗余节点对。
控制模块35,用于依据控制指令,控制节点自身报文的发送,即控制报文发送模块34。控制模块35在控制自身节点的报文发送模块34时,要保证任一时刻通信通道中只发送一个冗余节点对的报文。之所以控制模块35要控制任一时刻发送报文的数目只有一个是为了避免通信通道上传输多个报文时,造成报文冲突。控制模块35可以采用主从调度和分时调度的方式,控制报文发送模块34。
所谓主从调度是选取一个冗余节点对作为主节点对,其他冗余节点对作为从节点对。主节点对主动发送自身节点的报文,而从节点对在接收到主节点对发送的允许发送指令后才能发送自身节点的报文。此时,控制模块35所依据的控制指令为允许发送指令。
控制模块35包括:主节点对确定单元351、从节点对确定单元352和允许发送指令353,如图4所示。其中:
主节点对确定单元351,用于从所有冗余节点对中选取一个冗余节点对,将该冗余节点对确定为主节点对。从节点对确定单元352,用于当所述主节点对确定单元确定主节点对后,将其他冗余节点对确定为从节点对。为了方便主节点对和从节点对的确定,可以在节点内设置主节点对标志位和从节点对标志位。当主节点对标志位设置为“1”时,表明该冗余节点对为主节点对。而当从节点对标志位设置为“1”时,表明该冗余节点对为从节点对。当然还有其他方式,对此不再加以阐述。
允许发送指令单元353,用于接收主节点对发送的允许发送指令,依据所述允许发送指令控制所述报文发送模块34。
主节点对的报文发送模块34可以主动发送自身的报文至其他节点对,而从节点对在接收到主节点对发送的允许发送指令后,报文发送模块34才能发送自身报文给其他节点对。
而分时调度是对不同的冗余节点对分配不同的时间,各个冗余节点对在所分配的时间内发送自身的报文。因此,上述控制模块35还具有另一种结构,结构示意图请参阅图5,包括:时间片分配单元354和时间片控制单元355。其中:
时间片分配单元354,用于分配发送时间片,不同的冗余节点对之间发送时间片不重叠。时间片控制单元355,用于依据自身的发送时间片,控制所述报文发送模块34。各个冗余节点对的报文发送模块34在自身的发送时间片内发送自身的报文。也就是说,控制模块35的控制指令为发送时间片。
通信的两个节点的时钟同步,以使得报文发送接收同步。冗余网络系统中,节点可以依据时钟同步协议实现时钟同步。时钟同步协议可以采用IEEE1588协议或者其他时钟同步协议。系统完成时钟同步后,所有节点采用同一时钟进行工作,如节点发送报文时,其发送报文所用时间是相同的。
下面以图2中冗余节点对1发送报文至节点3为例来具体说明。
从图2中可以看出,冗余节点对1要将报文发送至节点3,其传输路径有多种:节点1——节点2——节点3,冗余节点1——节点2——节点3,节点1——冗余节点2——节点3,冗余节点1——冗余节点2——节点3。
报文发送过程具体为:节点1和冗余节点1的报文发送模块34同时通过各自节点的冗余接口对发送自身的报文,即通过各自与冗余节点对2的通信通道发送自身的报文至冗余节点对2,此时其他冗余节点对的控制模块35控制自身节点的报文发送模块34不发送自身的报文,以避免报文冲突。
当冗余节点对2接收到报文后,冗余节点对2的数据选择模块32对报文进行解析,从报文中选择自身节点的数据。同时,报文转发模块33通过冗余节点对2中节点的冗余接口对将报文转发至节点3,完成报文发送。
由于一个冗余节点对同时向一个节点发送报文,且发送的报文相同,所以假如节点1与节点2的通信通道发生故障时,冗余节点1与节点2的通信通道仍会发送相同的报文至节点2,再由节点2转发至节点3。相对于两个节点之间只有一条通信通道来说,本发明实施例从冗余节点对1到节点3有四条通信通道,进而提高了系统的冗余度。
上述图2所示的冗余网络系统中,首冗余节点对和尾冗余节点对的一对冗余接口对并未与其他冗余接口对连接,因此,图2所示的冗余网络系统为线型冗余网络系统。在图2的基础上,可以将首冗余节点对中的两个节点中接口未连接的一个冗余接口对的两个接口各自连接在尾冗余节点对中的两个节点中接口未连接的一个冗余接口对的一个接口,形成通信通道。即将节点1的接口11连接节点4的接口43,节点1的接口12连接冗余节点4的接口43`。冗余节点1的接口11`连接节点4的44,接口12`连接冗余节点4的接口44`。此时冗余网络系统为环型冗余网络系统,示意图请参阅图6。
当冗余网络系统为环型冗余网络系统时,本领域技术人员公知的,相邻节点之间接口形成的通信通道是双向通信的,因此,在环型冗余网络系统中需要选取一个冗余节点对为截止节点对,该截止节点对在环型冗余网络系统正常时,不转发任何报文,以避免系统中报文不断转发,导致网络性能下将,甚至瘫痪。
当环型冗余网络系统中,相邻冗余节点对之间的四条通信通道都发生故障,此时,需要将截止节点对恢复为正常节点对,即截止节点对可转发报文,使环型冗余网络系统变为线型冗余网络系统。因此,本发明实施例提供的冗余网络系统中节点还应该包括其他模块。
请参阅图7,图7是节点的另一种结构示意图,是在图3的基础上增加截止节点对确定模块36、转发截止模块37和节点对恢复模块38。其中:
截止节点对确定模块36,用于确定冗余节点对作为截止节点对。截止节点对可以是随机指定,如:节点内设置有截止节点对标志位,当该截止节点对标志位设置为“1”时,表明该冗余节点对为截止节点对,否则,该冗余节点对为正常节点对。
转发截止模块37,用于控制截止节点对不转发报文,此时,报文转发模块33失效。节点对恢复模块38,用于当系统中相邻冗余节点对之间的四条通信通道都发生故障、或冗余节点对中的两个节点都发生故障时,将所述截止节点对恢复为正常节点对,也就是说将截止节点对标志位设置为除1之外的其他数值,使其变为正常节点对,此时,节点通过报文转发模块33转发报文。
下面以图6所示的环型冗余网络系统中,冗余节点对1将报文发送至节点3,来详细阐述本发明。
由于图6是环型冗余网络系统,在报文发送之前,首先要从所有冗余节点对中选取一个冗余节点对为截止节点对。截止节点对确定模块36确定冗余节点对作为截止节点。如:确定冗余节点对4为截止节点对。
下面以冗余节点对4为截止节点对来说明,冗余节点对1是如何发送报文至节点3的。
节点1和冗余节点1的报文发送模块34节点的冗余接口对发送自身的报文,即通过各自与冗余节点对2,以及通过与冗余节点对4的通信通道发送自身的报文至冗余节点对2和冗余节点对4,此时其他冗余节点对的控制模块35控制自身节点的报文发送模块34不发送自身的报文,以避免报文冲突。由于冗余节点对4为截止节点对,所以冗余节点对4不再转发报文。
当冗余节点对2接收到报文后,冗余节点对2的数据选择模块32对报文进行解析,从报文中选择自身节点的数据。同时,报文转发模块33通过冗余节点对2中节点的冗余接口对将报文转发至节点3,完成报文发送。
由于一个冗余节点对同时向一个节点发送报文,且发送的报文相同,所以假如节点1与节点2的通信通道发生故障时,冗余节点1与节点2的通信通道仍会发送相同的报文至节点2,再由节点2转发至节点3。相对于两个节点之间只有一条通信通道来说,本发明实施例从冗余节点对1到节点3有四条通信通道,进而提高了系统的冗余度。
当冗余节点对1与冗余节点对2之间的四条通信通道发生故障时,冗余节点对1的报文无法通过冗余节点对2发送给节点3。此时,节点对恢复模块37控制冗余节点对4发送报文,冗余节点对4恢复为正常节点对。此时,环型冗余网络系统变为线型冗余网络系统。
需要说明的是,当线型冗余网络系统的两个冗余节点对之间的四条通信通道发生故障时,线型冗余网络系统是无法正常通信的。因此,环型冗余网络系统的冗余度要高于线型冗余网络系统的冗余度。
应用上述技术方案,冗余网络系统至少两个冗余节点对,所述冗余节点对包括两个互为冗余,且物理地址和逻辑地址相同的节点,所述互为冗余的节点通过交互接口连接,所述节点具有两个物理地址和逻辑地址相同的冗余接口对,所述冗余接口对包括两个互为冗余,且物理地址和逻辑地址相同的接口,每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对的一个接口。
冗余节点对中节点的一个冗余接口对在接收到报文后,通过自身另一个的冗余接口对的2个接口同时向相邻的冗余节点对发送相同的报文。由于一个节点通过一个冗余接口对与相邻的冗余节点对连接,也就是说一个节点与相邻的冗余节点对有两条通信通道,最多能够同时接收到两个报文。当其中一条通信通道发生故障时,节点仍能够接收到报文,并通过自身的两条通信通道发送给与其相邻的另一个冗余节点对。
与现有技术相比,提高了冗余度,在线型冗余网络系统中满足只要2对冗余节点对之间的4条通信通道不同时发生故障,系统依然能够正常通信;在环型冗余网络系统中满足只要2组2对冗余节点对之间的8条通信通道不同时发生故障,系统依然能正常通信。进一步提高了系统的可用性。
此外,发明人经过多次实验发现,现有冗余网络系统,随着系统节点数目的增大,网络的故障率会急剧增加。而本发明实施例所提供的网络冗余系统,随着网络节点数目的增加,网络的故障率增加不明显。
再一个实施例
发明人经过多次实践发现,现有实时以太网,为了处理网络中的冗余报文,往往需要在报文头中增加报文标志进行标识,而不同的实时以太网协议,报文格式是不相同的。因此,当以太网变更使用的实时以太网协议时,需要对报文格式进行修改,增加了操作难度。
为了解决上述问题,本发明实施例提供的冗余网络系统中,由于冗余节点对与一个节点之间具有两条通信通道,报文会从两条通信通道在一定的时间间隔内进入到与其通信的节点的两个接口。由于在同一时间内系统中只有一个冗余节点对发送报文,因此在一定时间间隔内所到达同一节点的报文视为冗余报文。因此不需要通过增加报文标志来标识是否为冗余报文,进而当以太网变更使用的以太网协议时,不需要对报文格式进行修改,降低了操作难度。
为了实现上述目的,本发明实施例提供的冗余网络系统中,节点还应该包括其他模块。对于图2所示的线型冗余网络系统,节点的其他模块是在图3所示的节点的基础上增加的。而对于图6所示的环型冗余网络系统,节点的其他模块是在图7所示的节点的基础上增加的。两个系统中节点新增的模块相同。下面,本发明实施例以线型冗余网络系统为基础,阐述节点新增的其他模块。
请参阅图8,图8是本发明实施例中节点的再一种结构示意图,在图3所示的节点结构示意图的基础上,增加了接收标记模块39、时间设定模块40、时间启动模块41、时间关闭模块42、报文比较模块43、单份报文判断模块44、冗余报文判断模块45、报文丢弃模块46和报文选取模块47。其中:
接收标记模块39,用于当节点的一个接口接收到报文时,将节点内接口的接收标记设置为预设标记值。时间设定模块40,用于设定节点的一个冗余接口对接收到报文的时间间隔。时间间隔应根据网络系统的实际情况进行设置。时间启动模块41,用于检查接收到报文的接口所在的冗余接口对中的另一个接口是否接收到报文,当另一个接口未接收到报文时,启动时间设定模块40。时间关闭模块42,用于记录所述时间设定模块40的工作时间,当工作时间达到时间间隔时,关闭时间设定模块40。
报文比较模块43,用于比较冗余接口对接收到的报文,获取比较结果。单份报文判断模块44,用于当所述比较结果为冗余接口对中一个接口接收到报文时,标记发生单份报文接收,判断接收到的报文为单份报文,并由数据选择模块32解析所述单份报文,从中选择节点自身的数据。同时由所述报文转发模块33转发单份报文给相邻的节点。
冗余报文判断模块45,用于当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文相同时,标记发生冗余报文接收,判断接收到的报文为冗余报文。报文选取模块47,用于从所述冗余报文中选取一个报文,并由所述数据选择模块32解析所述选取到的报文,从中选择节点自身的数据。同时,由所述报文转发模块33转发选取到的报文给相邻的节点。
报文丢弃模块46,用于当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文不相同时,丢弃接收到的报文,此时报文转发模块33不转发报文。之所以丢弃报文,是因为报文不一致是由于网络传输有误导致的,但由于不能确定哪一个报文出错,为了防止错误扩散,则两个报文全部丢弃。
下面以图2所示的线型冗余网络系统中,冗余节点对1通过冗余节点对2发送报文至节点3进行说明。
时间设定模块40设定节点的一个冗余接口对接收到报文的时间间隔。时间间隔应根据网络系统的实际情况进行设置。时间间隔设定之后,冗余节点对1的报文发送模块34同时通过各自节点的冗余接口对发送自身的报文,即通过各自与冗余节点对2的通信通道发送自身的报文至冗余节点对2,此时其他冗余节点对的控制模块35控制自身节点的报文发送模块34不发送自身的报文,以避免报文冲突。
当冗余节点对2中节点2的一个接口接收到报文后,接收标记模块39将该接口的接收标记设置为预设标记值。该预设标记值可以是“1”,当接口的接收标记设置为“1”时,表明接口接收到报文,否则,表明接口未接收到报文。
时间启动模块41检查接收到报文的接口所在的冗余接口对中的另一个接口是否接收到报文,当另一个接口未接收到报文时,启动时间设定模块40,以保证节点2接收两个报文的时间间隔为设定的时间间隔,进而可以保证两个接口接收到的报文为同一个报文。时间关闭模块42记录时间设定模块40的工作时间,当工作时间达到时间间隔时,关闭时间设定模块40。
时间关闭模块42关闭时间设定模块40后,即节点2接收报文结束后,报文比较模块43比较冗余接口对接收到的报文,获取比较结果。当比较结果为冗余接口对中一个接口接收到报文时,单份报文判断模块44标记发生单份报文接收,判断接收到的报文为单份报文,并由数据选择模块32解析所述单份报文,从中选择节点自身的数据。同时由所述报文转发模块33转发单份报文给相邻的节点。
当比较结果为冗余接口对中的两个接口接收到报文,且两个报文相同时,冗余报文处理模块45标记发生冗余报文接收,判断接收到的报文为冗余报文。报文选取模块47从冗余报文中选取一个报文,并由所述报文选择模块32解析所述选取到的报文,从中选择节点自身的数据。同时,由所述报文转发模块33转发选取到的报文给相邻的节点。
当比较结果为冗余接口对中的两个接口接收到报文,且两个报文不相同时,报文丢弃模块46丢弃接收到的报文,报文转发模块33不转发报文,即节点2不向节点3转发报文。
在比较接收到的两个报文是否相同时,可以采用比较两个报文的CRC(Cyclic Redundlncy Check,循环冗余校验码)的方式。若两个报文的CRC相同,则表明两个报文相同。若两个报文的CRC不同,则表明两个报文不同。
此外,上述节点还包括:次数记录模块48、故障判定模块49和故障上报模块50,结构示意图如图9所示。图9是以图8所示的节点为基础,在其上增加新的模块。其中:
次数记录模块48,用于记录所述单个报文处理模块标记发生单份报文接收的次数。故障判定模块49,用于当所述次数记录模块记录的次数超过预设次数时,判定接收报文的冗余接口对中未接收到报文的接口的通信通道发生故障。预设次数可以根据网络实际使用环境的不同而不同。故障上报模块50,用于生成故障报文发送至故障检测设备,所述故障报文携带有发生故障的通信接口的信息。当故障检测设备接收到故障报文时,解析故障报文,获取发生故障的接口的信息。
本发明实施例提供的控制模块35可以采用主从调度和分时调度的方式,控制报文发送模块34。控制模块35的结构示意图请参阅上一实施例中的图4和图5,对此不再加以阐述。
应用上述技术方案,冗余节点对与一个节点之间具有两条通信通道,报文会从两条通信通道在一定的时间间隔内进入到与其通信的节点的两个接口。由于在同一时间内系统中只有一个冗余节点对发送报文,因此在一定时间间隔内所到达同一节点的报文视为冗余报文。因此不需要通过增加报文标志来标识是否为冗余报文,进而当以太网变更使用的以太网协议时,不需要对报文格式进行修改,降低了操作难度。
与上述系统实施例相对应,本发明实施例还提供一种基于上述系统的报文发送方法,流程图如图10所示,包括:
S101:冗余节点对中节点通过各自的一个冗余接口对接收报文;
S102:判断接收到报文的节点的物理地址是否为报文的源物理地址;如果接收到报文的节点的物理地址不为报文的源物理地址,执行步骤S103,否则,执行步骤S105。
S103:节点解析接收到的报文,从报文中选取自身节点的数据;
S104:节点通过另一个冗余接口对转发接收到的报文,返回S101。
S105:结束报文发送。
当接收到报文的节点的物理地址为报文的源物理地址时,表明报文发送至发送报文的节点。此时,报文发送结束,以避免报文的循环发送,进而造成网络性能下将,甚至瘫痪。
图10所述方法应用于线型冗余网络系统,当冗余网络系统为环型冗余网络系统时,需要在图10所述步骤中增加其他步骤。完整的方法流程图请参阅图11,包括:
S100:从所有冗余节点对中选取一个冗余节点对作为截止节点对;
S101:冗余节点对中节点通过各自的一个冗余接口对接收报文;
S102:判断接收到报文的节点的物理地址是否为报文的源物理地址;如果接收到报文的节点的物理地址不为报文的源物理地址,执行步骤S103,否则,执行步骤S107。
S103:节点解析接收到的报文,从报文中选取自身节点的数据;
S104:判断接收到报文的冗余节点对是否为截止节点对。如果接收到报文的冗余节点对为截止节点对,执行步骤S105,否则,执行步骤S106。
S105:接收到报文的冗余节点对不发送报文。
S106:接收到报文的冗余节点中节点通过另一个冗余接口对转发接收到的报文,返回S101。
S107:结束报文发送。
此外,在接收到报文的冗余节点中节点通过另一个冗余接口对转发报文之前还包括:
比较冗余接口对接收到的报文,获取比较结果;
当所述比较结果为冗余接口对中一个接口接收到报文时,标记发生单个报文接收,判断接收到的报文为单个报文,发送单个报文;
当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文相同时,标记发生冗余报文接收,判断接收到的报文为冗余报文;
从所述冗余报文中选取一个报文,发送选取到的报文。
当比较结果为冗余接口对中的两个接口接收到报文,且两个报文不相同时,丢弃接收到的报文,不发送报文。
需要说明的是:当环型冗余网络系统中,相邻冗余节点对之间的四条通信通道都发生故障,此时,需要将截止节点恢复为正常节点,系统按照图10所示的方法发送报文。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽范围。
Claims (10)
1.一种冗余网络系统,其特征在于,包括:至少两个冗余节点对,所述冗余节点对包括两个互为冗余,且物理地址和逻辑地址相同的节点,所述互为冗余的节点通过交互接口连接,所述节点具有两个物理地址和逻辑地址相同的冗余接口对,所述冗余接口对包括两个互为冗余,且物理地址和逻辑地址相同的接口,每个节点的一个冗余接口对的两个接口交叉连接在与该节点相邻的冗余节点对中每个节点的一个接口,形成通信通道;多个冗余节点对按照上述方式依次相连接,形成线型冗余网络系统;
所述节点包括:报文接收模块,用于接收另一个节点发送的报文;
数据选择模块,用于解析接收到的报文,从报文中选择自身节点的数据;
报文转发模块,用于将一个冗余接口对接收到的报文从节点的另一个的冗余接口对转发;
报文发送模块,用于节点通过自身的两个冗余接口对发送自身的报文;
控制模块,用于依据控制指令,控制所述节点自身报文的发送。
2.根据权利要求1所述的冗余网络系统,其特征在于,首冗余节点对中的两个节点中接口未连接的一个冗余接口对的两个接口各自连接在尾冗余节点对中的两个节点中接口未连接的一个冗余接口对的一个接口,形成环型冗余网络系统;
所述节点还包括:截止节点对确定模块,用于确定冗余节点对作为截止节点对;
转发截止模块,用于控制所述截止节点对不转发报文。
3.根据权利要求2所述的冗余网络系统,其特征在于,所述节点还包括:节点对恢复模块,用于当系统中相邻冗余节点对之间的四条通信通道都发生故障时,将所述截止节点对恢复为正常节点对。
4.根据权利要求1-3任意一项所述的冗余网络系统,其特征在于,所述节点还包括:接收标记模块,用于当节点的一个接口接收到报文时,将节点内接口的接收标记设置为预设标记值;
时间设定模块,用于设定节点的一个冗余接口对接收到报文的时间间隔;
时间启动模块,用于检查接收到报文的接口所在的冗余接口对中的另一个接口是否接收到报文,当另一个接口未接收到报文时,启动时间设定模块;
时间关闭模块,用于记录所述时间设定模块的工作时间,当工作时间达到时间间隔时,关闭时间设定模块;
报文比较模块,用于比较冗余接口对接收到的报文,获取比较结果;
单份报文判断模块,用于当所述比较结果为冗余接口对中一个接口接收到报文时,标记发生单份报文接收,判断接收到的报文为单份报文;
冗余报文判断模块,用于当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文相同时,标记发生冗余报文接收,判断接收到的报文为冗余报文;
报文选取模块,用于从所述冗余报文中选取一个报文作为接收到的报文;
报文丢弃模块,用于当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文不相同时,丢弃接收到的报文。
5.根据权利要求4任意一项所述的冗余网络系统,其特征在于,所述节点还包括:
次数记录模块,用于记录所述单份报文判断模块标记发生单份报文接收的次数;
故障判定模块,用于当所述次数记录模块记录的次数超过预设次数时,判定接收报文的冗余接口对中未接收到报文的接口的通信通道发生故障;
故障上报模块,用于生成故障报文发送至故障检测设备,所述故障报文携带有发生故障的接口的信息。
6.根据权利要求1-3任意一项所述的冗余网络系统,其特征在于,所述控制指令为允许发送指令;
所述控制模块包括:
主节点对确定单元,用于从所有冗余节点对中选取一个冗余节点对,将该冗余节点对确定为主节点对;
从节点对确定单元,用于当所述主节点对确定单元确定主节点对后,将其他冗余节点对确定为从节点对;
允许发送指令单元,用于接收主节点对发送的允许发送指令,依据所述允许发送指令控制所述报文发送模块。
7.根据权利要求1-3任意一项所述的冗余网络系统,其特征在于,所述控制指令为发送时间片;
所述控制模块包括:
时间片分配单元,用于分配发送时间片,不同的冗余节点对之间发送时间片不重叠;
时间片控制单元,用于依据自身的发送时间片,控制所述报文发送模块。
8.一种基于冗余网络系统的报文发送方法,其特征在于,包括:
冗余节点对中节点通过各自的一个冗余接口对接收报文;
判断接收到报文的节点的物理地址是否为报文的源物理地址;
当接收到报文的节点的物理地址不为报文的源物理地址时,节点解析接收到的报文,从报文中选取自身节点的数据;
节点通过另一个冗余接口对转发接收到的报文,直至接收到报文的节点的物理地址为报文的源地址;
当接收到报文的节点的物理地址为报文的源物理地址时,结束报文转发。
9.根据权利要求8所述的方法,其特征在于,冗余节点对中节点通过各自的一个冗余接口对接收报文之前还包括:从所有冗余节点对中选取一个冗余节点对作为截止节点对;
节点通过另一个冗余接口对转发接收到的报文,直至接收到报文的节点的物理地址为报文的源地址包括:
判断接收到报文的冗余节点对是否为截止节点对;
当接收到报文的冗余节点对为截止节点对时,接收到报文的冗余节点对不转发报文;
当接收到报文的冗余节点对不为截止节点对时,接收到报文的冗余节点对中节点通过另一个冗余接口对转发报文,直至接收到报文的节点的物理地址为报文的源物理地址。
10.根据权利要求9所述的方法,其特征在于,接收到报文的冗余节点对中节点通过另一个冗余接口对转发报文还包括:
比较冗余接口对接收到的报文,获取比较结果;
当所述比较结果为冗余接口对中一个接口接收到报文时,标记发生单份报文接收,判断接收到的报文为单份报文;
当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文相同时,标记发生冗余报文接收;
从所述冗余报文中选取一个报文,转发选取到的报文;
当所述比较结果为冗余接口对中的两个接口接收到报文,且两个报文不相同时,丢弃接收到的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100575787A CN102082696B (zh) | 2011-03-10 | 2011-03-10 | 一种冗余网络系统以及基于该系统的报文发送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100575787A CN102082696B (zh) | 2011-03-10 | 2011-03-10 | 一种冗余网络系统以及基于该系统的报文发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102082696A CN102082696A (zh) | 2011-06-01 |
CN102082696B true CN102082696B (zh) | 2012-11-21 |
Family
ID=44088453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100575787A Expired - Fee Related CN102082696B (zh) | 2011-03-10 | 2011-03-10 | 一种冗余网络系统以及基于该系统的报文发送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102082696B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780365B (zh) * | 2014-01-26 | 2017-03-29 | 中国神华能源股份有限公司 | 动态的多链路冗余数据传输方法 |
CN103957155B (zh) * | 2014-05-06 | 2018-01-23 | 华为技术有限公司 | 报文传输方法、装置及互联接口 |
CN104461968B (zh) * | 2014-11-21 | 2017-08-11 | 华为技术有限公司 | 一种io通道分配方法及装置 |
CN106603366A (zh) * | 2017-02-17 | 2017-04-26 | 北京中航通用科技有限公司 | 一种高可靠性冗余现场总线系统及数据处理方法、装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5329520A (en) * | 1992-07-17 | 1994-07-12 | Alcatel Network Systems, Inc. | High-speed facility protection in a digital telecommunications system |
US5712976A (en) * | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
CN100336357C (zh) * | 2005-08-25 | 2007-09-05 | 上海交通大学 | 冗余交叉环形数据总线网络 |
CN101197747B (zh) * | 2007-12-14 | 2010-07-28 | 北京国电智深控制技术有限公司 | 工业实时控制以太网冗余容错网络系统及方法 |
-
2011
- 2011-03-10 CN CN2011100575787A patent/CN102082696B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102082696A (zh) | 2011-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104378291B (zh) | 用于在工业通信网络中进行冗余的信息传输的方法和通信设备 | |
CN102082695B (zh) | 热备冗余网络系统及其冗余实现方法 | |
CN100471180C (zh) | 一种消息传递的方法、装置和系统 | |
CN101980468A (zh) | 网络热备数据传输方法 | |
CN102158383B (zh) | 一种e1双向环网络的数据传输方法、装置及系统 | |
CN103916275A (zh) | 一种bfd检测装置和方法 | |
JPH0351142B2 (zh) | ||
US10581633B2 (en) | Automation device for the redundant control of a bus subscriber | |
CN105637818A (zh) | 增加了分布式控制消息收发的集中式数据路径建立 | |
CN102082696B (zh) | 一种冗余网络系统以及基于该系统的报文发送方法 | |
CN101005427A (zh) | 一种485总线系统和传送数据的方法 | |
CN103501236A (zh) | 网络控制平面逻辑拓扑生成方法及装置 | |
CN101710865A (zh) | 一种网络设备中主备快速倒换的方法和装置 | |
EP0026329B1 (en) | Communications controller for a time division multiple access satellite communication network | |
US20190268235A1 (en) | Method for managing network nodes and communication control method thereof | |
CN104767665A (zh) | 一种环形通信网络主站冗余的方法、装置及系统 | |
KR101179431B1 (ko) | 이더캣 네트워크 시스템 및 이의 운용 방법 | |
CN104427012B (zh) | 端口协商方法和设备 | |
CN103634209B (zh) | 一种传输数据的方法及设备 | |
CN103036728A (zh) | 一种多冗余的以太网数据传输系统及传输方法 | |
CN102821099A (zh) | 报文转发方法、设备及系统 | |
CN109981353B (zh) | 一种机框式网络通信设备中的邻站冗余保护方法及系统 | |
CN104683266B (zh) | 用于串行通信的双向包传输故障转移交换机 | |
CN102882779A (zh) | Vrrp通告链路保护方法及系统 | |
EP1298866B1 (en) | Method and apparatus for optimization of redundant link usage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121121 Termination date: 20180310 |