CN104301184B - 链路的健康检查方法和装置 - Google Patents
链路的健康检查方法和装置 Download PDFInfo
- Publication number
- CN104301184B CN104301184B CN201410602750.6A CN201410602750A CN104301184B CN 104301184 B CN104301184 B CN 104301184B CN 201410602750 A CN201410602750 A CN 201410602750A CN 104301184 B CN104301184 B CN 104301184B
- Authority
- CN
- China
- Prior art keywords
- address
- message
- server
- checked
- control information
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种链路的健康检查方法和装置,其中,方法包括:接收并保存保活程序生成的控制信息;根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文;以及若接收到待检查服务器返回的响应报文,则确定对应链路健康,若未接收到待检查服务器返回的响应报文,则确定对应链路不健康。本发明实施例通过接收并保存保活程序生成的控制信息,根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了流量损失或者误剔除服务器的问题,提高了健康检查的准确率。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种链路的健康检查方法和装置。
背景技术
LVS是Linux Virtual Server的简写,即Linux(开源操作系统)虚拟服务器,是一个虚拟的服务器集群系统。LVS主要包括负载均衡器和后端的服务器。其中,负载均衡器(load balancer)是整个集群的前端机,负责将客户端的请求发送到后端的服务器上执行。后端的服务器是一组真正执行客户端请求的服务器。
目前,负载均衡器主要通过keepalived(保活程序)对后端的服务器进行健康检测。
但是,keepalived在对后端的服务器进行健康检测时,直接通过负载均衡器的内网IP地址将健康检查包发送给后端的服务器,因此无法正确判断客户端与后端的服务器是否正常,可能会造成大流量损失或者误剔除后端的服务器。
发明内容
本发明实施例旨在至少在一定程度上解决上述技术问题。为此,本发明的第一个目的在于提出一种链路的健康检查方法,该方法与用户访问LVS的流程保持一致,能够解决流量损失或者误剔除服务器的问题,提高健康检查的准确率。
本发明的第二个目的在于提出一种链路的健康检查装置。
为达上述目的,根据本发明第一方面实施例提出了一种链路的健康检查方法,包括:接收并保存保活程序生成的控制信息,所述控制信息包括源IP地址、源端口、目的IP地址、目的端口、待检查服务器IP地址以及模式信息;根据所述控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文;以及若接收到所述待检查服务器返回的响应报文,则确定对应链路健康,若未接收到所述待检查服务器返回的所述响应报文,则确定对应链路不健康。
本发明实施例的链路的健康检查方法,通过接收并保存保活程序生成的控制信息,根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了流量损失或者误剔除服务器的问题,提高了健康检查的准确率。
为达上述目的,根据本发明第二方面实施例提出了一种链路的健康检查装置,包括:接收模块,用于接收并保存保活程序生成的控制信息,所述控制信息包括源IP地址、源端口、目的IP地址、目的端口、待检查服务器IP地址以及模式信息;处理模块,用于根据所述控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文;以及确定模块,用于若接收到所述待检查服务器返回的响应报文,则确定对应链路健康,若未接收到所述待检查服务器返回的所述响应报文,则确定对应链路不健康。
本发明实施例的链路的健康检查装置,通过接收并保存保活程序生成的控制信息,根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了流量损失或者误剔除服务器的问题,提高了健康检查的准确率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本发明一个实施例的链路的健康检查方法的流程图。
图2为根据本发明一个实施例的报文的结构的示意图一。
图3为根据本发明一个实施例的报文的结构的示意图二。
图4为根据本发明一个具体实施例的链路的健康检查方法的流程图。
图5为根据本发明另一个具体实施例的链路的健康检查方法的流程图。
图6为根据本发明一个实施例的链路的健康检查装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的链路的健康检查方法和装置。
图1为根据本发明一个实施例的链路的健康检查方法的流程图,本实施例从负载均衡器的系统内核侧进行描述。
如图1所示,该链路的健康检查方法包括:
S101,接收并保存保活程序生成的控制信息。
在本发明的实施例中,系统内核可接收并保存保活程序如keepalived生成的控制信息,其中,控制信息可包括源IP地址、源端口、目的IP地址、目的端口、待检查服务器IP地址以及模式信息。模式信息可为DR(直接路由)模式,也可为TUN(隧道)模式。
具体地,保活程序可调用第一预设函数,如bind(绑定函数)设置源IP地址和源端口,例如:可将源IP地址设置为本地IP地址,源端口设置为0。然后,可将目的IP地址设置为负载均衡器的虚拟IP地址,并调用第二预设函数设置目的端口,例如:调用connect设置目的IP地址设置为负载均衡器的虚拟IP地址,设置目的端口为VPORT。
在生成控制信息后,保活程序可调用getsockname(获取套接字名字)函数获取源端口号,再调用setsockopt(设置套接字选项函数)将控制信息发送至系统内核。其中,系统内核可为linux系统内核。系统内核在接收到控制信息后,保存控制信息。
S102,根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文。
在本发明的实施例中,系统内核可根据控制信息对接收到的报文进行匹配。
具体地,系统内核可通过控制信息中包含的源IP地址、源端口、目的IP地址、目的端口与接收到的报文中包含的源IP地址、源端口、目的IP地址、目的端口是否完全一致来判断是否匹配成功。如果完全一致,则可确定匹配成功。
然后,系统内核可对匹配成功的报文进行处理。
具体地,若确定模式信息为DR模式,则将报文的目的MAC地址修改为待检查服务器的MAC地址。如图2所示,报文的结构是在数据的前面添加目的IP地址,再在目的IP地址的前面添加目的MAC地址。在本发明的实施例中,如果模式信息为DR模式,则可将该报文前面的目的MAC地址修改为待检查服务器的MAC地址。
若确定模式信息为TUN模式,则在报文的目的IP地址前添加隧道TUNNEL头。如图3所示,报文的结构是在数据的前面添加目的IP地址,再在目的IP地址的前面添加目的MAC地址。在本发明的实施例中,如果模式信息为TUN模式,则可在报文的目的IP地址前添加隧道TUNNEL头。
在对匹配成功的报文进行处理后,可向待检查服务器发送处理后的报文。
S103,若接收到待检查服务器返回的响应报文,则确定对应链路健康,若未接收到待检查服务器返回的响应报文,则确定对应链路不健康。
其中,判断链路不健康可包括两种情况:第一种是链路在物理上不连通,第二种是链路在物理上连通,但是无法接收到健康响应包。
在本发明的实施例中,如果系统内核接收到待检查服务器返回的响应报文时,则可确定对应链路健康;如果系统内核未接收到待检查服务器返回的响应报文时,则可确定对应链路不健康。
本发明实施例的链路的健康检查方法,通过接收并保存保活程序生成的控制信息,根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了流量损失或者误剔除服务器的问题,提高了健康检查的准确率。
图4为根据本发明一个具体实施例的链路的健康检查方法的流程图,本实施例以当前所处的工作模式为DR模式为例进行描述。
首先介绍一下当LVS处于DR模式时,用户访问LVS的流程。
当LVS处于DR模式时,其处理用户的请求的步骤如下:
1、客户端向负载均衡器(LINUX系统内核)的虚拟IP地址发送请求包;
2、负载均衡器接收并解析请求包,将请求包中的目标MAC地址转换为某一服务器的MAC地址,并向服务器发送请求包;
3、服务器的lo(本地环路接口)绑定到负载均衡器的虚拟IP地址,服务器接收请求包并进行处理,然后生成响应包并从另外一个路由器直接向客户端返回响应包。
本实施例的链路的健康检查方法的流程与用户访问LVS的流程保持一致,因此能够准确地检查链路是否健康。
具体地,如图4所示,该链路的健康检查方法包括:
S401,接收并保存Keepalived生成的控制信息。
具体地,Keepalived可使用bind(绑定函数)系统调用绑定套接字源IP地址,假设为10.76.1.1,源端口为0,再调用getsockname(获取套接字函数)获取套接字绑定的端口号,从而生成控制信息,其中,控制信息可包括源IP地址、源端口、VIP地址(负载均衡器的虚拟IP地址)、VPORT(负载均衡器的虚拟IP端口)、待检查服务器IP地址以及工作模式等信息。然后负载均衡器(LINUX系统内核)接收并保存Keepalived生成的控制信息。
S402,根据控制信息对接收到的报文进行匹配,将匹配成功的报文中的目的MAC地址修改为待检查服务器MAC地址,并向待检查服务器发送处理后的报文。
具体地,可通过netfilter(网络过滤框架)在LOCAL_OUT(本地出口)调用hook(钩子函数)检测报文,确定该报文为健康检查的报文,然后将报文中的目的MAC地址修改为待检查服务器MAC地址,然后向待检查服务器发送处理后的报文。
S403,若接收到待检查服务器返回的响应报文,则确定对应链路健康,若未接收到待检查服务器返回的响应报文,则确定对应链路不健康。
具体地,若接收到待检查服务器返回的响应报文,可通过netfilter在PRE_ROUTING(预先路由)调用hook(钩子函数)检测响应报文,确定该响应报文为对应的待检测服务器返回的报文,则可确定对应链路健康。
本发明实施例的链路的健康检查方法,通过接收并保存Keepalived生成的控制信息,根据控制信息对接收到的报文进行匹配,将匹配成功的报文中的目的MAC地址修改为待检查服务器MAC地址,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了客户端无法访问待检查服务器,但通过内网IP检测待检查服务器健康时,流量丢失的问题,避免了客户端能够正常访问待检查服务器,但通过内网IP连接待检查服务器不健康时,误剔除健康的服务器的情况。
图5为根据本发明另一个具体实施例的链路的健康检查方法的流程图,本实施例以当前所处的工作模式为TUN模式为例进行描述。
首先介绍一下当LVS处于TUN模式时,用户访问LVS的流程。
当LVS处于TUN模式时,其处理用户的请求的步骤如下:
1、客户端向负载均衡器(LINUX系统内核)的虚拟IP地址发送请求包;
2、负载均衡器接收请求包,根据隧道协议封装请求包,并向服务器发送请求包;
3、服务器接收请求包并进行处理,然后生成响应包,直接向客户端返回响应包。
本实施例的链路的健康检查方法的流程与用户访问LVS的流程保持一致,因此能够准确地检查链路是否健康。
具体地,如图5所示,该链路的健康检查方法包括:
S501,接收并保存Keepalived生成的控制信息。
具体地,Keepalived可使用bind(绑定函数)系统调用绑定套接字源IP地址,假设为10.76.1.1,源端口为0,再调用getsockname(获取套接字函数)获取套接字绑定的端口号,从而生成控制信息,其中,控制信息可包括源IP地址、源端口、VIP地址(负载均衡器的虚拟IP地址)、VPORT(负载均衡器的虚拟IP端口)、待检查服务器IP地址以及工作模式等信息。然后负载均衡器(LINUX系统内核)接收并保存Keepalived生成的控制信息。
S502,根据控制信息对接收到的报文进行匹配,在匹配成功的报文的目的IP地址前添加隧道TUNNEL头,并向待检查服务器发送处理后的报文。
具体地,可通过netfilter(网络过滤框架)在LOCAL_OUT(本地出口)调用hook(钩子函数)检测报文,确定该报文为健康检查的报文,然后在报文的目的IP地址前添加隧道TUNNEL头,然后向待检查服务器发送处理后的报文。
S503,若接收到待检查服务器返回的响应报文,则确定对应链路健康,若未接收到待检查服务器返回的响应报文,则确定对应链路不健康。
具体地,若接收到待检查服务器返回的响应报文,可通过netfilter在PRE_ROUTING调用hook检测响应报文,确定该响应报文为对应的待检测服务器返回的报文,则可确定对应链路健康。
本发明实施例的链路的健康检查方法,通过接收并保存Keepalived生成的控制信息,根据控制信息对接收到的报文进行匹配,在匹配成功的报文的目的IP地址前添加隧道TUNNEL头,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了客户端无法访问待检查服务器,但通过内网IP检测待检查服务器健康时,流量丢失的问题,避免了客户端能够正常访问待检查服务器,但通过内网IP连接待检查服务器不健康时,误剔除健康的服务器的情况。
为了实现上述实施例,本发明还提出一种链路的健康检查装置。
图6为根据本发明一个实施例的链路的健康检查装置的结构示意图。
如图6所示,链路的健康检查装置包括:接收模块110、处理模块120和确定模块130。
其中,接收模块110用于接收并保存保活程序生成的控制信息。
在本发明的实施例中,接收模块110可接收并保存保活程序如keepalived生成的控制信息,其中,控制信息可包括源IP地址、源端口、目的IP地址、目的端口、待检查服务器IP地址以及模式信息。模式信息可为DR(直接路由)模式,也可为TUN(隧道)模式。
具体地,保活程序可调用第一预设函数,如bind(绑定函数)设置源IP地址和源端口,例如:可将源IP地址设置为本地IP地址,源端口设置为0。然后,可将目的IP地址设置为负载均衡器的虚拟IP地址,并调用第二预设函数设置目的端口,例如:调用connect设置目的IP地址设置为负载均衡器的虚拟IP地址,设置目的端口为VPORT。
在生成控制信息后,保活程序可调用getsockname(获取套接字名字)函数获取源端口号,再调用setsockopt(设置套接字选项函数)将控制信息发送至系统内核的接收模块110。其中,系统内核可为linux系统内核。接收模块110在接收到控制信息后,保存控制信息。
处理模块120用于根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文。
在本发明的实施例中,处理模块120可根据控制信息对接收到的报文进行匹配。
具体地,处理模块120可通过控制信息中包含的源IP地址、源端口、目的IP地址、目的端口与接收到的报文中包含的源IP地址、源端口、目的IP地址、目的端口是否完全一致来判断是否匹配成功。如果完全一致,则可确定匹配成功。
然后,处理模块120可对匹配成功的报文进行处理。
具体地,若确定模式信息为DR模式,则处理模块120可将报文的目的MAC地址修改为待检查服务器的MAC地址。如图2所示,报文的结构是在数据的前面添加目的IP地址,再在目的IP地址的前面添加目的MAC地址。在本发明的实施例中,如果模式信息为DR模式,则可将该报文前面的目的MAC地址修改为待检查服务器的MAC地址。
若确定模式信息为TUN模式,则处理模块120可在报文的目的IP地址前添加隧道TUNNEL头。如图3所示,报文的结构是在数据的前面添加目的IP地址,再在目的IP地址的前面添加目的MAC地址。在本发明的实施例中,如果模式信息为TUN模式,则可在报文的目的IP地址前添加隧道TUNNEL头。
在对匹配成功的报文进行处理后,处理模块120可向待检查服务器发送处理后的报文。
确定模块130用于若接收到待检查服务器返回的响应报文,则确定对应链路健康,若未接收到待检查服务器返回的响应报文,则确定对应链路不健康。
其中,判断链路不健康可包括两种情况:第一种是链路在物理上不连通,第二种是链路在物理上连通,但是无法接收到健康响应包。
在本发明的实施例中,如果系统内核接收到待检查服务器返回的响应报文时,则确定模块130可确定对应链路健康;如果系统内核未接收到待检查服务器返回的响应报文时,则确定模块130可确定对应链路不健康。
本发明实施例的链路的健康检查装置,通过接收并保存保活程序生成的控制信息,根据控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文,以检测待检查服务器对应的链路是否健康,与用户访问LVS的流程保持一致,解决了流量损失或者误剔除服务器的问题,提高了健康检查的准确率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种链路的健康检查方法,其特征在于,包括:
接收并保存保活程序生成的控制信息,所述控制信息包括源IP地址、源端口、目的IP地址、目的端口、待检查服务器IP地址以及模式信息;
根据所述控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文;以及
若接收到所述待检查服务器返回的响应报文,则确定对应链路健康,若未接收到所述待检查服务器返回的所述响应报文,则确定对应链路不健康。
2.根据权利要求1所述的方法,其特征在于,所述模式信息包括直接路由DR模式或隧道TUN模式。
3.根据权利要求1所述的方法,其特征在于,所述源IP地址和源端口是所述保活程序调用第一预设函数设置的,其中,所述第一预设函数为绑定函数bind,所述目的IP地址和目的端口是所述保活程序调用第二预设函数设置的,其中,所述第二预设函数为connect函数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述控制信息对接收到的报文进行匹配,包括:
通过控制信息中包含的源IP地址、源端口、目的IP地址、目的端口与接收到的所述报文中包含的源IP地址、源端口、目的IP地址、目的端口是否完全一致来判断是否匹配成功。
5.根据权利要求2所述的方法,其特征在于,所述对所述匹配成功的报文进行处理,包括:
若确定所述模式信息为DR模式,则将所述报文的目的MAC地址修改为所述待检查服务器的MAC地址;
若确定所述模式信息为TUN模式,则在所述报文的目的IP地址前添加隧道TUNNEL头。
6.一种链路的健康检查装置,其特征在于,包括:
接收模块,用于接收并保存保活程序生成的控制信息,所述控制信息包括源IP地址、源端口、目的IP地址、目的端口、待检查服务器IP地址以及模式信息;
处理模块,用于根据所述控制信息对接收到的报文进行匹配,对匹配成功的报文进行处理,并向待检查服务器发送处理后的报文;以及
确定模块,用于若接收到所述待检查服务器返回的响应报文,则确定对应链路健康,若未接收到所述待检查服务器返回的所述响应报文,则确定对应链路不健康。
7.根据权利要求6所述的装置,其特征在于,所述模式信息包括直接路由DR模式或隧道TUN模式。
8.根据权利要求6所述的装置,其特征在于,所述源IP地址和源端口是所述保活程序调用第一预设函数设置的,其中,所述第一预设函数为绑定函数bind,所述目的IP地址和目的端口是所述保活程序调用第二预设函数设置的,其中,所述第二预设函数为connect函数。
9.根据权利要求6所述的装置,其特征在于,所述处理模块,具体用于:
通过控制信息中包含的源IP地址、源端口、目的IP地址、目的端口与接收到的所述报文中包含的源IP地址、源端口、目的IP地址、目的端口是否完全一致来判断是否匹配成功。
10.根据权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
若确定所述模式信息为DR模式,则将所述报文的目的MAC地址修改为所述待检查服务器的MAC地址;
若确定所述模式信息为TUN模式,则在所述报文的目的IP地址前添加隧道TUNNEL头。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602750.6A CN104301184B (zh) | 2014-10-31 | 2014-10-31 | 链路的健康检查方法和装置 |
PCT/CN2014/093518 WO2016065700A1 (zh) | 2014-10-31 | 2014-12-10 | 链路的健康检查方法和装置 |
EP14892234.7A EP3070881B1 (en) | 2014-10-31 | 2014-12-10 | Link health check method and device |
KR1020157035369A KR101770498B1 (ko) | 2014-10-31 | 2014-12-10 | 링크의 건전성을 점검하는 방법 및 장치 |
US14/899,479 US9912560B2 (en) | 2014-10-31 | 2014-12-10 | Method and device for checking health of link |
JP2016555885A JP6091724B2 (ja) | 2014-10-31 | 2014-12-10 | リンクのヘルスチェック方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602750.6A CN104301184B (zh) | 2014-10-31 | 2014-10-31 | 链路的健康检查方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301184A CN104301184A (zh) | 2015-01-21 |
CN104301184B true CN104301184B (zh) | 2017-10-27 |
Family
ID=52320762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410602750.6A Active CN104301184B (zh) | 2014-10-31 | 2014-10-31 | 链路的健康检查方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9912560B2 (zh) |
EP (1) | EP3070881B1 (zh) |
JP (1) | JP6091724B2 (zh) |
KR (1) | KR101770498B1 (zh) |
CN (1) | CN104301184B (zh) |
WO (1) | WO2016065700A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11290912B2 (en) | 2011-12-14 | 2022-03-29 | Seven Networks, Llc | Mobile device configured for operating in a power save mode and a traffic optimization mode and related method |
WO2016206010A1 (zh) * | 2015-06-24 | 2016-12-29 | 华为技术有限公司 | 一种链路故障定位的方法、装置及系统 |
CN106686040B (zh) * | 2015-11-10 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种报文处理方法和装置 |
CN107342940B (zh) * | 2016-04-29 | 2020-10-20 | 新华三技术有限公司 | 一种控制信息的生成方法及装置和报文处理方法及装置 |
TWI720113B (zh) * | 2017-01-20 | 2021-03-01 | 香港商阿里巴巴集團服務有限公司 | 一種電文處理方法和裝置 |
CN108270639A (zh) * | 2017-02-13 | 2018-07-10 | 广州市动景计算机科技有限公司 | 业务接口监控的方法、装置及系统 |
US10554520B2 (en) * | 2017-04-03 | 2020-02-04 | Datrium, Inc. | Data path monitoring in a distributed storage network |
CN109756454B (zh) * | 2017-11-03 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 数据交互的方法、装置和系统 |
CN111835576B (zh) * | 2019-04-19 | 2022-03-04 | 厦门网宿有限公司 | 基于dpvs的后端服务器健康检测方法和服务器 |
CN110120897A (zh) * | 2019-04-22 | 2019-08-13 | 国家计算机网络与信息安全管理中心 | 链路探测方法、装置、电子设备及机器可读存储介质 |
CN110311830B (zh) * | 2019-06-03 | 2021-08-24 | 杭州迪普科技股份有限公司 | 一种链路健康检查方法和装置 |
CN110311982A (zh) * | 2019-07-05 | 2019-10-08 | 浪潮云信息技术有限公司 | 一种高可用服务器集群系统的实现方法 |
CN110311988B (zh) * | 2019-07-30 | 2022-01-28 | 中国工商银行股份有限公司 | 后端服务器的健康检查方法、负载均衡方法及装置 |
CN112887185B (zh) * | 2019-11-29 | 2024-03-15 | 华为云计算技术有限公司 | 一种叠加网络的通信方法及装置 |
CN111010319B (zh) * | 2019-12-20 | 2021-11-16 | 锐捷网络股份有限公司 | 基于vsf的链路检测方法及装置 |
US11360866B2 (en) * | 2020-04-14 | 2022-06-14 | International Business Machines Corporation | Updating stateful system in server cluster |
CN112260903B (zh) * | 2020-10-29 | 2022-03-25 | 杭州迪普科技股份有限公司 | 链路监测方法及装置 |
CN114338851B (zh) * | 2021-12-29 | 2022-08-19 | 武汉绿色网络信息服务有限责任公司 | 一种基于隧道报文的匹配方法和装置 |
CN114363213B (zh) * | 2022-03-01 | 2023-09-05 | 辽宁振兴银行股份有限公司 | 一种改进的负载均衡健康检查方法、系统及应用 |
CN115914328B (zh) * | 2023-01-30 | 2023-06-23 | 天翼云科技有限公司 | 网络健康探测方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640620A (zh) * | 2009-09-01 | 2010-02-03 | 杭州华三通信技术有限公司 | 一种被均衡设备的健康检测方法及装置 |
CN101729312A (zh) * | 2009-12-03 | 2010-06-09 | 中兴通讯股份有限公司 | 基于arp协议的链路检测方法和系统 |
CN103973424A (zh) * | 2014-05-22 | 2014-08-06 | 乐得科技有限公司 | 缓存系统中的故障解决方法和设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496659B1 (en) * | 2003-08-06 | 2009-02-24 | Cisco Technology, Inc. | Method and apparatus for monitoring the availability of network resources |
US7907621B2 (en) * | 2006-08-03 | 2011-03-15 | Citrix Systems, Inc. | Systems and methods for using a client agent to manage ICMP traffic in a virtual private network environment |
US7895463B2 (en) * | 2007-08-28 | 2011-02-22 | Cisco Technology, Inc. | Redundant application network appliances using a low latency lossless interconnect link |
US8149851B2 (en) * | 2009-03-16 | 2012-04-03 | Sling Media, Inc. | Mediated network address translation traversal |
JP5381247B2 (ja) * | 2009-03-31 | 2014-01-08 | 富士通株式会社 | 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム |
CN103096294B (zh) * | 2009-06-10 | 2015-09-23 | 华为技术有限公司 | 控制隧道标识分配的方法、装置和系统 |
WO2013090212A1 (en) * | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
CN102810111B (zh) * | 2012-05-07 | 2016-05-11 | 互动在线(北京)科技有限公司 | 一种保持Oracle数据库服务高可用的实现方法和系统 |
US8874761B2 (en) * | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
-
2014
- 2014-10-31 CN CN201410602750.6A patent/CN104301184B/zh active Active
- 2014-12-10 US US14/899,479 patent/US9912560B2/en active Active
- 2014-12-10 JP JP2016555885A patent/JP6091724B2/ja active Active
- 2014-12-10 WO PCT/CN2014/093518 patent/WO2016065700A1/zh active Application Filing
- 2014-12-10 KR KR1020157035369A patent/KR101770498B1/ko active IP Right Grant
- 2014-12-10 EP EP14892234.7A patent/EP3070881B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640620A (zh) * | 2009-09-01 | 2010-02-03 | 杭州华三通信技术有限公司 | 一种被均衡设备的健康检测方法及装置 |
CN101729312A (zh) * | 2009-12-03 | 2010-06-09 | 中兴通讯股份有限公司 | 基于arp协议的链路检测方法和系统 |
CN103973424A (zh) * | 2014-05-22 | 2014-08-06 | 乐得科技有限公司 | 缓存系统中的故障解决方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3070881B1 (en) | 2018-08-29 |
WO2016065700A1 (zh) | 2016-05-06 |
KR101770498B1 (ko) | 2017-08-22 |
US9912560B2 (en) | 2018-03-06 |
US20170230261A1 (en) | 2017-08-10 |
CN104301184A (zh) | 2015-01-21 |
EP3070881A1 (en) | 2016-09-21 |
EP3070881A4 (en) | 2017-01-18 |
JP2017501657A (ja) | 2017-01-12 |
JP6091724B2 (ja) | 2017-03-08 |
KR20160065774A (ko) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104301184B (zh) | 链路的健康检查方法和装置 | |
US9942099B2 (en) | Methodology and apparatus for topology discovery and mapping of chained network services | |
CN104717081B (zh) | 一种网关功能的实现方法及装置 | |
CN109698788A (zh) | 流量转发方法和流量转发装置 | |
CN107566152A (zh) | 用于虚拟网络链路检测的方法及装置 | |
CN105337785A (zh) | 一种路径连通性检测方法及装置 | |
CN107122224A (zh) | 一种数据传输方法、虚拟机和宿主机 | |
CN106878164A (zh) | 一种报文传输方法和装置 | |
CN107544835A (zh) | 一种虚拟机业务网口的检测方法和装置 | |
CN108684042A (zh) | 检测中间人攻击的方法与装置 | |
CN106341338A (zh) | 一种报文的转发方法及装置 | |
CN109246189A (zh) | 网络数据分发方法及装置、存储介质、服务端 | |
CN104123173B (zh) | 一种实现虚拟机间通信的方法及装置 | |
CN103823721B (zh) | 一种进程间通信的方法及设备 | |
CN103457797B (zh) | 一种rcpu端口有效性的检测方法和设备 | |
JP2005527899A5 (zh) | ||
WO2021083375A1 (zh) | 检测链路状态的方法及装置 | |
CN106790010A (zh) | 基于Android系统的ARP攻击检测方法、装置及系统 | |
CN106161522A (zh) | 一种网络设备间的通信方法、网络设备及分布式网络 | |
CN107592370A (zh) | 一种网络负载均衡方法及装置 | |
CN109783196A (zh) | 一种虚拟机的迁移方法及装置 | |
CN112153027B (zh) | 仿冒行为识别方法、装置、设备及计算机可读存储介质 | |
CN107678897A (zh) | 一种自动化测试的方法及装置 | |
CN104394243B (zh) | 一种重复地址检测方法和装置 | |
CN107454658A (zh) | 一种WiFi连接方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |