CN112217685B - 隧道探测方法、终端设备、系统、计算机设备和存储介质 - Google Patents

隧道探测方法、终端设备、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN112217685B
CN112217685B CN201910625860.7A CN201910625860A CN112217685B CN 112217685 B CN112217685 B CN 112217685B CN 201910625860 A CN201910625860 A CN 201910625860A CN 112217685 B CN112217685 B CN 112217685B
Authority
CN
China
Prior art keywords
tunnel
detection
message
terminal device
mark
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
CN201910625860.7A
Other languages
English (en)
Other versions
CN112217685A (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.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing 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 Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN201910625860.7A priority Critical patent/CN112217685B/zh
Publication of CN112217685A publication Critical patent/CN112217685A/zh
Application granted granted Critical
Publication of CN112217685B publication Critical patent/CN112217685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity

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

本发明公开了一种隧道探测方法,能够根据构造的隧道探测报文对隧道进行探测,该隧道探测方法包括:生成隧道探测报文,其中,所述隧道探测报文携带探测标志和隧道标志,所述探测标志表征所述隧道探测报文用于进行隧道探测;确定与所述隧道标志对应的隧道;将所述隧道探测报文封装入所述隧道并发送至对端设备;根据所述对端设备的响应情况确定对所述隧道的探测结果。本公开还提供了另一种隧道探测方法、两种终端设备、一种隧道探测系统、一种计算机设备和一种计算机可读存储介质。

Description

隧道探测方法、终端设备、系统、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,具体涉及两种隧道探测方法、两种终端设备、一种隧道探测系统、一种计算机设备和一种计算机可读存储介质。
背景技术
虚拟专用网络(Virtual Private Network,简称为VPN)是指在公用网络上通过隧道技术建立的专用网络,使得企业的各分支机构及远程办公用户能够通过VPN接入企业内部网络并提供通讯的安全性。互联网安全协议(Internet Protocol Security,简称为IPSec)是隧道加密协议,是实现VPN功能而最普遍使用的协议,它能为IP(InternetProtocol)网络通信提供透明的安全服务,保障通信的流量免遭窃听和篡改。
IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括:用于IPSec隧道协商的因特网秘钥交换协议(Internet Key Exchange,简称为IKE)、认证报头(Authentication Header,简称为AH)和用于IPSec隧道内数据包的封装的封装安全载荷(Encapsulating Security Payload,简称为ESP)。
使用IPSec隧道保护流量时分为两个阶段,隧道协商阶段和数据传输阶段。隧道协商阶段使用IKE协议进行隧道的协商,用于在两个IPSec对等体(IPsec协议可以在两个端点之间提供安全通信,两个端点被称为IPsec对等体)间协商建立安全联盟(SecurityAssociation,简称为SA),其协商过程分为两个阶段,第一阶段协商创建一个IKE SA,主要为通信双方建立一个用于保护后续协商报文交互的SA,为双方进一步的二阶段的协商提供经过认证的安全保密的通信通道,第二阶段协商在已建立的IKE SA的保护下进行,将协商建立一个IPSecSA,这是最终为数据传输而建立的安全联盟。隧道协商完成后,就可用二阶段协商出的IPSec SA根据协商出的封装协议ESP或AH及加密、认证算法和密钥来对进入隧道的数据流量进行封装后在隧道上传输发给对端。即在隧道协商阶段中的数据不通过隧道传输,只有在数据传输阶段的数据才通过隧道传输。
当IPsec对等体之间采用IPSec隧道进行通信时,IPSec对等体之间可能会由于路由问题、对等体设备重启或其他原因导致隧道通信中断,这就需要用到IKE对等体的检测机制,当探测到对端已经不存在时可以重新发起新的协商尽快恢复IPSec通信。
在传统的技术中,检测IPSec对等体失效主要依靠IPSec协议本身提供的DPD(DeadPeer Detection)机制,其中一个IPSec对等体通过发送DPD探测报文来检测另一个IPSec对等体是否存活。
但是,发明人在研究本发明的过程中发现:由于DPD探测报文是基于IPSec协议的协商报文的格式,而IPSec数据报文是使用ESP和AH封装格式,因此DPD探测报文不会在隧道中传输,而IPSec数据报文会在隧道中传输,所以实际上DPD探测报文通并不一定表示IPSec的数据流量就能通,比如隧道中间的运营商屏蔽了对于ESP报文的转发则虽然DPD探测报文能通过但是隧道内的数据流量ESP报文则不通,隧道实际不可用。即现有技术中使用DPD探测报文探测时无法探测隧道的通断。
发明内容
本发明的目的在于提供两种隧道探测方法、两种终端设备、一种隧道探测系统、一种计算机设备和一种计算机可读存储介质,能够根据构造的隧道探测报文对隧道进行探测。
本发明的一个方面提供了一种隧道探测方法,包括:生成隧道探测报文,其中,上述隧道探测报文携带探测标志和隧道标志,上述探测标志表征上述隧道探测报文用于进行隧道探测;确定与上述隧道标志对应的隧道;将上述隧道探测报文封装入上述隧道并发送至对端设备;根据上述对端设备的响应情况确定对上述隧道的探测结果。
可选地,确定与上述隧道标志对应的隧道,包括:检测上述隧道探测报文是否携带有上述探测标志;在检测到上述隧道探测报文携带有上述探测标志时,将上述隧道探测报文识别为用于进行隧道探测的报文;识别上述隧道探测报文携带的隧道标志,并确定与上述隧道标志对应的隧道。
可选地,根据上述对端设备的响应情况确定对上述隧道的探测结果,包括:判断在预定超时时间内是否收到上述对端设备返回的探测应答报文;在上述预定超时时间内没有收到上述探测应答报文时,确定上述隧道处于断开状态;在上述预定超时时间内收到上述探测应答报文时,确定上述隧道处于连通状态。
可选地,上述隧道探测方法还包括:在确定上述隧道处于上述连通状态后,确定单次探测的丢包数量、单次探测的时延和/或单次探测的跳数;统计预定周期内上述隧道的丢包率、上述隧道的平均时延、上述隧道的抖动和/或上述隧道的平均跳数。
本发明的另一个方面提供了另一种隧道探测方法,包括:解析对端设备通过隧道发送的报文得到隧道探测报文,其中,上述对端设备将上述隧道探测报文封装入上述隧道后发送,上述隧道探测报文携带探测标志和隧道标志,上述探测标志表征上述隧道探测报文用于进行隧道探测,上述隧道与上述隧道标志对应;生成上述隧道探测报文对应的探测应答报文;将上述探测应答报文封装入上述隧道并返回至上述对端设备。
可选地,解析对端设备通过隧道发送的报文得到隧道探测报文,包括:解析上述对端设备通过上述隧道发送的上述报文,得到解析报文;检测上述解析报文是否携带有上述探测标志;在检测到上述解析报文携带有上述探测标志时,将上述解析报文作为上述隧道探测报文。
本发明的再一个方面提供了一种终端设备,包括:第一生成模块,用于生成隧道探测报文,其中,上述隧道探测报文携带探测标志和隧道标志,上述探测标志表征上述隧道探测报文用于进行隧道探测;第一确定模块,用于确定与上述隧道标志对应的隧道;发送模块,用于将上述隧道探测报文封装入上述隧道并发送至对端设备;第二确定模块,用于根据上述对端设备的响应情况确定对上述隧道的探测结果。
本发明的又一个方面提供了另一种终端设备,包括:解析模块,用于解析对端设备通过隧道发送的报文得到隧道探测报文,其中,上述对端设备将上述隧道探测报文封装入上述隧道后发送,上述隧道探测报文携带探测标志和隧道标志,上述探测标志表征上述隧道探测报文用于进行隧道探测,上述隧道与上述隧道标志对应;生成模块,用于生成上述隧道探测报文对应的探测应答报文;返回模块,用于将上述探测应答报文封装入上述隧道并返回至上述第一终端设备。
本发明的又一个方面提供了一种隧道探测系统,包括第一终端设备和第二终端设备,其中:上述第一终端设备用于:生成隧道探测报文,其中,上述隧道探测报文携带探测标志和隧道标志,上述探测标志表征上述隧道探测报文用于进行隧道探测,确定与上述隧道标志对应的隧道,将上述隧道探测报文封装入上述隧道并发送至第二终端设备,根据上述第二终端设备的响应情况确定对上述隧道的探测结果;上述第二终端设备用于:解析上述第一终端设备通过上述隧道发送的报文得到上述隧道探测报文,生成上述隧道探测报文对应的探测应答报文,将上述探测应答报文封装入上述隧道并返回至上述第一终端设备。
本发明的又一个方面提供了一种计算机设备,该计算机设备包括:存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述任一实施例所述的隧道探测方法。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的隧道探测方法。
本发明提供了一种隧道探测方法,应用于隧道探测发起方的终端设备,该终端设备通过隧道与属于隧道探测响应方的对端设备进行交互,为了对隧道进行探测,该终端设备可以构造携带探测标志和隧道标志的隧道探测报文,并将隧道探测报文封装入与隧道标志对应的隧道转发至对端设备,进而可以根据对端设备的响应情况确定对隧道的探测结果,即本发明提供的隧道探测方法通过构造专门用于进行隧道探测的隧道探测报文,使得隧道探测报文可以在隧道中如正常数据流量一样传输,这样探测流量可以反映出实际业务的通断,进而可以实现对隧道的探测。并且,在隧道处于连通状态的情况下,还可以在探测过程中持续收集探测数据计算出隧道质量,并根据隧道质量进行主备隧道的选路。
本发明还提供了另一种隧道探测方法,应用于隧道探测响应方的终端设备,该终端设备通过隧道与属于隧道探测发起方的对端设备进行交互,为了响应对端设备对隧道发起的探测,该终端设备接收并解析对端设备通过隧道转发的报文得到的用于进行隧道探测的隧道探测报文,然后直接生成对应的探测应答报文并封装入隧道返回至对端设备,进而通过与对端设备配合实现对隧道的探测,对端设备通过该终端设备的响应情况确定隧道的探测结果,如对端设备在预定超时时间内接收到隧道应答报文时确定隧道处于连通状态,进而本发明提供的该另一隧道探测方法通过响应用于进行隧道探测的隧道探测报文可以实现对隧道的探测。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明实施例的隧道探测方法的流程图;
图2示意性示出了根据本发明另一实施例的隧道探测方法的流程图;
图3示意性示出了根据本发明实施例的两种隧道探测方法的场景示意图;
图4示意性示出了根据本发明实施例的隧道探测报文的转发流程示意图;
图5示意性示出了根据本发明实施例的第一终端设备的框图;
图6示意性示出了根据本发明实施例的第二终端设备的框图;
图7示意性示出了根据本发明实施例的隧道探测系统的框图;
图8示意性示出了根据本发明实施例的适于实现的隧道探测方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
本发明提供了一种隧道探测方法,该隧道探测方法可以应用于如下业务场景,具体地:该隧道探测方法可以应用于隧道探测发起方的终端设备,该终端设备通过隧道与属于隧道探测响应方的对端设备进行交互,为了对隧道进行探测,该终端设备可以构造携带探测标志和隧道标志的隧道探测报文,在确定隧道探测报文用于进行隧道探测时,将隧道探测报文封装入与隧道标志对应的隧道中,并将封装结果通过该隧道发送至对端设备,进而根据对端设备的响应情况确定对隧道的探测结果。即本发明提供的隧道探测方法通过构造专门用于进行隧道探测的隧道探测报文,使得隧道探测报文可以在隧道中传输,进而可以实现对隧道的探测。具体地,图1示意性示出了根据本发明实施例的隧道探测方法的流程图。如图1所示,该隧道探测方法可以包括步骤S101~步骤S104,其中:
步骤S101,生成隧道探测报文,其中,隧道探测报文携带探测标志和隧道标志,探测标志表征隧道探测报文用于进行隧道探测。
本实施例中,终端设备可以为网关设备,如路由器、防火墙等,终端设备可以包括:属于控制层面的构造进程、内核和属于数据层面的转发进程。步骤S101可以在终端设备的控制层面实现,具体可以通过构造进程实现,步骤S102~步骤S104可以在终端设备的数据层面实现,具体可以通过转发进程实现。
其中,在构造进程生成隧道探测报文之后,可以通过内核将该隧道探测报文转发至数据层面,具体可以是转发至数据层面的转发进程。
比如,本实施例使用icmp ping请求构造隧道探测报文,构造进程可以为icmpping请求分配报文ID和序号(简称为seq),其中,报文ID用于唯一标识该报文,序号用于表征读取数据包的顺序,然后构造进程可以将icmp ping请求、报文ID、seq、探测标志和隧道标志构造为隧道探测报文,并将构造的隧道探测报文通过内核发送至数据层面的转发进程。
步骤S102,确定与隧道标志对应的隧道。
本实施例中,隧道标志为本次需要探测的隧道的标志,转发进程接收到隧道探测报文后,可以从该隧道探测报文中识别出其携带的隧道标志,进而根据隧道标志确定本次需要探测的隧道。
可选地,步骤S102可以包括步骤S1021~步骤S1023,其中:
步骤S1021,检测隧道探测报文是否携带有探测标志;
步骤S1022,在检测到隧道探测报文携带有探测标志时,将隧道探测报文识别为用于进行隧道探测的报文;
步骤S1023,识别隧道探测报文携带的隧道标志,并确定与隧道标志对应的隧道。
本实施例中,转发进程在接收到构造进程通过内核转发过来的隧道探测报文之后,需要先检测该报文中是否携带有隧道探测标志,若是,才会将该隧道探测报文识别为用于进行隧道探测的报文,进而转发进程知道该用于进行隧道探测的隧道探测报文中必然携带有隧道标志,转发进程通过识别该隧道标志可以确定出本次需要探测的隧道。
步骤S103,将隧道探测报文封装入隧道并发送至对端设备。
本实施例中,转发进程可以将隧道探测报文封装入隧道中,并将封装结果发送至对端设备,对端设备可以是通过隧道与终端设备进行交互的设备,如隧道探测响应方的设备,对端设备也可以为网关设备,如路由器、防火墙等。
需要说明的是,可以通过现有的技术手段将隧道探测报文封装入隧道,本实施例在此不再阐述。
步骤S104,根据对端设备的响应情况确定对隧道的探测结果。
本实施例中,响应情况可以包括:对端设备在预定超时时间内没有返回探测应答报文和对端设备在预定超时时间内返回探测应答报文,其中,探测应答报文为对端设备基于隧道探测报文生成的响应结果,探测结果可以包括:隧道处于断开状态和隧道处于连通状态。如,步骤S104可以包括步骤S1041~步骤S1043,其中:
步骤S1041,判断在预定超时时间内是否收到对端设备返回的探测应答报文;
步骤S1042,在预定超时时间内没有收到探测应答报文时,确定隧道处于断开状态;
步骤S1043,在预定超时时间内收到探测应答报文时,确定隧道处于连通状态。
需要说明的是,本实施例可以是转发进程在预定时间内发送了一次隧道探测报文,若在预定超时时间内转发进程没有收到该隧道探测报文对应的探测应答报文,则认为隧道处于断开状态,若在预定超时时间内转发进程收到了该隧道探测报文对应的探测应答报文,则认为隧道处于连通状态。或者,在预定时间内转发进程向对端设备连续发送了多个隧道探测报文,若在预定超时时间内转发进程没有收到对端设备返回的任何一个隧道探测报文对应的探测应答报文,则认为隧道处于断开状态,若在预定超时时间内转发进程收到了对端设备返回的任一隧道探测报文对应的探测应答报文,则认为该隧道处于连通状态。
进一步,现有技术中并不能探测出隧道质量,而目前在通信双端设备中通常存在多条隧道备份的情况时,为了提高可靠性和服务质量期望能够将报文转到质量较好的隧道上传输,这就要求隧道的探测不仅能够探测隧道的通断还能根据探测结果计算得到隧道质量,以为隧道选路时提供依据。
可选地,本实施例除了可以探测隧道的通断状态,还可以探测隧道质量,即探测结果还可以包括隧道质量。如,该隧道探测方法还可以包括:在确定隧道处于连通状态后,确定单次探测的丢包数量、单次探测的时延和/或单次探测的跳数;统计预定周期内隧道的丢包率、隧道的平均时延、隧道的抖动和/或隧道的平均跳数。
本实施例中,在隧道处于连通状态时,可以在预定周期内对隧道进行多次探测,对于每一次探测,记录单次探测的丢包数量、单次探测的时延和/或单次探测的跳数,其中,在无法获知对端设备对应路由器信息的情况下,跳数指本次探测经过我方路由器的数量。可选地,还可以根据上述每一次探测的结果得到预定周期内隧道探测结果,如隧道的丢包率、隧道的平均时延和/或隧道的平均跳数。
进一步,在终端设备和对端设备存在多条隧道时,通过对隧道的探测,可以选出质量较好的隧道进行双端交互。如,将时延作为主要参考量,则可以选出时延最低的隧道作为双端设备交互的隧道。
本发明还提供了另一种隧道探测方法,该隧道探测方法可以应用于如下业务场景,具体地:该隧道探测方法可以应用于隧道探测响应方的终端设备,该终端设备通过隧道与属于隧道探测发起方的对端设备进行交互,为了响应对端设备对隧道发起的探测,该终端设备接收并解析对端设备通过隧道转发的报文得到的用于进行隧道探测的隧道探测报文,然后直接生成对应的探测应答报文并封装入隧道返回至对端设备,进而通过与对端设备配合实现对隧道的探测,对端设备通过该终端设备的响应情况确定隧道的探测结果,如对端设备在预定超时时间内接收到隧道应答报文时确定隧道处于连通状态,进而本发明提供的该另一隧道探测方法通过响应用于进行隧道探测的隧道探测报文可以实现对隧道的探测。具体地,图2示意性示出了根据本发明另一实施例的隧道探测方法的流程图。如图2所示,该隧道探测方法可以包括步骤S201~步骤S203,其中:
步骤S201,解析对端设备通过隧道发送的报文得到隧道探测报文,其中,对端设备将隧道探测报文封装入隧道后发送,隧道探测报文携带探测标志和隧道标志,探测标志表征隧道探测报文用于进行隧道探测,隧道与隧道标志对应。
本实施例中的对端设备可以指隧道探测发起方对应的设备,对端设备可以为网关设备,如路由器、防火墙等。本实施例中的终端设备也可以为网关设备,如路由器、防火墙等,终端设备可以包括:属于控制层面的构造进程、内核和属于数据层面的转发进程。步骤S201~步骤S203均可以在本实施例终端设备的数据层面实现,具体可以通过转发进程实现。其中,在转发进程收到对端设备通过隧道发送的报文之后,对其进行解析得到携带探测标志的隧道探测报文,并执行步骤S202。
可选地,步骤S201可以包括步骤S2011~步骤S2013,其中:
步骤S2011,解析对端设备通过隧道发送的报文,得到解析报文;
步骤S2012,检测解析报文是否携带有探测标志;
步骤S2013,在检测到解析报文携带有探测标志时,将解析报文作为隧道探测报文。
本实施例中,在双端设备对隧道进行探测时,可能隧道正在处于使用状态,因此终端设备的转发进程在接收并解析到对端设备发送过来的报文得到解析报文之后,并不确定该解析报文是否就是用于进行隧道探测的隧道探测报文,进而需要先检测该解析报文中是否携带有探测标志,若是,才会认为该解析报文即为用于进行隧道探测的隧道探测报文,可以直接执行步骤S202,若否,则转发进程可以将该解析报文直接转发出去。
步骤S202,生成隧道探测报文对应的探测应答报文。
构造进程通过隧道标志识别隧道探测报文用于进行隧道探测,因此可以直接在数据层面生成对应的探测应答报文,其中,探测应答报文携带探测标志。需要说明的是,通过现有技术手段可以生成探测应答报文,但是该探测应答报文中需要携带探测标志,携带探测标志的目的是为了让对端设备识别该报文为用于进行隧道探测的响应结果。
比如,结合上述示例,该探测应答报文可以包括icmp ping请求的响应、报文ID、seq、探测标志。
步骤S203,将探测应答报文封装入隧道并返回至对端设备。
本实施例中,构造进程通过同一隧道将探测应答报文返回至对端设备,以使得对端设备在预定超时时间内接收到探测应答报文后,确定隧道处于连通状态,并且根据每一次接收的探测应答报文,确定隧道质量。
需要说明的是,对于上述实施例提供的两种隧道探测方法,还可以应用于如下业务场景,具体地:对于可靠性要求较高的企业而言,企业总部一般都有多个出口,企业分部和企业总部的多个出口间可以建立多条隧道,各条隧道上均可以启用本发明提供的这两种隧道探测方法,当某条隧道探测不可用或者隧道质量下降严重时可以通知路由模块将流量引导其他正常的隧道上转发。例如,如图3所示,企业总部和企业分部之间可以有两条隧道即隧道1和隧道2,隧道1为主用链路,隧道2为备用链路,在企业总部作为隧道探测发起方且企业分部作为隧道探测响应方时,企业总部可以执行图1所示的隧道探测方法,在隧道探测报文成功到达企业分部时,企业分部可以执行图2所示的隧道探测方法,从而实现对隧道的探测。
为了详细介绍本发明提供的上述两种隧道探测方法,本实施例还提供了隧道探测报文在双端设备的转发流程示意图,参见图4。本实施例以IPSec隧道和icmp ping请求为例详细介绍图4,具体地,IKED为控制层面中的IPSec协商进程,该IKED可以起到构造进程的作用,kernel为linux内核,Data-plane为数据层面的转发进程,整个转发流程如下:
1、隧道探测发起方(简称为图4中的发起方)在IKED中构造隧道探测报文,如使用icmp ping请求构造探测请求报文,并为icmp ping请求分配报文ID和seq,在隧道探测报文中设置探测标志及本次隧道探测报文关联的隧道标志等信息,并通过socket端口发出;
2、隧道探测报文经过kernel发送到隧道探测发起方数据层面的Data-plane,Data-plane通过隧道探测报文中设置的探测标志将其识别为用于进程隧道探测的报文,并根据隧道探测报文中携带的隧道标志将隧道探测报文封装入相应的隧道并转发至隧道探测响应方;
3、隧道探测响应方(简称为图4中的响应方)数据层面中的Data-plane收到隧道内的报文,先进行隧道解封装后得到原始的隧道探测报文,并根据设置的探测标志将其识别为用于进进行隧道探测的报文,然后在数据层面中直接生成探测应答报文(如icmp ping请求的响应),并通过ESP/AH封装入相应的隧道返回至隧道探测发起方;
4、隧道探测发起方的数据层面收到隧道内封装的探测应答报文,解封装后发给本机kernel,随后IKED可从socket端口中读取探测应答报文,通过比较icmp ping请求的报文ID和seq及IP地址检查是否为匹配的探测应答报文。
其中,对于每次探测,隧道探测发起方在超时时间内收到探测应答报文则认为探测成功,即隧道处于连通状态,记录隧道质量;否则,认为本次探测失败,即隧道处于断开状态。若连续失败超过一定次数则认为隧道链路故障不可用,此时可以触发隧道切换的操作,同时在IKED中会周期性的统计更新隧道的质量数据,也可以根据隧道的质量进行隧道的选择。
本发明的实施例还提供了一种终端设备,该终端设备与上述实施例提供的隧道探测方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例。具体地,图5示意性示出了根据本发明实施例的第一终端设备的框图。如图5所示,该第一终端设备500可以包括第一生成模块501、第一确定模块502、发送模块503和第二确定模块504,其中:
第一生成模块501,用于生成隧道探测报文,其中,隧道探测报文携带探测标志和隧道标志,探测标志表征隧道探测报文用于进行隧道探测;
第一确定模块502,用于确定与隧道标志对应的隧道;
发送模块503,用于将隧道探测报文封装入隧道并发送至对端设备;
第二确定模块504,用于根据对端设备的响应情况确定对隧道的探测结果。
可选地,第一确定模块还用于:检测隧道探测报文是否携带有探测标志;在检测到隧道探测报文携带有探测标志时,将隧道探测报文识别为用于进行隧道探测的报文;识别隧道探测报文携带的隧道标志,并确定与隧道标志对应的隧道。
可选地,第二确定模块还用于:判断在预定超时时间内是否收到对端设备返回的探测应答报文;在预定超时时间内没有收到探测应答报文时,确定隧道处于断开状态;在预定超时时间内收到探测应答报文时,确定隧道处于连通状态。
可选地,该隧道探测方法还可以包括:在确定隧道处于连通状态后,确定单次探测的丢包数量、单次探测的时延和/或单次探测的跳数;统计预定周期内隧道的丢包率、隧道的平均时延、隧道的抖动和/或隧道的平均跳数。
本发明的实施例还提供了另一种终端设备,该终端设备与上述实施例提供的另一种隧道探测方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例。具体地,图6示意性示出了根据本发明实施例的第二终端设备的框图。如图6所示,该第二终端设备600可以包括解析模块601、第二生成模块602和返回模块603,其中:
解析模块601,用于解析对端设备通过隧道发送的报文得到隧道探测报文,其中,对端设备将隧道探测报文封装入隧道后发送,隧道探测报文携带探测标志和隧道标志,探测标志表征隧道探测报文用于进行隧道探测,隧道与隧道标志对应;
第二生成模块602,用于生成隧道探测报文对应的探测应答报文;
返回模块603,用于将探测应答报文封装入隧道并返回至对端设备。
可选地,解析模块还用于:解析对端设备通过隧道发送的所述报文,得到解析报文;检测解析报文是否携带有探测标志;在检测到解析报文携带有探测标志时,将解析报文作为隧道探测报文。
本发明的实施例还提供了一种隧道探测系统,该隧道探测系统与上述实施例提供的两种隧道探测方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例。具体地,图7示意性示出了根据本发明实施例的隧道探测系统的框图。如图7所示,该隧道探测系统700可以包括第一终端设备701和第二终端设备702,其中:
第一终端设备701用于:生成隧道探测报文,其中,隧道探测报文携带探测标志和隧道标志,探测标志表征隧道探测报文用于进行隧道探测,确定与隧道标志对应的隧道,将隧道探测报文封装入隧道并发送至第二终端设备,根据第二终端设备的响应情况确定对隧道的探测结果;
第二终端设备702用于:解析第一终端设备通过隧道发送的报文得到隧道探测报文,生成隧道探测报文对应的探测应答报文,将探测应答报文封装入隧道并返回至第一终端设备。
可选地,第一终端设备在确定与隧道标志对应的隧道时,还用于:检测隧道探测报文是否携带有探测标志;在检测到隧道探测报文携带有探测标志时,将隧道探测报文识别为用于进行隧道探测的报文;识别隧道探测报文携带的隧道标志,并确定与隧道标志对应的隧道。
可选地,第一终端设备在根据第二终端设备的响应情况确定对隧道的探测结果时,还用于:判断在预定超时时间内是否收到对端设备返回的探测应答报文;在预定超时时间内没有收到探测应答报文时,确定隧道处于断开状态;在预定超时时间内收到探测应答报文时,确定隧道处于连通状态。
可选地,第一终端设备还用于:在确定隧道处于连通状态后,确定单次探测的丢包数量、单次探测的时延和/或单次探测的跳数;统计预定周期内隧道的丢包率、隧道的平均时延、隧道的抖动和/或隧道的平均跳数。
可选地,第二终端设备在解析第一终端设备通过隧道发送的报文得到隧道探测报文时,还用于:解析第一终端设备通过隧道发送的报文,得到解析报文;检测解析报文是否携带有探测标志;在检测到解析报文携带有探测标志时,将解析报文作为隧道探测报文。
图8示意性示出了根据本发明实施例的适于实现隧道探测方法的计算机设备的框图。本实施例中,计算机设备800可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,本实施例的计算机设备800至少包括但不限于:可通过系统总线相互通信连接的存储器801、处理器802、网络接口803。需要指出的是,图8仅示出了具有组件801-803的计算机设备800,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器803至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器801可以是计算机设备800的内部存储单元,例如该计算机设备800的硬盘或内存。在另一些实施例中,存储器801也可以是计算机设备800的外部存储设备,例如该计算机设备800上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器801还可以既包括计算机设备800的内部存储单元也包括其外部存储设备。在本实施例中,存储器801通常用于存储安装于计算机设备800的操作系统和各类应用软件,例如隧道探测方法的程序代码等。此外,存储器801还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器802在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器802通常用于控制计算机设备800的总体操作。例如执行与计算机设备800进行数据交互或者通信相关的控制和处理等的隧道探测方法的程序代码。
在本实施例中,存储于存储器801中的隧道探测方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器802)所执行,以完成本发明。
网络接口803可包括无线网络接口或有线网络接口,该网络接口803通常用于在计算机设备800与其他计算机设备之间建立通信链接。例如,网络接口803用于通过网络将计算机设备800与外部终端相连,在计算机设备800与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现隧道探测方法。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种隧道探测方法,其特征在于,应用于隧道探测发起方的终端设备,所述隧道探测发起方的终端设备包括:属于控制层面的构造进程、内核和属于数据层面的转发进程,该隧道探测方法包括:
所述构造进程生成隧道探测报文,其中,所述隧道探测报文携带探测标志和隧道标志,所述探测标志表征所述隧道探测报文用于进行隧道探测;
所述内核将所述隧道探测报文转发至所述转发进程;
所述转发进程检测所述隧道探测报文是否携带有所述探测标志;
所述转发进程在检测到所述隧道探测报文携带有所述探测标志时,将所述隧道探测报文识别为用于进行隧道探测的报文;
所述转发进程识别所述隧道探测报文携带的隧道标志并确定与所述隧道标志对应的隧道;
所述转发进程将所述隧道探测报文封装入所述隧道并发送至隧道探测响应方的终端设备;
所述转发进程根据所述隧道探测响应方的终端设备的响应情况确定对所述隧道的探测结果。
2.根据权利要求1所述的方法,其特征在于,所述转发进程根据所述隧道探测响应方的终端设备的响应情况确定对所述隧道的探测结果,包括:
所述转发进程判断在预定超时时间内是否收到所述隧道探测响应方的终端设备返回的探测应答报文;
所述转发进程在所述预定超时时间内没有收到所述探测应答报文时,确定所述隧道处于断开状态;
所述转发进程在所述预定超时时间内收到所述探测应答报文时,确定所述隧道处于连通状态。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述转发进程在确定所述隧道处于所述连通状态后,确定单次探测的丢包数量、单次探测的时延和/或单次探测的跳数;
所述转发进程统计预定周期内所述隧道的丢包率、所述隧道的平均时延、所述隧道的抖动和/或所述隧道的平均跳数。
4.一种隧道探测方法,其特征在于,应用于隧道探测响应方的终端设备,该隧道探测方法包括:
解析隧道探测发起方的终端设备通过隧道发送的报文得到隧道探测报文,其中,所述隧道探测发起方的终端设备用于执行权利要求1至3任一项所述的方法;
生成所述隧道探测报文对应的探测应答报文;
将所述探测应答报文封装入所述隧道并返回至所述隧道探测发起方的终端设备。
5.根据权利要求4所述的方法,其特征在于,解析隧道探测发起方的终端设备通过隧道发送的报文得到隧道探测报文,包括:
解析所述隧道探测发起方的终端设备通过所述隧道发送的所述报文,得到解析报文;
检测所述解析报文是否携带有所述探测标志;
在检测到所述解析报文携带有所述探测标志时,将所述解析报文作为所述隧道探测报文。
6.一种隧道探测发起方的终端设备,其特征在于,包括:
第一生成模块,用于通过所述隧道探测发起方的终端设备中属于控制层面的构造进程生成隧道探测报文,其中,所述隧道探测报文携带探测标志和隧道标志,所述探测标志表征所述隧道探测报文用于进行隧道探测;
第一确定模块,用于通过所述隧道探测发起方的终端设备中属于数据层面的转发进程检测隧道探测报文是否携带有探测标志;在检测到隧道探测报文携带有探测标志时,通过所述转发进程将隧道探测报文识别为用于进行隧道探测的报文;通过所述转发进程识别隧道探测报文携带的隧道标志,并确定与隧道标志对应的隧道;
发送模块,用于通过所述转发进程将所述隧道探测报文封装入所述隧道并发送至隧道探测响应方的终端设备;
第二确定模块,用于通过所述转发进程根据所述隧道探测响应方的终端设备的响应情况确定对所述隧道的探测结果;
所述隧道探测发起方的终端设备还用于:通过所述隧道探测发起方的终端设备的内核将所述隧道探测报文转发至所述转发进程。
7.一种隧道探测响应方的终端设备,其特征在于,包括:
解析模块,用于解析隧道探测发起方的终端设备通过隧道发送的报文得到隧道探测报文,其中,所述隧道探测发起方的终端设备用于执行权利要求1至3任一项所述的方法;
第二生成模块,用于生成所述隧道探测报文对应的探测应答报文;
返回模块,用于将所述探测应答报文封装入所述隧道并返回至所述隧道探测发起方的终端设备。
8.一种隧道探测系统,其特征在于,包括第一终端设备和第二终端设备,所述第一终端设备包括:属于控制层面的构造进程、内核和属于数据层面的转发进程,其中:
所述第一终端设备用于:通过所述构造进程生成隧道探测报文,其中,所述隧道探测报文携带探测标志和隧道标志,所述探测标志表征所述隧道探测报文用于进行隧道探测;通过所述内核将所述隧道探测报文转发至所述转发进程;通过所述转发进程检测所述隧道探测报文是否携带有所述探测标志;通过所述转发进程在检测到所述隧道探测报文携带有所述探测标志时,将所述隧道探测报文识别为用于进行隧道探测的报文;通过所述转发进程识别所述隧道探测报文携带的隧道标志并确定与所述隧道标志对应的隧道;通过所述转发进程将所述隧道探测报文封装入所述隧道并发送至第二终端设备;通过所述转发进程根据所述第二终端设备的响应情况确定对所述隧道的探测结果;
所述第二终端设备用于:解析所述第一终端设备通过所述隧道发送的报文得到所述隧道探测报文,生成所述隧道探测报文对应的探测应答报文,将所述探测应答报文封装入所述隧道并返回至所述第一终端设备。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述方法或者权利要求4至5任一项所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述方法或者权利要求4至5任一项所述方法。
CN201910625860.7A 2019-07-11 2019-07-11 隧道探测方法、终端设备、系统、计算机设备和存储介质 Active CN112217685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910625860.7A CN112217685B (zh) 2019-07-11 2019-07-11 隧道探测方法、终端设备、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910625860.7A CN112217685B (zh) 2019-07-11 2019-07-11 隧道探测方法、终端设备、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112217685A CN112217685A (zh) 2021-01-12
CN112217685B true CN112217685B (zh) 2022-03-25

