一种冗余网络智能切换方法与流程

allin2025-07-14  31


本发明涉及冗余网络控制,尤其涉及一种冗余网络智能切换方法。


背景技术:

1、冗余网络是指通过手动设置将主要路由器与从属路由器虚拟出一个ip地址。当主要路由器出现故障不能通信时,这个虚拟ip地址会映射至备份路由器进行自动切换,从而迅速恢复通讯,避免网络故障造成一些应用场景下数据丢失、服务中断情况的出现,所以冗余网络是一种提高网络可靠性的一种有效方式。

2、随着网络技术领域应用的不断发展,现代设备对网络可靠性方面的要求越来越高。目前业内传统技术主要是通过配置冗余网络,引入多个路径增加多种网络连接的方式,实现网络的冗余备份。但这种方式的切换条件是主要路由器因网线损坏等故障才会发生被动切换。其局限于故障损坏的条件,对于客制条件的切换需求不能满足,灵活性和控制性较差。


技术实现思路

1、为了解决目前网络切换条件单一、冗余网络灵活性和控制性不足的技术问题,本发明提供了一种冗余网络智能切换方法,能够有效扩展其应用场景。

2、本发明提供了一种冗余网络智能切换方法,包括:

3、s1:选取同一网卡驱动的任意两个以太网接口,并将其对应的通信链路通过手动配置方式绑定形成冗余网络通道;其中,两条通信链路中一条为第一通信链路,另一条为第二通信链路;

4、s2:网络数据帧经任一以太网接口及对应的通信链路到达物理层,当物理层接收到一个完整的数据包后产生中断信号;

5、s3:网卡驱动中的中断函数对中断信号进行响应,并将数据包及相关信息封装成统一数据格式存储在内核态缓冲区;同时网卡驱动根据以太网帧头部信息对冗余网络的所有数据包进行分类和统计;

6、s4:当监测到冗余网络通道中当前通信链路的数据包数量满足中断函数中设置的主动冗余切换条件时,内核态中的驱动向系统应用层指定进程发送冗余网络通道切换信号;

7、s5:系统应用层接受到信号后,进行切换条件的检验判断,当符合预设的检验判断条件后切换至另一通信链路。

8、进一步地,网卡为国产wx1860网卡芯片。

9、进一步地,s3中统一数据格式为sk_buff结构体;其中,sk_buff结构体按照以太网接口被分配至对应通道的消息队列中进行存储管理;进而从消息接收队列中依次取出sk_buff结构体,通过协议栈层层解析出数据包传递给应用层。

10、进一步地,主动冗余切换条件为当前通信链路接收到大于或等于20个数据包。

11、进一步地,s3中网卡驱动中的中断函数对中断信号进行响应的具体过程为:

12、s31:判断两个目标以太网接口是否配置冗余绑定:若是,则进入s32;若否,则直接结束;

13、s32:分类处理函数根据传输数据包的以太网帧头部中的目的物理地址进行分类处理和统计,并且对应输出返回值;

14、s33:选择结构代码段根据返回值执行相应程序。

15、更进一步地,s31中冗余网络的绑定的具体判断标准包括:

16、两个以太网接口为绑定的目标以太网接口;且两个以太网接口的物理地址一致。

17、更进一步地,s32的具体过程为:

18、若数据包的接收端物理地址表示该数据包为广播包,则直接返回0;

19、若数据包的接收端物理地址与第一通信链路或第二通信链路通道的物理地址完全相同,则将经过这两个以太网接口的数据包相应通道变量的数值进行加1操作;若为第一通信链路对应的以太网接口,则返回值为3;若为第二通信链路对应的以太网接口,则返回值为4;

20、若数据包的接收端物理地址表示该数据包为单播或者组播,则将数据包传输经过的是以太网接口相应通道变量的数值进行加1操作;若为第一通信链路对应的以太网接口,则返回值为3;若为第二通信链路对应的以太网接口,则返回值为4;

21、若数据包的接收端物理地址表示该数据包为其他包,则返回值为0。

22、更进一步地,s33的具体过程为:

23、若返回值为0,则直接break跳出switch语句;

24、若返回值为3,判断第一通信链路是否处于连接状态:若否,则直接结束;若是,则进入s4;

25、若返回值为4,判断第二通信链路是否处于连接状态:若否,则直接结束;若是,则进入s4;

26、若属于其他情况,则直接break跳出switch语句。

27、进一步地,s5中预设的检验判断条件具体为:

28、s51:判断两个以太网接口是否进行了冗余网络通道的绑定:若是,进入s52;若否,则直接结束;

29、s52:判断绑定的冗余网络通道是否有ip地址:若无,则直接结束;若有,则判断ip地址是否有效:若有效,则进入s53;若无效,则直接结束;

30、s53:判断当前通信链路是否与所需切换信号的通信链路一致,此时应用程序需通过ioctl从用户层下发结构体到驱动,驱动会将需切换的通道写入结构体中:若一致,则直接结束;若不一致,则进行通信链路的切换。

31、本发明提出了一种冗余网络智能切换方法,所述方法通过在驱动的中断函数中增加主动冗余代码块的方式,以及搭载与之配合的应用程序,依据用户需求实现冗余网络智能切换;有效地解决对于特殊条件下冗余网络不能切换的窘迫境地,且支持定制化切换条件,进一步扩展了应用场景,提高了冗余网络的灵活性和控制性;结构简单,仅通过较低成本满足不同场景下用户对冗余网络的需求。



技术特征:

1.一种冗余网络智能切换方法,其特征在于,包括:

2.根据权利要求1所述的冗余网络智能切换方法,其特征在于,网卡为国产wx1860网卡芯片。

3.根据权利要求1所述的冗余网络智能切换方法,其特征在于,s3中统一数据格式为sk_buff结构体;其中,sk_buff结构体按照以太网接口被分配至对应通道的消息队列中进行存储管理;进而从消息队列中依次取出sk_buff结构体,通过协议栈层层解析出数据包传递给应用层。

4.根据权利要求1所述的冗余网络智能切换方法,其特征在于,主动冗余切换条件为当前通信链路接收到大于或等于20个数据包。

5.根据权利要求1所述的冗余网络智能切换方法,其特征在于,s3中网卡驱动中的中断函数对中断信号进行响应的具体过程为:

6.根据权利要求5所述的冗余网络智能切换方法,其特征在于,s31中冗余网络的绑定的具体判断标准包括:

7.根据权利要求5所述的冗余网络智能切换方法,其特征在于,s32的具体过程为:

8.根据权利要求7所述的冗余网络智能切换方法,其特征在于,s33的具体过程为:

9.根据权利要求1所述的冗余网络智能切换方法,其特征在于,s5中预设的检验判断条件具体为:


技术总结
本发明公开了一种冗余网络智能切换方法,包括:选取同一网卡驱动的任意两个以太网接口,并将其对应的通信链路绑定形成冗余网络通道;数据包经任一以太网接口及对应的通信链路到达物理层,当物理层接收到一个完整的数据包后产生中断信号;网卡驱动中的中断函数对中断信号进行响应,并将数据包及相关信息进行封装存储;同时驱动中能自动识别出上层配置的冗余网络,并能将冗余网络中通过的所有数据帧进行分类和统计;当监测到当前通信链路的数据包数量满足设置的主动冗余切换条件时,内核态中的驱动向系统应用层发送冗余网络通道切换信号;系统应用层进行切换条件的检验判断,进而切换至另一通信链路。提高冗余网络的灵活性和控制性。

技术研发人员:李小勇,彭星,简楹,严成,杨黎明,王元圆
受保护的技术使用者:长沙湘计海盾科技有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-23013.html

最新回复(0)