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

文档序号:7779660阅读:795来源:国知局
一种与平台无关的网络双冗余热切换方法
【专利摘要】一种与平台无关的网络双冗余热切换方法,内部终端主机通过二层交换单元与智能网络通信处理单元连接,在智能网络通信处理单元上维护本地网络地址记录表,通过配置报文的方式,对内部终端主机的对外网络通信功能进行身份认证管理,并采用基于数据链路层的快速链路诊断策略来实现链路诊断以及双冗余热切换操作。该方法能满足多个终端主机同时对外进行双冗余网络通信,并且可动态配置和管理内部终端主机对外是否可见,使得对外网络通信应用更安全更灵活;基于数据链路层的快速链路诊断策略,极大的提高了链路诊断的实时性和准确性;所有操作均与终端主机无关,不受终端主机的软硬件平台的限制,适用性强。
【专利说明】一种与平台无关的网络双冗余热切换方法
【技术领域】
[0001]本成果涉及智能冗余、链路检测和高可靠网络通信【技术领域】,具体为一种与平台无关的网络双冗余热切换方法。
【背景技术】
[0002]随着越来越多的的电子设备都具有网络接口,大到数据服务器,小到一台主机甚至一个带网络接口的嵌入式智能板卡,都可能有接入网的需求,然而有许多原因都可能会导致网络通信异常,如网络堵塞、网线断开、网络接口连接器松动、设备硬件故障,软件异常等,都可能会影响网络通信质量。为了尽量避免嵌入式网络中网络节点故障和链路故障所带来的损失,需要设计良好的冗余方案,来提高网络数据传输可靠性和网络故障恢复能力。
[0003]双网卡冗余设计在终端主机接入网络中得到了广泛应用,而传统的冗余实现方式与终端主机的软硬件平台是密切相关的。
[0004]首先,从硬件平台来说,终端主机不仅仅需要两个以上的独立网卡,诊断和切换操作也必然会占用终端主机的处理器硬件资源,进而会影响其通信和处理性能。由于冗余功能实现的核心在于链路诊断方法,检测频率越高,切换实时性越高,但是同样对处理器的性能影响越大;从软件平台来说,即使冗余部分的代码可以做到与应用软件完全隔离,也会存在不同操作系统的移植性和通用性问题,不同的冗余功能代码之间、实时操作系统和非实时操作系统之间,其切换效率也大不相同,另外随着软件平台的升级,冗余功能相关代码的升级和维护也会带来问题。
[0005]目前国内外关于双网冗余技术的研究和应用,主要为以下几种方式:
(I)双网卡冗余技术。在专利“一种双网卡热备冗余方法”,专利号为201110201778.6中将每台主机的两路网卡都分别接在级联的两台交换机上,然后通过主机的监视程序发送报文进行诊断和切换;同样在专利“一种VxWorks系统下的多网卡双冗余装置及系统”(200910189047.6)中也提到通过在主机驱动层和MUX层之间虚拟网卡,用于管理互为冗余的物理网卡来实现冗余功能。这些冗余设计都需要主机的软硬件平台支撑,在一定程度上都会占用主机的处理性能,而且不同的操作系统平台都会有冗余功能代码的移植的问题。
[0006](2)由浙江中控提出的专利“基于环形网络的通信方法及环形网络”(200910262199.4)提供一种环形网络通信方法,所有设备都包含至少两个端口,分别为主线路和备用线路,两路通道同时接收外部数据,从软件上对数据包进行过滤。这种情况下切换器两路网卡同时工作,对设备本身的处理器增加负担,切换效率有限,且该方法需要外部设备发送端同时向两个通道发送报文,因而其应用只能定制,无法做到完全通用;由中船重工第七一六研究所提出的专利“智能双冗余千兆以太网处理板卡”(201110213065.0)设计一种双冗余切换板卡,利用网络处理器来分担主机的双冗余切换任务,该冗余方法绑定了板卡的网络地址,只适用于单个主机,无法满足系统内部多个终端主机的同时对外进行双冗余网络通信的需求。[0007](3)面向交换机的链路环网协议,如STP、RSTP等协议,包括华为公司的快速环网切换技术(RRPP: Rapid Ring Protection Protocol)、研华公司的双环冗余技术(Dual
Ring及Couple Ring)、东土电信公司的高性能冗余环网技术(DT-Ring+)-专利“一种
工业以太网快速冗余的实现方法”(专利号:200710003041.6)等。该类技术大多应用于以太环网的链路层协议,采用多点交叉的冗余环网结构然后通过路径计算断开环路,在故障时寻找最优路径来实现线路备份。这些方法首先在网络部署时线路相对复杂,对交换机要求较高,同时随着网络上交换机数量的增加,路由计算时间变长,切换时间也会越来越长,而且对于用户来说,交换机上的安全配置管理功能相对比较单一,在定制应用的灵活性和开放程度上稍有欠缺。
[0008]因此,提供一种能保证切换效率、与终端主机软硬件平台无关的,可集成于主机、小型网络系统内部作为连接外网进行双冗余网络通信的方法,满足现有网络通信的可靠性、实时性和安全性方面的要求,是很有必要的。

【发明内容】

[0009]本发明的目的是提供一种与平台无关的网络双冗余热切换方法,应用于主机、小型网络系统,可满足多个终端主机同时对外进行双冗余网络通信。基于数据链路层的快速链路诊断策略,能够更快更准确的检测到网络异常并进行切换,链路诊断和切换操作的实现均与终端主机的软硬件平台无关。此外还可通过配置报文对系统内部终端主机的身份进行认证管理,以此决定终端主机对外是否可见,使得系统组网应用时更灵活更安全。
[0010]为了实现上述目的,本发明提供一种与平台无关的网络双冗余热切换方法,包括如下步骤:
步骤一:智能网络通信处理单元(I)板载三个独立以太网卡(A、B、C),其中网卡A和网卡B作为对外冗余通道,与外网连接;对内通过网卡C与二层交换单元(2)连接,终端主机连接在该二层交换单元(2)上,网络双冗余热切换操作完全在智能网络通信处理单元(I)上实现;
步骤二:智能网络通信处理单元(I)维护本地网络地址记录表(M1),该表由终端主机的MAC、IP 二元组(M2)组成;对于来自冗余口(A通道或B通道)的网络报文,提取报文的链路层目的地址信息,并根据本地网络地址记录表(Ml)进行查表判断是否存在该地址;而对于来自C通道的网络报文,则提取报文的链路层源地址信息,再与Ml进行查表判断;如果查表存在该地址则表示当前报文已通过身份认证,允许通过链路层进行转发,否则丢弃此报文;
步骤三:智能网络通信处理单元(I)接收到来自C通道的配置报文时,首先提取报文源端的MAC、IP,然后对本地网络地址记录表(Ml)进行查表和记录项的更新;
步骤四:智能网络通信处理单元(I)启动定时任务,在数据链路层对两个通道当前链路状态进行诊断,当主通道正常时,不进行切换;当主通道异常且从通道正常时,则需要进行切换;
步骤五:当满足切换条件时,将冗余口的两条通道分别进行主从切换,即主切换为从,从切换为主,同时修改主通道标志(M3)、通道状态计数器(M5),修改通道在主或者从工作状态下的物理配置,包括过滤模式、MAC地址、组播地址; 步骤六:根据本地网络地址记录表(Ml)的信息生成ARP报文,并通过主通道向外网发送出去,以通知外网交换机更新本地路由信息,避免因为外网交换机老化时间过长而影响切换实时性;如果Ml存在多个对外可见的终端主机信息,则向外网发送多个ARP报文。
[0011]进一步地,终端主机的身份认证方式通过配置报文(M4)来进行动态配置和管理,以此决定终端主机对外是否可见;该配置报文(M4)由终端主机发送请求给智能网络通信处理单元(I),配置和管理的结果体现在对Ml的记录项的修改,默认情况下所有终端主机对外都不可见;通过对本地网络地址记录表(Ml)以MAC作为关键字进行查表,如果有相同MAC的记录项则更新该记录项的IP字段,如果没有则直接增加记录项。
[0012]基于数据链路层的快速链路诊断策略工作在智能网络通信处理单元(I)上,该智能网络通信处理单元(I)维护冗余口的两个通道的当前通道状态计数器(M5),除了对loopback和网卡的链路状态(M6)作为链路诊断依据外,还采用主动检测手段,通过冗余口的从通道发送测试帧(M7),结合该测试帧的结果来判断是否需要进入切换处理流程。
[0013]与现有技术相比,本发明提出的方法能满足多个终端主机同时对外进行双冗余网络通信的需求;通过身份认证功能来动态配置和管理内部终端主机对外是否可见,使得对外网络通信应用时更灵活更安全;基于数据链路层的快速链路诊断策略,可以有效解决因为物理层获取链路状态的响应时间过长的问题,降低误判,提高了链路诊断的实时性和准确性;链路诊断和切换操作均与终端主机的平台无关,不占用终端主机的处理性能,不受软硬件平台的限制,适应性强。
【专利附图】

