[发明专利]一种网络双冗余快速切换的方法有效
| 申请号: | 201910903254.7 | 申请日: | 2019-09-24 |
| 公开(公告)号: | CN110677283B | 公开(公告)日: | 2022-06-24 |
| 发明(设计)人: | 白松;袁晓光;常玉增 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
| 主分类号: | H04L41/0823 | 分类号: | H04L41/0823;H04L41/0663;H04L43/0811 |
| 代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 100854*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 网络 冗余 快速 切换 方法 | ||
本发明涉及一种网络双冗余快速切换的方法,涉及网络通信技术领域。该方法只在驱动层就可实现网卡切换的动作,不需要更高层的模块协助处理,因此该方法只需要更改网卡的驱动即可实现,而对TCP/IP层的网络协议不做任何的变动,从而可以大大提高网络切换的速度,减少网路切换的时间开销,具体地,切换速度最大可达2倍的任务周期时间,切换时间稳定可调。该方法在Windows、VxWorks、Linux操作系统中均已实现,满足性能要求。
技术领域
本发明涉及网络通信技术领域,具体涉及一种网络双冗余快速切换的方法。
背景技术
随着网络技术的成熟,以太网已成为各种控制系统互连的主要媒介。在某些特殊的应用场景中,为了提高系统的可靠性和抗毁性,需采用双冗余网络技术。
在双冗余网络中,每个节点都采用两块网卡,中间用两个交换机互连。开始工作后,只有一个链路保持通讯,当某一个链路出现故障时(网卡工作、网线损坏或交换机故障),操作系统自动将连接切换到另外一路没有故障的链路,网络通讯仍能正常运作,这一过程对用户来说是不可见的。
目前很多双冗余网卡的驱动都是基于应用层的,它们实现的方案是:利用操作系统提供的上层接口函数,实现对系统中网卡的动态加载与删除,其实质是将需要冗余的两路网络适配器设置为相同的MAC地址,并采用同一IP地址。如果在系统启动时将两个网卡同时配置好,则会带来地址上的冲突,通常的实现方法是将其中一块网卡关闭,当需要切换时,先将当前网卡从系统列表中删除,再将第二块网卡加载到系统中,并配置相同的IP地址和MAC地址,由于经过的中间环节较多,势必会影响网络间相互切换的速度,切换时间上达不到工控指标上的要求。
同时在某些操作系统(如VxWorks)下,这样在上层进行切换,点对点通讯没有问题,但是会导致组播和广播失败。此时就需要更改TCP/IP协议层的驱动,以适应这种情况。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现一种网络双冗余快速切换的方法,以提高网络切换的速度,减少网路切换的时间开销。
(二)技术方案
为了解决上述技术问题,本发明提供了一种网络双冗余快速切换的方法,包括以下步骤:
步骤S1,系统进行初始化阶段,获取各网卡的硬件资源,并对各网卡做硬件初始化;
步骤S2,将第一块网卡注册至系统中;
步骤S3,将第一块网卡的注册数据记录到冗余组中的第一个位置;
步骤S4,将工作网卡设定为第一块网卡;
步骤S5,将第二块网卡注册到系统中;
步骤S6,将第二块网卡的IP地址、MAC地址设置为与第一块网卡一致;
步骤S7,将第二块网卡加到冗余组中;
步骤S8,启动网络监视任务,在此任务中实现网卡连接状态的监视和网卡的切换。
优选地,步骤S8中在驱动层实现网卡的切换。
优选地,步骤S8中实现网卡的切换时,在发送时,网络层向驱动层通知从哪个设备指针发送数据,驱动层接到发送命令时,抛弃网络层传递的设备指针,而使用当前工作网卡的设备指针作为物理设备完成数据发送,并返回发送状态;在接收时,网络层向驱动层通知从哪个设备指针接收数据,驱动层接到接收命令时,抛弃网络层传递的设备指针,而使用当前工作网卡的设备指针作为物理设备完成数据接收,并返回发送状态。
优选地,步骤S8中实现网卡的切换时,在层间的通讯通过返回状态来确认,只要实现网络层接口调用返回值的正确即可实现伪装欺骗。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910903254.7/2.html,转载请声明来源钻瓜专利网。





