CN108155978B - 一种VxWorks环境下冗余网卡热备份的方法 - Google Patents
一种VxWorks环境下冗余网卡热备份的方法 Download PDFInfo
- Publication number
- CN108155978B CN108155978B CN201711204666.9A CN201711204666A CN108155978B CN 108155978 B CN108155978 B CN 108155978B CN 201711204666 A CN201711204666 A CN 201711204666A CN 108155978 B CN108155978 B CN 108155978B
- Authority
- CN
- China
- Prior art keywords
- network card
- backup
- network
- address
- current
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种VxWorks环境下冗余网卡热备份的方法,其中,包括:设置双网卡相同的MAC地址;设置双网卡IP地址;步骤S1、主机接收中断;步骤S2、判断当前网卡连接状态的通断,如果为通,则转步骤S4,如果为断则转步骤S3;步骤S3、判断备份网卡的通断,如果为通,则转步骤S6,如果为断则转步骤S5;S4、判断之前一循环两路网卡是否均断开;S5、输出两路王切换为备份网卡工作;S6、切换到备份网卡工作;S7、重新配置当前网卡的IP;S8、转步骤S1重新开始工作。本发明一种VxWorks环境下冗余网卡热备份的方法,当网卡或通信线路连接出现故障、通信异常以及通信不可靠时,通信节点能主动切换到备份网卡进行通信,提供有相关使用需求者参考使用。
Description
技术领域
本发明涉及数据备份技术,特别涉及一种VxWorks环境下冗余网卡热备份的方法。
背景技术
随着网络技术的成熟,具有价格低廉、连接方便等优点的以太网已成为各种控制系统接口互连的主要媒介。用于工业过程控制、通信、武器装备中的网络不但要求信息传输速度快,抗干扰能力强,还要求网络具有高稳定性和高可靠性。对于网络系统中的单个节点,常常需要对网卡进行双冗余备份,即每个节点都采用两个网络接口,两个网络接口间用两个集线器或交换机互连,当正常通信的网卡或线路出现故障时该节点能自动地切换到备份网卡进行通信。为此,本文提供了一种VxWorks环境下冗余网卡热备份的方法,当网卡或通信线路连接出现故障、通信异常以及通信不可靠时,通信节点能主动切换到备份网卡进行通信。
发明内容
本发明提供了一种VxWorks环境下冗余网卡热备份的方法,用于解决上述现有技术的问题。
本发明一种VxWorks环境下冗余网卡热备份的方法,其中,包括:设置双网卡相同的MAC地址;设置双网卡IP地址;步骤S1、主机接收中断;步骤S2、判断当前网卡连接状态的通断,如果为通,则转步骤S4,如果为断则转步骤S3;步骤S3、判断备份网卡的通断,如果为通,则转步骤S6,如果为断则转步骤S5;S4、判断之前一循环两路网卡是否均断开;S5、输出两路王切换为备份网卡工作;S6、切换到备份网卡工作;S7、重新配置当前网卡的IP;S8、转步骤S1重新开始工作。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,设置双网卡相同的MAC地址具体包括:在设置MAC地址寄存器之前,将END DEVICE结构体变量pDrvCtrl一>adaptor.enetAddr的值修改为指定的相同MAC地址,使得配置到两路网卡的MAC地址寄存器的值相同。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,设置双网卡IP地址包括:在网卡初始化过程中,只设置当前工作网卡的IP地址,当网络需要切换时,去掉当前网络卡的IP地址,并在主机列表中删除,然后用同一IP地址来驱动另一块网卡。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,设置双网卡IP地址进一步包括:首先,卸载当前网卡,首先需要调用ifAddrDelete函数,删除原先网卡的IP地址;然后通过ifRouteDelete函数删除原先网卡的主机路由:接着通过ipDetach函数将当前网卡从系统中卸载,然后,加载备份网卡,首先通过ipAttach函数加载备份网卡驱动;然后通过ifMaskSet函数与ipAddrSet函数设置备份网卡的子网掩码与IP地址。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,步骤S2中通读取网卡状态寄存器的网络连接状态,判断当前工作网卡的连接状态,判断是否需要进行网卡的切换。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,网卡芯片具有链路状态变化中断功能,当两路网卡的连接状态发生改变时,会使其状态寄存器的网络连接状态位产生变化,并会触发一个中断。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,进行网卡的切换判断的流程如下:主机查询当前网卡连接状态寄存器,主机如果检测到当前通信链路发生异常,则查询备份网卡连接状态寄存器,判断备份网卡是否正常,备份网卡对应的链路正常,则重新设置双网卡IP地址,在主机列表中删除异常网卡,然后用同一IP地址来驱动备份网卡,切换到另一块网卡进行通讯。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,如果当前通信链路始终正常,另一块网卡对应的链路状态即使发生变化,也不进行切换处理,保持当前的工作状态。
根据本发明所述的VxWorks环境下冗余网卡热备份的方法的一实施例,其中,步骤S5中,如果两块网卡对应的通信链路均异常,但某一时刻,检测到其中一条链路状态恢复正常了,则切换到新循环的不受S2,并进入步骤S4重新设置双网卡IP地址,则切换到正常链路的对应的网卡进行工作。
综上,对于网络系统中的单个节点,当正常通信的网卡或线路出现故障时该节点能自动地切换到备份网卡进行通信。适用于对网络系统可靠性要求较高的工业控制、通信、武器装备等领域。
附图说明
图1所示为VxWorks环境下冗余网卡热备份的方法的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为VxWorks环境下冗余网卡热备份的方法的流程图,如图1所示,包括:
1)设置双网卡相同的MAC地址
MAC地址是网卡的物理地址,冗余的两路网卡必须具有相同的MAC地址。两路网卡,其MAC地址默认情况下是不同的。在网络驱动程序加载时,需要从ROM获得的MAC地址参数存储在END_DEVICE结构体pDrvCtrl一>adaptor.enetAddr中,然后再根据结构体变量的值设置MAC地址寄存器。因此需要在设置MAC地址寄存器之前,将END DEVICE结构体变量pDrvCtrl一>adaptor.enetAddr的值修改为指定的相同MAC地址,这样配置到两路网卡的MAC地址寄存器的值就相同了,也就是说两路网卡具备了相同的MAC地址。
2)设置双网卡IP地址
此在网卡初始化过程中,只设置当前工作网卡的IP地址,当网络需要切换时,必须先去掉当前网络卡的IP地址,并在主机列表中删除它,然后用同一IP地址来驱动另一块网卡。具体流程如下:首先,卸载当前网卡。卸载当前网卡时,为了避免网络中两个网卡的IP地址冲突,首先需要调用ifAddrDelete函数,删除原先网卡的IP地址;然后通过ifRouteDelete函数删除原先网卡的主机路由:接着通过ipDetach函数将当前网卡从系统中卸载。然后,加载备份网卡。首先通过ipAttach函数加载备份网卡驱动;然后通过ifMaskSet函数与ipAddrSet函数设置备份网卡的子网掩码与IP地址。
3)链路状态变化中断处理流程,包括:
网卡芯片具有链路状态变化中断功能,当两路网卡的连接状态发生改变时,会使其状态寄存器的网络连接状态位产生变化,并会触发一个中断。
步骤S1、主机接收中断;
步骤S2、判断当前网卡连接状态的通断,如果为通,则转步骤S4,如果为断则转步骤S3;
步骤S3、判断备份网卡的通断,如果为通,则转步骤S6,如果为断则转步骤S5;
S4、判断之前一循环两路网卡是否均断开;
S5、输出两路王切换为备份网卡工作;
S6、切换到备份网卡工作;
S7、重新配置当前网卡的IP;
S8、转步骤S1重新开始工作;
步骤S2中通读取网卡状态寄存器的网络连接状态,判断当前工作网卡的连接状态,判断是否需要进行网卡的切换。
进行网卡的切换判断的流程如下:主机查询当前网卡连接状态寄存器,主机如果检测到当前通信链路发生异常(即连接状态变为断开),则查询备份网卡连接状态寄存器,判断备份网卡是否正常,备份网卡对应的链路正常,则按2)步骤重新设置双网卡IP地址,在主机列表中删除异常网卡,然后用同一IP地址来驱动备份网卡,切换到另一块网卡进行通讯。
其中,如果当前通信链路始终正常,另一块网卡对应的链路状态即使发生变化,也不进行切换处理,保持当前的工作状态。
步骤S5中,如果两块网卡对应的通信链路均异常,但某一时刻,检测到其中一条链路状态恢复正常了,则切换到新循环的不受S2,并进入步骤S4重新设置双网卡IP地址,则切换到正常链路的对应的网卡进行工作。
本发明VxWorks环境下冗余网卡热备份的方法,对于网络系统中的单个节点,常常需要对网卡进行双冗余备份,即每个节点都采用两个网络接口,两个网络接口间用两个集线器或交换机互连,当正常通信的网卡或线路出现故障时该节点能自动地切换到备份网卡进行通信。当网卡或通信线路连接出现故障、通信异常以及通信不可靠时,通信节点能主动切换到备份网卡进行通信,提供有相关使用需求者参考使用。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种VxWorks环境下冗余网卡热备份的方法,其特征在于,包括:
设置双网卡相同的MAC地址;
设置双网卡IP地址;
步骤S1、主机接收中断;
步骤S2、判断当前网卡连接状态的通断,如果为通,则转步骤S4,如果为断则转步骤S3;
步骤S3、判断备份网卡的通断,如果为通,则转步骤S6,如果为断则转步骤S5;
步骤S4、判断之前一循环两路网卡是否均断开,如是,则执行S7,否则执行步骤S1;
步骤S5、如果两块网卡对应的通信链路均异常,但某一时刻,检测到其中一条链路状态恢复正常了,则切换到新循环的步骤S2,并进入步骤S4重新设置双网卡IP地址,则切换到正常链路的对应的网卡进行工作;
步骤S6、切换到备份网卡工作;
步骤S7、重新配置当前网卡的IP;
步骤S8、转步骤S1重新开始工作;
网卡芯片具有链路状态变化中断功能,当两路网卡的连接状态发生改变时,会使其状态寄存器的网络连接状态位产生变化,并会触发一个中断;进行网卡的切换判断的流程如下:主机查询当前网卡连接状态寄存器,主机如果检测到当前通信链路发生异常,则查询备份网卡连接状态寄存器,判断备份网卡是否正常,备份网卡对应的链路正常,则重新设置双网卡IP地址,在主机列表中删除异常网卡,然后用同一IP地址来驱动备份网卡,切换到另一块网卡进行通讯;
2.如权利要求1所述的VxWorks环境下冗余网卡热备份的方法,其特征在于,设置双网卡相同的MAC地址具体包括:
在设置MAC地址寄存器之前,将END DEVICE结构体变量pDrvCtrl一>adaptor.enetAddr的值修改为指定的相同MAC地址,使得配置到两路网卡的MAC地址寄存器的值相同。
3.如权利要求1所述的VxWorks环境下冗余网卡热备份的方法,其特征在于,设置双网卡IP地址包括:
在网卡初始化过程中,只设置当前工作网卡的IP地址,当网络需要切换时,去掉当前网络卡的IP地址,并在主机列表中删除,然后用同一IP地址来驱动另一块网卡。
4.如权利要求3所述的VxWorks环境下冗余网卡热备份的方法,其特征在于,设置双网卡IP地址进一步包括:
首先,卸载当前网卡,首先需要调用ifAddrDelete函数,删除原先网卡的IP地址;然后通过ifRouteDelete函数删除原先网卡的主机路由:接着通过ipDetach函数将当前网卡从系统中卸载,然后,加载备份网卡,首先通过ipAttach函数加载备份网卡驱动;然后通过ifMaskSet函数与ipAddrSet函数设置备份网卡的子网掩码与IP地址。
5.如权利要求1所述的VxWorks环境下冗余网卡热备份的方法,其特征在于,步骤S2中通读取网卡状态寄存器的网络连接状态,判断当前工作网卡的连接状态,判断是否需要进行网卡的切换。
6.如权利要求1所述的VxWorks环境下冗余网卡热备份的方法,其特征在于,其中,如果当前通信链路始终正常,另一块网卡对应的链路状态即使发生变化,也不进行切换处理,保持当前的工作状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711204666.9A CN108155978B (zh) | 2017-11-27 | 2017-11-27 | 一种VxWorks环境下冗余网卡热备份的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711204666.9A CN108155978B (zh) | 2017-11-27 | 2017-11-27 | 一种VxWorks环境下冗余网卡热备份的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108155978A CN108155978A (zh) | 2018-06-12 |
CN108155978B true CN108155978B (zh) | 2021-08-10 |
Family
ID=62469098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711204666.9A Active CN108155978B (zh) | 2017-11-27 | 2017-11-27 | 一种VxWorks环境下冗余网卡热备份的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108155978B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474466A (zh) * | 2018-11-13 | 2019-03-15 | 天津津航计算技术研究所 | 在dds中间件上实现双冗余网卡切换的方法 |
CN109728915B (zh) * | 2018-12-07 | 2020-12-01 | 天津津航计算技术研究所 | windows XPE下双冗余网卡的切换方法 |
CN109474475B (zh) * | 2018-12-07 | 2020-12-01 | 天津津航计算技术研究所 | windows XPE下双冗余网卡的切换系统 |
CN110572275B (zh) * | 2019-08-01 | 2022-09-09 | 新华三技术有限公司成都分公司 | 一种网卡切换方法、装置、服务器及计算机可读存储介质 |
CN111586111B (zh) * | 2020-04-23 | 2022-08-30 | 北京踏歌智行科技有限公司 | 一种集群式无人驾驶车辆通信故障状态的联网方法 |
CN112260893B (zh) * | 2020-10-14 | 2022-04-19 | 天津津航计算技术研究所 | 一种基于网络心跳的VxWorks操作系统的以太网冗余装置 |
CN113626094A (zh) * | 2021-06-21 | 2021-11-09 | 天津津航计算技术研究所 | 一种VxWorks下网卡MAC地址的操作方法 |
CN114143176A (zh) * | 2021-10-31 | 2022-03-04 | 广东浪潮智慧计算技术有限公司 | 一种虚拟化平台管理网的网络配置方法、系统及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201805435U (zh) * | 2010-10-12 | 2011-04-20 | 江苏捷诚车载电子信息工程有限公司 | 一种冗余热备份自适应网卡 |
CN102104470A (zh) * | 2009-12-17 | 2011-06-22 | 研祥智能科技股份有限公司 | 一种VxWorks系统下的多网卡双冗余装置及系统 |
CN102263660A (zh) * | 2011-07-19 | 2011-11-30 | 中国舰船研究设计中心 | 双网卡冗余切换方法及装置 |
CN104468238A (zh) * | 2014-12-22 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 基于vxworks系统的双网卡冗余切换方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007012021A (ja) * | 2005-06-01 | 2007-01-18 | Sony Corp | 情報処理装置および情報処理方法、並びにプログラム |
-
2017
- 2017-11-27 CN CN201711204666.9A patent/CN108155978B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104470A (zh) * | 2009-12-17 | 2011-06-22 | 研祥智能科技股份有限公司 | 一种VxWorks系统下的多网卡双冗余装置及系统 |
CN201805435U (zh) * | 2010-10-12 | 2011-04-20 | 江苏捷诚车载电子信息工程有限公司 | 一种冗余热备份自适应网卡 |
CN102263660A (zh) * | 2011-07-19 | 2011-11-30 | 中国舰船研究设计中心 | 双网卡冗余切换方法及装置 |
CN104468238A (zh) * | 2014-12-22 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 基于vxworks系统的双网卡冗余切换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108155978A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108155978B (zh) | 一种VxWorks环境下冗余网卡热备份的方法 | |
US7933198B1 (en) | Virtual router failover dampening | |
CN110417569B (zh) | 一种网络链路故障处理方法和隧道端点设备 | |
US10764119B2 (en) | Link handover method for service in storage system, and storage device | |
US20070229216A1 (en) | Device control system, control unit and device control method for use therewith | |
CN101383732B (zh) | 负载平衡联网环境中的智能故障恢复 | |
CN101110776B (zh) | 数据业务的备份方法、备份装置与备份系统 | |
EP2748989B1 (en) | Methods and apparatus for avoiding inter-chassis redundancy switchover to non-functional standby nodes | |
JP6004079B2 (ja) | スイッチ及びプログラム | |
EP3316555A1 (en) | Mac address synchronization method, device and system | |
JP2009246524A (ja) | 信号伝送装置 | |
US7983152B1 (en) | Dual-homing layer 2 switch | |
US20140071812A1 (en) | Backup system of ring network and backup method of ring network | |
CN112165429B (zh) | 分布式交换设备的链路聚合收敛方法和设备 | |
JP7099272B2 (ja) | 情報処理装置、ネットワークシステム及びチーミングプログラム | |
EP2069934B1 (en) | Fault-tolerant medium access control (mac) address assignment in network elements | |
JP4405941B2 (ja) | 回線冗長化方法およびこれに用いる中継装置 | |
CN110708275B (zh) | 一种协议报文的处理方法和装置 | |
CN104348737A (zh) | 一种组播报文的传输方法及交换机 | |
CN107547412B (zh) | 一种stp计算方法和装置 | |
US10382301B2 (en) | Efficiently calculating per service impact of ethernet ring status changes | |
JP2009075710A (ja) | 冗長化システム | |
CN104579736A (zh) | 一种环路数据传输方法及节点设备 | |
JP6601198B2 (ja) | 中継装置、設定方法、設定プログラム及び情報処理システム | |
CN110912837A (zh) | 基于vsm系统的主备切换方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |