windows XPE下双冗余网卡的切换系统技术方案

技术编号:20592803 阅读:43 留言:0更新日期:2019-03-16 09:00
本发明专利技术属于网络技术领域,具体涉及一种windows XPE下双冗余网卡的切换系统。首先,初始化winio驱动层环境和遍历PCI设备查找目标网卡,通过PCI信息计算网卡的内存基地址空间;其次,进行网卡的IP初始化设置并要求两网卡使用同一IP不同mac地址;在此基础上,通过内存基地址读取链路寄存器状态。采用基于轮询的方法,对两网卡进行状态查询,从而实现双冗余网卡的切换过程。

Switching System of Double Redundant Network Card under Windows XPE

The invention belongs to the field of network technology, in particular to a switching system of dual redundant network cards under Windows XPE. First, the WINIO driver environment is initialized and PCI devices are traversed to find the target network card. Then, the memory base address space of the network card is calculated by PCI information. Secondly, the IP initialization settings of the network card are made and the two network cards are required to use different MAC addresses of the same IP. On this basis, the link register status is read through the memory base address. In order to realize the switching process of dual redundant network cards, polling-based method is used to query the status of the two network cards.

【技术实现步骤摘要】
windowsXPE下双冗余网卡的切换系统
本专利技术属于网络
,具体涉及一种windowsXPE下双冗余网卡的切换系统。
技术介绍
WindowsXPEmbedded操作系统是嵌入式操作系统,拥有windowsXP专业版所有的功能和属性,又拥有根据应用需要能任意裁剪的特点且具备自我保护功能。目前通常应用的系统平台采用裁剪版的WinXPE,为保证系统最小运行开销,只在最小可裁剪的系统上添加网络组件功能。随着网络技术的成熟,为了提供系统的可靠性和稳定性,需要采取一种策略保证当某个节点一块网卡故障或者网线故障的情况下,网络依然能正常通信。目前成熟的双冗余网卡切换技术有通过中间协议完成双网切换,该方法基于中间层的适配模块进行实施从而屏蔽底层硬件差异,包括驱动注册单元、虚拟小端口驱动单元和协议层驱动单元。但是该解决方案要求适配的过程在切换过程中占据了大量的时间,不利于网络故障的恢复,同时内核级的操作容易引起系统崩溃,存在安全隐患,不适用于XPE的系统特点;还有基于网络通信的方法,从软件上对数据包进行过滤从而实现切换。这种在应用层进行分析解决,切换时间过长不利于网络通信质量的保证。因此,为了解决WindowXPE下的双冗余网络切换问题,缩短切换时间,简化切换算法复杂度,迫切需要提出一种双冗余网卡切换系统。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:windowsXPE平台在最小可裁剪系统只有网络组件的情况下,如何实现双冗余网卡的快速切换问题。(二)技术方案为解决现有技术问题,本专利技术提供一种windowsXPE下双冗余网卡的切换系统,所述系统所应用的环境中设置有双冗余网卡,所述系统包括:网卡内存空间基地址获取模块、初始化模块、网卡切换模块;所述网卡内存空间基地址获取模块用于查找网卡,获取双冗余网卡的内存空间基地址;所述初始化模块用于对查找到的双冗余网卡进行IP初始化;所述网卡切换模块用于基于轮询方式进行双冗余网卡切换。其中,所述网卡内存空间基地址获取模块包括:配置单元、目标网卡定位单元、地址获取单元;所述配置单元用于初始化winio驱动,为I/O端口操作配置环境,允许从I/O端口直接读取内容;所述目标网卡定位单元用于在系统所接设备中,遍历查询PCI设备资源以准确定位网卡;根据设备序号、功能序号、总线序号信息计算I/O端口的读写地址,从I/O端口处获取数据并计算该数据与待查设备的供应商号、设备厂商号是否匹配,从而定位目标网卡;所述地址获取单元用于根据目标网卡的设备序号、功能序号、总线序号、PCI配置地址总线号计算出I/O端口的读写地址,从I/O端口获取目标网卡的内存空间基地址。其中,所述初始化模块通过驱动层函数遍历获取所有设备的适配信息并与目标网卡预定义的适配描述信息进行一一对比,并根据两个网卡的描述信息名称前缀将两网卡适配信息索引号区分保存,通过适配信息索引号进行当前网卡的IP信息的设置。其中,所述初始化模块指定两个网卡初始化状态都不能设置固定IP,即在主机的本地连接中IP地址设置中选择“自动获取”;完成网络的初始IP设置,且只对当前在线使用的网卡进行设置,备用网卡采取无IP状态;初始化网卡IP时,在设置前先删除之前配置的IP信息,再根据配置文件动态设置。其中,所述初始化模块包括:读取单元、适配信息获取单元、对比单元、网卡区分单元、删除单元、IP信息添加单元;所述读取单元用于读取配置文件,获取预设的IP信息,如果该IP信息无效则启用宏定义的IP信息;所述适配信息获取单元用于循环获取主机设备适配信息;所述对比单元用于将适配信息的描述信息与目标网卡的预定义描述信息进行对比,如果匹配,则保存当前适配信息;所述网卡区分单元用于根据网卡的预定义描述信息区分工作网卡和备用网卡,并且保存每块网卡的适配索引号;所述删除单元用于在网卡区分单元区分工作网卡和备用网卡后,删除两块网卡的IP信息;所述IP信息添加单元用于在删除单元删除两块网卡的IP信息之后,根据适配信息索引号为当前在线网卡添加预设IP信息。其中,所述网卡切换模块根据网卡的内存基地址计算出链路寄存器的地址,通过I/O端口的读写操作获取当前在线网卡在网络中的链路状态;通过轮询的方式查询网卡链路状态,当检测异常时则进行两网卡的切换;通过删除故障网卡IP信息然后给正常网卡添加IP信息完成切换过程。其中,所述网卡切换模块包括:地址计算单元、判断及状态设置单元、切换单元;所述地址计算单元用于根据网卡的内存基地址计算出链路寄存器的地址;所述判断及状态设置单元用于判断当前在线网卡的链路状态,如果正常则记录当前切换状态为正常,并不进行切换过程;如果当前在线网卡不正常,则判断备用网卡的链路状态是否正常,如果备用网卡故障就继续查询该备用网卡状态,允许一定次数的查询,若超过规定值,则将切换状态设为故障;所述切换单元用于在备用网卡正常的情况下进行切换,将当前在线网卡的IP删除掉并给备用网卡添加IP信息,同时将备用网卡设为当前在线网卡,完成切换过程。(三)有益效果本专利技术属于双冗余网络切换技术,在系统为WindowsXPE的应用场景下,针对系统平台特点,根据网络自身传输特点,并结合I/O底层操作库,动态设置网卡IP信息,设计实现了一种基于winio驱动层的双冗余网卡切换方案。该方案通过驱动层完成网卡的适配,利用软件动态设置网卡IP信息缩短切换时间并完成双网卡之间的切换。附图说明图1为双冗余网卡切换主流程图。图2为本专利技术技术方案原理图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。为解决现有技术问题,本专利技术提供一种windowsXPE下双冗余网卡的切换系统,所述系统所应用的环境中设置有双冗余网卡,所述系统包括:网卡内存空间基地址获取模块、初始化模块、网卡切换模块;所述网卡内存空间基地址获取模块用于查找网卡,获取双冗余网卡的内存空间基地址;所述初始化模块用于对查找到的双冗余网卡进行IP初始化;所述网卡切换模块用于基于轮询方式进行双冗余网卡切换。其中,所述网卡内存空间基地址获取模块包括:配置单元、目标网卡定位单元、地址获取单元;所述配置单元用于初始化winio驱动,为I/O端口操作配置环境,允许从I/O端口直接读取内容;所述目标网卡定位单元用于在系统所接设备中,遍历查询PCI设备资源以准确定位网卡;根据设备序号、功能序号、总线序号信息计算I/O端口的读写地址,从I/O端口处获取数据并计算该数据与待查设备的供应商号、设备厂商号是否匹配,从而定位目标网卡;所述地址获取单元用于根据目标网卡的设备序号、功能序号、总线序号、PCI配置地址总线号计算出I/O端口的读写地址,从I/O端口获取目标网卡的内存空间基地址。其中,所述初始化模块通过驱动层函数遍历获取所有设备的适配信息并与目标网卡预定义的适配描述信息进行一一对比,并根据两个网卡的描述信息名称前缀将两网卡适配信息索引号区分保存,通过适配信息索引号进行当前网卡的IP信息的设置。其中,所述初始化模块指定两个网卡初始化状态都不能设置固定IP,即在主机的本地连接中IP地址设置中选择“自动获取”;完成网络的初始IP设置,且只对当前在线使用的网卡进行设置,备用网卡采取无IP状态本文档来自技高网...

