一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

路径探测方法、装置、网络设备及计算机可读存储介质与流程

2021-11-10 01:59:00 来源:中国专利 TAG:


1.本技术属于通信领域,具体涉及一种路径探测方法、装置、网络设备及计算机可读存储介质。


背景技术:

2.为了便于网络发生故障时快速定位故障点,有必要能够获取使用vxlan(virtual extensible local area network,虚拟可扩展局域网)网络进行通信的各种业务的完整路径信息。
3.其中,vxlan网络的部署环境一般较为复杂,导致其所形成的隧道中一般存在多个网络设备,相应的,当隧道中的网络节点之间需要进行通信时,用于通信的报文也需要经过多个网络设备。
4.由于使用了隧道封装技术,当需要探测某两个节点之间的网络路径时,传统的路径探测方法只能探测到两个节点之间的网络设备在隧道封装后所形成的隧道层面的逻辑ip地址,即overlay网络(使用隧道或称虚拟化技术构建的,一个叠加在物理网络之上的虚拟网络)的ip地址,而无法探测到其端口在物理层面实际的ip地址,即underlay网络(实现整个网络环境中各个网络设备之间互联互通的基础网络,也即物理网络)的ip地址,进而导致无法探测到完整的路径信息。


技术实现要素:

5.有鉴于此,本技术的目的在于提供一种路径探测方法、装置、网络设备及计算机可读存储介质,可以探测到vxlan网络中完整的路径信息。
6.本技术的实施例是这样实现的:
7.第一方面,本技术实施例提供一种路径探测方法,所述方法包括:
8.在确定本轮探测未结束时,根据获取到的探测请求信息生成探测请求报文;所述探测请求报文包括源探测节点的地址信息、目的探测节点的地址信息以及在本轮的本次探测中所述探测请求报文的生存时间;根据所述目的探测节点的地址信息,发送所述探测请求报文;接收网络路径中的各个节点针对所述探测请求报文进行应答的探测应答报文;根据所述探测应答报文所包含的网络路径信息,确定探测路径。
9.结合第一方面实施例,在一种可能的实施方式中,在所述根据获取到的探测请求信息生成探测请求报文之前,所述方法还包括:在确定存在以下至少一种情况时,确定本轮探测结束:在确定前一次生成的探测请求报文的生存时间等于探测请求报文的最大生存时间、在确定前一次获取到的探测应答报文为icmp差错报文、在确定前一次获取到的探测应答报文的获取时间超过报文最大往返时延、在确定前一次获取到的探测应答报文的源ip地址与所述探测请求报文的目的探测节点的ip地址一致;否则,确定本轮探测未结束。
10.结合第一方面实施例,在一种可能的实施方式中,所述探测请求信息包括探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息,所述根据获
取到的探测请求信息生成探测请求报文,包括:在确定所述探测请求类型标识信息表征本轮探测的目的探测节点为vtep时,将所述探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息、udp报文头部以及当前的生存时间进行组合,生成所述探测请求报文;在确定所述探测请求类型标识信息表征本轮探测的目的探测节点为与所述vtep连接的主机或虚拟主机设备时,将所述探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息、udp报文头部以及当前的生存时间进行组合,并进行vxlan隧道信息封装后生成所述探测请求报文。
11.第二方面,本技术实施例提供一种路径探测方法,所述方法包括:获取到探测请求报文;所述探测请求报文包括源探测节点的地址信息、源探测节点接入的vtep标识信息、以及所述探测请求报文的生存时间;在确定本设备为目的探测设备时,生成用于表征端口不可达的icmp差错报文,并将所述icmp差错报文作为探测应答报文进行发送;所述差错报文的源ip地址为本设备的ip地址,所述差错报文的目的ip地址为所述探测请求报文的源ip地址;在确定本设备不为目的探测设备时,根据所述生存时间,确定后续处理流程。
12.结合第二方面实施例,在一种可能的实施方式中,所述探测请求报文还包括目的探测节点的地址信息,所述根据所述生存时间,确定后续处理流程,包括:判断所述探测请求报文的生存时间是否为1;在为否时,将所述生存时间减1后,根据所述目的探测节点的地址信息,继续发送所述探测请求报文;在为是时,获取包括本设备的ip地址的网络路径信息,根据所述网络路径信息构造探测应答报文,并发送所述探测应答报文;其中,所述探测应答报文的源ip地址为所述本设备的ip地址,所述探测应答报文的目的ip地址为所述探测请求报文所包括的源探测节点接入的vtep标识信息。
13.结合第二方面实施例,在一种可能的实施方式中,所述获取包括本设备的ip地址的网络路径信息,包括:在确定本设备为vtep时,将本设备的vxlan隧道源ip地址确定为所述本设备的ip地址;在确定本设备为路径转发设备时,将本设备的用于接收报文的三层接口对应的ip地址确定为所述本设备的ip地址。
14.第三方面,本技术实施例提供一种路径探测装置,所述装置包括:
15.构造模块,用于在确定本轮探测未结束时,根据获取到的探测请求信息生成探测请求报文;所述探测请求报文包括源探测节点的地址信息、目的探测节点的地址信息以及在本轮的本次探测中所述探测请求报文的生存时间;
16.发送模块,用于根据所述目的探测节点的地址信息,发送所述探测请求报文;
17.接收模块,用于接收网络路径中各个节点针对所述探测请求报文进行应答的探测应答报文;
18.确定模块,用于根据所述探测应答报文所包括的网络路径信息,确定探测路径。
19.结合第三方面实施例,在一种可能的实施方式中,所述确定模块,还用于:
20.在确定存在以下至少一种情况时,确定本轮探测结束:
21.在确定前一次生成的探测请求报文的生存时间等于探测请求报文的最大生存时间、在确定前一次获取到的探测应答报文为icmp差错报文、在确定前一次获取到的探测应答报文的获取时间超过报文最大往返时延、在确定前一次获取到的探测应答报文的源ip地址与所述探测请求报文的目的探测节点的ip地址一致;否则,确定本轮探测未结束。
22.结合第三方面实施例,在一种可能的实施方式中,所述探测请求信息包括探测请
求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息,所述构造模块,用于:
23.在确定所述探测请求类型标识信息表征本轮探测的目的探测节点为vtep时,将所述探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息、udp报文头部以及当前的生存时间进行组合,生成所述探测请求报文;
24.在确定所述探测请求类型标识信息表征本轮探测的目的探测节点为与所述vtep连接的主机或虚拟主机设备时,将所述探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息、udp报文头部以及当前的生存时间进行组合,并进行vxlan隧道信息封装后生成所述探测请求报文。
25.第四方面,本技术实施例提供一种路径探测装置,所述装置包括:
26.获取模块,用于获取到探测请求报文;所述探测请求报文包括源探测节点的地址信息、源探测节点接入的vtep标识信息、以及所述探测请求报文的生存时间;
27.执行模块,用于在确定本设备为目的探测设备时,生成用于表征端口不可达的icmp差错报文,并将所述icmp差错报文作为探测应答报文进行发送;所述差错报文的源ip地址为本设备的ip地址,所述差错报文的目的ip地址为所述探测请求报文的源ip地址;
28.所述执行模块,还用于在确定本设备不为目的探测设备时,根据所述生存时间,确定后续处理流程。
29.结合第四方面实施例,在一种可能的实施方式中,所述探测请求报文还包括目的探测节点的地址信息,所述根据所述生存时间,所述执行模块,用于:
30.判断所述探测请求报文的生存时间是否为1;
31.在为否时,将所述生存时间减1后,根据所述目的探测节点的地址信息,继续发送所述探测请求报文;
32.在为是时,获取包括本设备的ip地址的网络路径信息,根据所述网络路径信息构造探测应答报文,并发送所述探测应答报文;
33.其中,所述探测应答报文的源ip地址为所述本设备的ip地址,所述探测应答报文的目的ip地址为所述探测请求报文所包括的源探测节点接入的vtep标识信息。
34.结合第四方面实施例,在一种可能的实施方式中,所述获取模块,用于在确定本设备为vxlan隧道端点vtep时,将本设备的vxlan隧道源ip地址确定为所述本设备的ip地址;
35.在确定本设备为路径转发设备时,将本设备的用于接收报文的三层接口对应的ip地址确定为所述本设备的ip地址。
36.第五方面,本技术实施例还提供一种网络设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
37.第六方面,本技术实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
38.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例而了解。本技术的目的和其他优点可通过在所写的
说明书以及附图中所特别指出的结构来实现和获得。
附图说明
39.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本技术的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本技术的主旨。
40.图1示出本技术实施例提供的一种路径探测方法的流程图之一。
41.图2示出本技术实施例提供的一种路径探测方法所适用的网络拓扑图。
42.图3示出本技术实施例提供的一种路径探测方法的流程图之二。
43.图4示出本技术实施例提供的一种路径探测装置的结构框图之一。
44.图5示出本技术实施例提供的一种路径探测装置的结构框图之二。
45.图6示出本技术实施例提供的一种网络设备的结构框图。
46.附图标记:100

