CN104503775A - 一种Windows下双冗余网络切换方法 - Google Patents

一种Windows下双冗余网络切换方法 Download PDF

Info

Publication number
CN104503775A
CN104503775A CN201410715376.0A CN201410715376A CN104503775A CN 104503775 A CN104503775 A CN 104503775A CN 201410715376 A CN201410715376 A CN 201410715376A CN 104503775 A CN104503775 A CN 104503775A
Authority
CN
China
Prior art keywords
network
driver
miniport driver
protocol
layer
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.)
Pending
Application number
CN201410715376.0A
Other languages
English (en)
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.)
No 8357 Research Institute of Third Academy of CASIC
Original Assignee
No 8357 Research Institute of Third Academy of CASIC
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 No 8357 Research Institute of Third Academy of CASIC filed Critical No 8357 Research Institute of Third Academy of CASIC
Priority to CN201410715376.0A priority Critical patent/CN104503775A/zh
Publication of CN104503775A publication Critical patent/CN104503775A/zh
Pending legal-status Critical Current

Links

Abstract

本发明属于冗余网络切换技术领域,具体涉及一种Windows下双冗余网络切换方法,该方法通过中间层协议的实现来屏蔽底层硬件的细节,双冗余网络中间层适配过程基于中间层适配模块来实施,所述中间层适配模块包括:驱动注册单元、虚拟小端口驱动单元和协议层驱动单元;该针对双冗余网卡的网络切换方法,其效果在于:能够在Windows系统下进行内核级无缝切换。

Description