【技术保护点】
1.一种windows XPE下双冗余网卡的切换系统,其特征在于,所述系统所应用的环境中设置有双冗余网卡,所述系统包括:网卡内存空间基地址获取模块、初始化模块、网卡切换模块;所述网卡内存空间基地址获取模块用于查找网卡,获取双冗余网卡的内存空间基地址;所述初始化模块用于对查找到的双冗余网卡进行IP初始化;所述网卡切换模块用于基于轮询方式进行双冗余网卡切换。

【技术特征摘要】
1.一种windowsXPE下双冗余网卡的切换系统,其特征在于,所述系统所应用的环境中设置有双冗余网卡,所述系统包括:网卡内存空间基地址获取模块、初始化模块、网卡切换模块;所述网卡内存空间基地址获取模块用于查找网卡,获取双冗余网卡的内存空间基地址;所述初始化模块用于对查找到的双冗余网卡进行IP初始化;所述网卡切换模块用于基于轮询方式进行双冗余网卡切换。2.如权利要求1所述的windowsXPE下双冗余网卡的切换系统,其特征在于,所述网卡内存空间基地址获取模块包括:配置单元、目标网卡定位单元、地址获取单元;所述配置单元用于初始化winio驱动,为I/O端口操作配置环境,允许从I/O端口直接读取内容;所述目标网卡定位单元用于在系统所接设备中,遍历查询PCI设备资源以准确定位网卡;根据设备序号、功能序号、总线序号信息计算I/O端口的读写地址,从I/O端口处获取数据并计算该数据与待查设备的供应商号、设备厂商号是否匹配,从而定位目标网卡;所述地址获取单元用于根据目标网卡的设备序号、功能序号、总线序号、PCI配置地址总线号计算出I/O端口的读写地址,从I/O端口获取目标网卡的内存空间基地址。3.如权利要求2所述的windowsXPE下双冗余网卡的切换系统,其特征在于,所述初始化模块通过驱动层函数遍历获取所有设备的适配信息并与目标网卡预定义的适配描述信息进行一一对比,并根据两个网卡的描述信息名称前缀将两网卡适配信息索引号区分保存,通过适配信息索引号进行当前网卡的IP信息的设置。4.如权利要求2所述的windowsXPE下双冗余网卡的切换系统,其特征在于,所述初始化模块指定两个网卡初始化状态都不能设置固定IP,即在主机的本地连接中IP地址设置中选择“自动获取”;完成网络的初始IP设置,且只对当前在线使用的网卡进行设置,备用网卡采取无IP状态;初始化网卡IP时,在设置前先删除之前配置的IP信息,再根据配置文件动态设置。5.如权利要...

【专利技术属性】
技术研发人员:高娟
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1