网络设备;110

处理器;120

存储器;400

路径探测装置;410

构造模块;420

发送模块;430

接收模块;440

确定模块;500

路径探测装置;510

获取模块;520

执行模块。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
48.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
49.再者,本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
50.此外,针对现有技术中的路径探测方案所存在的缺陷(无法探测到完整的路径信息)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本技术实施例针对上述缺陷所提出的解决方案,都应该被认定为是申请人对本技术做出的贡献。
51.为了解决上述问题,本技术实施例提供一种路径探测方法、装置、网络设备及计算机可读存储介质,可以探测到完整的路径信息。
52.该技术可采用相应的软件、硬件以及软硬结合的方式实现。
53.以下将针对本技术所提供的路径探测方法进行介绍。
54.请参照图1,本技术实施例提供一种应用于vxlan网络的路径探测方法,可以包括以下步骤。
55.步骤s110:在确定本轮探测未结束时,根据获取到的探测请求信息生成探测请求报文。
56.在本技术实施例中,若存在针对两个网络节点之间的网络路径进行探测的需求,那么用户可以针对该两个网络节点,触发一轮网络探测来对这两个网络节点之间的网络路径进行探测。
57.其中,这两个网络节点可以是vxlan网络中的vtep,例如图2所示的网络拓扑中的v1以及v2,相应的,此时需要探测v1

