CN103259678B - 主备切换方法、装置、设备及系统 - Google Patents

主备切换方法、装置、设备及系统 Download PDF

Info

Publication number
CN103259678B
CN103259678B CN201310157735.0A CN201310157735A CN103259678B CN 103259678 B CN103259678 B CN 103259678B CN 201310157735 A CN201310157735 A CN 201310157735A CN 103259678 B CN103259678 B CN 103259678B
Authority
CN
China
Prior art keywords
passage
loopback
standby
network
channel status
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.)
Active
Application number
CN201310157735.0A
Other languages
English (en)
Other versions
CN103259678A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310157735.0A priority Critical patent/CN103259678B/zh
Publication of CN103259678A publication Critical patent/CN103259678A/zh
Application granted granted Critical
Publication of CN103259678B publication Critical patent/CN103259678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种主备切换方法、装置、设备及系统,属于网络通信领域。所述方法包括:获取环回通道的环回通道状态;获取主通道的主通道状态;根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障;若所述主通道发生故障且所述环回通道未发生故障,则进行主备切换。所述装置包括:第一状态获取模块、第二状态获取模块、故障确定模块和第一切换模块。本发明通过获取环回通道的环回通道状态和主通道的主通道状态,根据环回通道状态和主通道状态确定是否进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。

Description

