[go: up one dir, main page]

CN103514121B - WindowsXp操作系统下一种网卡冗余切换方法 - Google Patents

WindowsXp操作系统下一种网卡冗余切换方法 Download PDF

Info

Publication number
CN103514121B
CN103514121B CN201210221102.7A CN201210221102A CN103514121B CN 103514121 B CN103514121 B CN 103514121B CN 201210221102 A CN201210221102 A CN 201210221102A CN 103514121 B CN103514121 B CN 103514121B
Authority
CN
China
Prior art keywords
intermediate layer
message
microsoft loopback
network interface
card
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.)
Expired - Fee Related
Application number
CN201210221102.7A
Other languages
English (en)
Other versions
CN103514121A (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 CN201210221102.7A priority Critical patent/CN103514121B/zh
Publication of CN103514121A publication Critical patent/CN103514121A/zh
Application granted granted Critical
Publication of CN103514121B publication Critical patent/CN103514121B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

WindowsXp操作系统下一种网卡冗余切换方法,包括:构建1:2型中间层网卡驱动策略;检测故障及双网切换算法;获取虚拟网卡通信配置算法。其优点是:(1)方法具有网卡硬件无关性,支持大多数厂家物理网卡;(2)支持网卡点播、广播、组播三种通信方式冗余切换。

Description

WindowsXp操作系统下一种网卡冗余切换方法
技术领域
本发明涉及计算机网卡的冗余切换技术领域,具体地说是一种WindowsXp操作系统下一种网卡冗余切换方法,应用于安装有WindowsXp操作系统的计算机双冗余网卡上用于双网切换。
背景技术
在要求高可靠以太网网络的电信、金融等行业,网络终端必须实现双冗余网络。目前3Com公司在其网卡上实现了包括容错冗余在内的许多功能,使用DynamicAccess软件可以将2~4个网卡配置到一个服务器中,一个作为主网卡,其余为都是备用网卡。如果主链路发生故障(交换机端口故障、主网卡故障、线路不通等),自动启用备用链路来接替。Sun公司有Trunking技术,主要应用在服务器和交换机、服务器和服务器之间,可以将8个百兆快速以太网或两个全双工的千兆以太网链路聚合成一个虚拟的链路。Intel的ANS技术有五种工作模式:AdaptiveLoadBalancing(自适应负载平衡);SwitchFaultTolerance(交换机故障冗余);802.3ad动态模式;LinkAggregation(链路聚合);AdapterFaultTolerance(适配器容错)。这几种模式均支持网卡故障冗余功能。NicExpress软件可以实现大多数网卡的绑定与冗余备份。在上述各种技术中,Trunking技术要求交换机和网卡都能支持Trunking技术,需用特定交换机;DynamicAccess、ANS等技术要求使用其专用网卡芯片,不具备网卡硬件无关性;NicExpress软件不支持组播切换。
发明内容
本发明的目的是提出WindowsXp操作系统下一种支持大多数厂家物理网卡,支持网卡点播、广播、组播三种通信方式冗余切换,对用户透明的网卡冗余切换方法。
本发明的技术方案:依照WindowsXp操作系统网络驱动程序接口规范(NDIS5.0)设计一种网卡中间层驱动程序,中间层驱动位于协议驱动之下,微端口驱动之上;中间层驱动对下层表现为协议驱动,对上层表现为微端口驱动;无论是网卡接收上传的数据包,还是上层下送至网卡要发送的数据包,都要经过中间层驱动程序;微端口驱动具体操作硬件,协议驱动进行网络协议处理;只要安装上网卡微端口驱动、中间层驱动就可以操作网卡,因此具有通用性;中间层驱动转发网卡硬件通信报文及控制网卡工作模式,获取虚拟网卡IP地址、接收组播地址等TCP/IP协议配置信息,检测故障当工作网卡故障、备份网卡正常时双网切换。
WindowsXp操作系统下一种网卡冗余切换方法,包括:构建1:2型中间层网卡驱动策略;检测故障及双网切换算法;获取虚拟网卡通信配置算法。
所述的构建1:2型中间层网卡驱动策略,其步骤如下:
步骤101:中间层驱动通知对象依照驱动配置文件指定两块物理网卡创建两个虚拟网卡、禁止两块物理网卡上除了本中间层驱动自定义协议以外的所有协议,启动两块虚拟网卡上的本中间层驱动自定义协议以外的所有协议。设置两块物理网卡为混杂工作模式;
步骤102:中间层驱动协议边沿接收接口根据工作物理网卡号过滤接收报文,与工作物理网卡号相符物理网卡接收的报文转发给虚拟网卡1,其他类型接收报文丢弃;
步骤103:中间层驱动微端口边沿发送接口只发送虚拟网卡1发送的报文,根据工作物理网卡号转发报文到相应物理网卡上,其他类型发送报文丢弃;
步骤104:中间层驱动微端口边沿网卡工作模式设置接口只转发虚拟网卡1的设置命令,并设置到二块物理网卡上;
步骤105:中间层驱动协议边沿物理网卡状态检测接口中启动检测故障及双网切换算法;
步骤106:中间层驱动微端口边沿发送接口中启动获取虚拟网卡通信配置算法;
所述的检测故障及双网切换算法,其步骤如下:
步骤201:判断驱动初始化是否已完成,如果未完成,程序返回;如果完成,执行步骤202。
步骤202:判断工作网卡链路状态是否正常,如果正常,执行步骤203;如果不正常执行步骤204。
步骤203:检查两个网卡链路状态错误标志(Flag1)是否已设置,如设置执行步骤205,如未设置,程序返回。
步骤204:检查备份网卡链路状态是否正常,如不正常,设置Flag1,程序返回;如正常,更换工作网卡号,判断Flag1是否已设置,如设置执行步骤205,如未设置执行步骤206。
步骤205:延时3秒,清空Flag1。
步骤206:根据图3算法提供信息,构造一条ARP广播报文并发送。
步骤207:根据图3算法提供信息,构造若干条IGMP报文并发送。
所述的获取虚拟网卡通信配置算法,其步骤如下:
步骤301:判断是否是有效报文,如果不是,程序返回;如果是,执行步骤302。
步骤302:从原始报文中获取、暂存以太网帧,判断是否是ARP报文,如果是,执行步骤303;如果不是执行步骤304。
步骤303:提取并存储虚拟网卡1的IP地址、物理地址,程序返回。
步骤304:判断是否是组播报文,如果不是,程序返回;如果是,执行步骤305。
步骤305:提取组播协议版本号,判断协议版本是2还是3,如果是2、执行步骤306;如果是3、执行步骤307。
步骤306:如果是加入组播报文,依照IGMPV2协议提取一个组播地址,添加到接收组播地址缓冲区;如果是退出组播报文,依照IGMPV2协议提取一个组播地址,在接收组播地址缓冲区中删除。
步骤307:如果是加入组播报文,依照IGMPV3协议提取若干个组播地址,添加到接收组播地址缓冲区;如果是退出组播报文,依照IGMPV3协议提取若干个组播地址,在接收组播地址缓冲区中删除。
本发明专利的有益效果:(1)方法具有网卡硬件无关性,支持大多数厂家物理网卡;(2)支持网卡点播、广播、组播三种通信方式冗余切换。
附图说明
图1:1:2型中间层网卡驱动构建原理图;
图2:检测故障及双网切换流程图;
图3:获取虚拟网卡通信配置流程图。
具体实施方式
下面结合附图对本发明专利的技术方案进行描述。
本发明包含:构建1:2型中间层网卡驱动策略,检测故障及双网切换算法,获取虚拟网卡通信配置算法。1:2型中间层网卡驱动策略负责驱动一个虚拟网卡、二个物理网卡进行以太网网络通信。检测故障及双网切换算法负责检测网卡物理链路故障;当工作网卡故障、备份网卡正常时进行双网切换,双网切换包含更换工作物理网卡号从而改变通信、控制报文通过的物理网卡,构造ARP请求报文、IGMP报告报文广播到所在以太网网络上。获取虚拟网卡通信配置算法监听虚拟网卡报文发送接口,分析并提取虚拟网卡通信配置信息,为检测故障及双网切换算法提供虚拟网卡IP地址、虚拟网卡物理地址、虚拟网卡接收的组播地址、组播协议版本信息。
所述的构建1:2型中间层网卡驱动策略原理如附图1所示,主要思路为把1:1型中间层网卡驱动改进为1:2型中间层网卡驱动;1:1型中间层网卡驱动包含通知对象、驱动初始化、微端口边沿接口、协议边沿接口四个部分;具体构建流程如下:
步骤101:中间层驱动通知对象依照驱动配置文件指定两块物理网卡创建两个虚拟网卡、禁止两块物理网卡上除了本中间层驱动自定义协议以外的所有协议,启动两块虚拟网卡上的本中间层驱动自定义协议以外的所有协议。设置两块物理网卡为混杂工作模式。
步骤102:中间层驱动协议边沿接收接口根据工作物理网卡号过滤接收报文,与工作物理网卡号相符物理网卡接收的报文转发给虚拟网卡1,其他类型接收报文丢弃。
步骤103:中间层驱动微端口边沿发送接口只发送虚拟网卡1发送的报文,根据工作物理网卡号转发报文到相应物理网卡上,其他类型发送报文丢弃。
步骤104:中间层驱动微端口边沿网卡工作模式设置接口只转发虚拟网卡1的设置命令,并设置到二块物理网卡上。
步骤105:中间层驱动协议边沿物理网卡状态检测接口中启动检测故障及双网切换算法。
步骤106:中间层驱动微端口边沿发送接口中启动获取虚拟网卡通信配置算法。
所述的检测故障及双网切换算法如附图2所示,具体流程如下:
步骤201:判断驱动初始化是否已完成,如果未完成,程序返回;如果完成,执行步骤202。
步骤202:判断工作网卡链路状态是否正常,如果正常,执行步骤203;如果不正常执行步骤204。
步骤203:检查两个网卡链路状态错误标志(Flag1)是否已设置,如设置执行步骤205,如未设置,程序返回。
步骤204:检查备份网卡链路状态是否正常,如不正常,设置Flag1,程序返回;如正常,更换工作物理网卡号,判断Flag1是否已设置,如设置执行步骤205,如未设置执行步骤206。
步骤205:延时3秒,清空Flag1。
步骤206:根据图3算法提供信息,构造一条ARP广播报文并发送。
步骤207:根据图3算法提供信息,构造若干条IGMP报文并发送。
所述的获取网卡通信配置算法如附图3所示,具体流程如下:
步骤301:判断是否是有效报文,如果不是,程序返回;如果是,执行步骤302。
步骤302:从原始报文中获取、暂存以太网帧,判断是否是ARP报文,如果是,执行步骤303;如果不是执行步骤304。
步骤303:提取并存储虚拟网卡1的IP地址、物理地址,程序返回。
步骤304:判断是否是组播报文,如果不是,程序返回;如果是,执行步骤305。
步骤305:提取组播协议版本号,判断协议版本是2还是3,如果是2、执行步骤306;如果是3、执行步骤307。
步骤306:如果是加入组播报文,依照IGMPV2协议提取一个组播地址,添加到接收组播地址缓冲区;如果是退出组播报文,依照IGMPV2协议提取一个组播地址,在接收组播地址缓冲区中删除。
步骤307:如果是加入组播报文,依照IGMPV3协议提取若干个组播地址,添加到接收组播地址缓冲区;如果是退出组播报文,依照IGMPV3协议提取若干个组播地址,在接收组播地址缓冲区中删除。

Claims (3)

1.WindowsXp操作系统下一种网卡冗余切换方法,其特征在于:包括:构建1:2型中间层网卡驱动策略,其步骤如下:
步骤101:中间层驱动通知对象依照驱动配置文件指定两块物理网卡创建两个虚拟网卡,禁止两块物理网卡上除了本中间层驱动自定义协议以外的所有协议,启动两块虚拟网卡上的本中间层驱动自定义协议以外的所有协议,设置两块物理网卡为混杂工作模式;
步骤102:中间层驱动协议边沿接收接口根据工作物理网卡号过滤接收报文,与工作物理网卡号相符物理网卡接收的报文转发给虚拟网卡1,其他类型接收报文丢弃;
步骤103:中间层驱动微端口边沿发送接口只发送虚拟网卡1发送的报文,根据工作物理网卡号转发报文到相应物理网卡上,其他类型发送报文丢弃;
步骤104:中间层驱动微端口边沿网卡工作模式设置接口只转发虚拟网卡1的设置命令,并设置到二块物理网卡上;
步骤105:中间层驱动协议边沿物理网卡状态检测接口中启动检测故障及双网切换算法;
步骤106:中间层驱动微端口边沿发送接口中启动获取虚拟网卡通信配置算法。
2.根据权利要求1所述的WindowsXp操作系统下一种网卡冗余切换方法,其特征在于:所述的检测故障及双网切换算法,其步骤如下:
步骤201:判断驱动初始化是否已完成,如果未完成,程序返回;如果完成,执行步骤202;
步骤202:判断工作网卡链路状态是否正常,如果正常,执行步骤203;如果不正常执行步骤204;
步骤203:检查两个网卡链路状态错误标志Flag1是否已设置,如设置执行步骤205,如未设置,程序返回;
步骤204:检查备份网卡链路状态是否正常,如不正常,设置Flag1,程序返回;如正常,更换工作网卡号,判断Flag1是否已设置,如设置执行步骤205,如未设置执行步骤206;
步骤205:延时3秒,清空Flag1;
步骤206:根据获取虚拟网卡通信配置算法提供信息,构造一条ARP广播报文并发送;
步骤207:根据获取虚拟网卡通信配置算法提供信息,构造若干条IGMP报文并发送。
3.根据权利要求1所述的WindowsXp操作系统下一种网卡冗余切换方法,其特征在于:所述的获取虚拟网卡通信配置算法,其步骤如下:
步骤301:判断是否是有效报文,如果不是,程序返回;如果是,执行步骤302;
步骤302:从原始报文中获取、暂存以太网帧,判断是否是ARP报文,如果是,执行步骤303;如果不是执行步骤304;
步骤303:提取并存储虚拟网卡1的IP地址、物理地址,程序返回;
步骤304:判断是否是组播报文,如果不是,程序返回;如果是,执行步骤305;
步骤305:提取IGMP协议版本号,判断IGMP协议版本是2还是3,如果是2、执行步骤306;如果是3、执行步骤307;
步骤306:如果是加入组播报文,依照IGMPV2协议提取一个组播地址,添加到接收组播地址缓冲区;如果是退出组播报文,依照IGMPV2协议提取一个组播地址,在接收组播地址缓冲区中删除;
步骤307:如果是加入组播报文,依照IGMPV3协议提取若干个组播地址,添加到接收组播地址缓冲区;如果是退出组播报文,依照IGMPV3协议提取若干个组播地址,在接收组播地址缓冲区中删除。
CN201210221102.7A 2012-06-29 2012-06-29 WindowsXp操作系统下一种网卡冗余切换方法 Expired - Fee Related CN103514121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210221102.7A CN103514121B (zh) 2012-06-29 2012-06-29 WindowsXp操作系统下一种网卡冗余切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210221102.7A CN103514121B (zh) 2012-06-29 2012-06-29 WindowsXp操作系统下一种网卡冗余切换方法

Publications (2)

Publication Number Publication Date
CN103514121A CN103514121A (zh) 2014-01-15
CN103514121B true CN103514121B (zh) 2016-05-25

Family

ID=49896870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210221102.7A Expired - Fee Related CN103514121B (zh) 2012-06-29 2012-06-29 WindowsXp操作系统下一种网卡冗余切换方法

Country Status (1)

Country Link
CN (1) CN103514121B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944750B (zh) * 2014-03-14 2017-08-29 华为技术有限公司 一种绑定网卡故障处理方法及装置
CN104978174B (zh) * 2014-04-08 2018-04-27 华为技术有限公司 多操作系统中网卡之间的切换方法和系统
CN104503775A (zh) * 2014-12-02 2015-04-08 中国航天科工集团第三研究院第八三五七研究所 一种Windows下双冗余网络切换方法
CN108111324B (zh) * 2017-12-19 2022-06-03 刘昱 一种基于sdn网络的组播控制方法、装置及存储介质
CN112905303B (zh) * 2021-03-05 2024-04-09 深圳市网心科技有限公司 一种基于有线网卡的无感知网络桥接方法及其装置
CN115883338B (zh) * 2022-12-08 2024-07-09 中国船舶集团有限公司第七一六研究所 基于滞留帧重发的船用双冗余网络通信零丢帧实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374069A (zh) * 2007-08-25 2009-02-25 华为技术有限公司 一种组播报文的转换方法、系统和设备
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks系统下的多网卡双冗余装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720045B2 (en) * 2003-05-02 2010-05-18 Microsoft Corporation Method to enable simultaneous connections to multiple wireless networks using a single radio

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374069A (zh) * 2007-08-25 2009-02-25 华为技术有限公司 一种组播报文的转换方法、系统和设备
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks系统下的多网卡双冗余装置及系统

Also Published As

Publication number Publication date
CN103514121A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
CN103514121B (zh) WindowsXp操作系统下一种网卡冗余切换方法
US8886831B2 (en) System and methodology for fast link failover based on remote upstream failures
CN102315975B (zh) 一种基于irf系统的故障处理方法及其设备
CN102014019B (zh) 聚合链路切换方法及装置
CN100589408C (zh) 一种通讯网络连接方法及其装置
EP2725749B1 (en) Method, apparatus and system for processing service flow
CN101610212B (zh) 实现数据平面可靠通信的方法和板卡
CN102025616B (zh) 一种实现双向转发检测的方法、装置及交换机
CN1825836B (zh) 避免网络设备拥塞的系统和方法
CN104104570A (zh) Irf系统中的聚合处理方法及装置
US7522598B2 (en) System and method of protecting an IGMP proxy
CN1925496A (zh) 一种具有多网卡终端设备的网络层负载分担系统和方法
JP2003234757A (ja) データを損失せずにアクティブ・スイッチ・ファブリックとスタンドバイ・スイッチ・ファブリックの間を切り換えるための方法および装置
CN101877631A (zh) 服务器及其业务切换方法
CN101197733A (zh) 网络连通性的自动检测方法及装置
CN103166811A (zh) 一种mad检测方法和设备
CN101534198A (zh) 通信系统
CN101964719B (zh) 基于主控板倒换的数据处理方法、线卡及主控板
CN101909006A (zh) 双向转发检测报文发送、接收方法及其装置与通信系统
CN106453156A (zh) 一种虚拟设备间的通信方法及装置
CN103036728A (zh) 一种多冗余的以太网数据传输系统及传输方法
CN100417141C (zh) 一种组播业务实现方法
KR20060042394A (ko) 가입자 유닛 용장 시스템 및 가입자 유닛 용장 방법
CN101764736B (zh) 一种标准atca设备的高可用性方法
CN107179970B (zh) 一种分布式设备中大规模oam检测系统及方法

Legal Events

Date Code Title Description
C06 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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160525