【附图说明】
[0014]图1为逻辑结构图;
图2为身份认证操作流程图;
图3为基于链路层的诊断策略流程图;
图4为通道状态计数器状态图;
图5为通道切换状态机。
【具体实施方式】
[0015]下面结合附图对本发明的技术方案作进一步说明。
[0016]如图1所示,本发明在逻辑结构上主要由智能网络通信处理单元(I)和二层交换单元(2)组成,终端设备连接在该二层交换单元(2)上,链路诊断算法、冗余切换操作完全在智能网络通信处理单元(I)上实现。
[0017]本发明提供了一种面向终端主机或小型网络系统的双冗余网络快速热切换方法,具体实施步骤如下:
步骤一:智能网络通信处理单元(I)板载三个独立以太网卡(A、B、C),其中网卡A和网卡B作为对外冗余通道,与外网进行连接;对内通过网卡C与二层交换单元(2)连接,系统内部的所有终端主机都连接在二层交换单元(2)上,所有内部终端主机可以进行基于L2的网络数据通信;
步骤二:智能网络通信处理单元(I)维护本地网络地址记录表(M1),主要为终端主机的MAC、IP 二元组(M2),该表作为报文是否进行转发的依据,对于来自冗余口(A通道或B通道)或C通道的网络报文,提取报文的链路层信息,并根据本地网络地址记录表(Ml)判断是否存在该地址信息,如果存在则在链路层转发出去;
本地网络地址记录表(Ml)的初始化为空,即所有内部终端主机对外均不可见,通过后面介绍的身份认证方式进行记录项的增删减;
步骤三:如图2所示,终端主机对外身份动态可配置功能,通过配置报文(M4)来决定终端主机对外是否可见,智能网络通信处理单元(I)接收到从网卡C发送过来的配置报文时,首先提取源端的MAC和IP地址信息,然后对本地网络地址记录表(Ml)进行查表和更新;步骤四:基于数据链路层的快速链路诊断策略是冗余切换方法最重要的一环,如图3所示,智能网络通信处理单元(I)启动定时任务,在数据链路层对两个通道当前链路状态进行诊断,当主通道正常时,不进行切换;当主通道异常且从通道正常时,则需要进行切换;
步骤五:当发现冗余口的主通道链路异常时,将冗余口两条通道分别进行主从切换,同时按照如下顺序,依次修改主通道标志(M3)、通道状态计数器(M5)和对应通道分别在主、从工作模式下的过滤模式、MAC地址、组播地址等物理配置,此时主通道切换为从工作模式,从通道切换到主工作模式;
步骤六:对外更新路由操作。根据本地网络地址记录表(Ml)的信息生成ARP报文,并通过主通道向外网发送出去,以通知外网交换机更新链路切换和本地路由信息,避免因为外网交换机老化时间过长而影响切换实时性,如果有新的设备,根据MAC和IP的二元组(M2)对记录表进行查找,然后继续添加本地网络地址记录表。
[0018]如图2所示,终端主机的身份认证方式通过配置报文(M4)来进行动态配置,以此决定终端主机对外是否可见;该配置报文(M4)由终端主机发送请求给智能网络通信处理单元(I),配置结果体现在对Ml的记录项的修改,默认情况下所有设备对外都不可见;
智能网络通信处理单元⑴接收到来自终端主机的配置报文(M4)时,首先判断数据帧链路层协议eth->h_pr0t0为IP数据帧,报文类型为UDP,提取目的地址的MAC、IP、PORT等网络地址信息,然后判断其是否与配置管理地址的MAC、IP、PORT匹配,如果为配置报文则提取该配置报文的源MAC、IP 二元组(M2),通过对本地网络地址记录表(Ml)以MAC作为关键字进行查表,如果有相同MAC的记录项则对IP更新地址;如果没有则直接增加记录项,该规则主要针对内部终端的IP地址可能会在使用过程中被修改的应用场合;此外,该纪录项增项基于LRU算法,将近期最少使用的记录项进行循环覆盖。
[0019]图3为链路状态诊断策略的流程图,智能网络通信处理单元(I)维护冗余口的两个通道当前通道状态计数器(M5),除了对loopback和网卡的链路状态(M6)作为链路诊断依据外,还采用主动检测手段,结合冗余口的从通道的测试帧(M7)的结果来进行状态判断;
首先智能网络通信处理单元(I)开启定时诊断任务,进行链路状态检测;如图4所示,首先判断当前主通道(M3)如果为A通道,则通过网卡调用netif_Carrier来获得链路状态,假设为链接状态(M6)正常,则通过A通道的状态计数器(M5)判断当前通道在有效时间间隔内有无数据(cnt == Th + I),如果没有数据,则调用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)。·
【权利要求】
1.一种与平台无关的网络双冗余热切换方法,其特征在于:包括如下步骤: 步骤一:智能网络通信处理单元(I)板载三个独立以太网卡(A、B、C),其中网卡A和网卡B作为对外冗余通道,与外网连接;对内通过网卡C与二层交换单元(2)连接,终端主机连接在该二层交换单元(2)上,网络双冗余热切换操作完全在智能网络通信处理单元(I)上实现; 步骤二:智能网络通信处理单元(I)维护本地网络地址记录表(M1),该表由终端主机的MAC、IP 二元组(M2)组成;对于来自冗余口(A通道或B通道)的网络报文,提取报文的链路层目的地址信息,并根据本地网络地址记录表(Ml)进行查表判断是否存在该地址;而对于来自C通道的网络报文,则提取报文的链路层源地址信息,再与Ml进行查表判断;如果查表存在该地址则表示当前报文已通过身份认证,允许通过链路层进行转发,否则丢弃此报文; 步骤三:智能网络通信处理单元(I)接收到来自C通道的配置报文时,首先提取报文源端的MAC、IP,然后对本地网络地址记录表(Ml)进行查表和记录项的更新; 步骤四:智能网络通信处理单元(I)启动定时任务,在数据链路层对两个通道当前链路状态进行诊断,当主通道正常时,不进行切换;当主通道异常且从通道正常时,则需要进行切换; 步骤五:当满足切换条件时,将冗余口的两条通道分别进行主从切换,即主切换为从,从切换为主,同时修改主通道标志(M3)、通道状态计数器(M5),修改通道在主或者从工作状态下的物理配置,包括过滤模式、MAC地址、组播地址; 步骤六:根据本地网络地址记录表(Ml)的信息生成ARP报文,并通过主通道向外网发送出去,以通知外网交换机更新本地路由信息,避免因为外网交换机老化时间过长而影响切换实时性;如果Ml存在多个对外可见的终端主机信息,则向外网发送多个ARP报文。
2.根据权利要求1所述的一种与平台无关的网络双冗余热切换方法,其特征在于:终端主机的身份认证方式通过配置报文(M4)来进行动态配置和管理,以此决定终端主机对外是否可见;该配置报文(M4)由终端主机发送请求给智能网络通信处理单元(1),配置和管理的结果体现在对Ml的记录项的修改,默认情况下所有终端主机对外都不可见;通过对本地网络地址记录表(Ml)以MAC作为关键字进行查表,如果有相同MAC的记录项则更新该记录项的IP字段,如果没有则直接增加记录项。
3.根据权利要求1所述的一种与平台无关的网络双冗余热切换方法,其特征在于:基于数据链路层的快速链路诊断策略工作在智能网络通信处理单元(I)上,该智能网络通信处理单元(I)维护冗余口的两个通道的当前通道状态计数器(M5),除了对loopback和网卡的链路状态(M6)作为链路诊断依据外,还采用主动检测手段,通过冗余口的从通道发送测试帧(M7),结合该测试帧的结果来判断是否需要进入切换处理流程。
【文档编号】H04L1/22GK103684719SQ201310663882
【公开日】2014年3月26日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】陈敏, 符才德, 张少锋, 吴向军 申请人:中国船舶重工集团公司第七0九研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1