v2之间的网络路径;当然,这两个网络节点也可以是vxlan网络中与vtep连接的主机或者虚拟主机,例如图2所示的网络拓扑中的h1以及h2,相应的,此时需要探测h1

h2之间的网络路径。
58.值得指出的是,vxlan网络中的主机或者虚拟主机一般与vxlan网络中的vtep连接,例如在图2中,h1与v1连接,h2与v2连接。
59.至于图2中的n1、n2以及n3,则是所示vxlan网络中vtep之间的网络路径转发设备。
60.当确定需要探测两个网络节点之间的路径信息时,用户可以将其中的一个网络节点作为源探测节点,另一个网络节点作为目的探测节点,并以配置的形式,将探测请求信息配置到vxlan网络中的vtep上,例如配置到图2中的v1上。
61.其中,探测请求信息包括由用户所指定的源探测节点的地址信息,以及包括由用户所指定的目的探测节点的地址信息。
62.可选的,源探测节点的地址信息可以包括:源探测节点的ip地址、源探测节点物理mac地址等信息。
63.目的探测节点的地址信息可以包括:目的探测节点网络ip地址、目的探测节点物理mac地址等信息。
64.当然,在探测请求信息中还可以包括由用户所指定的其他信息,例如包括探测请求类型标识信息、vxlan网络标识符(vxlan network identifier,vni)、探测请求报文的最大生存时间t、探测请求的报文最大往返时延。
65.其中,探测请求类型标识信息用于指示本轮探测是探测的vtep网络路径信息还是探测的主机网络路径信息,在一实施例中,可以用目的探测节点作为探测请求类型标识信息。例如当用于表示探测请求类型标识信息的目的探测节点为vtep时,即表征本轮探测是探测的vtep网络路径信息;例如当用于表示探测请求类型标识信息的目的探测节点为与vtep连接的主机或虚拟主机时,即表征本轮探测是探测的主机网络路径信息。
66.当然,在一些实施方式中,针对不同的探测请求类型标识信息,探测请求信息中所需要指定的地址可能存在差异。
67.例如,如果需要探测vtep网络路径信息(如探测图2中v1到v2之间的网络路径信息),可以不用指定源探测节点的物理mac地址以及目的探测节点的物理mac地址,因为此时的源探测节点即为v1,而v1可以获取到本设备的物理mac地址。当然,此时需要指定目的探测节点的网络ip地址,例如将目的探测节点的网络ip地址指定为v2的vtep标识信息。
68.如果需要探测主机网络路径信息(如探测图2中h1与h2之间的网络路径信息),则
需要指定上述全部地址信息。
69.至于源探测节点接入的vtep,若源探测节点是vtep,那么源探测节点接入的vtep即为源探测节点本身;若源探测节点是与vtep连接的主机或虚拟主机,那么源探测节点接入的vtep即为与源探测节点接入的vtep。
70.其中,由于在同一个vtep网络设备上可以部署多条vxlan隧道,因此,在探测请求信息中需要指定vxlan网络的vni,以便vtep可以基于vni,明确应该在哪个vxlan隧道中进行路径探测。
71.值得指出的是,在本技术实施例中,对于网络中的vtep而言,存在多个ip地址。其中,多个地址包括该vtep的物理接口地址、该vtep的vxlan隧道源ip地址以及该vtep在overlay层面的逻辑ip地址。
72.其中,vtep的物理接口地址可以是vtep所在的网络设备的环回口ip地址和/或出接口ip地址。
73.vtep的隧道源ip地址可以指定为vtep所在的网络设备的环回口ip地址或出接口ip地址中的其中一个地址。
74.vtep在overlay层面的逻辑ip地址即为该vtep所在的网络设备在使用vxlan隧道技术后所构建的虚拟网络地址,该地址用于面向上层应用,对underlay网络透明。
75.而此处的vtep标识信息指的是vtep的vxlan隧道源ip地址,是vtep所在的网络设备的实际的网络通信ip地址。
76.探测请求报文的最大生存时间t用于表征在本轮探测中,后续基于该探测请求信息生成探测请求报文时,最多可以生成几次探测请求报文。例如t=10,那么在本轮探测中,基于该探测请求信息,最多可以生成10次探测请求报文进行网络路径的探测。其中,用户可以将t指定为1

255中的任意数值,在用户没有特别指定的前提下,t可以默认设置为255。
77.探测请求报文的最大往返时延用于指定后续生成的探测请求报文以及探测应答报文的最大交互时延,对于超过该最大往返时延的交互报文,则认为其不可达。其中,用户可指定的最大往返时延的范围为50毫秒到3秒之间,在用户没有特别指定的前提下,最大往返时延可以默认设置为3秒。
78.获取到探测请求信息的vtep设备,可以基于探测请求信息,触发一轮网络探测来对这两个网络节点之间的网络路径进行探测。
79.值得指出的是,在本技术实施例中,在一轮网络探测过程中,可能会包括多次网络探测。
80.对于获取到探测请求信息的vtep而言,当其在确定本轮探测未结束时,便会执行一次网络探测,直至其确定本轮探测结束时,才终止网络探测。
81.在每次网络探测过程中,获取到探测请求信息的vtep均会基于探测请求信息生成一次探测请求报文,并在报文中标记生存时间(用报文中的ttl(time to live)字段来表示),该生存时间ttl用于控制本次生成的探测请求报文可在网络中被转发多少次。
82.其中,基于探测请求信息生成探测请求报文的过程可以如下所示:
83.在生成探测请求的vtep上可以初始化ttl,其初始值为1,当探测请求未结束时,vtep设备每次对同一探测请求发出探测请求报文时,就将ttl加1。
84.在实际生成探测请求报文时,若确定探测请求信息所包括的探测请求类型标识信
息表征本轮探测的目的探测节点为vtep,将探测请求信息所包括的探测请求类型标识信息、源探测节点的地址信息、目的探测节点的地址信息、源vtep标识信息、vxlan网络标识符、探测请求报文的最大生存时间t、报文最大往返时延、当前的生存时间ttl以及标准的udp报文头部信息进行组合,生成探测请求报文。
85.在实际生成探测请求报文时,若确定探测请求类型标识信息表征本轮探测的目的探测节点为与vtep连接的主机或虚拟主机,将探测请求信息所包括的探测请求类型标识信息、源探测节点的地址信息、目的探测节点的地址信息、源探测节点接入的vtep标识信息、vxlan网络标识符、探测请求报文的最大生存时间t、探测报文的最大往返时延、当前的生存时间ttl以及标准的udp报文头部信息进行组合,然后进行隧道信息封装后,生成探测请求报文。
86.其中,进行隧道信息封装的目的是使得源探测节点(例如h1)以及目的探测节点(例如h2)的真实ip地址保存在探测请求报文的内部,在其外将vtep(v1和v2)的真实ip地址作为外层ip地址信息,在underlay网络中进行转发。
87.当然,在一些实施方式中,在生成的探测请求报文中还可以指定探测报文操作码,用于指示该报文为探测请求报文。
88.此外,值得指出的是,在生成探测请求报文时,为了使得探测请求报文不影响正常业务,可以指定构造探测请求报文所使用的端口号为不常用的端口号。
89.由上述描述可知,生成的探测请求报文中包括源探测节点的地址信息、目的探测节点的地址信息以及源vtep标识信息。
90.其中,源探测节点的地址信息可以包括源探测节点的网络ip地址、源探测节点物理mac地址等信息(物理mac地址不一定存在,探测主机之间的网络路径时才有必要存在)。
91.目的探测起点的地址信息可以包括:目的探测节点网络ip地址、目的探测节点物理mac地址等信息(物理mac地址不一定存在,探测主机之间的网络路径时才有必要存在)。
92.步骤s120:根据所述目的探测节点的地址信息,发送所述探测请求报文。
93.对于获取到探测请求信息的vtep而言,其每生成一次探测请求报文,便会根据探测请求报文中所携带的目的探测节点的地址信息,找到对应的下一跳网络节点,并将探测请求报文发送给下一跳网络节点。
94.在将探测请求报文发送出去后,vtep设备将启动超时定时器,等待网络路径节点及目的探测节点的探测应答报文。
95.其中,超时定时器所设置的时间为上文所提及到的报文最大往返时延,对于超时后所接收到的探测应答报文,认为该探测应答报文无效。
96.假设源探测节点是图2中的v1,对于图2所示的情况而言,接收到探测请求报文的下一跳网络节点为n1,是网络路径节点,但是对于其他网络拓扑而言,接收到探测请求报文的下一跳网络节点可能直接是目的探测节点。
97.其中,对于本轮探测是探测vtep网络路径信息的情况时,位于源探测节点之后vtep即为目的探测节点,且对于接收到探测请求报文的网络路径节点以及目的探测节点而言,其处理流程相似。
98.对于本轮探测是探测主机网络路径信息的情况时,位于源探测节点之后vtep不是目的探测节点,对于接收到探测请求报文的网络路径节点以及vtep而言,其处理流程相似,
且与接收到探测请求报文的目的探测节点的处理流程存在差异。
99.在上述前提下,在本技术实施例中,由于各个网络节点存在于vxlan网络的位置不同,因此接收到探测请求报文存在差异,从而导致其对探测请求报文的处理也存在差异。
100.其中,在其中一个实施例中,如果接收到探测请求报文的网络设备为与vtep连接的主机或虚拟主机设备,则其接收到的探测请求报文为解封转后的探测请求报文的内层报文。
101.此时,虽然主机或者虚拟主机不具备本发明装置的功能,但由于探测请求报文为标准的udp报文,且使用了不常用的端口号,因此,本设备可以基于传统的网络标准,对探测请求报文进行差错应答,进而生成用于表征端口不可达的icmp(internet controlmessage protocol,internet控制报文协议)差错报文,并将icmp差错报文作为探测应答报文进行发送。
102.其中,icmp差错报文的源ip地址为本设备(本设备为目的探测节点)的ip地址,icmp差错报文的目的ip地址为探测请求报文所包括的源探测节点的地址信息中的ip地址。
103.由于icmp差错报文的目的ip地址为探测请求报文所包括的源探测节点的地址信息中的ip地址,相应的,该icmp差错报文会转发到源探测节点接入的vtep设备。由于icmp差错报文的源ip地址为目的探测节点的ip地址,因此,若源探测节点接入的vtep获取到该icmp差错报文,则意味着本轮探测已经探测到目的探测节点。
104.其中,在另一个实施例中,如果接收到探测请求报文的网络设备不为与vtep连接的主机或虚拟主机设备,则其接收到的探测请求报文为带vxlan封装探测请求报文。其处理流程是先获取探测请求报文中所包括的生存时间ttl,并根据生存时间ttl的数值,确定后续处理流程。
105.其中,在确定后续处理流程时,可以先判断接收到的探测请求报文当前所包括的生存时间ttl是否为1。
106.其中,在一实施例中,如果接收到的探测请求报文当前所包括的生存时间ttl不为1,且探测请求报文的目的地址信息不为本设备的地址信息,则先将该探测请求报文的ttl减1,再根据目的地址信息继续转发该探测请求报文。
107.在另一实施例中,如果接收到的探测请求报文当前所包括的生存时间ttl为1,则获取包括本设备的ip地址的网络路径信息,根据所述网络路径信息构造探测应答报文,并发送所述探测应答报文。
108.其中,探测应答报文的源ip地址为本设备的ip地址,探测应答报文的目的ip地址为探测请求报文所包括的源vtep标识信息。
109.当然值得指出的是,探测应答报文以udp报文格式进行封装,并携带本设备的网络路径信息。
110.其中,本设备的网络路径信息还可以包括:本设备的vtep标识信息、探测请求报文在本设备上的入端口、探测请求报文在本设备上的出端口等相关信息。
111.此外,在探测应答报文中还可以包括:探测应答类型标识信息(与探测请求报文中包括的探测请求类型标识信息一致)、用于表征本报文是探测应答报文的应答报文操作码。
112.当然,在获取本设备的ip地址时,如果根据探测请求报文中的vni能获取到本设备的vtep标识信息(即vxlan隧道源ip地址),则将vtep标识信息确定为本设备的ip地址;如果
无法获取的本设备的vtep标识信息,则将收到该探测请求报文的三层接口对应的ip地址确定为本设备的ip地址。
113.在构造完探测应答报文后,即可根据探测请求报文中包括的vtep标识信息作为探测应答报文的目的地址信息发送出去。
114.由于探测应答报文的目的ip地址为探测请求报文所包括的vtep标识信息,相应的,该探测应答报文会转发到探测请求报文发出的vtep。由于探测应答报文中还包括生成探测应答报文的设备的网络路径信息,因此,对于接收到探测应答报文的vtep而言,可以根据网络路径信息,完善本轮探测所需要探测的网络路径。
115.步骤s130:接收网络路径中各个节点针对所述探测请求报文进行应答的探测应答报文。
116.当然,icmp差错报文也是探测应答报文的一种。
117.步骤s140:根据所述探测应答报文所包括的网络路径信息,确定探测路径。
118.对于获取到探测请求信息的vtep而言,其每接收到一次探测应答报文,便会对本轮需要探测的网络路径进行完善,直至本轮探测结束。
119.当然,获取到探测请求信息的vtep可以在本轮探测结束后再统一显示本轮探测所得到的探测路径,也可以在每接收到一个探测应答报文后,便实时更新当前所探测到的探测路径。
120.此外,前文提及,获取到探测请求信息的vtep在生成探测请求报文之前,需要先判断本轮探测是否结束。
121.在一些实施方式中,vtep在确定存在以下四种情况中的至少一种情况时,确定本轮探测结束,否则确定本轮探测未结束。
122.(1)前一次生成的探测请求报文的生存时间ttl等于探测请求报文的最大生存时间(t);
123.(2)前一次获取到的探测应答报文为icmp差错报文;
124.(3)前一次获取到的探测应答报文的获取时间超过报文最大往返时延;
125.(4)前一次获取到的探测应答报文的源ip地址与探测请求报文包括的目的探测节点的地址信息一致。
126.下面将结合一个具体的例子,对上述过程进行介绍。
127.请参照图2,假设探测的是图2中的主机h1

