CN112152880A - 一种链路健康检测方法及装置 - Google Patents
一种链路健康检测方法及装置 Download PDFInfo
- Publication number
- CN112152880A CN112152880A CN202011003968.1A CN202011003968A CN112152880A CN 112152880 A CN112152880 A CN 112152880A CN 202011003968 A CN202011003968 A CN 202011003968A CN 112152880 A CN112152880 A CN 112152880A
- Authority
- CN
- China
- Prior art keywords
- message
- handshake message
- forwarding
- link
- target
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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/0823—Errors, e.g. transmission errors
-
- 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/12—Network monitoring probes
Abstract
本申请提供一种链路健康检测方法及装置,应用于转发设备,可以包括向目标设备发送第一次握手报文;若接收到所述目标设备返回的第二次握手报文,则判定与所述目标设备之间的链路处于正常状态;向所述目标设备发送挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。通过本申请的技术方案,仅需要发送三次报文就可以完成健康检测和释放连接的全过程,数据传输量较少,检测效率高。
Description
技术领域
本申请涉及通讯技术领域,尤其涉及一种链路健康检测方法及装置。
背景技术
网络设备之间的数据传输依赖于这些网络设备之间的链路状态,如果链路发生异常就会导致数据传输失败,而这些网络设备所执行的与数据传输相关的操作将毫无意义。因此,需要对网络设备之间的链路进行健康检测,以确定链路的健康状态。
相关技术方案中,通常是通过三次握手在转发设备与目标设备之间建立一个完整的TCP(Transmission Control Protocol,传输控制协议)连接,以此来检测设备之间的链路是否正常,在检测结束后需要通过四次挥手释放此连接,可见健康检测过程所传输的数据量较大,耗时较长。
发明内容
有鉴于此,本申请提供一种链路健康检测方法及装置;
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种应用于转发设备的链路健康检测方法,具体为:
向目标设备发送第一次握手报文;
若接收到所述目标设备返回的第二次握手报文,则判定与所述目标设备之间的链路处于正常状态;
向所述目标设备发送挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
根据本申请的第二方面,提出了一种应用于目标设备的链路健康检测方法,具体为:
接收转发设备发送的第一次握手报文;
返回第二次握手报文至转发设备;其中,所述第二次握手报文用于指示所述转发设备:在收到所述第二次握手报文的情况下判定自身与所述目标设备之间的链路处于正常状态,并向所述目标设备发送挥手报文;
在收到所述转发设备发送的所述挥手报文的情况下,释放通过第一次握手报文与第二次握手报文建立的连接。
根据本申请的第三方面,提出了一种链路健康检测装置,具体包括:
第一发送单元,用于发送第一次握手报文至目标设备;
接收单元,用于接收所述目标设备返回的第二次握手报文;
判定单元,当接收单元接收到所述目标设备回复的第二次握手报文,判定与所述目标设备之间的链路处于正常状态;
第二发送单元,用于发送挥手报文至所述目标设备,以释放通过第一次握手报文与第二次握手报文建立的连接。
根据本申请的第四方面,提出了另一种链路健康检测装置,具体包括:
第一接收单元,用于接收转发设备发送的第一次握手报文;
发送单元,用于返回第二次握手报文至所述转发设备,使转发设备判定其所述目标设备之间的链路处于正常状态;
第二接收单元,用于接收所述转发设备发送的挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
根据本申请的第五方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述第一方面或第二方面所述的方法。
根据本申请的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面或第二方面所述的方法的步骤。
由以上技术方案可见,本申请通过第一次握手报文和第二次握手报文检测设备之间的链路健康状态,并通过挥手报文释放通过第一次握手报文与第二次握手报文建立的连接。和相关技术方案相比,仅需要发送三次报文就可以完成健康检测和释放连接的全过程,数据传输量较少,检测效率高。
附图说明
图1是通过三次握手建立完整TCP连接的流程图;
图2是通过四次挥手释放完整TCP连接的流程图;
图3是本申请一示例性实施例示出的一种链路健康状态检测方法的流程图;
图4是本申请一示例性实施例示出的另一种链路健康状态检测方法的流程图;
图5是本申请实施例应用一种链路健康状态检测方法的网络架构图;
图6是本申请一示例性实施例示出的一种链路健康状态检测方法的多方交互图;
图7是本申请一示例性实施例示出的电子设备的示意结构图;
图8是本申请一示例性实施例示出的一种链路健康检测装置的框图;
图9是本申请一示例性实施例示出的另一种链路健康检测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在相关技术中,对转发设备与目标设备之间的链路进行健康检测通常是通过在待检测链路对应的两个设备之间建立完整的TCP连接来判断所述链路的健康状态,该过程通常是通过如图1所示的三次握手来实现,包括:转发设备向目标设备发送如步骤102中的第一次握手报文,目标设备接收到第一次握手报文后实施步骤104,即返回第二次握手报文至转发设备,转发设备接收到第二次握手报文后实施步骤106,向目标设备发送第三次握手报文。可知建立完整的TCP连接需要在设备之间传输三次报文,分别为第一次握手报文、第二次握手报文、第三次握手报文。
由于健康检测结束后并不需要再对数据进行传输,因此需要释放上述建立的TCP连接,以解除对相关端口的占用。相关技术中是通过四次挥手完成上述连接的释放,四次挥手的过程如图2所示,包括:通过步骤202向目标设备发送第一次挥手报文,目标设备接收到第一次挥手报文后返回第二次挥手报文,即步骤204,经过步骤202-204可以完成对单方向TCP连接的释放,由于完整的TCP连接是全双工的,每个方向都需要单独进行关闭,因此还需要通过步骤206-208,通过转发设备向目标设备发送第三次挥手报文与接收目标设备返回的第四次挥手报文完成对另一方向连接的释放。可知,释放完整的TCP连接需要在设备之间传输四次报文,分别为第一次挥手报文、第二次挥手报文、第三次挥手报文,第四次挥手报文。
可见,相关技术中需要完成健康检测和释放连接两个阶段,一共需要在设备之间传输七次报文,并且释放连接的步骤较多、等待时间较长。因此,本申请对健康检测及释放连接的步骤进行改进,以解决上述方案存在的技术问题。下面结合实施例进行详细的说明。
图3为本申请一示例性实施例示出的一种链路健康状态检测方法的流程图,该方法应用于转发设备。如图3所示,上述方法包括以下步骤:
步骤302,向目标设备发送第一次握手报文。
在本实施例中,转发设备向目标设备发送第一次握手报文,所述转发设备为具有报文转发功能的设备,例如负载均衡设备、防火墙等,本申请不对此作出限制。第一次握手报文具体为:SYN=1,seq=J,即转发设备将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给目标设备,转发设备进入SYN_SENT状态,等待目标设备确认。
可选的,转发设备可以按照预设的时间周期进行健康检测。例如,预设的时间周期为10秒,则每隔10秒进行一次对转发设备与目标设备之间的链路进行一次健康检测。转发设备向目标设备发送第一次握手报文,如果目标设备接收到了第一次握手报文,则会向转发设备返回第二次握手报文,转发设备接收到第二次握手报文后会向目标设备发送挥手报文,通过上述三次报文的传输,完成一次健康检测及释放连接的全过程。本实施例通过为转发设备设定一个时间周期,每间隔一个时间周期启动一次健康检测及释放连接的流程,从而实现对待检测链路的周期性检测。
可选的,转发设备在接收到源设备针对所述目标设备发送的数据报文时向目标设备发送第一次握手报文。在本实施例中,源设备将针对所述目标设备发送的数据报文发送给转发设备,转发设备通过健康检测的步骤确认转发设备与目标设备之间的链路状态正常后,再将上述数据报文发送至目标设备,以完成对数据报文的转发。本实施例中通过在转发设备接收到来自源设备针对目标设备发送的数据报文时启动健康检测程序,完成对待检测链路的检测,从而方便后续的数据报文的转发流程。
步骤304,若接收到所述目标设备返回的第二次握手报文,则判定与所述目标设备之间的链路处于正常状态。
在本实施例中,目标设备接收到步骤302中转发设备发送的第一次握手报文后,会返回第二次握手报文至转发设备,具体来说,目标设备收到第一次握手报文后由标志位SYN=1确定转发设备请求建立连接,目标设备相应生成上述的第二次握手报文,该第二次握手报文中包含SYN=1,ACK=1,ack=J+1,seq=K,具体来说为将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该第二次握手报文发送给转发设备以确认连接请求,目标设备进入SYN_RCVD状态。
如果转发设备可以接收到目标设备发送的第二次握手报文,则说明转发设备和目标设备之间的链路处于正常状态,也就是说来自源设备的数据报文到达转发设备后,可以通过转发设备和目标设备之间的链路进行正常传输。
可选的,转发设备可以设置一时间阈值,所述时间阈值可以根据实际情况确定和调整,如果转发设备在此预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,说明转发设备与目标设备之间的链路处于故障状态,可以通知相关用户及时对故障进行排除。
可选的,为转发设备设置一个时间阈值,所述时间阈值可以根据实际情况确定和调整,若转发设备在此预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,则重新发送所述第一次握手报文,当重新发送的次数达到一定值并且均未收到目标设备返回的第二次握手报文时,说明转发设备与目标设备之间的链路不能完成对数据报文的传输,可以判定转发设备与所述目标设备之间的链路处于故障状态。上述重新发送的次数可以预先在转发设备中根据实际情况进行设置和修改。
步骤306,向所述目标设备发送挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
在本实施例中,经过上述步骤302-304,转发设备与目标设备之间已经通过第一次握手报文和第二次握手报文建立了连接,此连接属于TCP半打开连接。由于对链路的健康检测已经完成,并且后续不需要再进行数据交互,为了解除上述连接对通信资源的占用,此时转发设备可以发送挥手报文至目标设备,以释放通过上述步骤302-304建立的连接。具体来说,转发设备收到第二次握手报文后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=k+1,并向目标设备发送挥手报文,该挥手报文的内容是RST=1,ACK=1,ack=k+1,该挥手报文可以直接释放上述连接,并使转发设备和目标设备进入CLOSE状态。
需要说明的是,为防止健康检测业务与其他业务发生冲突,本申请提出的链路健康检测方法使用的端口与区别于健康检测业务的其他业务使用的端口不同。在实际应用时,由于其他业务使用的端口多集中于1500-65535之间,健康检测业务使用的端口可以在400-1400之间进行选择,但是需要排除知名端口,例如442端口、500VPN端口、443HTTPS网页浏览端口、445永恒之蓝病毒端口等。
由上可知,经过本申请上述三个步骤,转发设备与目标设备之间仅需要传输第一次握手报文、第二次握手报文和挥手报文三次报文,就可以完成链路的健康检测和连接的释放的全过程,节省了数据传输资源,提升了健康检测的效率。
图4为本申请一示例性实施例示出的另一种链路健康状态检测方法的流程图,该方法应用于目标设备。
结合图4,上述方法包括以下步骤:
步骤402,接收转发设备发送的第一次握手报文。
在本实施例中,目标设备接收转发设备发送第一次握手报文,所述转发设备为具有报文转发功能的设备,例如负载均衡设备、防火墙等,本申请不对此作出限制。第一次握手报文具体为:SYN=1,seq=J,即转发设备将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给目标设备,转发设备进入SYN_SENT状态,等待目标设备确认。
可选的,转发设备可以按照预设的时间周期进行健康检测。例如,预设的时间周期为10秒,则每隔10秒进行一次对转发设备与目标设备之间的链路进行一次健康检测。转发设备向目标设备发送第一次握手报文,如果目标设备接收到了第一次握手报文,则会向转发设备返回第二次握手报文,转发设备接收到第二次握手报文后会向目标设备发送挥手报文,通过上述三次报文的传输,完成一次健康检测及释放连接的全过程。本实施例通过为转发设备设定一个时间周期,每间隔一个时间周期启动一次健康检测及释放连接的流程,从而实现对待检测链路的周期性检测。
可选的,转发设备在接收到源设备针对所述目标设备发送的数据报文时向目标设备发送第一次握手报文。在本实施例中,源设备将针对所述目标设备发送的数据报文发送给转发设备,转发设备通过健康检测的步骤确认转发设备与目标设备之间的链路状态正常后,再将上述数据报文发送至目标设备,以完成对数据报文的转发。本实施例中通过在转发设备接收到来自源设备针对目标设备发送的数据报文时启动健康检测程序,完成对待检测链路的检测,从而方便后续的数据报文的转发流程。
步骤404,返回第二次握手报文至转发设备;其中,所述第二次握手报文用于指示所述转发设备:在收到所述第二次握手报文的情况下判定自身与所述目标设备之间的链路处于正常状态,并向所述目标设备发送挥手报文。
在本实施例中,目标设备接收到步骤402中转发设备发送的第一次握手报文后,会返回第二次握手报文至转发设备,具体来说,目标设备收到第一次握手报文后由标志位SYN=1确定转发设备请求建立连接,目标设备相应生成上述的第二次握手报文,该第二次握手报文中包含SYN=1,ACK=1,ack=J+1,seq=K,具体来说为将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该第二次握手报文发送给转发设备以确认连接请求,目标设备进入SYN_RCVD状态。
所述第二次握手报文用于指示所述转发设备是指,如果转发设备可以接收到目标设备发送的第二次握手报文,则说明转发设备和目标设备之间的链路处于正常状态,也就是说来自源设备的数据报文到达转发设备后,可以通过转发设备和目标设备之间的链路进行正常传输。
可选的,转发设备可以设置一时间阈值,所述时间阈值可以根据实际情况确定和调整,如果转发设备在此预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,说明转发设备与目标设备之间的链路处于故障状态,可以通知相关用户及时对故障进行排除。
可选的,转发设备可以设置一时间阈值,所述时间阈值可以根据实际情况确定和调整,若转发设备在此预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,则重新发送所述第一次握手报文,当重新发送的次数达到一定值并且均未收到目标设备返回的第二次握手报文时,说明转发设备与目标设备之间的链路不能完成对数据报文的传输,可以判定转发设备与所述目标设备之间的链路处于故障状态。上述重新发送的次数可以预先在转发设备中根据实际情况进行设置和修改。
步骤406,在收到所述转发设备发送的所述挥手报文的情况下,释放通过第一次握手报文与第二次握手报文建立的连接。
在本实施例中,经过上述步骤402-404,转发设备与目标设备之间已经通过第一次握手报文和第二次握手报文建立了连接,此连接属于TCP半打开连接。由于对链路的健康检测已经完成,并且后续不需要再进行数据交互,为了解除上述连接对通信资源的占用,此时转发设备可以发送挥手报文至目标设备,以释放通过上述步骤402-404建立的连接。具体来说,转发设备收到第二次握手报文后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=k+1,并向目标设备发送挥手报文,该挥手报文的内容是RST=1,ACK=1,ack=k+1,目标设备在收到所述转发设备发送的挥手报文的情况下,可以直接释放上述连接,并使转发设备和目标设备进入CLOSE状态。
需要说明的是,为防止健康检测业务与其他业务发生冲突,本申请提出的链路健康检测方法使用的端口与区别于健康检测业务的其他业务使用的端口不同。在实际应用时,由于其他业务使用的端口多集中于1500-65535之间,健康检测业务使用的端口可以在400-1400之间进行选择,但是需要排除知名端口,例如442端口、500VPN端口、443HTTPS网页浏览端口、445永恒之蓝病毒端口等。
图5为本申请一示例性实施例示出的一种网络架构图。如图5所示,该网络架构包括源设备51、转发设备52和目标设备53。源设备51在将数据报文转发至目标设备53时,首先将数据报文发送至转发设备52,进而由转发设备52将数据报文转发至目标设备53。那么,转发设备52可以对自身与目标设备53之间的链路进行健康检测,以确定该链路处于正常状态或者处于异常状态。需要说明的是,图5所示意的网络架构仅仅是对实现本申请的最简略网络架构的示意,实际应用中可以根据实际情况进行拓展。
下面以图5所示的网络架构为例,结合图6对本申请的技术方案进行详细描述。图6为本申请一示例性实施例示出的一种链路健康状态检测方法的多方交互图。本实施例中的转发设备52为具有NAT网络地址转换功能的NAT设备,保存有源设备51的内部本地地址与全局地址的对应关系,并可以将源设备51的内部本地地址转换为对应的全局地址,源设备51可以为至少一个客户端,目标设备53可以为服务端,待检测链路为NAT设备与服务端之间的链路。源设备51、转发设备52和目标设备53之间的交互过程可以包括以下步骤:
步骤602,转发设备52向目标设备53发送第一次握手报文。
在本实施例中,转发设备52向目标设备53发送第一次握手报文,所述转发设备52为具有NAT网络地址转换功能和报文转发功能的NAT设备。第一次握手报文具体为:SYN=1,seq=J,即转发设备52将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给目标设备53,转发设备52进入SYN_SENT状态,等待目标设备53确认。
可选的,转发设备52可以按照预设的时间周期进行健康检测。例如,预设的时间周期为10秒,则每隔10秒进行一次对转发设备52与目标设备53之间的链路进行一次健康检测。转发设备52向目标设备53发送第一次握手报文,如果目标设备53接收到了第一次握手报文,则会向转发设备52返回第二次握手报文,转发设备52接收到第二次握手报文后会向目标设备53发送挥手报文,通过上述三次报文的传输,完成一次健康检测及释放连接的全过程。本实施例通过为转发设备52设定一个时间周期,每间隔一个时间周期启动一次健康检测及释放连接的流程,从而实现对待检测链路的周期性检测。
可选的,转发设备52在接收到源设备51针对所述目标设备发送的数据报文时向目标设备发送第一次握手报文,即步骤606发生在步骤602之前。在本实施例中,源设备51将针对所述目标设备53发送的数据报文发送给转发设备52,转发设备52通过健康检测的步骤确认转发设备52与目标设备53之间的链路状态正常后,再将上述数据报文发送至目标设备53,以完成对数据报文的转发。本实施例中通过在转发设备52接收到来自源设备51针对目标设备53发送的数据报文时启动健康检测程序,完成对待检测链路的检测,从而方便后续的数据报文的转发流程。
步骤604,转发设备52若接收到所述目标设备53返回的第二次握手报文,则判定转发设备52与所述目标设备53之间的链路处于正常状态。
在本实施例中,目标设备53接收到步骤602中转发设备52发送的第一次握手报文后,会返回第二次握手报文至转发设备52,具体来说,目标设备53收到第一次握手报文后由标志位SYN=1确定转发设备52请求建立连接,目标设备53相应生成上述的第二次握手报文,该第二次握手报文中包含SYN=1,ACK=1,ack=J+1,seq=K,具体来说为将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该第二次握手报文发送给转发设备52以确认连接请求,目标设备53进入SYN_RCVD状态。
如果转发设备52可以接收到目标设备53发送的第二次握手报文,则说明转发设备52和目标设备53之间的链路处于正常状态,也就是说来自源设备51的数据报文到达转发设备52后,可以通过转发设备52和目标设备53之间的链路进行正常传输。
可选的,转发设备52可以设置一时间阈值,所述时间阈值可以根据实际情况确定和调整,如果转发设备52在此预设的时间阈值内未接收到所述目标设备53返回的第二次握手报文,说明转发设备52与目标设备53之间的链路处于故障状态,可以通知相关用户及时对故障进行排除。
可选的,为转发设备52设置一个时间阈值,所述时间阈值可以根据实际情况确定和调整,若转发设备52在此预设的时间阈值内未接收到所述目标设备53返回的第二次握手报文,则重新发送所述第一次握手报文,当重新发送的次数达到一定值并且均未收到目标设备53返回的第二次握手报文时,说明转发设备52与目标设备53之间的链路不能完成对数据报文的传输,可以判定转发设备52与所述目标设备53之间的链路处于故障状态。上述重新发送的次数可以预先在转发设备52中根据实际情况进行设置和修改。
步骤606,转发设备52向所述目标设备53发送挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
在本实施例中,经过上述步骤602-604,转发设备52与目标设备53之间已经通过第一次握手报文和第二次握手报文建立了连接,此连接属于TCP半打开连接。由于对链路的健康检测已经完成,并且后续不需要再进行数据交互,为了解除上述连接对通信资源的占用,此时转发设备52可以发送挥手报文至目标设备53,以释放通过上述步骤602-604建立的连接。具体来说,转发设备52收到第二次握手报文后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=k+1,并向目标设备53发送挥手报文,该挥手报文的内容是RST=1,ACK=1,ack=k+1,该挥手报文可以直接释放上述连接,并使转发设备52和目标设备53进入CLOSE状态。
步骤608,源设备51向转发设备52发送针对目标设备53发送的待转发的数据报文。
转发设备52接收待转发数据报文的操作步骤对其自身来说是被动的,源设备51发送数据报文的操作步骤608与转发设备52做健康检测的操作步骤602-606之间相互独立,并不存在必然的先后顺序,图6中表示的步骤608仅为对一种情况的示意。
当步骤608发生在步骤606之前时,即源设备51在转发设备52完成健康检测之前就将待转发的数据报文发送至转发设备52,此时转发设备52先不对待转发的数据报文进行NAT转换,而是等到转发设备52对待检测链路的健康状态检测完成后,根据健康检测的结果,再决定是否对待转发的数据报文进行NAT转换。
当步骤608发生在步骤606之后时,即源设备51在转发设备52完成健康检测之后才将待转发的数据报文发送至转发设备52,此时由于健康检测的步骤602-606已经完成,转发设备52可以直接根据健康检测的结果决定是否对待转发的数据报文进行NAT转换。健康检测的结果可以具有一定时长的有效期,转发设备52在获得来自源设备51的上述数据报文后,如果发现存在处于有效期内的健康检测结果,可以根据该健康检测结果决定是否对该数据报文进行NAT转换,如果未发现处于有效期内的健康检测结果,则需要重新进行健康检测。当然,在一些实施例中,如果未发现处于有效期内的健康检测结果,转发设备52可以在不参考健康检测结果的情况下,直接对数据报文进行NAT转换和转发操作。
步骤610,对待转发的数据报文进行NAT转换。
转发设备52根据保存的源设备51的本地地址与全局地址的对应关系,将步骤608中源设备51发送的针对目标设备53的待转发的数据报文进行NAT转换。
在通过步骤602-606确定所述转发设备52与目标设备53之间的链路处于正常状态的情况下,所述转发设备52对接收到的来自源设备51的报文进行解析,将其中的源设备51的内部本地地址转换为全局地址,即对转发设备52接收的源设备51针对所述目标设备53发送的数据报文进行NAT转换。
步骤612,将NAT转换后的数据报文转发至目标设备53。
在此实施例中,由于已经确定所述转发设备52与服务端之间的链路正常,因此在转发设备52完成对待转发数据报文的NAT转换后,可以进行待转发数据报文的转发步骤,实现源设备51与目标设备53之间的数据传输。
由上述步骤可知,本实施例是在链路健康检测完成并确定所述链路状态为正常的情况下,转发设备52再对源设备51针对所述目标设备53发送的数据报文进行NAT转换,如果健康检测的结果是所述链路为故障状态,那么转发设备52就不需要实施对数据报文的NAT转换,本实施例可以避免所述转发设备52进行无用的NAT转换,防止资源的浪费。
与上述方法实施例相对应,本说明书还提供了一种装置的实施例。
图7示出了根据本申请的一示例性实施例的电子设备的示意结构图。请参考图7,在硬件层面,该电子设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行,在逻辑层面上形成链路健康检测装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
结合图8,在软件实施方式中,当应用于转发设备时,该链路健康检测装置可以包括:
第一发送单元802,用于发送第一次握手报文至目标设备。
接收单元804,用于接收所述目标设备返回的第二次握手报文。
判定单元806,当接收单元接收到所述目标设备回复的第二次握手报文,判定与所述目标设备之间的链路处于正常状态。
第二发送单元808,用于发送挥手报文至所述目标设备,以释放通过第一次握手报文与第二次握手报文建立的连接。
可选的,所述转发设备具有网络地址转换NAT功能;所述装置还包括:
待转发报文接收单元810,接收源设备针对所述目标设备发送的数据报文;
NAT转换单元812,根据保存的本地地址与全局地址的对应关系,对所述数据报文进行NAT转换;
将NAT转换后的数据报文转发至所述目标设备。
可选的,所述NAT转换单元812具体用于:
在判定所述链路为正常状态的情况下,对所述数据报文进行NAT转换。
可选的,第一发送单元802具体用于:
按照预设的时间周期发送第一次握手报文;
或者,每当收到源设备针对所述目标设备发送的数据报文时,向目标设备发送第一次握手报文。
可选的,判定单元806还用于,若转发设备在预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,则判定与所述目标设备之间的链路处于故障状态;
或者,若转发设备在预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,则重新发送所述第一次握手报文,并在针对所述第一次握手报文的发送次数达到预设值且未接收到所述目标设备返回的第二次握手报文的情况下,判定与所述目标设备之间的链路处于故障状态。
可选的,所述链路健康检测使用的端口区别于链路健康检测之外的其他业务使用的端口。
结合图9,在软件实施方式中,当应用于目标设备时,该链路健康检测装置可以包括:
第一接收单元902,用于接收转发设备发送的第一次握手报文。
发送单元904,用于返回第二次握手报文至所述转发设备,使转发设备判定其所述目标设备之间的链路处于正常状态。
第二接收单元906,用于接收所述转发设备发送的挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
可选的,所述转发设备具有网络地址转换NAT功能;所述装置还包括:
报文接收单元908,用于接收所述转发设备发送的源设备针对所述目标设备发送的数据报文。
可选的,第一接收单元902具体用于:
接收转发设备按照预设的时间周期发送的第一次握手报文;
或者,每当转发设备收到源设备针对所述目标设备发送的数据报文时,接收转发设备向目标设备发送的第一次握手报文。
可选的,若转发设备在预设的时间阈值内未接收到所述发送单元904返回的第二次握手报文,则判定转发设备与所述目标设备之间的链路处于故障状态;
或者,若转发设备在预设的时间阈值内未接收到所述发送单元904返回的第二次握手报文,则重新发送所述第一次握手报文,并在针对所述第一次握手报文的发送次数达到预设值且未接收到所述目标设备返回的第二次握手报文的情况下,判定与所述目标设备之间的链路处于故障状态。
可选的,所述链路健康检测使用的端口区别于链路健康检测之外的其他业务使用的端口。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由链路健康检测装置的处理器执行以实现如上述实施例中任一所述的方法。
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本申请并不对此进行限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种链路健康检测方法,其特征在于,应用于转发设备,所述方法包括:
向目标设备发送第一次握手报文;
若接收到所述目标设备返回的第二次握手报文,则判定与所述目标设备之间的链路处于正常状态;
向所述目标设备发送挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
2.根据权利要求1所述的方法,其特征在于,所述转发设备具有网络地址转换NAT功能;所述方法还包括:
接收源设备针对所述目标设备发送的数据报文;
根据保存的本地地址与全局地址的对应关系,对所述数据报文进行NAT转换;
将NAT转换后的数据报文转发至所述目标设备。
3.根据权利要求2所述的方法,其特征在于,所述对所述数据报文进行NAT转换,包括:
在判定所述链路为正常状态的情况下,对所述数据报文进行NAT转换。
4.根据权利要求1所述的方法,其特征在于,所述向目标设备发送第一次握手报文,包括:
按照预设的时间周期发送第一次握手报文;
或者,每当收到源设备针对所述目标设备发送的数据报文时,向目标设备发送第一次握手报文。
5.根据权利要求1所述的方法,其特征在于,还包括:
若转发设备在预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,则判定与所述目标设备之间的链路处于故障状态;
或者,若转发设备在预设的时间阈值内未接收到所述目标设备返回的第二次握手报文,则重新发送所述第一次握手报文,并在针对所述第一次握手报文的发送次数达到预设值且未接收到所述目标设备返回的第二次握手报文的情况下,判定与所述目标设备之间的链路处于故障状态。
6.根据权利要求1所述的方法,其特征在于,所述链路健康检测使用的端口区别于链路健康检测之外的其他业务使用的端口。
7.一种链路健康检测方法,其特征在于,应用于目标设备,所述方法包括:
接收转发设备发送的第一次握手报文;
返回第二次握手报文至转发设备;其中,所述第二次握手报文用于指示所述转发设备:在收到所述第二次握手报文的情况下判定自身与所述目标设备之间的链路处于正常状态,并向所述目标设备发送挥手报文;
在收到所述转发设备发送的所述挥手报文的情况下,释放通过第一次握手报文与第二次握手报文建立的连接。
8.一种链路健康检测装置,其特征在于,包括:
第一发送单元,用于发送第一次握手报文至目标设备;
接收单元,用于接收所述目标设备返回的第二次握手报文;
判定单元,当接收单元接收到所述目标设备回复的第二次握手报文,判定与所述目标设备之间的链路处于正常状态;
第二发送单元,用于发送挥手报文至所述目标设备,以释放通过第一次握手报文与第二次握手报文建立的连接。
9.一种链路健康检测装置,其特征在于,包括:
第一接收单元,用于接收转发设备发送的第一次握手报文;
发送单元,用于返回第二次握手报文至所述转发设备,使转发设备判定其所述目标设备之间的链路处于正常状态;
第二接收单元,用于接收所述转发设备发送的挥手报文,以释放通过第一次握手报文与第二次握手报文建立的连接。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003968.1A CN112152880A (zh) | 2020-09-22 | 2020-09-22 | 一种链路健康检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003968.1A CN112152880A (zh) | 2020-09-22 | 2020-09-22 | 一种链路健康检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112152880A true CN112152880A (zh) | 2020-12-29 |
Family
ID=73897118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011003968.1A Pending CN112152880A (zh) | 2020-09-22 | 2020-09-22 | 一种链路健康检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112152880A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113397708A (zh) * | 2021-05-18 | 2021-09-17 | 珠海横乐医学科技有限公司 | 粒子穿刺手术机器人导航系统 |
CN115174652A (zh) * | 2022-06-23 | 2022-10-11 | 深圳市元征科技股份有限公司 | 一种通信连接建立方法、装置、设备及介质 |
CN116708149A (zh) * | 2022-12-29 | 2023-09-05 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
CN116708148A (zh) * | 2022-12-29 | 2023-09-05 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
CN116708149B (zh) * | 2022-12-29 | 2024-05-14 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128669A1 (en) * | 2001-12-31 | 2003-07-10 | Globespanvirata Incorporated | System and method for interfacing a data link protocol engine and a physical layer |
CN101640620A (zh) * | 2009-09-01 | 2010-02-03 | 杭州华三通信技术有限公司 | 一种被均衡设备的健康检测方法及装置 |
CN105991372A (zh) * | 2015-04-20 | 2016-10-05 | 杭州迪普科技有限公司 | 链路检测方法及装置 |
CN106230634A (zh) * | 2016-08-01 | 2016-12-14 | 青岛海信宽带多媒体技术有限公司 | 一种链路故障的诊断方法、装置和机顶盒 |
CN108616418A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 检测故障的方法及装置 |
-
2020
- 2020-09-22 CN CN202011003968.1A patent/CN112152880A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128669A1 (en) * | 2001-12-31 | 2003-07-10 | Globespanvirata Incorporated | System and method for interfacing a data link protocol engine and a physical layer |
CN101640620A (zh) * | 2009-09-01 | 2010-02-03 | 杭州华三通信技术有限公司 | 一种被均衡设备的健康检测方法及装置 |
CN105991372A (zh) * | 2015-04-20 | 2016-10-05 | 杭州迪普科技有限公司 | 链路检测方法及装置 |
CN106230634A (zh) * | 2016-08-01 | 2016-12-14 | 青岛海信宽带多媒体技术有限公司 | 一种链路故障的诊断方法、装置和机顶盒 |
CN108616418A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 检测故障的方法及装置 |
Non-Patent Citations (3)
Title |
---|
喻殿云: "负载均衡在企业网络中的应用研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
张治军: "网络管理连通性检测技术研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
王海欢: "负载均衡技术在省级电视台的应用", 《视听界广播电视技术》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113397708A (zh) * | 2021-05-18 | 2021-09-17 | 珠海横乐医学科技有限公司 | 粒子穿刺手术机器人导航系统 |
CN115174652A (zh) * | 2022-06-23 | 2022-10-11 | 深圳市元征科技股份有限公司 | 一种通信连接建立方法、装置、设备及介质 |
CN115174652B (zh) * | 2022-06-23 | 2024-04-02 | 深圳市元征科技股份有限公司 | 一种通信连接建立方法、装置、设备及介质 |
CN116708149A (zh) * | 2022-12-29 | 2023-09-05 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
CN116708148A (zh) * | 2022-12-29 | 2023-09-05 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
CN116708148B (zh) * | 2022-12-29 | 2024-04-02 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
CN116708149B (zh) * | 2022-12-29 | 2024-05-14 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3338396B1 (en) | Device and method for establishing connection in load-balancing system | |
Ford et al. | TCP extensions for multipath operation with multiple addresses | |
CN112152880A (zh) | 一种链路健康检测方法及装置 | |
CN109639712B (zh) | 一种防护ddos攻击的方法及系统 | |
CN101390064B (zh) | 利用嵌入的认证信息防止网络重置拒绝服务攻击 | |
US9967193B2 (en) | Method and system for increasing data flow transmission | |
CN110855792B (zh) | 一种消息推送方法、装置、设备及介质 | |
CN107395632B (zh) | SYN Flood防护方法、装置、清洗设备及介质 | |
WO2011109786A1 (en) | Network firewall and nat traversal for tcp and related protocols | |
EP2741463A1 (en) | Data packet transmission method | |
US10848599B2 (en) | Data transmission method and gateway as well as server and computer-readable storage medium | |
CN109922144B (zh) | 用于处理数据的方法和装置 | |
CN111431871A (zh) | Tcp半透明代理的处理方法和装置 | |
CN100541437C (zh) | 防止网络重置拒绝服务攻击 | |
CN110784436B (zh) | 用于维持互联网协议安全隧道的方法和设备 | |
EP1808983A1 (en) | Process and devices for selective collision detection | |
US10680930B2 (en) | Method and apparatus for communication in virtual network | |
US11637874B2 (en) | Communications apparatus, systems, and methods for preventing and/or minimizing session data clipping | |
CN113872949B (zh) | 一种地址解析协议的应答方法及相关装置 | |
CN103036984B (zh) | 一种单向流量的检测方法及网络设备 | |
CN114500021A (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
CN113259490A (zh) | 基于udp传输协议的多级节点网络数据传输方法 | |
CN108243196B (zh) | Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质 | |
US8676993B1 (en) | Bundled transmission control protocol connections | |
CN103281318A (zh) | 一种针对软件定义网络的攻击测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |