一种高可靠双冗余以太网实时倒换方法与流程

文档序号:17429035发布日期:2019-04-17 03:14阅读:479来源:国知局
一种高可靠双冗余以太网实时倒换方法与流程

本发明属于以太网技术领域,涉及双冗余以太网实时倒换方法,尤其是一种高可靠双冗余以太网实时倒换方法。



背景技术:

在武器系统中,信息传输的可靠性极为重要,直接关系到武器装备的功能性能是否能够有效发挥。但在实际中,由于硬件或软件原因通讯链路出现故障几乎是不可避免的,因此采用有效的防错、容错机制对需要可靠运行的武器系统是必需的。一般来说,可以采用冗余备份、故障恢复、设备告警等手段来防范错误。倒换机制是其中一种故障保护机制,它对可靠性要求极高的通讯链路进行冗余备份,当其中一条链路由于某种原因不能正常工作时,另一条链路马上就可以代替故障链路完成相同的功能。以太网正逐渐成为武器系统中高速实时通讯的主流方式,本发明即提出一种针对双冗余以太网的倒换技术。

目前常用的双冗余以太网倒换方法有基于硬件实现的倒换、网络驱动层面上的倒换等。其中基于硬件实现的倒换,由于其实现机理,优势是切换速度快,缺点是技术复杂、可维修性差、可配置性不强和硬件成本较高,非通讯专业单位较难实现,一般需要寻求其他专业单位定制。基于网络驱动层面实现的倒换优势是不需要对商业网卡做任何改动,通过改写底层的网卡驱动程序实现双网冗余功能,从而使应用层对此功能需求变得透明化,程序的体系结构更加合理,缺点是出现故障时,由于其实现在底层,较难在应用层进行故障定位,增加了维修时间,同时改写网卡驱动程序存在较高的技术难度。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种设计合理、实现简单、配置灵活、可靠性高和故障定位快的高可靠双冗余以太网实时倒换方法。

本发明解决其现实问题是采取以下技术方案实现的:

一种高可靠双冗余以太网实时倒换方法,包括以下步骤:

步骤1、软件启动后查找系统中存在的网卡,如果只查找到一块网卡则报错,否则建立第一块网卡在ip网络层与通讯链路的连接,并设置这块网卡的ip地址、子网掩码;

步骤2、启动第一块网卡设置为当前工作网卡,即利用ifflagset或ifconfig函数将其状态设置为“up”;将另一块网卡设置为备用网卡,即将其状态设置为“down”,并建立通讯链路;

步骤3、启动一监控任务不间断查询当前工作网卡的通讯链路连接是否正常;

步骤4、如检测到当前工作网卡通讯链路连接异常,则删除当前工作网卡连接的路由,在ip网络层断开与通讯链路的连接,将其状态设置为“down”,并标识为备用网卡;

步骤5、将原备用网卡标识为工作网卡,建立新工作网卡在ip网络层与通讯链路的连接,设置其ip地址为工作ip地址,并将其状态设置为“up”;

步骤6、将原备用网卡设置为工作网卡,同时将工作网卡设置为备用网卡,并重复步骤3、步骤4和步骤5,使程序得以不间断运行。

而且,所述步骤3的具体方法是:检测网络适配器控制芯片的mdi寄存器状态,读网络适配器控制芯片的mdi寄存器1,其bit5如果为0,说明该芯片的链路自检出错,如果为1则为正常。

本发明的优点和有益效果:

1、本发明针对武器系统基于双冗余以太网的高可靠实时通讯需求,提供一种双以太网倒换方法,本发明可高效检测到由于网络堵塞、网线松动、协议栈错误、适配器硬件故障等引起的网络通道故障,并具备实时倒换到备用网络通道的能力。

2、本发明提出的双冗余以太网倒换方法相比较现有的双冗余以太网倒换方法,不需要修改网卡硬件和网卡驱动,在程序应用层即可实现,完全基于操作系统自带的设备驱动、tcp/ip协议栈,具有实现简单、配置灵活、可靠性高和故障定位快的优势。

附图说明

图1为本发明的处理流程图。

具体实施方式

以下结合附图对本发明实施例作进一步详述:

一种高可靠双冗余以太网实时倒换方法,如图1所示,包括以下步骤:

步骤1、软件启动后查找系统中存在的网卡,如果只查找到一块网卡则报错,否则建立第一块网卡在ip网络层与通讯链路的连接,并设置这块网卡的ip地址、子网掩码;

步骤2、启动第一块网卡设置为当前工作网卡,即利用ifflagset或ifconfig函数将其状态设置为“up”;将另一块网卡设置为备用网卡,即将其状态设置为“down”,并建立通讯链路;

步骤3、启动一监控任务不间断查询当前工作网卡的通讯链路连接是否正常;

所述步骤3的具体方法是:检测网络适配器控制芯片的mdi寄存器状态,读网络适配器控制芯片的mdi寄存器1,其bit5如果为0,说明该芯片的链路自检出错,如果为1则为正常。

步骤4、如检测到当前工作网卡通讯链路连接异常,则删除当前工作网卡连接的路由,在ip网络层断开与通讯链路的连接,将其状态设置为“down”,并标识为备用网卡;

步骤5、将原备用网卡标识为工作网卡,建立新工作网卡在ip网络层与通讯链路的连接,设置其ip地址为工作ip地址,并将其状态设置为“up”;

步骤6、将原备用网卡设置为工作网卡,同时将工作网卡设置为备用网卡,并重复步骤3、步骤4和步骤5,使程序得以不间断运行。

在本实施例中,监控任务和倒换的代码如下:

用来完成网络适配器倒换的函数为eneswitch,其实现代码如下:

本发明的工作原理是:

本发明的倒换机制是采用两个网络适配器并行工作,当其中一个出现故障时或网线松动时,系统可以检测到错误,并在90ms内倒换到另一个网络适配器上。两个网络适配器使用同一个ip地址,对于外部同计算机已经建立起来的tcp/ip连接,切换网络适配器不会造成连接中断。

设备初始化完成后,启动一个监控任务,该任务的功能是对当前使用的网络适配器进行不间断定时查询,当发现该网络适配器失效时,就切换到另一个网络适配器上,如果切换成功,这个网络适配器就成为当前的网络适配器,该任务继续对当前的网络适配器进行监控。

判定一个网络适配器是否失效的方法是:读网络适配器控制芯片的mdi寄存器1,其bit5为如果为0,说明该芯片的链路自检出错,如果为1则为正常。

需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1