主备切换方法、装置、设备及系统
技术领域
本发明涉及网络通信领域,特别涉及一种主备切换方法、装置、设备及系统。
背景技术
在业务单板上通常装有多个网卡,为了提高网络吞吐量和链路的冗余性,通常采用网卡绑定(Bonding)技术,将多个网卡绑定成一个虚拟网卡,为虚拟网卡设置一个IP(InternetProtocol,网络互连协议)地址和一个MAC(Medium/MediaAccessControl,介质访问控制)地址来对外提供服务。在企业或Linux服务器环境中,通常会使用网卡绑定技术的主备工作模式实现网口硬件层面的冗余。
主备型工作模式中绑定后的虚拟网卡包含有两块网卡,其中工作状态为BOND_STATE_ACTIVE的一个网卡为主网卡,工作状态为BOND_STATE_BACKUP的一个网卡为备网卡。对应的,主网卡上的网口称为主网口,备网卡上的网口称为备网口。主网卡可以用于发送和接收报文,备网卡可以用于接收报文,但通常不用于发送报文。
为了防止单个网卡所在链路出现故障,保证数据传输的可靠性,需要对绑定的主备工作模式下的链路通道进行检测。
现有技术中,提供了一种基于主备工作模式下的主备切换方法,包括:判断绑定后的虚拟网卡是否开启ARP(AddressResolutionProtocol,地址解析协议)检测功能;若虚拟网卡开启了ARP检测功能,则进一步判断哪个网卡为主网卡,并从确定的主网卡发送ARP报文;检测主网卡是否接收到了ARP响应报文,若检测结果为主网卡未接收到ARP响应报文,则表明主网卡所在的链路通道(即主通道)出现故障,进行主备切换,也就是将原有的备网卡切换为主网卡,并将原有的主网卡切换为备网卡;若虚拟网卡未开启ARP检测功能,则检测主网卡的物理链路状态,即直接检测主网卡以及与主网卡连接的交换机之间的物理链路状态是否为连通(LINK_UP),若检测结果为主网卡以及与主网卡连接的交换机之间的物理链路状态不连通(LINK_DOWN),则进行主备切换。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:仅对主通道进行检测,如果主通道出现故障,备通道也出现故障,主备切换后的主网卡所在的链路通道仍然是有故障的,通过该链路通道传输报文仍旧不可靠。因此,仅通过对主通道的检测以确定是否进行主备切换,还无法满足报文的可靠传输。
发明内容
为了解决现有技术中仅通过对主通道的检测以确定是否进行主备切换,无法满足报文的可靠传输的问题,本发明实施例提供了一种主备切换方法、装置、设备及系统。所述技术方案如下:
第一方面,提供了一种基于主备型工作模式的主备切换方法,应用于包含虚拟网卡的设备中,所述虚拟网卡对应主网卡和备网卡,所述主网卡通过第一通道与出口交换机连接,所述出口交换机通过第二通道与用于连接外部网络的网关连接,所述备网卡通过第三通道与所述出口交换机连接,所述方法包括:
获取环回通道的环回通道状态,所述环回通道包括所述第三通道以及所述第一通道;
获取所述主通道的主通道状态,所述主通道包括所述第一通道以及第二通道;
根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障;
若所述主通道发生故障且所述环回通道未发生故障,则进行主备切换。
在第一方面的第一种可能的实施方式中,所述获取环回通道的环回通道状态,包括:
构造第一检测报文,所述第一检测报文的目的MAC地址为所述虚拟网卡的MAC地址;
通过所述备网卡发送所述第一检测报文;
分析所述主网卡是否接收到所述第一检测报文且在所述主网卡接收到所述第一检测报文时分析所述第一检测报文,以确定所述环回通道的环回通道状态,所述环回通道状态包括所述环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
结合第一方面或者第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述获取所述主通道的主通道状态,包括:
获取所述网关的IP地址和MAC地址;
构造第二检测报文,所述第二检测报文的目的IP地址和目的MAC地址分别为所述网关的IP地址和MAC地址,所述第二检测报文的源IP地址和源MAC地址分别为所述虚拟网卡的IP地址和MAC地址;
通过所述主网卡发送所述第二检测报文至所述网关,以便于所述网关根据所述第二检测报文向所述主网卡发送反馈报文;
分析所述主网卡是否接收到所述反馈报文且在所述主网卡接收到所述反馈报文时分析所述反馈报文,以确定所述主通道的主通道状态,所述主通道状态包括所述主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
结合第一方面、第一方面的第一种可能的实施方式或者第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述第二检测报文为ICMP报文。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式或者第一方面的第三种可能的实施方式,在第四种可能的实施方式中,所述根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障之后,还包括:
若所述主通道和所述环回通道均发生故障,则检测所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路是否正常;
若检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常,则进行主备切换;
若所述主通道和所述环回通道均未发生故障,则不进行主备切换。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式或者第一方面的第四种可能的实施方式,在第五种可能的实施方式中,所述若所述主通道发生故障且所述环回通道未发生故障之后,还包括:
检测当前的切换次数的值是否小于预定切换阈值;
若检测结果为当前的切换次数的值小于预定切换阈值,则执行所述进行主备切换的步骤,将所述切换次数的值加1;
所述若检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常之后,还包括:
检测当前的切换次数的值是否小于所述预定切换阈值;
若检测结果为当前的切换次数的值小于所述预定切换阈值,则执行所述进行主备切换的步骤,将所述切换次数的值加1;
所述若所述主通道和所述环回通道均未发生故障,则不进行主备切换之后,还包括:将所述切换次数的值置为0。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式或者第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障,包括:
若所述环回通道状态为所述环回通道不连通、网络出现错误、丢包率大于所述第一预定丢包阈值和网络延迟大于所述第一预定延迟阈值中的至少一种,则确定所述环回通道发生故障;
若所述环回通道状态为所述备通道连通、网络未出现错误、丢包率小于所述第一预定丢包阈值且网络延迟小于所述第一预定延迟阈值,则确定所述环回通道未发生故障;
若所述主通道状态为所述主通道不连通、网络出现错误、丢包率大于所述第二预定丢包阈值和网络延迟大于所述第二预定延迟阈值中的至少一种,则确定所述主通道发生故障;
若所述主通道状态为所述主通道连通、网络未出现错误、丢包率小于所述第二预定丢包阈值且网络延迟小于所述第二预定延迟阈值,则确定所述主通道未发生故障。
第二方面,提供了一种基于主备型工作模式的主备切换装置,应用于包含虚拟网卡的设备中,所述虚拟网卡对应主网卡和备网卡,所述主网卡通过第一通道与出口交换机连接,所述出口交换机通过第二通道与用于连接外部网络的网关连接,所述备网卡通过第三通道与所述出口交换机连接,所述装置包括:
第一状态获取模块,用于获取环回通道的环回通道状态,所述环回通道包括所述第三通道以及所述第一通道;
第二状态获取模块,用于获取所述主通道的主通道状态,所述主通道包括所述第一通道以及第二通道;
故障确定模块,用于根据所述第一状态获取模块获取的环回通道状态和所述第二状态获取模块获取的主通道状态分别确定所述环回通道和所述主通道是否发生故障;
第一切换模块,用于在所述故障确定模块确定主通道发生故障且所述环回通道未发生故障时,进行主备切换。
在第二方面的第一种可能的实施方式中,所述第一状态获取模块,包括:
第一构造单元,用于构造第一检测报文,所述第一检测报文的目的MAC地址为所述虚拟网卡的MAC地址;
第一发送单元,用于通过所述备网卡发送所述第一构造单元构造的第一检测报文;
第一状态确定单元,用于分析所述主网卡是否接收到所述第一发送单元发送的第一检测报文且在所述主网卡接收到所述第一检测报文时分析所述第一检测报文,以确定所述环回通道的环回通道状态,所述环回通道状态包括所述环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
结合第二方面或者第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述第二状态获取模块,包括:
获取单元,用于获取所述网关的IP地址和MAC地址;
第二构造单元,用于构造第二检测报文,所述第二检测报文的目的IP地址和目的MAC地址分别为所述获取单元获取到的网关的IP地址和MAC地址,所述第二检测报文的源IP地址和源MAC地址分别为所述虚拟网卡的IP地址和MAC地址;
第二发送单元,用于通过所述主网卡发送所述第二构造单元构造的第二检测报文至所述网关,以便于所述网关根据所述第二检测报文向所述主网卡发送反馈报文;
第二状态确定单元,用于分析所述主网卡是否接收到所述网关根据第二发送单元发送的第二检测报文后向主网卡发送的反馈报文且在所述主网卡接收到所述反馈报文时分析所述反馈报文,以确定所述主通道的主通道状态,所述主通道状态包括所述主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
结合第二方面、第二方面的第一种可能的实施方式或者第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述第二检测报文为ICMP报文。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式或者第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述装置,还包括:
第一检测模块,用于在所述主通道和所述环回通道均发生故障时,检测所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路是否正常;
第二切换模块,用于在所述第一检测模块的检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常时,进行主备切换;
保留模块,用于在所述主通道和所述环回通道均未发生故障时,不进行主备切换。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式、第二方面的第三种可能的实施方式或者第二方面的第四种可能的实施方式,在第五种可能的实施方式中,所述装置,还包括:
第二检测模块,用于在所述故障确定模块确认所述主通道发生故障且所述环回通道未发生故障时,检测当前的切换次数的值是否小于预定切换阈值;
第一触发模块,用于在所述第二检测模块的检测结果为当前的切换次数的值小于预定切换阈值时,触发所述第一切换模块以进行主备切换,将所述切换次数的值加1;
所述装置,还包括:
第三检测模块,用于在所述第一检测模块的检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常时,检测当前的切换次数的值是否小于所述预定切换阈值;
第二触发模块,用于在所述第三检测模块的检测结果为当前的切换次数的值小于所述预定切换阈值时,触发所述第二切换模块以进行主备切换,将所述切换次数的值加1;
所述装置,还包括:
清零模块,用于在所述保留模块不进行主备切换时,将所述切换次数的值置为0。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式、第二方面的第三种可能的实施方式、第二方面的第四种可能的实施方式或者第二方面的第五种可能的实施方式,在第六种可能的实施方式中,所述故障确定模块,包括:
第一确定单元,用于在所述环回通道状态获取模块获取到的环回通道状态为所述环回通道不连通、网络出现错误、丢包率大于所述第一预定丢包阈值和网络延迟大于所述第一预定延迟阈值中的至少一种时,确定所述环回通道发生故障;
第二确定单元,用于在所述环回通道状态获取模块获取到的环回通道状态为所述备通道连通、网络未出现错误、丢包率小于所述第一预定丢包阈值且网络延迟小于所述第一预定延迟阈值时,确定所述环回通道未发生故障;
第三确定单元,用于在所述主通道状态获取模块获取到主通道状态为所述主通道不连通、网络出现错误、丢包率大于所述第二预定丢包阈值和网络延迟大于所述第二预定延迟阈值中的至少一种时,确定所述主通道发生故障;
第四确定单元,用于在所述主通道状态获取模块获取到主通道状态所述主通道连通、网络未出现错误、丢包率小于所述第二预定丢包阈值且网络延迟小于所述第二预定延迟阈值时,确定所述主通道未发生故障。
第三方面,还提供了一种主备切换设备,所述设备包括如第二方面以及第二方面中各种可能的实施方式中所描述的主备切换装置。
第四方面,还提供了一种主备切换系统,所述系统包括:主备切换设备、至少两个交换机和至少一个网关,所述主备切换设备为如第二方面以及第二方面中各种可能的实施方式中所描述的主备切换装置。
第五方面,还提供了一种主备切换装置,该装置应用于包含虚拟网卡的设备中,所述虚拟网卡对应主网卡和备网卡,所述主网卡通过第一通道与出口交换机连接,所述出口交换机通过第二通道与用于连接外部网络的网关连接,所述备网卡通过第三通道与所述出口交换机连接,所述装置包括处理器、发送机、接收机和存储器,存储器中存储有计算机软件,处理器利用这些计算机软件实现相应的操作。
存储器中存储计算机软件,处理器通过访问这些计算机软件进行操作。
处理器用于获取环回通道的环回通道状态,所述环回通道包括所述第三通道以及所述第一通道。
处理器还用于获取所述主通道的主通道状态,所述主通道包括所述第一通道以及第二通道。
处理器还用于根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障。
处理器还用于在所述主通道发生故障且所述环回通道未发生故障时,进行主备切换。
结合第二方面,在第一种可能的实施方式中,处理器还用于构造第一检测报文,所述第一检测报文的目的MAC地址为所述虚拟网卡的MAC地址。
对应的,发送机用于通过所述备网卡发送所述第一检测报文。
接收机用于通过主网卡接收发送机发送的第一检测报文。
处理器还用于分析所述主网卡是否接收到所述第一检测报文且在所述主网卡接收到所述第一检测报文时分析所述第一检测报文,以确定所述环回通道的环回通道状态,所述环回通道状态包括所述环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
结合第二方面、第二方面的第一种可能的实施方式,在第二种可能的实施方式中,处理器还用于获取所述网关的IP地址和MAC地址。
处理器还用于构造第二检测报文,所述第二检测报文的目的IP地址和目的MAC地址分别为所述网关的IP地址和MAC地址,所述第二检测报文的源IP地址和源MAC地址分别为所述虚拟网卡的IP地址和MAC地址。第二检测报文为ICMP报文。
发送机还用于通过所述主网卡发送所述第二检测报文至所述网关,以便于所述网关根据所述第二检测报文向所述主网卡发送反馈报文。
接收机用于通过主网卡接收反馈报文。
处理器还用于分析所述主网卡是否接收到所述反馈报文且在所述主网卡接收到所述反馈报文时分析所述反馈报文,以确定所述主通道的主通道状态,所述主通道状态包括所述主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
结合第二方面、第二方面的第一种可能的实施方式或者第二方面的第二种可能的实施方式,在第三种可能的实施方式中,处理器还用于在所述主通道和所述环回通道均发生故障时,检测所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路是否正常。
处理器还用于在检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常时,进行主备切换。
处理器还用于在所述主通道和所述环回通道均未发生故障时,不进行主备切换。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式或者第二方面的第三种可能的实施方式,在第四种可能的实施方式中,处理器还用于检测当前的切换次数的值是否小于预定切换阈值。
处理器还用于在检测结果为当前的切换次数的值小于预定切换阈值时,执行所述进行主备切换的步骤,将所述切换次数的值加1。
处理器还用于检测当前的切换次数的值是否小于所述预定切换阈值。
处理器还用于在检测结果为当前的切换次数的值小于所述预定切换阈值时,执行所述进行主备切换的步骤,将所述切换次数的值加1。
处理器还用于在所述主通道和所述环回通道均未发生故障时,在不进行主备切换之后,将所述切换次数的值置为0。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式、第二方面的第三种可能的实施方式或者第二方面的第四种可能的实施方式,在第五种可能的实施方式中,处理器还用于在所述环回通道状态为所述环回通道不连通、网络出现错误、丢包率大于所述第一预定丢包阈值和网络延迟大于所述第一预定延迟阈值中的至少一种时,确定所述环回通道发生故障。
处理器还用于在所述环回通道状态为所述备通道连通、网络未出现错误、丢包率小于所述第一预定丢包阈值且网络延迟小于所述第一预定延迟阈值时,确定所述环回通道未发生故障。
处理器还用于在所述主通道状态为所述主通道不连通、网络出现错误、丢包率大于所述第二预定丢包阈值和网络延迟大于所述第二预定延迟阈值中的至少一种时,确定所述主通道发生故障。
处理器还用于在所述主通道状态为所述主通道连通、网络未出现错误、丢包率小于所述第二预定丢包阈值且网络延迟小于所述第二预定延迟阈值时,确定所述主通道未发生故障。
第六方面,还提供了一种主备切换设备,所述设备包括如第五方面以及第五方面中各种实施方式中所描述的主备切换装置。
第七方面,还提供了一种主备切换系统,所述系统包括:主备切换设备、至少两个交换机和至少一个网关,所述主备切换设备为如第五方面以及第五方面中各种实施方式中所描述的主备切换装置。
本发明实施例提供的技术方案带来的有益效果是:
通过获取环回通道的环回通道状态和主通道的主通道状态,根据环回通道状态和主通道状态确定是否进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明部分实施例中应用绑定技术的业务单板所对应的网络层的示意图;
图2是本发明部分实施例中具有主备型工作模式的业务单板的一个网络应用场景;
图3是本发明实施例一提供的基于主备型工作模式的主备切换方法的方法流程图;
图4是本发明实施例二提供的基于主备型工作模式的主备切换方法的方法流程图;
图5是本发明部分实施例中应用绑定技术的业务单板所对应的网络层的示意图;
图6是本发明实施例三提供的基于主备型工作模式的主备切换装置的结构示意图;
图7是本发明实施例四提供的基于主备型工作模式的主备切换装置的结构示意图;
图8是本发明实施例五提供的基于主备型工作模式的主备切换装置的结构示意图;
图9是本发明实施例六提供的基于主备型工作模式的主备切换系统的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参见图1所示,其示出了本发明部分实施例中应用绑定技术的业务单板所对应的网络层的示意图。在网卡绑定的主备型工作模式中,将网卡eth0和网卡eth1绑定为虚拟网卡Bond0,在绑定时,将网卡eth0初始设置为主网卡(也即该网卡的工作状态置为Active),将网卡eth1初始设置为备网卡(也即将该网卡的工作状态置为Backup)。通常,Bond0设置在数据链路层(也即图1中所示的驱动层和TC层组成的链路层)和网络层之间。网卡绑定技术为虚拟网卡Bond0设定一个IP地址和一个MAC地址,该MAC地址与绑定Bond0时所对应的主网卡eth0的MAC地址相同,而被绑定的主网卡eth0和备网卡eth1在外部网络看来并没有IP地址。在主备切换的过程中,Bond0的MAC地址始终不变。
在发送数据包时,Bond0所在的业务单板通过网络层中的应用层、传输层和网络层打包好数据包后,Bond0首先查找对应的主网卡eth0,并将打包好的数据包发送给该主网卡eth0,以通过该主网卡eth0的网口将数据包发送给与该主网卡连接的交换机,该交换机将数据包发送出去,该交换机同时记录该数据包中的源MAC地址以及与该源MAC地址对应的主网卡eth0。在交换机接收到数据包时,如果发现该数据包中的目的MAC地址与记录的主网卡eth0对应的源MAC地址相同,则会将接收到的数据包发送给主网卡eth0,由此可知,交换机不会将非广播包发送给备网卡eth1;当交换机接收到的是广播包时,如果该交换机与主网卡eth0和备网卡eth1均连接,则将数据包广播发送给主网卡eth0和备网卡eth1。因此在主备型工作模式下,主网卡eth0可以接收并发送数据包,而备网卡eth1仅能接收到交换机发送的广播包,且不能发送数据包。
通常情况下,包含有至少一个业务单板的业务网络通过网关与外部网络之间进行通信,业务单板中可以包含有主备型工作模式的绑定网卡。其中,从主网卡经过至少一个交换机至网关之间的一条通道称为主通道,本发明中将主通道上直接与网关连接的交换机称为出口交换机,从备网卡经过至少一个交换机至出口交换机之间的另外一条通道称为备通道。
请参见图2所示,其示出了具有主备型工作模式的业务单板的一个网络应用场景。在一个业务框集20中包含业务单板S1,业务单板S1可以为服务器、客户端等设备,业务单板上可能会绑定一个虚拟网卡,其中业务单板S1中绑定了网卡a和网卡b,设置网卡a为主网卡,网卡b为备网卡。该应用场景中的Blade1和Blade2均为业务框集内的交换机,SWA1、SWB1、SWA2和SWB2为业务框集外的交换机,SWA1和SWA2与网关GW相连,主网卡a与Blade1相连,备网卡b与Blade2相连,网关GW用于连接包含有业务框集的业务网络和外部网络,实线双向箭头1表示主网卡和Blade1之间形成的通道,实线双向箭头2表示Blade1至SWB1之间形成的通道,实线双向箭头3表示SWB1至SWA1之间形成的通道,实线双向箭头4表示SWA1至GW之间形成的通道,虚线双向箭头5表示备网卡b至Blade2之间形成的通道,虚线双向箭头6表示Blade2至SWB2之间形成的通道,虚线双向箭头7表示SWB2至SWA2之间形成的通道,虚线双向箭头8表示SWA2至SWA1之间形成的通道。在该应用场景中,将实线双向箭头1至4所代表的通道组成的通道定义为该主备型工作模式中的主通道,将虚线双向箭头5至8所代表的通道组成的通道定义为该主备型工作模式中的备通道,即该备通道为业务的冗余备份通道。主网卡a至Blade1之间的物理链路状态可以通过物理检测方法检测该物理链路为通(LINK_UP)或不通(LINK_DOWN),备网卡b至Blade2之间的物理链路状态可以通过物理检测方法检测该物理链路为通(LINK_UP)或不通(LINK_DOWN)。
实施例一
请参见图3所示,其示出了本发明实施例一提供的基于主备型工作模式的主备切换方法的方法流程图。该主备切换方法可以应用于包含有虚拟网卡的设备中,虚拟网卡通常对应着主网卡和备网卡,主网卡通过第一通道与出口交换机连接,出口交换机通过第二通道与用于连接外部网络的网关连接,备网卡通过第三通道与出口交换机连接。下面仅以该方法应用于图2中的业务单板S1中进行举例说明,该业务单板S1可以为计算机终端或服务器。该主备切换方法,可以包括:
步骤301,获取环回通道的环回通道状态,环回通道包括第三通道以及第一通道;
以图2中所示的网络应用场景为例,将实线双向箭头1至3所代表的通道组成的通道定义为该主备型工作模式中的第一通道,将虚线双向箭头5至8所代表的通道组成的通道定义为该主备型工作模式中的第三通道。
也就是说,将虚线双向箭头5至8以及实现双向箭头3、2、1所代表的通道组成的通道定义为该主备型工作模式中的环回通道。
环回通道状态可以但不限于包括:环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
步骤302,获取主通道的主通道状态,主通道包括第一通道以及第二通道;
仍以图2中所示的网络应用场景为例,将实线双向箭头4所代表的通道定义为该主备型工作模式中的第二通道。
也就是说,将实现双向箭头1至4所代表的通道组成的通道定义为主备型工作模式中的主通道。
主通道状态可以但不限于包括:环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
步骤303,根据环回通道状态和主通道状态分别确定环回通道和主通道是否发生故障;
若环回通道状态为不连通、网络出现错误、丢包率大于第一预定丢包阈值或网络延迟大于第一预定延迟阈值中的至少一种,则可以确定环回通道发生故障。
若环回通道状态为备通道连通、网络未出现错误、丢包率小于第一预定丢包阈值且网络延迟小于第一预定延迟阈值,则可以确定环回通道未发生故障。
若主通道状态为不连通、网络出现错误、丢包率大于第二预定丢包阈值或网络延迟大于第二预定延迟阈值中的至少一种时,则可以确定主通道发生故障。
若主通道状态为主通道连通、网络未出现错误、丢包率小于第二预定丢包阈值且网络延迟小于第二预定延迟阈值,则确定主通道未发生故障。
步骤304,若主通道发生故障且环回通道未发生故障,则进行主备切换。
若主通道发生故障且环回通道未发生故障,则将当前的备网卡设置为主网卡,即将当前的备网卡的工作状态置为Active;将当前的主网卡设置为备网卡,即将当前的主网卡的工作状态置为Backup。
综上所述,本发明实施例提供的主备切换方法,通过获取环回通道的环回通道状态和主通道的主通道状态,在主通道状态发送故障且环回通道状态未发生故障时进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。
实施例二
请参见图4所示,其示出了本发明实施例二提供的基于主备型工作模式的主备切换方法的方法流程图。该主备切换方法可以应用于包含有虚拟网卡的设备中,虚拟网卡通常对应着主网卡和备网卡,主网卡通过第一通道与出口交换机连接,出口交换机通过第二通道与用于连接外部网络的网关连接,备网卡通过第三通道与出口交换机连接。下面仅以该方法应用于图2中的业务单板S1中进行举例说明,该业务单板S1可以为计算机终端或服务器。该主备切换方法,可以包括:
步骤401,获取环回通道的环回通道状态,环回通道包括第三通道以及第一通道;
以图2中所示的网络应用场景为例,将实线双向箭头1至3所代表的通道组成的通道定义为该主备型工作模式中的第一通道,将虚线双向箭头5至8所代表的通道组成的通道定义为该主备型工作模式中的第三通道。
也就是说,将虚线双向箭头5至8以及实线双向箭头3、2、1所代表的通道组成的通道定义为该主备型工作模式中的环回通道。
在一个具体的场景中,请参见图5所示,其示出了本发明部分实施例中应用绑定技术的业务单板所对应的网络层的示意图,其中最左边虚线的左边为没有应用绑定技术的网络层,两个虚线之间为应用绑定技术的网络层,最右边虚线的右边为对备通道进行检测的示意图,这里将网卡eth0设置为主网卡,将网卡eth1设置为备网卡。获取环回通道的环回通道状态,可以包括:
第一,构造第一检测报文,该第一检测报文的目的MAC地址为虚拟网卡的MAC地址;
图5中所示的环回通道检测模块可以用于构造第一检测报文,且可以为第一检测报文设置目的MAC地址和源MAC地址。
举例来讲,在未绑定的情况下,物理网卡eth0的MAC地址为MAC0,物理网卡eth1的MAC地址为MAC1;将物理网卡eth0和物理网卡eth1绑定后生成绑定网卡Bond0,此时物理网卡eth0设置为主网卡,物理网卡eth1设置为备网卡,这样,Bond0的MAC地址与主网卡eth0的MAC地址相同,即Bond0的MAC地址为MAC0;对应的,第一检测报文的目的MAC地址为MAC0,第一检测报文的源MAC地址为MAC1。
由此可知,不论进行了多少次主备切换,发送的第一检测报文是不变的,区别在于,仅利用当前的备网卡发送该第一检测报文。
第二,通过备网卡发送第一检测报文;
也即通过备网卡eth1发送第一检测报文。可以对比图2所示,备网卡eth1可以为图2中业务单板S1上的备网卡b,主网卡eth0可以为图2中业务单板S1上的主网卡a。此时当构造好第一检测报文后,可以通过备网卡b将第一检测报文发送出去,该第一检测报文通过由虚拟双向箭头5至8以及实现双向箭头3、2、1所代表的通道组成的环回通道被发送至业务单板S1上的主网卡a。
这种方法可以避免主备型工作模式中备网卡无法发送报文的特性,直接通过备网卡发送第一检测报文。
第三,分析主网卡是否接收到第一检测报文且在主网卡接收到第一检测报文时分析第一检测报文,以确定环回通道的环回通道状态,环回通道状态可以但不限于包括:环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
根据第一检测报文目的MAC地址可知,在当前的环回通道未发生故障的情况下,当前的主网卡可以接收到该第一检测报文。当主网卡接收到某一报文之后,根据该报文中的源MAC地址是否为MAC1,就可以确认该报文是否为备网卡发送的第一检测报文。
如果环回通道不连通,则主网卡通常不会接收到第一检测报文,如果环回通道连通,则主网卡通常会接收到第一检测报文。当主网卡接收到第一检测报文后,则对第一检测报文进行分析。比如,图5中所示的环回通道检测模块可以获知主网卡是否接收到第一检测报文,且如果主网卡接收到第一检测报文,可以对主网卡接收到的第一检测报文进行分析。
在具体的示例中,可以根据备网卡发送的第一检测报文以及主网卡接收到的第一检测报文的情况,确定环回通道的状态。比如,可以通过统计备网卡发送的第一检测报文、主网卡接收到的第一检测报文、错包数、丢包数、网络延迟统计数、滑窗域内的错包数、滑窗域内的丢包数、滑窗域内的延迟包数等来确定环回通道的状态。
步骤402,获取主通道的主通道状态,主通道包括第一通道以及第二通道;
仍以图2中所示的网络应用场景为例,将实线双向箭头4所代表的通道定义为该主备型工作模式中的第二通道。
也就是说,将实现双向箭头1至4所代表的通道组成的通道定义为主备型工作模式中的主通道。
在一个具体的场景中,仍请参见图5所示,其中网卡eth0为主网卡,网卡eth1为备网卡,获取主通道的主通道状态,可以包括:
第一,获取网关的IP地址和MAC地址;
获取网关GW的IP地址和MAC地址。
第二,构造第二检测报文,第二检测报文的目的IP地址和目的MAC地址分别为网关的IP地址和MAC地址,第二检测报文的源IP地址和源MAC地址分别为虚拟网卡的IP地址和MAC地址;
这里的第二检测报文可以为ICMP(InternetControlMessageProtocol,网络控制报文协议)报文。
第三,通过主网卡发送第二检测报文至网关,以便于网关根据第二检测报文向主网卡发送反馈报文;
通常情况下,网关在接收到第二检测报文之后,会构造反馈报文,该反馈报文的目的IP地址和目的MAC地址通常分别为第二检测报文中的源IP地址和源MAC地址。
第四,分析主网卡是否接收到反馈报文且在主网卡接收到反馈报文时分析反馈报文,以确定主通道的主通道状态,主通道状态可以但不限于包括:环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
主网卡在接收到某一报文后,如果该报文中的源IP地址和源MAC地址为上述网关的IP地址和MAC地址,则表明该报文为网关发送的反馈报文。
很显然,如果主通道不连通,主网卡发送的第二检测报文可能无法到达网关,或者从网关反馈回的报文无法达到主网卡。如果主通道连通,在主网卡接收到反馈报文后,可以根据主网卡接收到的反馈报文的内容、丢包率和延迟属性分析出该从主网卡至网关之间的主通道的主通道状态。
在具体的示例中,可以根据主网卡发送的第二检测报文以及主网卡接收到的网关发送的反馈报文的情况,确定主通道的状态。比如,可以通过统计主网卡发送的第二检测报文、主网卡接收到的反馈报文、错包数、丢包数、网络延迟统计数、滑窗域内的错包数、滑窗域内的丢包数、滑窗域内的延迟包数等来确定主通道的状态。
步骤403,根据环回通道状态和主通道状态分别确定环回通道和主通道是否发生故障;
若环回通道状态为不连通、网络出现错误、丢包率大于第一预定丢包阈值或网络延迟大于第一预定延迟阈值中的至少一种,则可以确定环回通道发生故障。
若环回通道状态为备通道连通、网络未出现错误、丢包率小于第一预定丢包阈值且网络延迟小于第一预定延迟阈值,则可以确定环回通道未发生故障。
若主通道状态为不连通、网络出现错误、丢包率大于第二预定丢包阈值或网络延迟大于第二预定延迟阈值中的至少一种时,则可以确定主通道发生故障。
若主通道状态为主通道连通、网络未出现错误、丢包率小于第二预定丢包阈值且网络延迟小于第二预定延迟阈值,则确定主通道未发生故障。
需要注意的是,第一预定丢包阈值和第二预定丢包阈值可以取相同的值,也可以取不同的值,第一预定延迟阈值和第二预定延迟阈值可以取相同的值,也可以取不同的值,这几个阈值的具体取值可以根据实际情况来设定,本实施例不对第一预定丢包阈值、第二预定丢包阈值、第一预定延迟阈值和第二预定延迟阈值做具体限定。
步骤404,若主通道发生故障且环回通道未发生故障,则检测当前的切换次数的值是否小于预定切换阈值;
在实际应用中,备网卡可以同时发送多个第一检测报文,也就是说,在环回通道连通时,主网卡在很短的时间内可能就会接收到多个第一检测报文。对应的,主网卡可以同时发出多个第二检测报文,也就是说,在主通道连通时,主网卡在很短的时间内也可能会接收到网关针对第二检测报文反馈的多个反馈报文。为了避免频繁的主备切换,通常需要检测当前的切换次数的值,如果当前的切换次数的值小于预定切换阈值,则可以执行步骤405。
步骤405,若检测结果为当前的切换次数的值小于预定切换阈值,则进行主备切换,将切换次数的值加1;
若主通道发生故障且环回通道未发生故障,且当前的切换次数的值小于预定切换阈值,则将当前的备网卡设置为主网卡,即将当前的备网卡的工作状态置为Active;将当前的主网卡设置为备网卡,即将当前的主网卡的工作状态置为Backup。
步骤406,若主通道和环回通道均发生故障,则检测备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路是否正常;
请参见图2所示,当主通道和环回通道均发生故障时,很有可能是主网卡至与该主网卡连接的交换机之间的物理链路发生故障,即图2中主网卡a至交换机Blade1之间的物理链路发生故障。如果是这种情况,则可以检测备网卡与第三通道上直接与该备网卡连接的交换机之间的物理链路是否正常,也即检测备网卡b与Blade2之间的物理链路是否正常。
若检测结果为备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路正常,则执行步骤407。
步骤407,若检测结果为备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路正常,则检测当前的切换次数的值是否小于预定切换阈值;
同理,在实际应用中,备网卡可以同时发送多个第一检测报文,也就是说,在环回通道连通时,主网卡在很短的时间内可能就会接收到多个第一检测报文。对应的,主网卡可以同时发出多个第二检测报文,也就是说,在主通道连通时,主网卡在很短的时间内也可能会接收到网关针对第二检测报文反馈的多个反馈报文。为了避免频繁的主备切换,通常需要检测当前的切换次数的值,如果当前的切换次数的值小于预定切换阈值,则可以执行步骤408。
步骤408,若检测结果为当前的切换次数的值小于预定切换阈值,则进行主备切换,将切换次数的值加1;
步骤409,若主通道和环回通道均未发生故障,则不进行主备切换,将切换次数的值置为0。
需要说明的是,为了便于获知主通道和环回通道是否发生故障,该方法还可以包括:
在检测到环回通道发生故障时,则发出环回通道故障告警;在检测到主通道发生故障时,则发出主通道故障告警。
综上所述,本发明实施例提供的主备切换方法,通过获取环回通道的环回通道状态和主通道的主通道状态,在主通道状态发送故障且环回通道状态未发生故障时进行主备切换操作,或在主通道状态和环回通道状态均发生故障但备网卡与第三通道上直接与该备网卡连接的交换机之间的物理链路正常时,进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。
实施例三
请参见图6所示,其示出了本发明实施例三提供的基于主备型工作模式的主备切换装置的结构示意图。该主备切换装置可以实施成为包含有虚拟网卡的设备或实施成为包含有虚拟网卡设备中的一部分,虚拟网卡通常对应着主网卡和备网卡,主网卡通过第一通道与出口交换机连接,出口交换机通过第二通道与用于连接外部网络的网关连接,备网卡通过第三通道与出口交换机连接。下面仅以该装置实施成为图2中的业务单板S1进行举例说明,该业务单板S1可以为计算机终端或服务器。该主备切换装置,可以包括:第一状态获取模块601、第二状态获取模块602、故障确定模块603和第一切换模块604。
第一状态获取模块601,可以用于获取环回通道的环回通道状态,环回通道包括第三通道以及第一通道。
第二状态获取模块602,可以用于获取主通道的主通道状态,主通道包括第一通道以及第二通道。
故障确定模块603,可以用于根据第一状态获取模块601获取的环回通道状态和第二状态获取模块602获取的主通道状态分别确定环回通道和主通道是否发生故障。
第一切换模块604,可以用于在故障确定模块603确定主通道发生故障且环回通道未发生故障时,进行主备切换。
综上所述,本发明实施例提供的主备切换装置,通过获取环回通道的环回通道状态和主通道的主通道状态,在主通道状态发送故障且环回通道状态未发生故障时进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。
实施例四
请参见图7所示,其示出了本发明实施例四提供的基于主备型工作模式的主备切换装置的结构示意图。该主备切换装置可以实施成为包含有虚拟网卡的设备或实施成为包含有虚拟网卡设备中的一部分,虚拟网卡通常对应着主网卡和备网卡,主网卡通过第一通道与出口交换机连接,出口交换机通过第二通道与用于连接外部网络的网关连接,备网卡通过第三通道与出口交换机连接。下面仅以该装置实施成为图2中的业务单板S1进行举例说明,该业务单板S1可以为计算机终端或服务器。该主备切换装置,可以包括:第一状态获取模块701、第二状态获取模块702、故障确定模块703和第一切换模块704。
第一状态获取模块701,可以用于获取环回通道的环回通道状态,环回通道包括第三通道以及第一通道。
第一状态获取模块701可以包括:第一构造单元701a、第一发送单元701b和第一状态确定单元701c。
第一构造单元701a,可以用于构造第一检测报文,第一检测报文的目的MAC地址为虚拟网卡的MAC地址。
第一发送单元701b,可以用于通过备网卡发送第一构造单元701a构造的第一检测报文。
第一状态确定单元701c,可以用于分析主网卡是否接收到第一发送单元701b发送的第一检测报文且在主网卡接收到第一检测报文时分析第一检测报文,以确定环回通道的环回通道状态,环回通道状态包括环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
第二状态获取模块702,可以用于获取主通道的主通道状态,主通道包括第一通道以及第二通道。
第二状态获取模块702可以包括:获取单元702a、第二构造单元702b、第二发送单元702c和第二状态确定单元702d。
获取单元702a,可以用于获取网关的IP地址和MAC地址。
第二构造单元702b,可以用于构造第二检测报文,第二检测报文的目的IP地址和目的MAC地址分别为获取单元702a获取到的网关的IP地址和MAC地址,第二检测报文的源IP地址和源MAC地址分别为虚拟网卡的IP地址和MAC地址。
第二检测报文可以为ICMP报文。
第二发送单元702c,可以用于通过主网卡发送第二构造单元702b构造的第二检测报文至网关,以便于网关根据第二检测报文向主网卡发送反馈报文。
第二状态确定单元702d,可以用于分析主网卡是否接收到网关根据第二发送单元702c发送的第二检测报文后向主网卡发送的反馈报文且在主网卡接收到反馈报文时分析反馈报文,以确定主通道的主通道状态,主通道状态包括主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
故障确定模块703,可以用于根据第一状态获取模块701获取的环回通道状态和第二状态获取模块702获取的主通道状态分别确定环回通道和主通道是否发生故障。
故障确定模块703可以包括第一确定单元703a、第二确定单元703b、第三确定单元703c和第四确定单元703d。
第一确定单元703a,可以用于在第一状态获取模块701获取到的环回通道状态为环回通道不连通、网络出现错误、丢包率大于第一预定丢包阈值和网络延迟大于第一预定延迟阈值中的至少一种时,确定环回通道发生故障。
第二确定单元703b,可以用于在第一状态获取模块701获取到的环回通道状态为备通道连通、网络未出现错误、丢包率小于第一预定丢包阈值且网络延迟小于第一预定延迟阈值时,确定环回通道未发生故障。
第三确定单元703c,可以用于在第二状态获取模块702获取到主通道状态为主通道不连通、网络出现错误、丢包率大于第二预定丢包阈值和网络延迟大于第二预定延迟阈值中的至少一种时,确定主通道发生故障。
第四确定单元703d,可以用于在第二状态获取模块702获取到主通道状态主通道连通、网络未出现错误、丢包率小于第二预定丢包阈值且网络延迟小于第二预定延迟阈值时,确定主通道未发生故障。
第一切换模块704,可以用于在故障确定模块703确定主通道发生故障且环回通道未发生故障时,进行主备切换。
该主备切换装置还可以包括:第一检测模块705、第二切换模块706、保留模块707。
第一检测模块705,可以用于在故障确定模块703确定主通道和环回通道均发生故障时,检测备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路是否正常。
第二切换模块706,可以用于在第一检测模块705的检测结果为备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路正常时,进行主备切换.
保留模块707,可以用于在故障确定模块703确定主通道和环回通道均未发生故障时,不进行主备切换。
该主备切换装置还可以包括:第二检测模块708、第一触发模块709、第三检测模块710、第二触发模块711和清零模块712。
第二检测模块708,可以用于在故障确定模块703确认主通道发生故障且环回通道未发生故障时,检测当前的切换次数的值是否小于预定切换阈值。
第一触发模块709,可以用于在第二检测模块708的检测结果为当前的切换次数的值小于预定切换阈值时,触发第一切换模块704以进行主备切换,将切换次数的值加1。
第三检测模块710,可以用于在第一检测模块705的检测结果为备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路正常时,检测当前的切换次数的值是否小于预定切换阈值。
第二触发模块711,可以用于在第三检测模块710的检测结果为当前的切换次数的值小于预定切换阈值时,触发第二切换模块706以进行主备切换,将切换次数的值加1。
清零模块712,可以用于在保留模块770不进行主备切换时,将切换次数的值置为0。
综上所述,本发明实施例提供的主备切换装置,通过获取环回通道的环回通道状态和主通道的主通道状态,在主通道状态发送故障且环回通道状态未发生故障时进行主备切换操作,或在主通道状态和环回通道状态均发生故障但备网卡与第三通道上直接与该备网卡连接的交换机之间的物理链路正常时,进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。
需要说明的是:上述实施例提供的主备切换装置在进行主备切换时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将业务单板的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的主备切换装置与主备切换方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例五
请参见图8所示,其示出了本发明实施例五中基于主备型工作模式的主备切换装置的结构示意图。该主备切换装置可以实施成为包含有虚拟网卡的设备或实施成为包含有虚拟网卡设备中的一部分,虚拟网卡通常对应着主网卡和备网卡,主网卡通过第一通道与出口交换机连接,出口交换机通过第二通道与用于连接外部网络的网关连接,备网卡通过第三通道与出口交换机连接。下面仅以该装置实施成为图2中的业务单板S1进行举例说明,该业务单板S1可以为计算机终端或服务器。该主备切换装置,可以包括:接收机810、处理器820、存储器830和发送机840。处理器820分别与接收机810、存储器830和发送机840耦合。
存储器830中存储计算机软件,处理器820可以通过访问这些计算机软件进行操作。
处理器820可以用于获取环回通道的环回通道状态,环回通道包括第三通道以及第一通道。
处理器820还可以用于获取主通道的主通道状态,主通道包括第一通道以及第二通道。
处理器820还可以用于根据环回通道状态和主通道状态分别确定环回通道和主通道是否发生故障。
处理器820还可以用于在主通道发生故障且环回通道未发生故障时,进行主备切换。
进一步的,处理器820还可以用于构造第一检测报文,第一检测报文目的MAC地址为虚拟网卡的MAC地址。
对应的,发送机840可以用于通过备网卡发送第一检测报文。
接收机830可以用于通过主网卡接收发送机840发送的第一检测报文。
处理器820还可以用于分析主网卡是否接收到第一检测报文且在主网卡接收到第一检测报文时分析第一检测报文,以确定环回通道的环回通道状态,环回通道状态包括环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
进一步的,处理器820还可以用于获取网关的IP地址和MAC地址。
处理器820还可以用于构造第二检测报文,第二检测报文的目的IP地址和目的MAC地址分别为网关的IP地址和MAC地址,第二检测报文的源IP地址和源MAC地址分别为虚拟网卡的IP地址和MAC地址。第二检测报文可以为ICMP报文。
发送机840还可以用于通过主网卡发送第二检测报文至网关,以便于网关根据第二检测报文向主网卡发送反馈报文。
接收机850可以用于通过主网卡接收反馈报文。
处理器820还可以用于分析主网卡是否接收到反馈报文且在主网卡接收到反馈报文时分析反馈报文,以确定主通道的主通道状态,主通道状态包括主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
进一步的,处理器820还可以用于在主通道和环回通道均发生故障时,检测备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路是否正常。
处理器820还可以用于在检测结果为备网卡与第三通道上直接与备网卡连接的交换机之间的物理链路正常时,进行主备切换。
处理器820还可以用于在主通道和环回通道均未发生故障时,不进行主备切换。
进一步的,处理器820还可以用于检测当前的切换次数的值是否小于预定切换阈值。
处理器820还可以用于在检测结果为当前的切换次数的值小于预定切换阈值时,执行进行主备切换的步骤,将切换次数的值加1。
处理器820还可以用于检测当前的切换次数的值是否小于预定切换阈值。
处理器820还可以用于在检测结果为当前的切换次数的值小于预定切换阈值时,执行进行主备切换的步骤,将切换次数的值加1。
处理器820还可以用于在主通道和环回通道均未发生故障时,在不进行主备切换之后,将切换次数的值置为0。
进一步的,处理器820还可以用于在环回通道状态为环回通道不连通、网络出现错误、丢包率大于第一预定丢包阈值和网络延迟大于第一预定延迟阈值中的至少一种时,确定环回通道发生故障。
处理器820还可以用于在环回通道状态为备通道连通、网络未出现错误、丢包率小于第一预定丢包阈值且网络延迟小于第一预定延迟阈值时,确定环回通道未发生故障。
处理器820还可以用于在主通道状态为主通道不连通、网络出现错误、丢包率大于第二预定丢包阈值和网络延迟大于第二预定延迟阈值中的至少一种时,确定主通道发生故障。
处理器820还可以用于在主通道状态为主通道连通、网络未出现错误、丢包率小于第二预定丢包阈值且网络延迟小于第二预定延迟阈值时,确定主通道未发生故障。
综上所述,本发明实施例提供的主备切换装置,通过获取环回通道的环回通道状态和主通道的主通道状态,在主通道状态发送故障且环回通道状态未发生故障时进行主备切换操作,或在主通道状态和环回通道状态均发生故障但备网卡与第三通道上直接与该备网卡连接的交换机之间的物理链路正常时,进行主备切换操作,解决了仅通过检测主通道以确定是否进行主备切换,无法满足报文的可靠传输的问题,达到了更加可靠有效地实现主备切换的效果。
实施例六
请参见图9所示,其示出了本发明实施例六中基于主备型工作模式的主备切换系统的示意图。该主备切换系统,可以包括:主备切换设备910、至少两个交换机和至少一个网关930。其中的主备切换设备910可以为实施例三和实施例四所描述的主备切换装置,或主备切换设备910可以包括实施例三和实施例四所描述的主备切换装置;交换机920a和交换机920b与网关930连接,交换机920a位于主通道上,交换机920b位于备通道上。
主备切换设备910还可以为实施例五所描述的主备切换装置,或主备切换设备910可以包括实施例五所描述的主备切换装置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种基于主备型工作模式的主备切换方法,应用于包含虚拟网卡的设备中,所述虚拟网卡对应主网卡和备网卡,所述主网卡通过第一通道与出口交换机连接,所述出口交换机通过第二通道与用于连接外部网络的网关连接,所述备网卡通过第三通道与所述出口交换机连接,其特征在于,所述方法包括:
获取环回通道的环回通道状态,所述环回通道包括所述第三通道以及所述第一通道;
获取主通道的主通道状态,所述主通道包括所述第一通道以及第二通道;
根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障;
若所述主通道发生故障且所述环回通道未发生故障,则进行主备切换。
2.根据权利要求1所述的方法,其特征在于,所述获取环回通道的环回通道状态,包括:
构造第一检测报文,所述第一检测报文的目的MAC地址为所述虚拟网卡的MAC地址;
通过所述备网卡发送所述第一检测报文;
分析所述主网卡是否接收到所述第一检测报文且在所述主网卡接收到所述第一检测报文时分析所述第一检测报文,以确定所述环回通道的环回通道状态,所述环回通道状态包括所述环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述获取主通道的主通道状态,包括:
获取所述网关的IP地址和MAC地址;
构造第二检测报文,所述第二检测报文的目的IP地址和目的MAC地址分别为所述网关的IP地址和MAC地址,所述第二检测报文的源IP地址和源MAC地址分别为所述虚拟网卡的IP地址和MAC地址;
通过所述主网卡发送所述第二检测报文至所述网关,以便于所述网关根据所述第二检测报文向所述主网卡发送反馈报文;
分析所述主网卡是否接收到所述反馈报文且在所述主网卡接收到所述反馈报文时分析所述反馈报文,以确定所述主通道的主通道状态,所述主通道状态包括所述主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
4.根据权利要求3所述的方法,其特征在于,所述第二检测报文为ICMP报文。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障之后,还包括:
若所述主通道和所述环回通道均发生故障,则检测所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路是否正常;
若检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常,则进行主备切换;
若所述主通道和所述环回通道均未发生故障,则不进行主备切换。
6.根据权利要求5所述的方法,其特征在于,若所述主通道发生故障且所述环回通道未发生故障之后,还包括:
检测当前的切换次数的值是否小于预定切换阈值;
若检测结果为当前的切换次数的值小于预定切换阈值,则执行所述进行主备切换的步骤,将所述切换次数的值加1;
所述若检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常之后,还包括:
检测当前的切换次数的值是否小于所述预定切换阈值;
若检测结果为当前的切换次数的值小于所述预定切换阈值,则执行所述进行主备切换的步骤,将所述切换次数的值加1;
所述若所述主通道和所述环回通道均未发生故障,则不进行主备切换之后,还包括:将所述切换次数的值置为0。
7.根据权利要求6所述的方法,其特征在于,所述根据所述环回通道状态和所述主通道状态分别确定所述环回通道和所述主通道是否发生故障,包括:
若所述环回通道状态为所述环回通道不连通、网络出现错误、丢包率大于第一预定丢包阈值和网络延迟大于第一预定延迟阈值中的至少一种,则确定所述环回通道发生故障;
若所述环回通道状态为所述备通道连通、网络未出现错误、丢包率小于所述第一预定丢包阈值且网络延迟小于所述第一预定延迟阈值,则确定所述环回通道未发生故障;
若所述主通道状态为所述主通道不连通、网络出现错误、丢包率大于第二预定丢包阈值和网络延迟大于第二预定延迟阈值中的至少一种,则确定所述主通道发生故障;
若所述主通道状态为所述主通道连通、网络未出现错误、丢包率小于所述第二预定丢包阈值且网络延迟小于所述第二预定延迟阈值,则确定所述主通道未发生故障。
8.一种基于主备型工作模式的主备切换装置,应用于包含虚拟网卡的设备中,所述虚拟网卡对应主网卡和备网卡,所述主网卡通过第一通道与出口交换机连接,所述出口交换机通过第二通道与用于连接外部网络的网关连接,所述备网卡通过第三通道与所述出口交换机连接,其特征在于,所述装置包括:
第一状态获取模块,用于获取环回通道的环回通道状态,所述环回通道包括所述第三通道以及所述第一通道;
第二状态获取模块,用于获取主通道的主通道状态,所述主通道包括所述第一通道以及第二通道;
故障确定模块,用于根据所述第一状态获取模块获取的环回通道状态和所述第二状态获取模块获取的主通道状态分别确定所述环回通道和所述主通道是否发生故障;
第一切换模块,用于在所述故障确定模块确定主通道发生故障且所述环回通道未发生故障时,进行主备切换。
9.根据权利要求8所述的装置,其特征在于,所述第一状态获取模块,包括:
第一构造单元,用于构造第一检测报文,所述第一检测报文的目的MAC地址为所述虚拟网卡的MAC地址;
第一发送单元,用于通过所述备网卡发送所述第一构造单元构造的第一检测报文;
第一状态确定单元,用于分析所述主网卡是否接收到所述第一发送单元发送的第一检测报文且在所述主网卡接收到所述第一检测报文时分析所述第一检测报文,以确定所述环回通道的环回通道状态,所述环回通道状态包括所述环回通道是否连通、网络是否出现错误、丢包率是否大于第一预定丢包阈值和网络延迟是否大于第一预定延迟阈值中的至少一种。
10.根据权利要求9所述的装置,其特征在于,所述第二状态获取模块,包括:
获取单元,用于获取所述网关的IP地址和MAC地址;
第二构造单元,用于构造第二检测报文,所述第二检测报文的目的IP地址和目的MAC地址分别为所述获取单元获取到的网关的IP地址和MAC地址,所述第二检测报文的源IP地址和源MAC地址分别为所述虚拟网卡的IP地址和MAC地址;
第二发送单元,用于通过所述主网卡发送所述第二构造单元构造的第二检测报文至所述网关,以便于所述网关根据所述第二检测报文向所述主网卡发送反馈报文;
第二状态确定单元,用于分析所述主网卡是否接收到所述网关根据第二发送单元发送的第二检测报文后向主网卡发送的反馈报文且在所述主网卡接收到所述反馈报文时分析所述反馈报文,以确定所述主通道的主通道状态,所述主通道状态包括所述主通道是否连通、网络是否出现错误、丢包率是否大于第二预定丢包阈值和网络延迟是否大于第二预定延迟阈值中的至少一种。
11.根据权利要求10所述的装置,其特征在于,所述第二检测报文为ICMP报文。
12.根据权利要求8至11中任一所述的装置,其特征在于,所述装置,还包括:
第一检测模块,用于在所述主通道和所述环回通道均发生故障时,检测所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路是否正常;
第二切换模块,用于在所述第一检测模块的检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常时,进行主备切换;
保留模块,用于在所述主通道和所述环回通道均未发生故障时,不进行主备切换。
13.根据权利要求12所述的装置,其特征在于,所述装置,还包括:
第二检测模块,用于在所述故障确定模块确认所述主通道发生故障且所述环回通道未发生故障时,检测当前的切换次数的值是否小于预定切换阈值;
第一触发模块,用于在所述第二检测模块的检测结果为当前的切换次数的值小于预定切换阈值时,触发所述第一切换模块以进行主备切换,将所述切换次数的值加1;
所述装置,还包括:
第三检测模块,用于在所述第一检测模块的检测结果为所述备网卡与所述第三通道上直接与所述备网卡连接的交换机之间的物理链路正常时,检测当前的切换次数的值是否小于所述预定切换阈值;
第二触发模块,用于在所述第三检测模块的检测结果为当前的切换次数的值小于所述预定切换阈值时,触发所述第二切换模块以进行主备切换,将所述切换次数的值加1;
所述装置,还包括:
清零模块,用于在所述保留模块不进行主备切换时,将所述切换次数的值置为0。
14.根据权利要求13所述的装置,其特征在于,所述故障确定模块,包括:
第一确定单元,用于在所述第一状态获取模块获取到的环回通道状态为所述环回通道不连通、网络出现错误、丢包率大于第一预定丢包阈值和网络延迟大于第一预定延迟阈值中的至少一种时,确定所述环回通道发生故障;
第二确定单元,用于在所述第一状态获取模块获取到的环回通道状态为所述备通道连通、网络未出现错误、丢包率小于所述第一预定丢包阈值且网络延迟小于所述第一预定延迟阈值时,确定所述环回通道未发生故障;
第三确定单元,用于在所述第二状态获取模块获取到主通道状态为所述主通道不连通、网络出现错误、丢包率大于第二预定丢包阈值和网络延迟大于第二预定延迟阈值中的至少一种时,确定所述主通道发生故障;
第四确定单元,用于在所述第二状态获取模块获取到主通道状态所述主通道连通、网络未出现错误、丢包率小于所述第二预定丢包阈值且网络延迟小于所述第二预定延迟阈值时,确定所述主通道未发生故障。
15.一种主备切换设备,所述主备切换设备为包含虚拟网卡的设备,其特征在于,所述设备包括如权利要求8至14中任一所述的主备切换装置。
16.一种主备切换系统,其特征在于,所述系统包括:主备切换设备、至少两个交换机,其中一个交换机为出口交换机和一个网关,
所述主备切换设备为包含虚拟网卡的设备,所述设备包括如权利要求8至14中任一项的所述主备切换装置,所述网关为所述用于连接外部网络的网关。
CN201310157735.0A 2013-04-28 2013-04-28 主备切换方法、装置、设备及系统 Active CN103259678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310157735.0A CN103259678B (zh) 2013-04-28 2013-04-28 主备切换方法、装置、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310157735.0A CN103259678B (zh) 2013-04-28 2013-04-28 主备切换方法、装置、设备及系统

Publications (2)

Publication Number Publication Date
CN103259678A CN103259678A (zh) 2013-08-21
CN103259678B true CN103259678B (zh) 2016-06-08

Family

ID=48963395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310157735.0A Active CN103259678B (zh) 2013-04-28 2013-04-28 主备切换方法、装置、设备及系统

Country Status (1)

Country Link
CN (1) CN103259678B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468347B (zh) 2013-09-18 2019-04-02 中兴通讯股份有限公司 网络数据自环回的控制方法及装置
CN103944750B (zh) * 2014-03-14 2017-08-29 华为技术有限公司 一种绑定网卡故障处理方法及装置
CN105790902B (zh) * 2014-12-22 2020-06-09 研祥智能科技股份有限公司 冗余网卡切换的实现方法和系统
CN105512343A (zh) * 2016-01-06 2016-04-20 北京京东尚科信息技术有限公司 网络异常模拟、数据库故障自动切换的测试方法和装置
CN108737466A (zh) * 2017-04-19 2018-11-02 卡斯柯信号有限公司 基于gsmr网络和数传电台实现stp系统车地冗余通信方法
CN107948000B (zh) * 2017-12-25 2021-11-19 瑞斯康达科技发展股份有限公司 一种主备通道的切换方法、装置及系统
CN108259271A (zh) * 2018-02-01 2018-07-06 天津天地伟业信息系统集成有限公司 一种多网卡绑定后通过arp检测链路状态的方法
CN108494585A (zh) * 2018-02-28 2018-09-04 新华三技术有限公司 选举控制方法及装置
CN108322364A (zh) * 2018-03-06 2018-07-24 国电南瑞科技股份有限公司 一种适用于广域调度自动化系统的双网卡冗余互备方法
CN109101371B (zh) * 2018-08-01 2021-11-16 创新先进技术有限公司 一种容灾切换方法及装置
CN109445862A (zh) * 2018-10-31 2019-03-08 天津七所精密机电技术有限公司 Windows系统下基于MUX的网卡冗余驱动方法
CN109831341B (zh) * 2019-03-19 2021-10-15 中国电子科技集团公司第三十六研究所 一种冗余双网卡的快速切换方法及装置
CN112491570A (zh) * 2019-09-11 2021-03-12 中兴通讯股份有限公司 一种虚拟网卡链路状态设置方法、装置及存储介质
CN111212451A (zh) * 2019-12-26 2020-05-29 曙光信息产业股份有限公司 一种切换网络传输通道的方法和装置
CN111683007A (zh) * 2020-05-20 2020-09-18 新华三信息安全技术有限公司 一种切换监控流量转发路径的方法和系统
CN111817892B (zh) * 2020-07-10 2023-04-07 济南浪潮数据技术有限公司 一种网络管理方法、系统、电子设备及存储介质
CN112003764B (zh) * 2020-08-07 2021-10-22 苏州浪潮智能科技有限公司 一种分布式存储节点网络错包检测方法及装置
CN113347603B (zh) * 2021-08-05 2021-10-26 北京全路通信信号研究设计院集团有限公司 一种多种通信结合的有轨车辆通信方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859423A (zh) * 2006-02-27 2006-11-08 华为技术有限公司 一种主机和转发设备同步切换的方法
CN101051951A (zh) * 2006-05-29 2007-10-10 华为技术有限公司 一种保证服务器接入可靠性的方法及装置
CN102694692A (zh) * 2012-06-18 2012-09-26 杭州华三通信技术有限公司 一种分布式设备的故障检测方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100369436C (zh) * 2005-12-16 2008-02-13 杭州华三通信技术有限公司 环网及其保护方法
CN100499505C (zh) * 2006-11-27 2009-06-10 华为技术有限公司 一种以太网保护方法和装置
CN101252492B (zh) * 2008-03-20 2011-02-02 华为技术有限公司 一种接入多协议标签交换虚拟专用网的方法及设备
CN103036756B (zh) * 2011-10-08 2017-12-26 湖南磐云数据有限公司 一种基于共享通道的混合环网保护方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859423A (zh) * 2006-02-27 2006-11-08 华为技术有限公司 一种主机和转发设备同步切换的方法
CN101051951A (zh) * 2006-05-29 2007-10-10 华为技术有限公司 一种保证服务器接入可靠性的方法及装置
CN102694692A (zh) * 2012-06-18 2012-09-26 杭州华三通信技术有限公司 一种分布式设备的故障检测方法和装置

Also Published As

Publication number Publication date
CN103259678A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
CN103259678B (zh) 主备切换方法、装置、设备及系统
CN1761240B (zh) 用于高度可实现性应用的智能集成网络安全设备
CN102299846B (zh) 一种bfd报文传输方法和设备
CN102571492B (zh) 检测路由设备故障的方法和装置
CN101309185B (zh) 堆叠系统中多主用设备的处理方法和堆叠成员设备
CN101035037B (zh) 检测网络通信质量的方法、系统及相关装置
CN108965123A (zh) 一种链路切换方法和网络通信系统
CN102231682B (zh) 一种堆叠冲突的处理方法和设备
CN103944750B (zh) 一种绑定网卡故障处理方法及装置
CN105024855A (zh) 分布式集群管理系统和方法
CN109861867B (zh) 一种mec业务处理方法及装置
CN106301840B (zh) 双向转发检测bfd报文的发送方法及装置
CN105119993A (zh) 虚拟机部署方法及装置
US20090006650A1 (en) Communication device, communication method, communication interface, and program product
CN105915426A (zh) 环形网络的故障恢复方法及装置
CN103532863A (zh) 一种实现软件堆叠的方法和装置
CN101909006A (zh) 双向转发检测报文发送、接收方法及其装置与通信系统
CN101808043B (zh) 端口汇聚trunk成员业务报文转发状态的检测方法及装置
CN103220189A (zh) 一种mad检测备份方法和设备
CN104104596A (zh) 一种irf分裂处理方法和装置
CN105812221A (zh) 虚拟可扩展本地区域网络中数据传输的设备和方法
CN103514121A (zh) WindowsXp操作系统下一种网卡冗余切换方法
CN101848165B (zh) 控制通信链路中断后恢复的方法和接口板
CN105553865B (zh) 一种fc交换机芯片信用管理测试方法
CN101707535B (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211223

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.