h2之间的网络路径,那么vtep v1在获取到用户配置的探测请求信息后,第一次生成探测请求报文。其中,探测请求报文中的生存时间ttl=1。
128.v1将探测请求报文转发出去后,路径节点n1获取到该探测请求报文。此时,虽然n1不是目标探测设备,但由于ttl为1,因此n1获取本设备的网络路径信息,并基于此生成探测应答报文对v1进行应答。
129.v1获取到探测应答报文后,判断本轮探测未结束,于是进行第二次探测请求,此时,发送的探测请求报文中的生存时间ttl=2,并获取到n2的路径信息。
130.同理,v1还将依次进行第三次、第四次生成探测请求,并依次获取到n3、v2的路径信息。
131.当v1进行第五次探测请求时,探测请求报文的ttl为5,且探测请求报文最终将被
转发至目标探测的主机设备h2。
132.h2获取到探测请求报文后,确定探测请求报文的目的地址信息为本设备,因此,h2生成icmp差错报文(也是探测应答报文的一种)对h1进行应答。
133.由于h2对h1应答的icmp差错报文会经过v1,因此当v1获取到该探测应答报文后,判断本轮探测结束停止探测,并根据当前针对本轮探测获取到的所有探测应答报文,确定探测路径。
134.本技术实施例所提供的一种路径探测方法,当用户需要探测vxlan网络中的两个节点之间的网络路径时,可以通过配置的方式,向vtep指定探测请求信息。其中,在探测请求信息中包括源探测节点的地址信息、目的探测节点的地址信息以及所述探测请求报文的最大生存时间ttl。后续,vtep可以基于探测请求信息生成探测请求报文对目的探测节点进行探测,并根据后续接收到的,网络路径中的各个节点的探测应答报文,获取到完整有序的网络路径信息。
135.此外,值得指出的是,在现有的vxlan网络路径信息探测方法中,需要借助于独立于vxlan网络之外的网络控制器来收集网络节点上报至网络控制器的数据,从而才能获得网络路径信息,当在没有独立的网络控制器的场景中,现有方法则无法进行vxlan网络节点之间的路径探测。而在本方案中,通过vtep即可完成路径探测,而无需借助于独立于vxlan网络之外的网络控制器。
136.此外,现有的vxlan网络路径信息探测方法中,以探测vxlan网络vtep之间的联通性和路径信息为主。然而真实的业务流主要在vxlan网络中的主机(或虚拟主机)之间发生,因此仅对vtep之间的路径进行探测,无法真实的反应业务实际可达性和路径信息。同时,现有技术也无法基于网络质量要求,对整个探测过程和探测结果进行控制。而在本方案中,可以实现探测vxlan网络中的主机(或虚拟主机)之间的网络路径,且还可以通过控制可以反应网络质量的报文最大往返时延来确定哪些交互报文无效,进而实现基于网络质量要求,对整个探测过程和探测结果进行控制的目的,例如,对不满足指定网络质量要求项的探测结果进行过滤。
137.请参照图3,本技术实施例提供一种应用于网络设备的路径探测方法。可以包括以下步骤:
138.步骤s210:获取到探测请求报文。
139.所述探测请求报文包括源探测节点接入的vtep标识信息、源探测节点的地址信息以及所述探测请求报文的生存时间;
140.步骤s220:判断本设备是否是目的探测设备。
141.步骤s230:在确定本设备是目的探测设备时,生成用于表征端口不可达的icmp差错报文,并将所述icmp差错报文作为探测应答报文进行发送。
142.如果本设备为与vtep连接的主机或虚拟主机设备,则确定本设备是目的探测设备,此时生成用于表征端口不可达的icmp差错报文,作为探测应答报文,对探测请求报文进行应答。所述探测应答报文,即差错报文的源ip为本设备ip地址,目的ip为源探测请求报文内层报文的源ip地址。
143.可选的,如果本设备为vtep设备,则所述探测应答报文的源ip为vtep标识信息,目的ip为源探测请求报文包括的vtep标识信息。
144.步骤s240:在确定本设备不为目的探测设备时,根据所述生存时间,确定后续处理流程。
145.可选的,所述探测请求报文还包括目的探测节点的地址信息,所述根据所述生存时间,确定后续处理流程,包括:
146.判断所述探测请求报文所包括的生存时间是否为1;
147.在为否时,将所述生存时间减1后,根据所述目的探测节点的地址信息,继续发送所述探测请求报文;
148.在为是时,获取包括本设备的ip地址的网络路径信息,根据所述网络路径信息构造探测应答报文,并发送所述探测应答报文;
149.其中,所述探测应答报文的源ip地址为所述本设备的ip地址,所述探测应答报文的目的ip地址为源探测请求报文包括的vtep标识信息。
150.可选的,所述获取包括本设备的ip地址的网络路径信息,包括:
151.在确定本设备为vtep时,将本设备的vtep标识信息确定为所述本设备的ip地址;
152.在确定本设备为路径转发设备时,将本设备的用于接收报文的三层接口对应的ip地址确定为所述本设备的ip地址。
153.本技术实施例所提供的路径探测方法,其实现原理及产生的技术效果已在前文有所记载,为简要描述,本实施例部分未提及之处,可参考前述方法实施例中相应内容。
154.如图4所示,本技术实施例还提供一种路径探测装置400,路径探测装置400可以包括:构造模块410、发送模块420、接收模块430以及确定模块440。
155.构造模块410,用于在确定本轮探测未结束时,根据获取到的探测请求信息生成探测请求报文;所述探测请求报文包括源探测节点的地址信息、目的探测节点的地址信息以及在本轮的本次探测中所述探测请求报文的生存时间;
156.发送模块420,用于根据所述目的探测节点的地址信息,发送所述探测请求报文;
157.接收模块430,用于接收网络路径中各个节点针对所述探测请求报文进行应答的探测应答报文;
158.确定模块440,用于根据所述探测应答报文所包括的网络路径信息,确定探测路径。
159.在一种可能的实施方式中,所述确定模块440,还用于:
160.在确定存在以下至少一种情况时,确定本轮探测结束:
161.在确定前一次生成的探测请求报文的生存时间等于探测请求报文的最大生存时间、在确定前一次获取到的探测应答报文为icmp差错报文、在确定前一次获取到的探测应答报文的获取时间超过报文最大往返时延、在确定前一次获取到的探测应答报文的源ip地址与所述探测请求报文的目的ip地址信息一致;
162.否则,确定本轮探测未结束。
163.在一种可能的实施方式中,所述探测请求信息包括探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息,所述构造模块410,用于:
164.在确定所述探测请求类型标识信息表征本轮探测的目的探测节点为隧道端点时,将所述探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息、udp报文头部以及当前的生存时间进行组合,生成所述探测请求报文;
165.在确定所述探测请求类型标识信息表征本轮探测的目的探测节点为与所述vtep连接的主机或虚拟主机设备时,将所述探测请求类型标识信息、所述源探测节点的地址信息、所述目的探测节点的地址信息、udp报文头部以及当前的生存时间进行组合,并进行隧道信息封装后生成所述探测请求报文。
166.本技术实施例所提供的路径探测装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
167.如图6所示,本技术实施例还提供一种路径探测装置500,路径探测装置500可以包括:获取模块510以及执行模块520。
168.获取模块510,用于获取到探测请求报文;所述探测请求报文包括源探测节点接入的vtep标识信息、源探测节点的地址信息以及所述探测请求报文的生存时间;
169.执行模块520,用于在确定本设备为与vtep连接主机或虚拟主机设备时,生成用于表征端口不可达的icmp差错报文,并将所述icmp差错报文作为探测应答报文进行发送;所述差错报文的源ip地址为本设备的ip地址,所述差错报文的目的ip地址为所述探测请求报文的源ip地址;
170.所述执行模块520,还用于在确定本设备不为探测的目的设备时,根据所述生存时间,确定后续处理流程。
171.在一种可能的实施方式中,所述探测请求报文还包括目的探测节点的地址信息,根据所述生存时间,所述执行模块520,用于:
172.判断所述探测请求报文所包括的生存时间是否为1;
173.在为否时,将所述生存时间减1后,根据所述目的探测节点的地址信息,继续发送所述探测请求报文;
174.在为是时,获取包括本设备的ip地址的网络路径信息,根据所述网络路径信息构造探测应答报文,并发送所述探测应答报文;
175.其中,所述探测应答报文的源ip地址为所述本设备的ip地址,所述探测应答报文的目的ip地址为所述探测请求报文所包括的源探测节点接入的vtep标识信息。
176.在一种可能的实施方式中,所述获取模块510,用于在确定本设备为vtep时,将本设备的vxlan隧道源ip地址确定为所述本设备的ip地址;
177.在确定本设备为路径转发设备时,将本设备的用于接收报文的三层接口对应的ip地址确定为所述本设备的ip地址。
178.本技术实施例所提供的路径探测装置500,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
179.此外,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的路径探测方法所包含的步骤。
180.此外,请参照图6,本技术实施例还提供一种用于实现本技术实施例的路径探测方法、装置的网络设备100。
181.可选的,网络设备100,可以是,但不限于路由器、交换机、路由反射器等设备。
182.其中,网络设备100可以包括:处理器110、存储器120。
183.应当注意,图6所示的网络设备100的组件和结构只是示例性的,而非限制性的,根据需要,网络设备100也可以具有其他组件和结构。
184.处理器110、存储器120以及其他可能出现于网络设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
185.存储器120用于存储程序,例如存储有前文出现的路径探测方法对应的程序或者前文出现的路径探测装置。可选的,当存储器120内存储有路径探测装置时,路径探测装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
186.可选的,路径探测装置所包括软件功能模块也可以固化在网络设备100的操作系统(operating system,os)中。
187.处理器110用于执行存储器120中存储的可执行模块,例如路径探测装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:在确定本轮探测未结束时,根据获取到的探测请求信息生成探测请求报文;所述探测请求报文包括源探测节点的地址信息、目的探测节点的地址信息以及在本轮的本次探测中所述探测请求报文的生存时间;根据所述目的探测节点的地址信息,发送所述探测请求报文;接收网络路径中各个节点针对所述探测请求报文进行应答的探测应答报文;根据所述探测应答报文所包含的网络路径信息,确定探测路径。
188.或者,当处理器110在接收到执行指令后,可以执行:获取到探测请求报文;所述探测请求报文包括源探测节点的地址信息、源探测节点接入的vtep标识信息、以及所述探测请求报文的生存时间;在确定本设备为目的探测设备时,生成用于表征端口不可达的icmp差错报文,并将所述icmp差错报文作为探测应答报文进行发送;所述差错报文的源ip地址为本设备的ip地址,所述差错报文的目的ip地址为所述探测请求报文的源ip地址;在确定本设备不为目的探测设备时,根据所述生存时间,确定后续处理流程。
189.当然,本技术任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
190.综上所述,本发明实施例提出的路径探测方法、装置、网络设备及计算机可读存储介质,当用户需要探测vxlan网络中的两个节点之间的网络路径时,可以通过配置的方式,向vtep设备指定探测请求信息。其中,在探测请求信息中包括源探测节点的地址信息、目的探测节点的地址信息以及探测请求报文的生存时间ttl。后续,vtep设备可以基于探测请求信息生成探测请求报文对目的探测节点进行网络路径探测,并根据后续接收到的,由网络路径中的各个节点基于获取到的探测请求报文中进行应答的探测应答报文,获取到网络路径中的各个节点的真实ip地址,进而可以探测到完整的路径信息。
191.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
192.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一
部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
193.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
194.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
195.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献