CN103684719B - 一种与平台无关的网络双冗余热切换方法 - Google Patents

一种与平台无关的网络双冗余热切换方法 Download PDF

Info

Publication number
CN103684719B
CN103684719B CN201310663882.5A CN201310663882A CN103684719B CN 103684719 B CN103684719 B CN 103684719B CN 201310663882 A CN201310663882 A CN 201310663882A CN 103684719 B CN103684719 B CN 103684719B
Authority
CN
China
Prior art keywords
channel
network
message
address
processor element
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.)
Active
Application number
CN201310663882.5A
Other languages
English (en)
Other versions
CN103684719A (zh
Inventor
陈敏
符才德
张少锋
吴向军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
709th Research Institute of CSIC
Original Assignee
709th Research Institute of CSIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CN201310663882.5A priority Critical patent/CN103684719B/zh
Publication of CN103684719A publication Critical patent/CN103684719A/zh
Application granted granted Critical
Publication of CN103684719B publication Critical patent/CN103684719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种与平台无关的网络双冗余热切换方法,内部终端主机通过二层交换单元与智能网络通信处理单元连接,在智能网络通信处理单元上维护本地网络地址记录表,通过配置报文的方式,对内部终端主机的对外网络通信功能进行身份认证管理,并采用基于数据链路层的快速链路诊断策略来实现链路诊断以及双冗余热切换操作。该方法能满足多个终端主机同时对外进行双冗余网络通信,并且可动态配置和管理内部终端主机对外是否可见,使得对外网络通信应用更安全更灵活;基于数据链路层的快速链路诊断策略,极大的提高了链路诊断的实时性和准确性;所有操作均与终端主机无关,不受终端主机的软硬件平台的限制,适用性强。

Description

一种与平台无关的网络双冗余热切换方法
技术领域
本成果涉及智能冗余、链路检测和高可靠网络通信技术领域,具体为一种与平台无关的网络双冗余热切换方法。
背景技术
随着越来越多的的电子设备都具有网络接口,大到数据服务器,小到一台主机甚至一个带网络接口的嵌入式智能板卡,都可能有接入网的需求,然而有许多原因都可能会导致网络通信异常,如网络堵塞、网线断开、网络接口连接器松动、设备硬件故障,软件异常等,都可能会影响网络通信质量。为了尽量避免嵌入式网络中网络节点故障和链路故障所带来的损失,需要设计良好的冗余方案,来提高网络数据传输可靠性和网络故障恢复能力。
双网卡冗余设计在终端主机接入网络中得到了广泛应用,而传统的冗余实现方式与终端主机的软硬件平台是密切相关的。
首先,从硬件平台来说,终端主机不仅仅需要两个以上的独立网卡,诊断和切换操作也必然会占用终端主机的处理器硬件资源,进而会影响其通信和处理性能。由于冗余功能实现的核心在于链路诊断方法,检测频率越高,切换实时性越高,但是同样对处理器的性能影响越大;从软件平台来说,即使冗余部分的代码可以做到与应用软件完全隔离,也会存在不同操作系统的移植性和通用性问题,不同的冗余功能代码之间、实时操作系统和非实时操作系统之间,其切换效率也大不相同,另外随着软件平台的升级,冗余功能相关代码的升级和维护也会带来问题。
目前国内外关于双网冗余技术的研究和应用,主要为以下几种方式:
(1)双网卡冗余技术。在专利“一种双网卡热备冗余方法”,专利号为201110201778.6中将每台主机的两路网卡都分别接在级联的两台交换机上,然后通过主机的监视程序发送报文进行诊断和切换;同样在专利“一种VxWorks系统下的多网卡双冗余装置及系统”(200910189047.6)中也提到通过在主机驱动层和MUX层之间虚拟网卡,用于管理互为冗余的物理网卡来实现冗余功能。这些冗余设计都需要主机的软硬件平台支撑,在一定程度上都会占用主机的处理性能,而且不同的操作系统平台都会有冗余功能代码的移植的问题。
(2)由浙江中控提出的专利“基于环形网络的通信方法及环形网络”(200910262199.4)提供一种环形网络通信方法,所有设备都包含至少两个端口,分别为主线路和备用线路,两路通道同时接收外部数据,从软件上对数据包进行过滤。这种情况下切换器两路网卡同时工作,对设备本身的处理器增加负担,切换效率有限,且该方法需要外部设备发送端同时向两个通道发送报文,因而其应用只能定制,无法做到完全通用;由中船重工第七一六研究所提出的专利“智能双冗余千兆以太网处理板卡”(201110213065.0)设计一种双冗余切换板卡,利用网络处理器来分担主机的双冗余切换任务,该冗余方法绑定了板卡的网络地址,只适用于单个主机,无法满足系统内部多个终端主机的同时对外进行双冗余网络通信的需求。
(3)面向交换机的链路环网协议,如STP、RSTP等协议,包括华为公司的快速环网切换技术(RRPP:Rapid Ring Protection Protocol)、研华公司的双环冗余技术(Dual Ring及Couple Ring)、东土电信公司的高性能冗余环网技术(DT-Ring+)——专利“一种工业以太网快速冗余的实现方法”(专利号:200710003041.6)等。该类技术大多应用于以太环网的链路层协议,采用多点交叉的冗余环网结构然后通过路径计算断开环路,在故障时寻找最优路径来实现线路备份。这些方法首先在网络部署时线路相对复杂,对交换机要求较高,同时随着网络上交换机数量的增加,路由计算时间变长,切换时间也会越来越长,而且对于用户来说,交换机上的安全配置管理功能相对比较单一,在定制应用的灵活性和开放程度上稍有欠缺。
因此,提供一种能保证切换效率、与终端主机软硬件平台无关的,可集成于主机、小型网络系统内部作为连接外网进行双冗余网络通信的方法,满足现有网络通信的可靠性、实时性和安全性方面的要求,是很有必要的。
发明内容
本发明的目的是提供一种与平台无关的网络双冗余热切换方法,应用于主机、小型网络系统,可满足多个终端主机同时对外进行双冗余网络通信。基于数据链路层的快速链路诊断策略,能够更快更准确的检测到网络异常并进行切换,链路诊断和切换操作的实现均与终端主机的软硬件平台无关。此外还可通过配置报文对系统内部终端主机的身份进行认证管理,以此决定终端主机对外是否可见,使得系统组网应用时更灵活更安全。
为了实现上述目的,本发明提供一种与平台无关的网络双冗余热切换方法,包括如下步骤:
步骤一:智能网络通信处理单元1板载三个独立以太网卡A、网卡B、网卡C,其中网卡A和网卡B作为对外冗余通道,与外网连接;对内通过网卡C与二层交换单元2连接,终端主机连接在该二层交换单元2上,网络双冗余热切换操作完全在智能网络通信处理单元1上实现;
步骤二:智能网络通信处理单元1维护本地网络地址记录表(M1),该表由终端主机的MAC、IP二元组(M2)组成;对于来对于来自A通道或B通道的网络报文,提取报文的链路层目的地址信息,并根据本地网络地址记录表(M1)进行查表判断是否存在该地址;而对于来自C通道的网络报文,则提取报文的链路层源地址信息,再与M1进行查表判断;如果查表存在该地址则表示当前报文已通过身份认证,允许通过链路层进行转发,否则丢弃此报文;
步骤三:智能网络通信处理单元1接收到来自C通道的配置报文时,首先提取报文源端的MAC、IP,然后对本地网络地址记录表(M1)进行查表和记录项的更新;
步骤四:智能网络通信处理单元1启动定时任务,在数据链路层对A通道和B通道当前链路状态进行诊断,当主通道正常时,不进行切换;当主通道异常且从通道正常时,则需要进行切换;
步骤五:当满足切换条件时,将冗余通道的A通道和B通道分别进行主从切换,即主切换为从,从切换为主,同时修改主通道标志(M3)、通道状态计数器(M5),修改通道在主或者从工作状态下的物理配置,包括过滤模式、MAC地址、组播地址;
步骤六:根据本地网络地址记录表(M1)的信息生成ARP报文,并通过主通道向外网发送出去,以通知外网交换机更新本地路由信息,避免因为外网交换机老化时间过长而影响切换实时性;如果M1存在多个对外可见的终端主机信息,则向外网发送多个ARP报文。
进一步地,终端主机的身份认证方式通过配置报文(M4)来进行动态配置和管理,以此决定终端主机对外是否可见;该配置报文(M4)由终端主机发送请求给智能网络通信处理单元1,配置和管理的结果体现在对M1的记录项的修改,默认情况下所有终端主机对外都不可见;通过对本地网络地址记录表(M1)以MAC作为关键字进行查表,如果有相同MAC的记录项则更新该记录项的IP字段,如果没有则直接增加记录项。
基于数据链路层的快速链路诊断策略工作在智能网络通信处理单元1上,该智能网络通信处理单元1维护冗余通道的A通道和B通道的当前通道状态计数器(M5),除了对loopback和网卡的链路状态(M6)作为链路诊断依据外,还采用主动检测手段,通过冗余通道的从通道发送测试帧(M7),结合该测试帧的结果来判断是否需要进入切换处理流程。
与现有技术相比,本发明提出的方法能满足多个终端主机同时对外进行双冗余网络通信的需求;通过身份认证功能来动态配置和管理内部终端主机对外是否可见,使得对外网络通信应用时更灵活更安全;基于数据链路层的快速链路诊断策略,可以有效解决因为物理层获取链路状态的响应时间过长的问题,降低误判,提高了链路诊断的实时性和准确性;链路诊断和切换操作均与终端主机的平台无关,不占用终端主机的处理性能,不受软硬件平台的限制,适应性强。
附图说明
图1为逻辑结构图;
图2为身份认证操作流程图;
图3为基于链路层的诊断策略流程图;
图4为通道状态计数器状态图;
图5为通道切换状态机。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
如图1所示,本发明在逻辑结构上主要由智能网络通信处理单元1和二层交换单元2组成,终端设备连接在该二层交换单元2上,链路诊断算法、冗余切换操作完全在智能网络通信处理单元1上实现。
本发明提供了一种面向终端主机或小型网络系统的双冗余网络快速热切换方法,具体实施步骤如下:
步骤一:智能网络通信处理单元1板载三个独立以太网卡A、网卡B、网卡C,其中网卡A和网卡B作为对外冗余通道,与外网进行连接;对内通过网卡C与二层交换单元2连接,系统内部的所有终端主机都连接在二层交换单元2上,所有内部终端主机可以进行基于L2的网络数据通信;
步骤二:智能网络通信处理单元1维护本地网络地址记录表(M1),主要为终端主机的MAC、IP二元组(M2),该表作为报文是否进行转发的依据,对于来自冗余通道(A通道或B通道)或C通道的网络报文,提取报文的链路层信息,并根据本地网络地址记录表(M1)判断是否存在该地址信息,如果存在则在链路层转发出去;
本地网络地址记录表(M1)的初始化为空,即所有内部终端主机对外均不可见,通过后面介绍的身份认证方式进行记录项的增删减;
步骤三:如图2所示,终端主机对外身份动态可配置功能,通过配置报文(M4)来决定终端主机对外是否可见,智能网络通信处理单元1接收到从网卡C发送过来的配置报文时,首先提取源端的MAC和IP地址信息,然后对本地网络地址记录表(M1)进行查表和更新;
步骤四:基于数据链路层的快速链路诊断策略是冗余切换方法最重要的一环,如图3所示,智能网络通信处理单元1启动定时任务,在数据链路层对A通道和B通道当前链路状态进行诊断,当主通道正常时,不进行切换;当主通道异常且从通道正常时,则需要进行切换;
步骤五:当发现冗余通道的主通道链路异常时,将冗余通道A通道和B通道分别进行主从切换,同时按照如下顺序,依次修改主通道标志(M3)、通道状态计数器(M5)和对应通道分别在主、从工作模式下的过滤模式、MAC地址、组播地址等物理配置,此时主通道切换为从工作模式,从通道切换到主工作模式;
步骤六:对外更新路由操作。根据本地网络地址记录表(M1)的信息生成ARP报文,并通过主通道向外网发送出去,以通知外网交换机更新链路切换和本地路由信息,避免因为外网交换机老化时间过长而影响切换实时性,如果有新的设备,根据MAC和IP的二元组(M2)对记录表进行查找,然后继续添加本地网络地址记录表。
如图2所示,终端主机的身份认证方式通过配置报文(M4)来进行动态配置,以此决定终端主机对外是否可见;该配置报文(M4)由终端主机发送请求给智能网络通信处理单元1,配置结果体现在对M1的记录项的修改,默认情况下所有设备对外都不可见;
智能网络通信处理单元1接收到来自终端主机的配置报文(M4)时,首先判断数据帧链路层协议eth->h_proto为IP数据帧,报文类型为UDP,提取目的地址的MAC、IP、PORT等网络地址信息,然后判断其是否与配置管理地址的MAC、IP、PORT匹配,如果为配置报文则提取该配置报文的源MAC、IP二元组(M2),通过对本地网络地址记录表(M1)以MAC作为关键字进行查表,如果有相同MAC的记录项则对IP更新地址;如果没有则直接增加记录项,该规则主要针对内部终端的IP地址可能会在使用过程中被修改的应用场合;此外,该纪录项增项基于LRU算法,将近期最少使用的记录项进行循环覆盖。
图3为链路状态诊断策略的流程图,智能网络通信处理单元1维护冗余通道的A通道和B通道当前通道状态计数器(M5),除了对loopback和网卡的链路状态(M6)作为链路诊断依据外,还采用主动检测手段,结合冗余通道的从通道的测试帧(M7)的结果来进行状态判断;
首先智能网络通信处理单元1开启定时诊断任务,进行链路状态检测;如图4所示,首先判断当前主通道(M3)如果为A通道,则通过网卡调用netif_carrier来获得链路状态,假设为链接状态(M6)正常,则通过A通道的状态计数器(M5)判断当前通道在有效时间间隔内有无数据(cnt==Th+1),如果没有数据,则调用B通道发送Arp Response测试帧(M7),测试帧的链路层dest地址为虚拟设备的网络地址,IP层Src地址配置为当前从通道的网络地址;
如果在下一次链路检测发现仍然没有接收到数据帧(cnt==Th+2),此时无论链路状态正常还是异常,都重复进行链路测试发送测试帧(M7),避免过于敏感出现误判,因此该测试帧具有两个方面的作用;
如果主通道的通道状态计数器(M5)超出阈值(cnt==Th+3),则进入对从通道的链路进行检测,如果通道B的链路状态(M6)异常,则认为是从通道测试帧(M7)没有正常发送,且两端没有网络通信,此时可认为主通道正常,另外由于从通道的链路状态(M6)异常,所以在这种情况下不必切换;如果通过netif_carrier检测发现从通道正常,则可认为是主通道的网络出现问题,此时需要进入切换流程;
在任何时刻链路层接收到数据帧的时候,对该通道状态计数器(M5)进行重置(cnt==Th);为加快切换速度,如果发现主通道的链路状态(M6)异常,则可直接进入切换流程;
上述流程在主通道为B的时候亦然;该切换为循环执行,可以自动轮流执行切换,如果通道A和通道B同时异常,则不会进入循环切换;
图5为通道在各个时期的状态图,状态之间的连接线分别表示不同的触发条件;
为了尽可能减少测试帧占用网络带宽,在当前主通道收到报文时,有效时间间隔T重新开始计时,只有在主通道的通道状态计数器(M5)大于T的时候才通过从通道发送测试帧(M7)。

Claims (3)

1.一种与平台无关的网络双冗余热切换方法,其特征在于:包括如下步骤:
步骤一:智能网络通信处理单元(1)板载三个独立以太网卡A、网卡B、网卡C,其中网卡A和网卡B作为对外冗余通道,与外网连接;对内通过网卡C与二层交换单元(2)连接,终端主机连接在该二层交换单元(2)上,网络双冗余热切换操作完全在智能网络通信处理单元(1)上实现;
步骤二:智能网络通信处理单元(1)维护本地网络地址记录表M1,该表由终端主机的MAC、IP二元组M2组成;对于来自A通道或B通道的网络报文,提取报文的链路层目的地址信息,并根据本地网络地址记录表M1进行查表判断是否存在该地址;而对于来自C通道的网络报文,则提取报文的链路层源地址信息,再根据M1进行查表判断;如果查表存在该地址则表示当前报文已通过身份认证,允许通过链路层进行转发,否则丢弃此报文;
步骤三:智能网络通信处理单元(1)接收到来自C通道的配置报文时,首先提取报文源端的MAC、IP,然后对本地网络地址记录表M1进行查表和记录项的更新;
步骤四:智能网络通信处理单元(1)启动定时任务,在数据链路层对A通道和B通道当前链路状态进行诊断,当主通道正常时,不进行切换;当主通道异常且从通道正常时,则需要进行切换;
步骤五:当满足切换条件时,将冗余通道的A通道和B通道分别进行主从切换,即主切换为从,从切换为主,同时修改主通道标志M3、通道状态计数器M5,修改通道在主或者从工作状态下的物理配置,包括过滤模式、MAC地址、组播地址;
步骤六:根据本地网络地址记录表M1的信息生成ARP报文,并通过主通道向外网发送出去,以通知外网交换机更新本地路由信息,避免因为外网交换机老化时间过长而影响切换实时性;如果M1存在多个对外可见的终端主机信息,则向外网发送多个ARP报文。
2.根据权利要求1所述的一种与平台无关的网络双冗余热切换方法,其特征在于:终端主机的身份认证方式通过配置报文M4来进行动态配置和管理,以此决定终端主机对外是否可见;该配置报文M4由终端主机发送请求给智能网络通信处理单元(1),配置和管理的结果体现在对M1的记录项的修改,默认情况下所有终端主机对外都不可见;通过对本地网络地址记录表M1以MAC作为关键字进行查表,如果有相同MAC的记录项则更新该记录项的IP字段,如果没有则直接增加记录项。
3.根据权利要求1所述的一种与平台无关的网络双冗余热切换方法,其特征在于:基于数据链路层的快速链路诊断策略工作在智能网络通信处理单元(1)上,该智能网络通信处理单元(1)维护冗余通道的A通道和B通道的当前通道状态计数器M5,除了对loopback和网卡的链路状态M6作为链路诊断依据外,还采用主动检测手段,通过冗余通道的从通道发送测试帧M7,结合该测试帧的结果来判断是否需要进入切换处理流程。
CN201310663882.5A 2013-12-10 2013-12-10 一种与平台无关的网络双冗余热切换方法 Active CN103684719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310663882.5A CN103684719B (zh) 2013-12-10 2013-12-10 一种与平台无关的网络双冗余热切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310663882.5A CN103684719B (zh) 2013-12-10 2013-12-10 一种与平台无关的网络双冗余热切换方法

Publications (2)

Publication Number Publication Date
CN103684719A CN103684719A (zh) 2014-03-26
CN103684719B true CN103684719B (zh) 2017-02-15

Family

ID=50321122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310663882.5A Active CN103684719B (zh) 2013-12-10 2013-12-10 一种与平台无关的网络双冗余热切换方法

Country Status (1)

Country Link
CN (1) CN103684719B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110690994A (zh) * 2019-09-25 2020-01-14 天津津航计算技术研究所 一种通用双冗余网卡切换的方法
CN111786819B (zh) * 2020-06-16 2023-08-11 深圳市三旺通信股份有限公司 一种具有双网口冗余功能的串口服务器
CN112260893B (zh) * 2020-10-14 2022-04-19 天津津航计算技术研究所 一种基于网络心跳的VxWorks操作系统的以太网冗余装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378334A (zh) * 2008-09-25 2009-03-04 卡斯柯信号有限公司 基于双网冗余通用网络模型的通讯方法
CN101908974A (zh) * 2010-07-16 2010-12-08 北京航天发射技术研究所 Can总线双冗余热切换系统及热切换方法
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks系统下的多网卡双冗余装置及系统
CN102436409A (zh) * 2011-11-04 2012-05-02 青岛海信网络科技股份有限公司 双机冗余系统的冗余管理及切换方法
CN102662803A (zh) * 2012-03-13 2012-09-12 深圳华北工控股份有限公司 一种双控双活冗余设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076517B2 (en) * 2001-09-20 2006-07-11 Microchip Technology Incorporated Serial communication device with dynamic filter allocation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378334A (zh) * 2008-09-25 2009-03-04 卡斯柯信号有限公司 基于双网冗余通用网络模型的通讯方法
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks系统下的多网卡双冗余装置及系统
CN101908974A (zh) * 2010-07-16 2010-12-08 北京航天发射技术研究所 Can总线双冗余热切换系统及热切换方法
CN102436409A (zh) * 2011-11-04 2012-05-02 青岛海信网络科技股份有限公司 双机冗余系统的冗余管理及切换方法
CN102662803A (zh) * 2012-03-13 2012-09-12 深圳华北工控股份有限公司 一种双控双活冗余设备

Also Published As

Publication number Publication date
CN103684719A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
US20220086073A1 (en) Data packet detection method, device, and system
KR101706008B1 (ko) 통신 실패에 따라서 분산된 릴레이 제어 프로토콜 〔drcp〕 동작을 지원하기 위한 방법 및 시스템
US8014410B2 (en) Automatic packet protection forwarding to an MPLS network by a dual-homed ethernet bridge
US8306024B2 (en) Preventing forwarding of a packet to a control plane
CN104980372B (zh) 中继系统以及交换机装置
US10708132B2 (en) Technique for handling a status change in an interconnect node
CN103843293B (zh) 通信系统、传输装置、通信装置、故障通知方法以及存储程序的非瞬时计算机可读介质
US20060198315A1 (en) Communication apparatus
US20120155484A1 (en) Technique for dual homing interconnection between communication networks
CA2683205A1 (en) An ethernet protection switching system
US9973349B2 (en) Relay system and switching device
EP2634967B1 (en) Data driven connection fault management (DDCFM) in CFM maintenance points
US20100054132A1 (en) Communication apparatus and method for terminating a maintenance message
US9060030B2 (en) Frame concatenation apparatus
CN109039825A (zh) 一种网络数据保护设备及方法
CN103684719B (zh) 一种与平台无关的网络双冗余热切换方法
CN108234234A (zh) 采用经修改的以太网连接性故障管理信令以避免死锁
US20140092725A1 (en) Method and first network node for managing an ethernet network
US20150312090A1 (en) Relay System and Switching Device
US8929200B2 (en) Communication device, communication system, and communication method
CN101547131B (zh) Eaps环网单通故障定位和保护方法
EP2858302B1 (en) Connectivity check method of service stream link, related apparatus and system
CN105391630B (zh) 中继系统以及中继装置
JP2010239593A (ja) パケット処理装置およびインタフェースユニット
CN108282383A (zh) 一种实现故障处理的方法及设备

Legal Events

Date Code Title Description
PB01 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