Family

ID=74048139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910625860.7A Active CN112217685B (zh) 2019-07-11 2019-07-11 隧道探测方法、终端设备、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112217685B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225252B (zh) * 2021-07-09 2022-02-15 腾讯科技(深圳)有限公司 双向转发检测bfd会话的建立方法、处理方法以及相关设备
CN113726593A (zh) * 2021-07-31 2021-11-30 新华三信息安全技术有限公司 一种隧道故障检测方法、装置、电子设备及存储介质
CN113691418A (zh) * 2021-08-23 2021-11-23 北京天融信网络安全技术有限公司 一种隧道探测方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132406A (zh) * 2007-09-25 2008-02-27 杭州华三通信技术有限公司 一种使用互联网协议安全多隧道的方法及三层设备
CN102594646A (zh) * 2011-12-31 2012-07-18 成都市华为赛门铁克科技有限公司 一种因特网协议安全隧道切换方法、装置及传输系统
CN103716196A (zh) * 2012-09-28 2014-04-09 杭州华三通信技术有限公司 一种网络设备及探测方法
CN106487802A (zh) * 2016-11-07 2017-03-08 杭州迪普科技股份有限公司 基于DPD协议的IPSec SA的异常探测方法及装置
CN109831328A (zh) * 2019-01-30 2019-05-31 杭州迪普科技股份有限公司 智能选路的切换方法、装置、电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9088609B2 (en) * 2009-12-24 2015-07-21 International Business Machines Corporation Logical partition media access control impostor detector

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132406A (zh) * 2007-09-25 2008-02-27 杭州华三通信技术有限公司 一种使用互联网协议安全多隧道的方法及三层设备
CN102594646A (zh) * 2011-12-31 2012-07-18 成都市华为赛门铁克科技有限公司 一种因特网协议安全隧道切换方法、装置及传输系统
CN103716196A (zh) * 2012-09-28 2014-04-09 杭州华三通信技术有限公司 一种网络设备及探测方法
CN106487802A (zh) * 2016-11-07 2017-03-08 杭州迪普科技股份有限公司 基于DPD协议的IPSec SA的异常探测方法及装置
CN109831328A (zh) * 2019-01-30 2019-05-31 杭州迪普科技股份有限公司 智能选路的切换方法、装置、电子设备

