CN106685760A - 链路状态的探测方法及装置 - Google Patents
链路状态的探测方法及装置 Download PDFInfo
- Publication number
- CN106685760A CN106685760A CN201611250005.5A CN201611250005A CN106685760A CN 106685760 A CN106685760 A CN 106685760A CN 201611250005 A CN201611250005 A CN 201611250005A CN 106685760 A CN106685760 A CN 106685760A
- Authority
- CN
- China
- Prior art keywords
- message
- link
- specified
- packet loss
- esp
- 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
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
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- 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/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种链路状态的探测方法及装置,所述方法包括:获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断指定ESP报文的报文序列号是否大于当前流量窗口的上边界;若指定ESP报文的报文序列号大于当前流量窗口的上边界,则基于统计的指定ESP报文的乱序个数、报文个数与流量窗口大小确定乱序率以及丢包率;判断乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值;若均分别大于上述阈值,确定当前使用的链路为状态异常的链路,在本发明中,IPSec VPN设备可以通过ESP报文探测当前链路的实际质量,有效的解决相关技术基于检查报文的丢包率和延时无法准确探测出当前链路状态的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种链路状态的探测方法及装置。
背景技术
IPSec(Internet Protocol Security,因特网协议安全性)是一种开放标准的框架结构,可以为因特网上传输的数据提供高质量的、可互操作的以及基于密码学的安全保证。VPN(Virtual Private Network,虚拟专用网)是一种远程访问技术,可以通过在公用网络上建立专用网络来实现对通讯数据的加密。IPSec VPN技术是一种基于IPSec协议实现远程接入的VPN技术,可以使通讯数据具有更好的安全性。
相关技术中,IPSec VPN设备之间可以建立多条链路,并在探测出当前使用的链路出现异常时,切换另一条正常的链路作为当前使用的链路,以防止VPN网络的中断。在探测当前使用的链路是否异常时,相关技术需要先在IPSec VPN设备上进行链路健康检查的相关配置,在完成配置后,IPSec VPN设备可以发送检查报文,并基于检查报文的丢包率以及延时来判断该链路是否异常。
相关技术虽然可以对IPSec VPN设备当前使用的链路的状态进行探测,但是当链路健康检查使用的协议与IPSec VPN设备使用的协议不同时,基于检查报文的丢包率以及延时判断当前链路是否异常的准确率较低,此时,相关技术无法准确探测出当前使用的链路的状态。
发明内容
有鉴于此,本发明提供一种链路状态的探测方法及装置,来解决相关技术中当链路健康检查使用的协议与IPSec VPN设备使用的协议不同时,相关技术无法基于检查报文的丢包率以及延时准确探测出当前链路状态的问题。具体地,本发明是通过如下技术方案实现的:
根据本发明实施例的第一方面,提供一种链路状态的探测方法,应用于IPSec VPN设备,所述方法包括:
获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断所述指定ESP报文的报文序列号是否大于所述当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文;
若所述指定ESP报文的报文序列号大于所述当前流量窗口的上边界,则基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率;
判断所述乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值;
若所述乱序率以及所述丢包率均分别大于预设的乱序阈值以及丢包阈值,确定当前使用的链路为状态异常的链路;反之,确定当前使用的链路为状态正常的链路。
可选的,所述方法还包括:
基于接收到的所述指定ESP报文的报文序列号更新流量窗口边界。
可选的,所述基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,包括:
统计所述指定ESP报文的乱序个数;
将所述乱序个数除以流量窗口大小以得到乱序率。
可选的,所述基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率,包括:
统计所述指定ESP报文的报文个数;
将所述报文个数减去指定数字序号内接收到的所述指定ESP报文的报文个数得到第一待处理值,以及将所述流量窗口大小减去所述指定数字得到第二待处理值;
将所述第一待处理值除以所述第二待处理值以得到丢包率。
可选的,所述方法还包括:
若当前使用的链路为状态异常的链路,则向所述对端设备发送链路异常通知报文,以使所述对端设备基于所述链路异常通知报文降低其路由优先级。
可选的,所述方法还包括:
定时向所述对端设备发送通告请求报文;
若接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数置0;
若未接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数加1;
若所述通告请求计数大于预设的通告请求计数阈值,则降低当前使用的链路的路由优先级。
根据本发明实施例的第二方面,提供一种链路状态的探测装置,应用于IPSec VPN设备,所述装置包括:
获取模块,用于获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断所述指定ESP报文的报文序列号是否大于所述当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文;
第一确定模块,用于若所述指定ESP报文的报文序列号大于所述当前流量窗口的上边界,则基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率;
判断模块,用于判断所述乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值;
第二确定模块,用于若所述乱序率以及所述丢包率均分别大于预设的乱序阈值以及丢包阈值,确定当前使用的链路为状态异常的链路;反之,确定当前使用的链路为状态正常的链路。
可选的,所述装置还包括:
更新模块,用于基于所述接收到的所述指定ESP报文的报文序列号更新流量窗口边界。
可选的,所述第一确定模块具体用于:
统计所述指定ESP报文的乱序个数;
将所述乱序个数除以流量窗口大小以得到乱序率。
可选的,所述第一确定模块具体用于:
统计所述指定ESP报文的报文个数;
将所述报文个数减去指定数字序号内接收到的所述指定ESP报文的报文个数得到第一待处理值,以及将所述流量窗口大小减去所述指定数字得到第二待处理值;
将所述第一待处理值除以所述第二待处理值以得到丢包率。
可选的,所述装置还包括:
发送模块,用于若当前使用的链路为状态异常的链路,则向所述对端设备发送链路异常通知报文,以使所述对端设备基于所述链路异常通知报文降低其路由优先级。
可选的,所述发送模块进一步用于:
定时向所述对端设备发送通告请求报文;
所述装置还包括:
设置模块,用于若接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数置0;以及若未接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数加1;
降低模块,用于若所述通告请求计数大于预设的通告请求计数阈值,则降低当前使用的链路的路由优先级。
在本发明中,IPSec VPN设备之间可以基于实际交互的ESP报文来探测当前链路的状态,由于通过ESP报文可以探测当前链路的实际质量,因此,可以有效的解决相关技术基于检查报文的丢包率和延时无法准确探测出当前链路状态的问题。
附图说明
图1是IPSec VPN设备之间基于多条链路进行数据交互的一个应用场景图;
图2是为本发明一实施例示出的一种链路状态的探测方法的流程图;
图3是本发明链路状态的探测装置所在设备的一种硬件结构图;
图4是本发明链路状态的探测装置的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参见图1,为IPSec VPN设备之间基于多条链路进行数据交互的一个应用场景图。其中,设备A和设备B可以为IPSec VPN设备,内网服务器1可以与设备A相连,并通过设备A与设备B之间的VPN连接,实现与内网服务器2的数据交互。设备A和设备B之间可以存在多条物理链路,设备A和设备B之间可以基于该多条物理链路建立多条VPN连接,以确保在当前使用的链路发生状态异常的情况下,可以将链路切换至另一条状态正常的链路,以确保数据交互不发生中断。
为了探测当前使用的链路的状态,设备A和设备B可以为当前使用的链路配置健康检查,并在健康检查出现异常时,将当前使用的链路进行切换。具体地,设备A或设备B可以向对端设备发送检查报文,并计算一段时间内的检查报文的丢包率和延时,当一段时间内的检查报文的丢包率和延时超过预设的健康阈值时,可以确定针对当前链路的健康检查出现异常,即当前使用的链路为状态异常的链路。
由上述内容可知,相关技术可以通过检查报文实现对IPSec VPN设备当前使用的链路的状态的探测,但是当链路健康检查使用的协议与IPSec VPN设备使用的协议不同时,基于检查报文的丢包率以及延时判断当前使用的链路是否异常的准确率较低,此时,相关技术无法准确探测出当前使用的链路的状态。
例如,可以假设检查报文为基于ICMP(Internet Control Message Protocol,控制报文协议)协议传输的报文,IPSec VPN设备之间交互的报文为基于ESP(EncapsulateSecurity Payload,封装安全载荷)或UDP(User Datagram Protocol,用户数据报协议)协议传输的报文,由于基于ICMP协议传输的报文的丢包率可能高于基于ESP或UDP协议传输的报文,因此,基于检查报文的丢包率无法准确探测当前使用的链路的状态。
有鉴于此,本发明提供了一种链路状态的探测方法,来解决相关技术中当链路健康检查使用的协议与IPSec VPN设备使用的协议不同时,相关技术无法基于检查报文的丢包率以及延时准确探测出当前链路状态的问题。在本发明中,IPSec VPN设备可以获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断指定ESP报文的报文序列号是否大于当前流量窗口的上边界,在指定ESP报文的报文序列号大于当前流量窗口的上边界的情况下,IPSec VPN设备可以基于统计的指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的指定ESP报文的报文个数与流量窗口大小确定丢包率,然后,IPSec VPN设备可以判断乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值,并在该乱序率以及丢包率均分别大于预设的乱序阈值与丢包阈值时,确定当前使用的链路为状态异常的链路;以及在该乱序率以及丢包率未均分别大于预设的乱序阈值与丢包阈值时,确定当前使用的链路为状态正常的链路。
在本发明中,IPSec VPN设备之间可以基于实际交互的ESP报文来探测当前链路的状态,由于通过ESP报文可以探测当前链路的实际质量,因此,可以有效的解决相关技术基于检查报文的丢包率和延时无法准确探测出当前链路状态的问题。
请参见图2,为本发明一实施例示出的一种链路状态的探测方法的流程图,该实施例应用于IPSec VPN设备,包括以下步骤:
步骤201:获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断所述指定ESP报文的报文序列号是否大于所述当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文。
在本发明中,上述IPSec VPN设备可以获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断该指定ESP报文的报文序列号是否大于当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文。
在本发明中,上述IPSec VPN设备在与对端设备成功建立IPSec VPN连接后,可以接收到该对端设备发送的ESP报文,并在本地对该ESP报文进行解密,在解密成功后,该解密成功后的ESP报文为上述指定ESP报文。
其中,IPSec VPN设备在本地对ESP报文进行解密的技术为现有技术,故本发明在此不再赘述。
在获取到上述指定ESP报文后,上述IPSec VPN设备可以获取上述指定ESP报文的报文序列号,并判断上述指定ESP报文的报文序列号是否大于获取的当前流量窗口的上边界。
在本发明中,在IPSec VPN设备之间成功建立IPSec VPN连接后,可以设置该连接的流量窗口大小,例如,可以为512,在设置了该连接的流量窗口大小后,针对该连接的初始流量窗口的上边界和下边界可以分别为0和511。
可以假设当前流量窗口的上边界为511,若获取的上述指定ESP报文的报文序列号为516,则可以确定上述指定ESP报文的报文序列号大于当前流量窗口的上边界;若获取的上述指定ESP报文的报文序列号为490,则可以确定上述指定ESP报文的报文序列号不大于当前流量窗口的上边界。
在本发明中,上述IPSec VPN设备可以基于接收到的上述指定ESP报文的报文序列号来更新流量窗口边界。
可以假设当前流量窗口的上边界为511,下边界为0,若获取的上述指定ESP报文的报文序列号为516,则上述IPSec VPN设备可以基于该报文序列号将流量窗口的上边界更新为516,下边界更新为5。
步骤202:若所述指定ESP报文的报文序列号大于所述当前流量窗口的上边界,则基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率。
在本发明中,若上述指定ESP报文的报文序列号大于当前流量窗口的上边界,则IPSec VPN设备可以基于统计的指定ESP报文的乱序个数与流量窗口大小确定乱序率。
具体地,上述IPSec VPN设备可以先统计指定ESP报文的乱序个数,然后,可以将该乱序个数除以流量窗口大小以得到乱序率。
在本发明中,在获取到上述指定ESP报文的报文序列号后,可以判断该报文序列号是否小于本地接收到的最新指定ESP报文的报文序列号,若该报文序列号小于本地接收到的最新指定ESP报文的报文序列号,则可以确定上述指定ESP报文为乱序报文。
上述IPSec VPN设备可以对乱序报文的个数进行统计,以得到乱序报文个数的统计值。
在一个实施例中,上述指定ESP报文的报文序列号可以为514,当前流量窗口的上边界可以为511,则可以确定上述指定ESP报文的报文序列号大于当前流量窗口的上边界,此时,上述IPSec VPN设备可以基于统计的指定ESP报文的乱序个数与流量窗口大小确定乱序率。可以假设统计的指定ESP报文的乱序个数为50,流量窗口大小为512,则可以确定乱序率为
在本发明中,当上述指定ESP报文的报文序列号大于当前流量窗口的上边界时,上述IPSec VPN设备还可以基于统计的指定ESP报文的报文个数与流量窗口大小确定丢包率。
具体地,上述IPSec VPN设备可以先统计指定ESP报文的报文个数,然后将该报文个数减去指定数字序号内接收到的上述指定ESP报文的报文个数得到第一待处理值,以及将流量窗口大小减去上述指定数字得到第二待处理值,然后上述IPSec VPN设备可以将该第一待处理值除以第二待处理值以得到丢包率。
其中,上述指定数字可以由用户自定义设置,也可以为设备默认值,本发明对此不做限制。在一个实施例中,上述指定数字可以为32。
在一个实施例中,上述指定ESP报文的报文序列号可以为514,当前流量窗口的上边界可以为511,则可以确定上述指定ESP报文的报文序列号大于当前流量窗口的上边界,此时,上述IPSec VPN设备可以基于统计的ESP报文的报文个数与流量窗口大小确定丢包率。可以假设统计的ESP报文的报文个数为80,流量窗口大小为512,上述指定数字为32,在32序号内接收到的上述指定ESP报文的报文个数为30,则丢包率可以为
步骤203:判断所述乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值。
步骤204:若所述乱序率以及所述丢包率均分别大于预设的乱序阈值以及丢包阈值,确定当前使用的链路为状态异常的链路;反之,确定当前使用的链路为状态正常的链路。
在本发明中,在获得了乱序率以及丢包率后,可以分别判断该乱序率是否大于预设的乱序阈值,以及该丢包率是否大于预设的丢包阈值。其中,该预设的乱序阈值与该预设的丢包阈值可以由用户自定义设置,也可以为设备的默认值,两者可以相同,也可以不相同,本发明对此不做限制。
在一个实施例中,可以假设乱序率为丢包率为若预设的乱序阈值为0.05、预设的丢包阈值为0.06,则可以确定乱序率大于预设的乱序阈值,且丢包率大于预设的丢包阈值;若预设的乱序阈值为0.05,预设的丢包阈值为0.2,则可以确定乱序率大于预设的乱序阈值,以及丢包率小于预设的丢包阈值。
在本发明中,若乱序率以及丢包率均大于预设的乱序阈值以及丢包阈值,则可以确定当前使用的链路为状态异常的链路;反之,可以确定当前使用的链路为状态正常的链路。
在本发明中,在确定了当前使用的链路为状态异常的链路后,IPSec VPN设备可以向上述对端设备发送链路异常通知报文,以使该对端设备基于该链路异常通知报文降低其路由优先级。
IPSec VPN设备在完成上述链路异常通知报文的发送之后,可以接收到上述对端设备回复的链路异常确认报文,IPSec VPN设备可以基于该链路异常确认报文将本地的路由优先级降至最低。
若IPSec VPN设备在一段时间,例如1秒内,未接收到上述对端设备针对上述链路异常报文回复的链路异常确认报文,则可以向上述对端设备重新发送上述链路异常确认报文,若IPSec VPN设备一段时间内,仍未接收到上述对端设备回复的上述链路异常确认报文,则可以再次向上述对端设备重新发送上述链路异常通知报文。若IPSec VPN设备在向上述对端设备发送了若干次,例如3次,上述链路异常通知报文后,仍未收到上述对端设备回复的上述链路异常确认报文,则可以不再向上述对端设备发送上述链路通知报文,并自行将本地路由优先级降至最低。
在一个实施例中,上述链路异常通知报文可以为扩展的ESP报文,其中,该扩展的ESP报文可以为相关人员自定义的ESP报文。
在一个实施例中,可以假设上述链路异常通知报文为扩展的ESP报文,则该扩展的ESP报文的协议头部Next Header的封装数据类型可以为254,该报文携带的负载部分的数据格式可以为:
其中,该数据格式的第一行可以为函数名称;第二行和第三行可以标识一个来回交互;第四行可以表示乱序率为第五行可以表示丢包率为第六行可以为另一函数名称;第七行可以表示该报文为上述IPSec VPN设备发送至上述对端设备的链路异常通知报文。
当上述链路异常通知报文为扩展ESP报文时,与该报文对应的链路异常确认报文可以同样为扩展ESP报文,在一个实施例中,与上述链路异常通知报文对应的链路异常确认报文的协议头部Next Header的封装数据类型可以为254,携带的负载部分的数据格式可以为:
上述链路异常确认报文携带的负载部分的数据格式的前三行以及第六行与上述链路异常通知报文的相同,故本发明在此不再赘述;上述链路异常确认报文携带的负载部分的数据格式的第四行、第五行以及第七行可以表示该报文为对端设备发送至上述IPSecVPN设备的链路异常确认报文。
在本发明中,上述IPSec VPN设备可以定时向上述对端设备发送通告请求报文,若接收到上述对端设备基于该通告请求报文返回的通告回复报文,则可以将当前的通告请求计数置0;若未接收到上述对端设备基于该通告请求报文返回的通告回复报文,则可以将当前的通过请求计数加1,当通告请求计数大于预设的通告请求计数阈值,例如3时,IPSecVPN设备可以降低当前使用的链路的路由优先级。
在一个实施例中,上述通告请求报文可以为扩展的ESP报文,其中,该扩展的ESP报文可以为相关人员自定义的ESP报文。
在一个实施例中,可以假设上述通告请求报文为扩展的ESP报文,则该扩展的ESP报文的协议头部Next Header的封装数据类型可以为254,该报文携带的负载部分的数据格式可以为:
其中,该数据格式的第一行可以为函数名称;第二行和第三行可以标识一个来回交互;第四行、第五行为相关人员自定义设置,不表示特殊含义;第六行可以为另一函数名称;第七行可以表示该报文为上述IPSec VPN设备发送至上述对端设备的通告请求报文。
当上述通告请求报文为扩展ESP报文时,与该报文对应的通告回复报文可以同样为扩展ESP报文,在一个实施例中,与上述通告请求报文对应的通告回复报文的协议头部Next Header的封装数据类型可以为254,携带的负载部分的数据格式可以为:
上述通告回复报文携带的负载部分的数据格式的前六行与上述通告请求报文的相同,故本发明在此不再赘述;第七行可以表示该报文为上述对端设备发送至上述IPSecVPN设备的通告回复报文。
在本发明中,IPSec VPN设备可以获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断指定ESP报文的报文序列号是否大于当前流量窗口的上边界,在指定ESP报文的报文序列号大于当前流量窗口的上边界的情况下,IPSec VPN设备可以基于统计的指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的指定ESP报文的报文个数与流量窗口大小确定丢包率,然后,IPSec VPN设备可以判断乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值,并在该乱序率以及丢包率均分别大于预设的乱序阈值与丢包阈值时,确定当前使用的链路为状态异常的链路;以及在该乱序率以及丢包率未均分别大于预设的乱序阈值与丢包阈值时,确定当前使用的链路为状态正常的链路。
在本发明中,IPSec VPN设备之间可以基于实际交互的ESP报文来探测当前链路的状态,由于通过ESP报文可以探测当前链路的实际质量,因此,可以有效的解决相关技术基于检查报文的丢包率和延时无法准确探测出当前链路状态的问题。
与前述链路状态的探测方法的实施例相对应,本发明还提供了链路状态的探测装置的实施例。
本发明链路状态的探测装置的实施例可以应用在IPSec VPN设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明链路状态的探测装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。
请参考图4,为本发明链路状态的探测装置的一个实施例框图:
该装置可以包括:获取模块410、第一确定模块420、判断模块430以及第二确定模块440。
其中,获取模块410,用于获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断所述指定ESP报文的报文序列号是否大于所述当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文;
第一确定模块420,用于若所述指定ESP报文的报文序列号大于所述当前流量窗口的上边界,则基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率;
判断模块430,用于判断所述乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值;
第二确定模块440,用于若所述乱序率以及所述丢包率均分别大于预设的乱序阈值以及丢包阈值,确定当前使用的链路为状态异常的链路;反之,确定当前使用的链路为状态正常的链路。
在一个可选的实现方式中,所述装置还可以包括(图4中未示出):
更新模块,用于基于接收到的所述指定ESP报文的报文序列号更新流量窗口边界。
在一个可选的实现方式中,所述第一确定模块420可以具体用于:
统计所述指定ESP报文的乱序个数;
将所述乱序个数除以流量窗口大小以得到乱序率。
在一个可选的实现方式中,所述第一确定模块420可以具体用于:
统计所述指定ESP报文的报文个数;
将所述报文个数减去指定数字序号内接收到的所述指定ESP报文的报文个数得到第一待处理值,以及将所述流量窗口大小减去所述指定数字得到第二待处理值;
将所述第一待处理值除以所述第二待处理值以得到丢包率。
在一个可选的实现方式中,所述装置还可以包括(图4中未示出):
发送模块,用于若当前使用的链路为状态异常的链路,则向所述对端设备发送链路异常通知报文,以使所述对端设备基于所述链路异常通知报文降低其路由优先级。
在一个可选的实现方式中,所述发送模块可以进一步用于:
定时向所述对端设备发送通告请求报文;
所述装置还可以包括(图4中未示出):
设置模块,用于若接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数置0;以及若未接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数加1;
降低模块,用于若所述通告请求计数大于预设的通告请求计数阈值,则降低当前使用的链路的路由优先级。
在本发明中,IPSec VPN设备可以获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断指定ESP报文的报文序列号是否大于当前流量窗口的上边界,在指定ESP报文的报文序列号大于当前流量窗口的上边界的情况下,IPSec VPN设备可以基于统计的指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的指定ESP报文的报文个数与流量窗口大小确定丢包率,然后,IPSec VPN设备可以判断乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值,并在该乱序率以及丢包率均分别大于预设的乱序阈值与丢包阈值时,确定当前使用的链路为状态异常的链路;以及在该乱序率以及丢包率未均分别大于预设的乱序阈值与丢包阈值时,确定当前使用的链路为状态正常的链路。
在本发明中,IPSec VPN设备之间可以基于实际交互的ESP报文来探测当前链路的状态,由于通过ESP报文可以探测当前链路的实际质量,因此,可以有效的解决相关技术基于检查报文的丢包率和延时无法准确探测出当前链路状态的问题。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种链路状态的探测方法,应用于因特网协议安全性IPSec虚拟专用网VPN设备,其特征在于,所述方法包括:
获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断所述指定ESP报文的报文序列号是否大于所述当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文;
若所述指定ESP报文的报文序列号大于所述当前流量窗口的上边界,则基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率;
判断所述乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值;
若所述乱序率以及所述丢包率均分别大于预设的乱序阈值以及丢包阈值,确定当前使用的链路为状态异常的链路;反之,确定当前使用的链路为状态正常的链路。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于接收到的所述指定ESP报文的报文序列号更新流量窗口边界。
3.根据权利要求2所述的方法,其特征在于,所述基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,包括:
统计所述指定ESP报文的乱序个数;
将所述乱序个数除以流量窗口大小以得到乱序率。
4.根据权利要求2所述的方法,其特征在于,所述基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率,包括:
统计所述指定ESP报文的报文个数;
将所述报文个数减去指定数字序号内接收到的所述指定ESP报文的报文个数得到第一待处理值,以及将所述流量窗口大小减去所述指定数字得到第二待处理值;
将所述第一待处理值除以所述第二待处理值以得到丢包率。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前使用的链路为状态异常的链路,则向所述对端设备发送链路异常通知报文,以使所述对端设备基于所述链路异常通知报文降低其路由优先级。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定时向所述对端设备发送通告请求报文;
若接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数置0;
若未接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数加1;
若所述通告请求计数大于预设的通告请求计数阈值,则降低当前使用的链路的路由优先级。
7.一种链路状态的探测装置,应用于因特网协议安全性IPSec虚拟专用网VPN设备,其特征在于,所述装置包括:
获取模块,用于获取指定ESP报文的报文序列号以及当前流量窗口的上边界,并判断所述指定ESP报文的报文序列号是否大于所述当前流量窗口的上边界;其中,所述指定ESP报文为由同一对端设备发送的在本地成功解密的ESP报文;
第一确定模块,用于若所述指定ESP报文的报文序列号大于所述当前流量窗口的上边界,则基于统计的所述指定ESP报文的乱序个数与流量窗口大小确定乱序率,以及基于统计的所述指定ESP报文的报文个数与所述流量窗口大小确定丢包率;
判断模块,用于判断所述乱序率以及丢包率是否分别大于预设的乱序阈值以及丢包阈值;
第二确定模块,用于若所述乱序率以及所述丢包率均分别大于预设的乱序阈值以及丢包阈值,确定当前使用的链路为状态异常的链路;反之,确定当前使用的链路为状态正常的链路。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
更新模块,用于基于所述接收到的所述指定ESP报文的报文序列号更新流量窗口边界。
9.根据权利要求8所述的装置,其特征在于,所述第一确定模块具体用于:
统计所述指定ESP报文的乱序个数;
将所述乱序个数除以流量窗口大小以得到乱序率。
10.根据权利要求8所述的装置,其特征在于,所述第一确定模块具体用于:
统计所述指定ESP报文的报文个数;
将所述报文个数减去指定数字序号内接收到的所述指定ESP报文的报文个数得到第一待处理值,以及将所述流量窗口大小减去所述指定数字得到第二待处理值;
将所述第一待处理值除以所述第二待处理值以得到丢包率。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送模块,用于若当前使用的链路为状态异常的链路,则向所述对端设备发送链路异常通知报文,以使所述对端设备基于所述链路异常通知报文降低其路由优先级。
12.根据权利要求7所述的装置,其特征在于,所述发送模块进一步用于:
定时向所述对端设备发送通告请求报文;
所述装置还包括:
设置模块,用于若接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数置0;以及若未接收到所述对端设备基于所述通告请求报文返回的通告回复报文,则将当前的通告请求计数加1;
降低模块,用于若所述通告请求计数大于预设的通告请求计数阈值,则降低当前使用的链路的路由优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611250005.5A CN106685760A (zh) | 2016-12-29 | 2016-12-29 | 链路状态的探测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611250005.5A CN106685760A (zh) | 2016-12-29 | 2016-12-29 | 链路状态的探测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106685760A true CN106685760A (zh) | 2017-05-17 |
Family
ID=58872191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611250005.5A Pending CN106685760A (zh) | 2016-12-29 | 2016-12-29 | 链路状态的探测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106685760A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831328A (zh) * | 2019-01-30 | 2019-05-31 | 杭州迪普科技股份有限公司 | 智能选路的切换方法、装置、电子设备 |
CN109905310A (zh) * | 2019-03-26 | 2019-06-18 | 杭州迪普科技股份有限公司 | 数据传输方法、装置、电子设备 |
CN110098975A (zh) * | 2019-04-03 | 2019-08-06 | 新浪网技术(中国)有限公司 | 用户通过虚拟专用网络访问互联网的检测方法及*** |
CN113824636A (zh) * | 2020-06-18 | 2021-12-21 | 中兴通讯股份有限公司 | 报文发送方法、接收方法、电子设备、***及存储介质 |
CN116232944A (zh) * | 2023-05-06 | 2023-06-06 | 珠海星云智联科技有限公司 | 用于传输层安全协议报文业务的方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488835A (zh) * | 2009-02-13 | 2009-07-22 | 华为技术有限公司 | 一种链路检测方法、装置和通信*** |
CN101640629A (zh) * | 2008-07-29 | 2010-02-03 | 华为技术有限公司 | 一种链路丢包监控的方法和双向转发探测设备 |
CN102724086A (zh) * | 2012-06-21 | 2012-10-10 | 中兴通讯股份有限公司 | 检测传输链路质量的方法及装置 |
CN105591843A (zh) * | 2016-02-06 | 2016-05-18 | 中国科学院计算技术研究所 | Tcp传输流中基于接收端的网络性能检测方法及*** |
-
2016
- 2016-12-29 CN CN201611250005.5A patent/CN106685760A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640629A (zh) * | 2008-07-29 | 2010-02-03 | 华为技术有限公司 | 一种链路丢包监控的方法和双向转发探测设备 |
CN101488835A (zh) * | 2009-02-13 | 2009-07-22 | 华为技术有限公司 | 一种链路检测方法、装置和通信*** |
CN102724086A (zh) * | 2012-06-21 | 2012-10-10 | 中兴通讯股份有限公司 | 检测传输链路质量的方法及装置 |
CN105591843A (zh) * | 2016-02-06 | 2016-05-18 | 中国科学院计算技术研究所 | Tcp传输流中基于接收端的网络性能检测方法及*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831328A (zh) * | 2019-01-30 | 2019-05-31 | 杭州迪普科技股份有限公司 | 智能选路的切换方法、装置、电子设备 |
CN109905310A (zh) * | 2019-03-26 | 2019-06-18 | 杭州迪普科技股份有限公司 | 数据传输方法、装置、电子设备 |
CN109905310B (zh) * | 2019-03-26 | 2020-12-29 | 杭州迪普科技股份有限公司 | 数据传输方法、装置、电子设备 |
CN110098975A (zh) * | 2019-04-03 | 2019-08-06 | 新浪网技术(中国)有限公司 | 用户通过虚拟专用网络访问互联网的检测方法及*** |
CN113824636A (zh) * | 2020-06-18 | 2021-12-21 | 中兴通讯股份有限公司 | 报文发送方法、接收方法、电子设备、***及存储介质 |
CN116232944A (zh) * | 2023-05-06 | 2023-06-06 | 珠海星云智联科技有限公司 | 用于传输层安全协议报文业务的方法、设备及介质 |
CN116232944B (zh) * | 2023-05-06 | 2023-08-04 | 珠海星云智联科技有限公司 | 用于传输层安全协议报文业务的方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106685760A (zh) | 链路状态的探测方法及装置 | |
CN105071987B (zh) | 基于流量分析的加密网络路径质量分析方法 | |
CN109756501B (zh) | 一种基于http协议的高隐匿网络代理方法及*** | |
US8799504B2 (en) | System and method of TCP tunneling | |
US10742555B1 (en) | Network congestion detection and resolution | |
DE69118454T2 (de) | Allgemeines Verschlüsselungsverfahren für Kommunikationsnetze | |
CN105847034B (zh) | 源验证和路径认证方法及装置 | |
SA515360321B1 (ar) | محرك اكتشاف يعتمد على سجل لشبكات واي فاي مدركة للجوار | |
CN108028855B (zh) | 车载通信*** | |
CN108353015A (zh) | 中继装置 | |
CN105960781A (zh) | 利用基于公钥的数字签名保护源路由的方法与*** | |
CN104796405B (zh) | 反弹连接检测方法和装置 | |
CN106790221A (zh) | 一种英特网协议安全IPSec协议加密方法和网络设备 | |
CN105939297A (zh) | 一种tcp报文重组方法和装置 | |
CN108881302A (zh) | 工业以太网与blvds总线互联通讯装置及工业控制*** | |
CN109995746A (zh) | 用于用户数据协议(udp)业务的分组丢失检测 | |
CN108667898A (zh) | 使用外出镜像提供网元中的缓冲器内容的快照 | |
CN108933763B (zh) | 一种数据报文发送方法、网络设备、控制设备及网络*** | |
CN105939294A (zh) | 报文控制的方法及装置 | |
CN110535888A (zh) | 端口扫描攻击检测方法及相关装置 | |
EP2784997A1 (en) | Re-marking of packets for congestion control | |
CN104283716B (zh) | 数据传输方法、设备及*** | |
CN104579973B (zh) | 一种虚拟集群中的报文转发方法和装置 | |
CN104579788A (zh) | 一种分布式动态路由网络的错误定位方法 | |
CN108092971A (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 |
Application publication date: 20170517 |
|
RJ01 | Rejection of invention patent application after publication |