一种Windows下双冗余网络切换方法
技术领域
本发明属于冗余网络切换技术领域,具体涉及一种Windows下双冗余网络切换方法。
背景技术
随着网络技术的成熟,具有价格低廉、连接方便等优点的以太网已成为各种控制系统接口互连的主要媒介。在某些特殊的应用场合,为了提高系统的可靠性和抗毁性,每个节点都采用两块网卡(或单板双卡),中间用两个HUB或交换机互连。当某个节点一块网卡故障,或网线损坏,或其中一个HUB或交换机故障时,网络仍能正常运作。
将多块网卡虚拟成为一块网卡,称为链路绑定(Bonding)技术。目前与Bonding相关的技术有Sun的Trunking(链路聚集)技术、Cisco的Fast Ether Channel(FEC)技术、Intel的Advanced Network Service(IANS)和Alteon的Fault Tolerance。但它们的解决方案都需要硬件上配置专用的芯片或指定厂家的网卡实现,其中Sun采用软硬件结合的方式。
并且,现在大多数操作系统,如Windows NT、Windows 98、VxWorks等,均支持多网卡,但均非冗余设计,每块网卡都有独立的物理地址和IP地址,以独立的形式让应用系统使用。因此,必须自行设计专用的网络驱动程序,以透明的形式提交高层应用系统使用,使其感觉不到双网卡的存在。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何针对当前系统对高可靠网络通讯的需求,提供一种基于Windows系统下网络驱动接口规范的双冗余网络自动切换方法。
(二)技术方案
为解决上述技术问题,本发明提供一种Windows下双冗余网络切换方法,该方法通过中间层协议的实现来屏蔽底层硬件的细节,双冗余网络中间层适配过程基于中间层适配模块来实施,所述中间层适配模块包括:驱动注册单元、虚拟小端口驱动单元和协议层驱动单元;其中,所述驱动注册单元用于将虚拟小端口驱动和协议层驱动注册到Windows系统中;所述虚拟小端口驱动单元是上层协议层驱动程序和网卡驱动程序之间的夹层,对于协议层驱动来说,其表现为一组小端口,而对于底层NIC驱动来说,其表现为协议驱动程序;该虚拟小端口驱动单元的适配程序通过将底层双网卡虚拟成一个网卡的形式,向上层协议层表现一个端口,并且通过监听底层网卡的工作状态来完成无缝切换;所述协议层驱动单元用于接收上层应用的网络发送请求,并将该请求送达虚拟小端口驱动单元,同时将虚拟小端口驱动单元接收到的网络数据发送给TCP/IP协议栈;
具体而言,所述Windows下双冗余网络切换方法具体包括如下步骤:
步骤S1:由驱动注册单元进行驱动程序的注册;其包括:
步骤S101:初始化小端口属性特征数据结构;
步骤S102:向Windows系统注册一个小端口;
步骤S103:向Windows系统注册协议层驱动程序;
步骤S104:将协议层驱动程序与小端口驱动程序进行绑定;
步骤S2:由虚拟小端口驱动单元进行虚拟小端口驱动;其包括:
步骤S201:监听网络设备绑定事件,将关注的双网卡适配器信息进行保存,同时和小端口驱动程序进行绑定;
步骤S202:监听网卡状态变化事件,当一个网卡发生故障时,判断另一块网卡的工作状态,如果状态正常,则将当前网卡变量设置为另一块网卡,否则不进行操作;
步骤S3:由协议层驱动单元进行协议层驱动;其包括:
步骤S301:接收并反馈Windows系统关于网卡状态的查询;
步骤S302:将网络报文发送、网络状态查询函数注册到Windows系统中;
步骤S303:将网络报文接收函数注册到虚拟小端口驱动程序中;
步骤S304:等待网络报文的发送请求,并将该请求发送至虚拟小端口驱动程序;
步骤S305:等待虚拟小端口驱动单元发送的网络接收报文,并将该报文发送给TCP/IP协议栈。
(三)有益效果
与现有技术相比较,本发明具体涉及一种针对双冗余网卡的网络切换方法,其效果在于:能够在Windows系统下进行内核级无缝切换。
附图说明
图1是本发明提供的双冗余网络自动切换方案的整体架构图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决现有技术的问题,本发明提供一种Windows下双冗余网络切换方法,如图1所示,为了能够适应任意型号的双冗余网卡,该方法主要通过中间层协议的实现来屏蔽底层硬件的细节,双冗余网络中间层适配过程基于中间层适配模块来实施,所述中间层适配模块主要包括:驱动注册单元、虚拟小端口驱动单元和协议层驱动单元;其中,所述驱动注册单元用于将虚拟小端口驱动和协议层驱动注册到Windows系统中;所述虚拟小端口驱动单元是上层协议层驱动程序和网卡驱动程序之间的夹层,对于协议层驱动来说,其表现为一组小端口,而对于底层NIC驱动来说,其表现为协议驱动程序;该虚拟小端口驱动单元的适配程序通过将底层双网卡虚拟成一个网卡的形式,向上层协议层表现一个端口,并且通过监听底层网卡的工作状态来完成无缝切换;所述协议层驱动单元用于接收上层应用的网络发送请求,并将该请求送达虚拟小端口驱动单元,同时将虚拟小端口驱动单元接收到的网络数据发送给TCP/IP协议栈;
具体而言,所述Windows下双冗余网络切换方法具体包括如下步骤:
步骤S1:由驱动注册单元进行驱动程序的注册;其包括:
步骤S101:初始化小端口属性特征数据结构;
步骤S102:向Windows系统注册一个小端口;
步骤S103:向Windows系统注册协议层驱动程序;
步骤S104:将协议层驱动程序与小端口驱动程序进行绑定;
步骤S2:由虚拟小端口驱动单元进行虚拟小端口驱动;其包括:
步骤S201:监听网络设备绑定事件,将关注的双网卡适配器信息进行保存,同时和小端口驱动程序进行绑定;
步骤S202:监听网卡状态变化事件,当一个网卡发生故障时,判断另一块网卡的工作状态,如果状态正常,则将当前网卡变量设置为另一块网卡,否则不进行操作;
步骤S3:由协议层驱动单元进行协议层驱动;其包括:
步骤S301:接收并反馈Windows系统关于网卡状态的查询;
步骤S302:将网络报文发送、网络状态查询函数注册到Windows系统中;
步骤S303:将网络报文接收函数注册到虚拟小端口驱动程序中;
步骤S304:等待网络报文的发送请求,并将该请求发送至虚拟小端口驱动程序;
步骤S305:等待虚拟小端口驱动单元发送的网络接收报文,并将该报文发送给TCP/IP协议栈。
具体实施过程中,包括如下步骤:
步骤1.将具体应用过程中与双冗余网卡匹配地开发的虚拟小端口驱动程序dualnetDrv.dll放入c:\windows\system32\driver目录下;
步骤2.进入控制面板->本地连接,右键单击本地连接,在属性中选择安装协议,然后选择本发明开发的双冗余网络中间层适配程序dulnetAdapter.sys;
步骤3.安装成功后对任何一个网卡进行ip地址的指定,然后在任何一个网卡链路出现故障时,会自动切换到另外一个网卡上,通讯仍可继续进行。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (1)

1.一种Windows下双冗余网络切换方法,其特征在于,该方法通过中间层协议的实现来屏蔽底层硬件的细节,双冗余网络中间层适配过程基于中间层适配模块来实施,所述中间层适配模块包括:驱动注册单元、虚拟小端口驱动单元和协议层驱动单元;其中,所述驱动注册单元用于将虚拟小端口驱动和协议层驱动注册到Windows系统中;所述虚拟小端口驱动单元是上层协议层驱动程序和网卡驱动程序之间的夹层,对于协议层驱动来说,其表现为一组小端口,而对于底层NIC驱动来说,其表现为协议驱动程序;该虚拟小端口驱动单元的适配程序通过将底层双网卡虚拟成一个网卡的形式,向上层协议层表现一个端口,并且通过监听底层网卡的工作状态来完成无缝切换;所述协议层驱动单元用于接收上层应用的网络发送请求,并将该请求送达虚拟小端口驱动单元,同时将虚拟小端口驱动单元接收到的网络数据发送给TCP/IP协议栈;
具体而言,所述Windows下双冗余网络切换方法具体包括如下步骤:
步骤S1:由驱动注册单元进行驱动程序的注册;其包括:
步骤S101:初始化小端口属性特征数据结构;
步骤S102:向Windows系统注册一个小端口;
步骤S103:向Windows系统注册协议层驱动程序;
步骤S104:将协议层驱动程序与小端口驱动程序进行绑定;
步骤S2:由虚拟小端口驱动单元进行虚拟小端口驱动;其包括:
步骤S201:监听网络设备绑定事件,将关注的双网卡适配器信息进行保存,同时和小端口驱动程序进行绑定;
步骤S202:监听网卡状态变化事件,当一个网卡发生故障时,判断另一块网卡的工作状态,如果状态正常,则将当前网卡变量设置为另一块网卡,否则不进行操作;
步骤S3:由协议层驱动单元进行协议层驱动;其包括:
步骤S301:接收并反馈Windows系统关于网卡状态的查询;
步骤S302:将网络报文发送、网络状态查询函数注册到Windows系统中;
步骤S303:将网络报文接收函数注册到虚拟小端口驱动程序中;
步骤S304:等待网络报文的发送请求,并将该请求发送至虚拟小端口驱动程序;
步骤S305:等待虚拟小端口驱动单元发送的网络接收报文,并将该报文发送给TCP/IP协议栈。
CN201410715376.0A 2014-12-02 2014-12-02 一种Windows下双冗余网络切换方法 Pending CN104503775A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410715376.0A CN104503775A (zh) 2014-12-02 2014-12-02 一种Windows下双冗余网络切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410715376.0A CN104503775A (zh) 2014-12-02 2014-12-02 一种Windows下双冗余网络切换方法

Publications (1)

Publication Number Publication Date
CN104503775A true CN104503775A (zh) 2015-04-08

Family

ID=52945176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410715376.0A Pending CN104503775A (zh) 2014-12-02 2014-12-02 一种Windows下双冗余网络切换方法

Country Status (1)

Country Link
CN (1) CN104503775A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368861A (zh) * 2017-06-23 2017-11-21 芜湖恒天易开软件科技股份有限公司 短时可识别多种不同车辆的系统
CN109445862A (zh) * 2018-10-31 2019-03-08 天津七所精密机电技术有限公司 Windows系统下基于MUX的网卡冗余驱动方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815014A (zh) * 2010-02-09 2010-08-25 上海百络信息技术有限公司 基于连接的实时网络数据捕获方法
CN102256293A (zh) * 2011-04-18 2011-11-23 电子科技大学 自组织融合网络按需路由网关及其驱动设计方法
CN102263660A (zh) * 2011-07-19 2011-11-30 中国舰船研究设计中心 双网卡冗余切换方法及装置
CN103189851A (zh) * 2010-06-25 2013-07-03 韦斯技术公司 用于将网络驱动程序注入目标映像的设备和方法
CN103514121A (zh) * 2012-06-29 2014-01-15 中国船舶重工集团公司第七0九研究所 WindowsXp操作系统下一种网卡冗余切换方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815014A (zh) * 2010-02-09 2010-08-25 上海百络信息技术有限公司 基于连接的实时网络数据捕获方法
CN103189851A (zh) * 2010-06-25 2013-07-03 韦斯技术公司 用于将网络驱动程序注入目标映像的设备和方法
CN102256293A (zh) * 2011-04-18 2011-11-23 电子科技大学 自组织融合网络按需路由网关及其驱动设计方法
CN102263660A (zh) * 2011-07-19 2011-11-30 中国舰船研究设计中心 双网卡冗余切换方法及装置
CN103514121A (zh) * 2012-06-29 2014-01-15 中国船舶重工集团公司第七0九研究所 WindowsXp操作系统下一种网卡冗余切换方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368861A (zh) * 2017-06-23 2017-11-21 芜湖恒天易开软件科技股份有限公司 短时可识别多种不同车辆的系统
CN109445862A (zh) * 2018-10-31 2019-03-08 天津七所精密机电技术有限公司 Windows系统下基于MUX的网卡冗余驱动方法

Similar Documents

Publication Publication Date Title
CN102006189B (zh) 用于双机冗余备份的主用接入服务器确定方法及装置
CN104104570A (zh) Irf系统中的聚合处理方法及装置
CN102510408B (zh) 实现tcp应用主备热倒换的方法
CN104468238A (zh) 基于vxworks系统的双网卡冗余切换方法
CN102780635B (zh) 基于trill网络实现保护倒换的方法、tor交换机及系统
CN104468151B (zh) 一种集群切换时保持tcp会话的系统和方法
CN102231682B (zh) 一种堆叠冲突的处理方法和设备
CN102511146B (zh) 会话边界控制器池的实现方法和会话边界控制器
CN102201999A (zh) 一种实现组播业务负荷分担的方法和系统
USRE46770E1 (en) Computer managing method
CN105049419A (zh) 基于异构多样性的拟态网络逐级交换路由系统
CN101483673A (zh) 异地热备实现方法及系统
CN103532863A (zh) 一种实现软件堆叠的方法和装置
CN104518936A (zh) 链路动态聚合方法和装置
CN106341249A (zh) 冗余端口的切换方法及装置
CN104753707A (zh) 一种系统维护方法及网络交换设备
CN104503775A (zh) 一种Windows下双冗余网络切换方法
CN103514121B (zh) WindowsXp操作系统下一种网卡冗余切换方法
CN101599907B (zh) 流量转发方法和系统
CN102447703B (zh) 一种热备份方法和系统、cgn设备
CN1859175A (zh) 内部可靠互连的通信设备
CN108234308A (zh) 一种分布式设备内部通信系统及方法
CN102118327A (zh) 一种多主机网关
CN101242252B (zh) 利用Combo接口实现网络设备双链路冗余备份的方法
CN102843265B (zh) 一种通讯规约的不复位无微扰的热备双连接方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150408