Also Published As

Publication number Publication date
CN112217685A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
CN111886833B (zh) 重定向控制信道消息的方法和用于实现该方法的设备
CN112217685B (zh) 隧道探测方法、终端设备、系统、计算机设备和存储介质
CN110601902B (zh) 一种基于区块链网络的交互数据处理方法及装置
US11509517B2 (en) Service OAM virtualization
CN107046495B (zh) 用于构建虚拟专用网络的方法、装置和系统
WO2017054576A1 (zh) 单播隧道建立方法、装置和系统
US20150381563A1 (en) Relay system for transmitting ip address of client to server and method therefor
CN107104929B (zh) 防御网络攻击的方法、装置和系统
EP3073698A1 (en) Method for processing address resolution protocol message, forwarder and controller
WO2016150205A1 (zh) 用于处理vxlan报文的方法、装置及系统
CN111262715B (zh) 一种虚拟内网加速方法、系统和计算机设备
CN106464596A (zh) 开放流通信方法、系统、控制器和业务网关
CN111756565A (zh) 管理分支网络内的卫星设备
CN109743758B (zh) 多链路通信方法、通信装置及通信系统
CN111064668B (zh) 路由表项的生成方法、装置及相关设备
US11063752B2 (en) Methods, systems, and computer readable media for utilizing predetermined encryption keys in a test simulation environment
CN108064441B (zh) 一种加速网络传输优化方法以及系统
CN113556273A (zh) 一种三网云互通系统的数据传输方法
CN111641545B (zh) 一种隧道探测方法及装置、设备、存储介质
CN110784375B (zh) 网络数据监控方法、装置、电子设备及存储介质
CN110166518B (zh) 会话信息的传输方法、装置、存储介质及电子装置
CN102611631A (zh) 一种伪线场景下协议报文保护方法、装置及系统
CN112910774B (zh) 通信方法、系统以及网络转发设备
CN116781574A (zh) 带内网络遥测方法以及装置、设备及存储介质
CN107113230B (zh) 确定通用路由封装gre隧道标识的方法、设备和系统

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Patentee after: Qianxin Technology Group Co.,Ltd.

Patentee after: Qianxin Wangshen information technology (Beijing) Co., Ltd

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Patentee before: Qianxin Technology Group Co.,Ltd.

Patentee before: Wangshen information technology (Beijing) Co., Ltd