一种链路探测方法、装置及存储介质与流程
未命名
10-25
阅读:76
评论:0
1.本技术涉及网络安全监测技术领域,特别涉及一种链路探测方法、装置及存储介质。
背景技术:
2.由于链路探测报文是由本地发出,所以需要为探测报文选择源网际互连协议,目前系统中选择源网际互连协议时只能根据接口和下一跳进行选择,而接口和下一跳是通过查路由获得,但是由于系统中存在两条等价路由,无论采用何种算法,都可能出现选出的路由和链路上配置的网关不一致的情况,这样就会导致选出的源网际互连协议和链路不对应,从而造成其中一条链路的探测应答报文从另外一条链路回来,这样计算的数据就不能真实反应该链路的质量。
3.选择下一跳时,只根据目的地址和指定接口进行查找路由,并采用加权轮询算法选择下一跳,这样选择的下一跳就有可能和源网际互连协议不对应。假设源网际互连协议选择正确的情况下,就会造成探测请求报文在另外一条链路上发送,这样计算的数据就不能真实反应该链路的质量。
技术实现要素:
4.有鉴于现有技术中存在的上述至少一个技术问题而提出了本技术。根据本技术一方面,提供了一种链路探测方法,所述方法包括:
5.对待探测链路的配置参数进行配置;其中所述配置参数至少包括:所述待探测链路对应的网关地址、目的端口地址、出接口和服务级别协议;
6.根据所述待探测链路对应的网关地址和所述出接口确定探测报文的源网际互连协议地址;
7.检测所述源网际互连协议地址与是否与路由表中记录的下一跳的网际互连协议地址属于同一网段;
8.当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳;
9.基于所述目标下一跳的网际互连协议地址,发送所述探测报文。
10.在一些实施例中,所述方法还包括:所述方法还包括:
11.当所述路由表中存在多个下一跳时,从所述多个下一跳中选择与所述源网际互连协议地址属于同一网段的下一跳,作为目标下一跳。
12.在一些实施例中,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳,包括:
13.根据所述目的端口地址查找目标路由;其中所述目标路由存储有所述路由表;
14.当找到所述目标路由时,根据所述路由表检测下一跳的数量是否为多个;
15.当所述下一跳的数量为多个时,对多个所述下一跳进行轮询,以确定所述多个下
一跳中与所述源网际互连协议地址属于同一网段的所述目标下一跳。
16.在一些实施例中,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳,包括:
17.当对所述多个下一跳进行轮询,无法确定所述多个下一跳中与所述源网际互连协议地址属于同一网段的所述下一跳时,为每个下一跳配置权重,采用加权轮询算法确定所述目标下一跳。
18.在一些实施例中,所述方法还包括:
19.当未找到所述目标路由时,返回所述目的端口不可达的错误信息。
20.在一些实施例中,所述方法还包括:
21.当所述路由表中记录的下一跳的数量为唯一一个时,则所述唯一一个的下一跳为所述目标下一跳。
22.在一些实施例中,所述方法还包括:
23.检测是否存在触发所述源网际互连协议地址更新的事件;
24.当存在触发所述源网际互连协议地址更新的事件的情况下,更新所述待探测链路的所述源网际互连协议地址。
25.在一些实施例中,更新所述待探测链路的所述源网际互连协议地址,包括:
26.当所述待探测链路存在下一跳时,根据所述下一跳的网际互连协议地址和已绑定的所述目的网关端口地址确定所述源网际互连协议地址,然后更新所述源网际互连协议地址。
27.当所述待探测链路不存在下一跳时,则当所述待探测链路存在源网际互连协议地址时,则清除所述源网际互连协议地址,配置所述源网际互连协议地址。
28.在一些实施例中,触发的所述源网际互连协议地址更新的事件包括以下至少一项:
29.所述待探测链路的目的网关端口地址发生变化;
30.所述待探测链路的目的网关网际互连协议地址发生变化;
31.所述待探测链路的已绑定的所述目的网关端口地址发生变化;
32.添加了新待探测链路。
33.本技术实施例另一方面提供了一种链路探测装置,所述装置包括:
34.存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行如上所述的链路探测方法。
35.本技术实施例又一方面提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如上所述的链路探测方法。
36.本技术实施例的链路探测方法,通过待探测链路的配置参数确定探测报文的源网际互连协议地址,并确定源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,将下一跳确定为目标下一跳,然后基于所述目标下一跳,发送探测报文,以保证在进行链路探测时探测报文能够使用正确的源网际互连协议,确保了探测应答报文能够在正确的链路上接收,使得计算出来的链路质量真实可用。
附图说明
37.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1示出sd-wan的使用场景中的一种拓扑结构的示意图;
39.图2示出传统技术中,linux系统的本地外出数据包选择源ip地址的过程200的示意性流程图;
40.图3示出传统技术中,测试操作系统(test operating system,tos)选择下一跳的过程300的示意性流程图;
41.图4示出根据本技术实施例的链路探测方法的示意性流程图;
42.图5示出根据本技术实施例的步骤s404的示意性流程图;
43.图6示出根据本技术另一个实施例的步骤s404的示意性流程图;
44.图7示出根据本技术实施例的步骤c1的示意性流程图;
45.图8示出根据本技术实施例的步骤d1的示意性流程图;
46.图9示出根据本技术实施例的选择下一跳的过程900的示意性流程图;
47.图10示出根据本技术实施例的对待探测链路进行探测的测试拓扑的示意图;
48.图11示出根据本技术实施例的更新所述待探测链路的所述源ip地址的示意性流程图;
49.图12示出根据本技术实施例的为待探测链路确定源ip的过程的示意性流程图;
50.图13示出根据本技术实施例的更新源ip的过程的示意性流程图;
51.图14示出根据本技术实施例的步骤e1的示意性流程图;
52.图15示出根据本技术实施例的链路探测装置的示意性框图。
具体实施方式
53.为使本领域技术人员更好的理解本技术实施例的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.目前,在软件定义的广域网(sd-wan)业务中,大多数都是基于链路的质量进行,所以链路质量的探测就变得尤为重要。如图1所示,为sd-wan的使用场景中的一种拓扑结构的示意图。第一客户前置设备(customer premise equipment,cpe)101的eth1经过交换机(switch,sw)103有两条链路分别与第二客户前置设备103的eth1和eth2相连。例如,cpe可以是网关。在对两条链路进行探测之前,需要对链路进行配置:
55.a)在第一客户前置设备101的eth1接口上配置两条链路l1和l2的两个网际互连协议(internet protocol,ip)地址,其中,ip地址(1.1.1.1)对应链路l1,ip地址(2.2.2.1)对应链路l2;
56.b)在第二客户前置设备102的eth1接口和eth2接口上配置两条链路l1和l2的地
址,其中,第二客户前置设备的eth1接口的ip地址(1.1.1.2)对应链路l1,第二客户前置设备的eth2接口的ip地址(2.2.2.2)对应链路l2;
57.c)配置两条等价路由,目的地址为服务器(server)104的地址(3.3.3.2),出接口eth0的地址为(3.3.3.1),网关分别为第二客户前置设备102的eth1接口(1.1.1.2)和eth2接口(2.2.2.2)的接口地址;
58.d)配置一条服务级别协议(service-level agreement,sla),探测地址为server地址(3.3.3.2),引用在步骤b)中配置的两条链路,配置其他探测参数。
59.配置完成后就可以对两条链路进行质量探测。
60.传统技术中的sd-wan产品的链路探测方法主要包括两个步骤:第一,选择源ip地址;第二,选择下一跳。下面将简单介绍这两个步骤。
61.如图2所示,在linux系统中本地外出数据包选择源ip地址的过程200的示意性流程图。在linux系统中本地外出数据包选择源ip地址的过程200包括步骤s201、步骤s202、步骤s203、和步骤s204:
62.在步骤s201,根据目的地址和指定出接口查找路由。
63.在选择源ip地址时,系统首先根据目的地址(即探测的地址,即图1中server的地址)和指定出接口(即链路绑定的接口,此处为第一客户前置设备的eth1接口)查找路由表。
64.在步骤s202,判断是否找到路由;若是,则执行步骤s203,否则,执行步骤s204。
65.在步骤s203,根据下一跳和出接口选择源ip的地址。
66.在步骤s204,返回目的地址不可达的错误提示信息。
67.如果未找到路由,可以返回目的地不可达错误,这意味着结束流程。
68.如图3所示,为在测试操作系统(test operating system,tos)中选择下一跳的过程300的示意性流程图。在测试操作系统(test operating system,tos)中选择下一跳的过程300包括步骤s301、步骤s302、步骤s303、步骤s304、步骤s305和步骤s306。
69.在步骤s301,根据目的地址和指定出接口查找路由。
70.在选择下一跳时,系统首先根据目的地址(即探测的地址,即图1中server的地址)和指定出接口(链路绑定的接口,此处为第一客户前置设备的eth1接口)查找路由表。
71.在步骤s302,判断是否找到路由;若是,则执行步骤s303,否则,执行步骤s304。
72.在步骤s303,判断下一跳的数量是否大于1个;若是,则执行步骤s305;否则,执行步骤s306。
73.在步骤s304,返回目的地址不可达的错误提示信息。
74.如果未找到路由,可以返回目的地不可达错误,这意味着结束流程。
75.在步骤s305,根据每个下一跳配置权重,采用加权轮询算法选择一个下一跳。
76.如果有多个下一跳,根据每个下一跳配置权重,采用加权轮询算法选择一个下一跳。本示例配置了两个下一跳,满足此条件。
77.在步骤s306,返回下一跳。
78.如果找到路由,判断是否有多个下一跳,如果只有一个,返回该下一跳,结束流程。
79.基于上述传统技术中的sd-wan产品的链路探测方法的举例,可以看出:(1)由于链路探测报文是由本地发出,所以需要为探测报文选择源ip,目前系统中选择源ip时只能根据接口和下一跳进行选择,而接口和下一跳是通过查询路由获得的,但是由于系统中存在
两条等价路由,无论采用何种算法,都可能出现选出的路由和链路上配置的网关不一致的情况,这样就会导致在报文应答时,选择的源ip和链路不对应,使得由其中一条链路发出的探测应答报文从另外一条链路回来,这样计算的数据就无法真实反应该链路的质量。(2)在选择下一跳时,只根据目的地址和指定接口进行查找路由,并采用加权轮询算法选择下一跳,这样选择的下一跳就有可能和源ip不对应。假设源ip选择正确的情况下,就会造成探测请求报文在另外一条链路上发送。
80.基于前述的至少一个技术问题,本技术提供了一种链路探测方法,所述方法包括:对待探测链路的配置参数进行配置;其中所述配置参数至少包括:所述待探测链路对应的网关地址、目的端口地址、出接口和服务级别协议;根据所述待探测链路对应的网关地址和所述出接口确定探测报文的源网际互连协议地址;检测所述源网际互连协议地址与是否与路由表中记录的下一跳的网际互连协议地址属于同一网段;当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳;基于所述目标下一跳的网际互连协议地址,发送所述探测报文。本技术实施例的链路探测方法,通过待探测链路的配置参数确定探测报文的源网际互连协议地址,并确定源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,将下一跳确定为目标下一跳,然后基于所述目标下一跳,发送探测报文,以保证在进行链路探测时探测报文能够使用正确的源网际互连协议,确保了探测应答报文能够在正确的链路上接收,使得计算出来的链路质量真实可用。
81.图4示出根据本技术实施例的链路探测方法的示意性流程图;如图4所示,根据本技术实施例的链路探测方法400可以包括如下步骤s401、步骤s402、步骤s403、步骤s404和步骤s405:
82.在步骤s401,对待探测链路的配置参数进行配置。
83.其中所述配置参数至少包括:所述待探测链路对应的网关地址、目的端口地址、出接口和服务级别协议。
84.其中,可以直接对协议类型、目的网关ip地址、目的网关端口地址等参数进行配置,根据配置参数可以确定探测报文的源ip地址。
85.在步骤s402,根据所述待探测链路对应的网关地址和所述出接口确定探测报文的源网际互连协议地址。
86.由于等价路由的存在,待探测链路可能有多条,对每一条待探测链路对应的网关地址均需要进行配置。
87.例如,存在两个待探测链路l1和l2,相应地,存在第一客户前置设备和第二客户前置设备。首先对第一客户前置设备进行配置,在第一客户前置设备上配置两个网关地址(1.1.1.1)和(2.2.2.1),其中,(1.1.1.1)对应链路l1,(2.2.2.1)对应链路l2。其次,对第二客户前置设备进行配置,在第二客户前置设备上配置两个网关地址(1.1.1.2)和(2.2.2.2),其中,(1.1.1.2)对应链路l1和(2.2.2.2)对应链路l2。再次,对两条等价路由进行配置,目的地址为server地址,出接口为eth0(3.3.3.1),网关分别为cpeb的eth1(1.1.1.2)和eth2(2.2.2.2)的接口地址。最后,配置sla,探测地址为server地址(3.3.3.2)。然后配置其他探测参数。在此不再赘述。
88.在确定链路l1的下一跳时,由于第一客户前置设备与l1对应的接口地址为
(1.1.1.1),在第二客户前置设备上与链路l1对应的地址为(1.1.1.2),则对于第一客户前置设备的源ip地址(1.1.1.1)的下一跳为(1.1.1.2)对应的接口。在确定链路l2的下一跳时,由于第一客户前置设备与l2对应的接口地址为(2.2.2.1),在第二客户前置设备上与链路l2对应的地址为(2.2.2.2),则对于第一客户前置设备的源ip地址(2.2.2.1)的下一跳为(2.2.2.2)对应的接口。
89.在本技术一个示例中,还包括根据待发送数据组成探测报文的步骤。探测报文是一个根据事先配置的所述待探测链路对应的网关地址、目的地址、出接口和服务级别协议和待发送数据组,组装成探测报文,以用于对待探测链路进行探测。
90.在步骤s403,检测所述源网际互连协议地址与是否与路由表中记录的下一跳的网际互连协议地址属于同一网段。
91.在存在等价路由的情况下,源ip地址对应的下一跳可能不止一个,因此需要根据对待探测链路的下跳进行选择,以便于根据所选择的目标下一跳,来发送探测报文。
92.在步骤s404,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳。
93.在本技术的一个实施例中,所述方法还包括:当所述路由表中存在多个下一跳时,从所述多个下一跳中选择与所述源网际互连协议地址属于同一网段的下一跳,作为目标下一跳。
94.在一个示例中,如图5所示,在步骤s404中,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳,包括步骤a1、步骤a2和步骤a3:
95.在步骤a1,根据所述目的端口地址查找目标路由;其中所述目标路由存储有所述路由表。
96.在步骤a2,当找到所述目标路由时,根据所述路由表检测下一跳的数量是否为多个。
97.在步骤a3,当所述下一跳的数量为多个时,对多个所述下一跳进行轮询,以确定所述多个下一跳中与所述源网际互连协议地址属于同一网段的所述目标下一跳。
98.本技术实施例中,如果探测报文存在多个下一跳,则选择与探测报文的源ip网段相同的下一跳发送探测报文,以保证链路探测时探测请求报文能够在正确的链路上发送。
99.在一个示例中,如图6所示,在步骤s404中,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳,包括步骤b1:
100.在步骤b1,当对所述多个下一跳进行轮询,无法确定所述多个下一跳中与所述源网际互连协议地址属于同一网段的所述下一跳时,对每个下一跳配置权重,采用加权轮询算法确定所述目标下一跳。
101.本技术实施例中,如果存在多个下一跳,且对多个下一跳轮询完毕,仍然未找到正确的下一跳时,则采用加权轮询算法确定目标下一跳。例如,存在两条链路l1和l2,对链路l1分配权重1,为链路l2分配权重2,则在发送探测报文时,向权重值较小的链路l1发送一个数据包,向权重值较大的链路l2发送两个数据包。
102.在一个示例中,如图7所示,所述方法还包括步骤c1:
103.在步骤c1,当未找到所述目标路由时,返回所述目的端口不可达的错误信息。
104.在本技术的另一个实施例中,如图8所示,所述方法还包括步骤d1:
105.在步骤d1,当所述下一跳的数量为唯一一个时,则所述下一跳为所述目标下一跳。
106.在当前的系统中,选择下一跳时只根据目的网关ip地址和目的网关端口地址进行选择,由于有两条等价路由,而且他们的出接口都相同(两条探测链路都绑定到同一个接口,只是下一跳不一样),所以选出的下一跳可能不是该探测报文想要的,因此需要获得正确的下一跳,以保证正确地对待探测链路进行质量探测。
107.在本技术的一个实施例中,如图9所示,为本技术实施例的选择下一跳的过程900的示意性流程图。本技术实施例的选择下一跳的过程900可以包括步骤s901、步骤s902、步骤s903、步骤s904、步骤s905、步骤s906、步骤s907和步骤s908:
108.在步骤s901,根据目的地址和指定出接口查找路由。
109.在步骤s902,判断是否找到路由;若是,则执行步骤s903,否则,执行步骤s907。
110.在步骤s903,判断下一跳的数量是否大于1个;若是,则执行步骤s904;否则,执行步骤s908。
111.在步骤s904,对多个下一跳进行轮询。
112.在步骤s905,判断下一跳与源ip是否属于同一网段,如果是,则执行步骤s908,否则,返回执行步骤s904。
113.在步骤s906,待轮询结束后,如果仍无法确定下一跳,则根据每一个下一跳配置权重,采用加权轮询算法选择下一跳,然后执行步骤s908。
114.如果有多个下一跳,根据每个下一跳配置权重,采用加权轮询算法选择一个下一跳。本示例配置了两个下一跳,满足此条件。
115.在步骤s907,返回目的地址不可达的错误提示信息。
116.如果未找到路由,可以返回目的地不可达错误,这意味着结束流程。
117.在步骤s908,返回下一跳。
118.本技术实施例中,在存在多个下一跳的情况下,可以采用轮询算法来确定目标下一跳。在轮询算法仍然无法确定目标下一跳的情况下,可以采用加权轮询的算法来确定目标下一跳,具体可以参考传统技术中加权轮询算法,在此不再赘述。通过上述轮询算法,可以选择与探测报文源ip网段相同的下一跳发送探测报文,以实现保证链路探测时探测请求报文能够在正确的链路上发送。
119.在步骤s405,基于所述目标下一跳的网际互连协议地址,发送所述探测报文。
120.本技术实施例中,根据上述步骤确定的目标下一跳的网际互连协议地址发送探测报文,以便于对待探测链路进行探测。
121.在本技术的一个示例中,如图10所示,为对待探测链路进行探测的测试拓扑的示意图。本测试基于sd-wan的cpe,阐述使用本技术提供的链路探测方法在cpe-a 1001设备上对链路l1和链路l2进行探测,查看探测结果是否正确,探测报文是否都发到正确链路上。
122.图10中的各网络设备配置如下:
123.cpe-a 1001:
124.eth1:1.1.1.2/24,2.2.2.2/24
125.路由:dst 5.5.5.0/24gw 1.1.1.1
126.dst 5.5.5.0/24gw 2.2.2.1
127.cpe-b 1002:
128.eth0:5.5.5.1/24
129.eth1:1.1.1.1/24
130.eth2:2.2.2.1/24
131.server:5.5.5.2
132.下面具体介绍本技术的测试方法:
133.1.cpe-a启动后,登陆到万维网(web)页面(也可以通过命令行配置,此处以web配置为例),选择“网络管理》sd-wan”,以激活“链路管理”页签。
134.2.配置各个链路,首先添加链路l1,网关配置为cpe-b的eth1的接口地址(1.1.1.1),绑定接口为eth1;添加链路l2,网关配置为cpe-b的eth2的接口地址(2.2.2.1),绑定接口为eth1。
135.3.配置链路健康检查,进入“链路健康检查”页签,添加一条链路健康检查条目sla,设置探测地址为server 1003的地址(5.5.5.2),探测周期为5s,探测链路为l1和l2。
136.4.在cpe-b上抓取数据包查看探测报文的源ip是否正确,探测请求、应答报文是否发错链路。
137.在具体实施时,根据实际的测试数据,确认源ip正确,探测请求以及应答报文也为正确的链路。
138.本技术实施例的链路探测方法,通过待探测链路的配置参数确定探测报文的源网际互连协议地址,并确定源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,将下一跳确定为目标下一跳,然后基于所述目标下一跳,发送探测报文,以保证在进行链路探测时探测报文能够使用正确的源网际互连协议,确保了探测应答报文能够在正确的链路上接收,使得计算出来的链路质量真实可用。
139.在本技术的又一个实施例中,如图11所示,为更新所述待探测链路的所述源ip地址的过程1100的示意性流程图。如图11所示,更新的所述待探测链路的所述源ip地址的过程1100包括步骤1101和步骤1102:
140.在步骤1101,更新所述待探测链路的所述源ip地址。
141.在步骤1102,探测时绑定所述待探测链路的所述源ip地址到套接字(socket),以便于发送所述源ip地址对应的探测报文。
142.在一个示例中,如图12所示,为本技术实施例的为待探测链路确定源ip的过程12的示意性流程图。如图12所示,为待探测链路确定源ip包括步骤s1201、步骤s1202、步骤s1203、步骤s1204、步骤s1205、步骤s1206和步骤s1207:
143.在步骤s1201,判断待探测链路是否存在下一跳;若是,则执行步骤s1202;否则,执行步骤s1205;
144.在步骤s1202,根据下一跳和所绑定的出接口选择源ip;然后执行步骤s1203;
145.在步骤s1203,判断是否已选择源ip地址;若是,则执行步骤s1204;否则执行步骤s1207;
146.在步骤s1204,更新待探测链路的源ip;然后执行步骤s1207;
147.在步骤s1205,判断待探测链路是否已配置源ip;若是,则执行步骤s1206;否则,执
行骤s1207;
148.在步骤s1206,清除待探测链路的源ip;然后执行步骤s1207。
149.在步骤s1207,结束本次流程。
150.本技术实施例中,如果待探测链路未配置下一跳,则查看待探测链路是否已配置源ip,如果已配置源ip,则需要清除待探测链路上的源ip,因为此时的源ip可能错误的。至于源ip的选择,可以待清除待探测链路上的源ip后,由诸如linux系统等的操作系统进行处理。
151.另外,如果已配置好源ip,在对待探测链路进行探测时,可以将将待探测链路的源ip绑定到对应的套接字(socket)上,这样linux协议栈判断已经指定了报文源ip,就不用再选择源ip了。
152.在另一个示例中,如图13所示,所述方法还包括步骤e1和步骤a2:
153.在步骤a1,检测是否存在触发所述源ip地址更新的事件。
154.在步骤a2,当存在触发所述源ip地址更新的事件的情况下,更新所述待探测链路的所述源ip地址。
155.本技术实施例中,根据待探测链路上配置的网关和绑定的出接口为待探测链路选择正确的探测报文源ip。在选择探测报文源ip时采用的是被动更新的方式,只有在可能会影响源ip发生改变的事件发生时才去更新源ip,避免了每次探测时都去获取一次源ip的带来的性能开销。
156.在一个示例中,触发的所述源ip地址更新的事件包括以下至少一项:
157.(1)所述待探测链路的目的网关端口地址发生变化。
158.本技术的实施例中,无论新增还是删除待探测链路的接口地址都会影响待探测链路的源ip的选择,所以当接收到新增或删除待探测链路的接口地址事件后,都需要更新链路源ip。
159.(2)所述待探测链路的目的网关ip地址发生变化。
160.本技术的实施例中,由于待探测链路的目的网关发生修改也会影响链路源ip选择,因此当接收到待探测链路的网关变化后亦需要更新链路源ip。
161.(3)所述待探测链路的已绑定的所述目的网关端口地址发生变化。
162.本技术的实施例中,由于待探测链路的源ip需要在事先绑定在待探测链路上的网关端口地址中选择,所以如果待探测链路所绑定的网关端口地址发生变化,则需要更新链路源ip。
163.(4)添加了新待探测链路。
164.本技术的实施例中,由于添加新待探测链路时,对于新添加的新待探测链路是首先选择源ip,因此亦需要更新链路源ip。
165.在本技术的一个实施例中,如图14所示,在步骤e1中,更新所述待探测链路的所述源ip地址,包括步骤f1和步骤f2:
166.在步骤f1,当所述待探测链路存在下一跳时,根据所述下一跳的ip地址和已绑定的所述目的网关端口地址确定所述源ip地址,然后更新所述源ip地址。
167.在步骤f2,当所述待探测链路不存在下一跳时,则当所述待探测链路存在源ip地址时,则清除所述源ip地址,配置所述源ip地址。
168.在本技术实施例中,首先根据待探测链路绑定网关端口地址和待探测链路配置网关确定探测报文源ip,然后在有可能导致源ip发生改变的事件发生时被动地更新源ip,这样可以保证在对待探测链路进行质量探测时,探测报文能够使用正确的源ip。
169.本技术实施例针对当前链路探测不能为探测报文选择正确的源ip地址,以及不能为探测报文选择正确的目标下一跳,导致计算出来的链路质量不可靠的问题。本技术实施例提供一种指定探测报文源ip以及为探测报文选择下一跳的方法,确保探测请求报文和应答报文在正确的链路上发送和接收,这样计算出来的链路质量才真实可用,使得基于链路质量进行选路的sd-wan选路更准确,更可靠。
170.下面结合图15对本技术的链路探测装置进行描述,其中,图15示出根据本技术实施例的链路探测装置的示意性框图。
171.如图15所示,链路探测装置1500包括:一个或多个存储器1501和一个或多个处理器1502,所述存储器1501上存储有由所述处理器1502运行的计算机程序,所述计算机程序在被所述处理器1502运行时,使得所述处理器1502执行前文所述的链路探测方法。
172.链路探测装置1500可以是可以通过软件、硬件或者软硬件结合的方式实现链路探测方法的计算机设备的部分或者全部。
173.如图15所示,链路探测装置1500包括一个或多个存储器1501、一个或多个处理器1502、显示器(未示出)和通信接口等,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图15所示的基于链路探测装置1500的组件和结构只是示例性的,而非限制性的,根据需要,基链路探测装置1500也可以具有其他组件和结构。
174.存储器1501用于存储运行过程中产生的各种数据和可执行程序指令,例如用于存储各种应用程序或实现各种具体功能的算法。可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。
175.处理器1502可以是中央处理单元(cpu)、图像处理单元(gpu)、专用集成电路(asic)、现场可编程门阵列(fpga)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以是基于数据融合的数据管理装置1500中的其它组件以执行期望的功能。
176.在一个示例中,链路探测装置1500还包括输出装置可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示装置、扬声器等中的一个或多个。
177.通信接口是可以是目前已知的任意通信协议的接口,例如有线接口或无线接口,其中,通信接口可以包括一个或者多个串口、usb接口、以太网端口、wifi、有线网络、dvi接口,设备集成互联模块或其他适合的各种端口、接口,或者连接。
178.此外,根据本技术实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本技术实施例的链路探测方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。
179.本技术实施例的链路探测装置和存储介质,由于能够实现前述的链路探测方法,
因此具有和前述的链路探测方法相同的优点。
180.尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本技术的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本技术的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本技术的范围之内。
181.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
182.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
183.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
184.类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本技术的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
185.本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
186.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
187.本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的一些模块的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
188.应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
189.以上所述,仅为本技术的具体实施方式或对具体实施方式的说明,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种链路探测方法,其特征在于,所述方法包括:对待探测链路的配置参数进行配置;其中所述配置参数至少包括:所述待探测链路对应的网关地址、目的端口地址、出接口和服务级别协议;根据所述待探测链路对应的网关地址和所述出接口确定探测报文的源网际互连协议地址;检测所述源网际互连协议地址与是否与路由表中记录的下一跳的网际互连协议地址属于同一网段;当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳;基于所述目标下一跳的网际互连协议地址,发送所述探测报文。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述方法还包括:当所述路由表中存在多个下一跳时,从所述多个下一跳中选择与所述源网际互连协议地址属于同一网段的下一跳,作为目标下一跳。3.根据权利要求2所述的方法,其特征在于,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳,包括:根据所述目的端口地址查找目标路由;其中所述目标路由存储有所述路由表;当找到所述目标路由时,根据所述路由表检测下一跳的数量是否为多个;当所述下一跳的数量为多个时,对多个所述下一跳进行轮询,以确定所述多个下一跳中与所述源网际互连协议地址属于同一网段的所述目标下一跳。4.根据权利要求3所述的方法,其特征在于,当所述源网际互连协议地址与路由表中记录的下一跳的网际互连协议地址属于同一网段时,确定所述路由表中记录的下一跳为目标下一跳,包括:当对所述多个下一跳进行轮询,无法确定所述多个下一跳中与所述源网际互连协议地址属于同一网段的所述下一跳时,为每个下一跳配置权重,采用加权轮询算法确定所述目标下一跳。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:当未找到所述目标路由时,返回所述目的端口不可达的错误信息。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述路由表中记录的下一跳的数量为唯一一个时,则所述唯一一个的下一跳为所述目标下一跳。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测是否存在触发所述源网际互连协议地址更新的事件;当存在触发所述源网际互连协议地址更新的事件的情况下,更新所述待探测链路的所述源网际互连协议地址。8.根据权利要求7所述的方法,其特征在于,更新所述待探测链路的所述源网际互连协议地址,包括:当所述待探测链路存在下一跳时,根据所述下一跳的网际互连协议地址和已绑定的所述目的网关端口地址确定所述源网际互连协议地址,然后更新所述源网际互连协议地址。
当所述待探测链路不存在下一跳时,则当所述待探测链路存在源网际互连协议地址时,则清除所述源网际互连协议地址,配置所述源网际互连协议地址。9.根据权利要求8所述的方法,其特征在于,触发的所述源网际互连协议地址更新的事件包括以下至少一项:所述待探测链路的目的网关端口地址发生变化;所述待探测链路的目的网关网际互连协议地址发生变化;所述待探测链路的已绑定的所述目的网关端口地址发生变化;添加了新待探测链路。10.一种链路探测装置,其特征在于,所述装置包括:存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行如权利要求1至9任一项所述的链路探测方法。11.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如权利要求1至9任一项所述的链路探测方法。
技术总结
本申请提供一种链路探测方法、装置及存储介质。所述方法包括:所述方法包括:配置待探测链路的配置参数;配置参数至少包括:待探测链路对应的网关地址、出接口;根据网关地址和出接口确定探测报文的源网际互连协议地址;检测源网际互连协议地址与是否与路由表中记录的下一跳的网际互连协议地址属于同一网段;当属于同一网段时,确定目标下一跳;基于目标下一跳的网际互连协议地址,发送探测报文。本申请实施例的链路探测方法,通过确定目标下一跳与源网际互连协议地址属于同一网段,可以实现在进行链路探测时探测报文能够使用正确的源网际互连协议,确保了探测应答报文能够在正确的链路上接收,使得计算出来的链路质量真实可用。用。用。
技术研发人员:蔡伟 孙启铭 祖静 范雪俭
受保护的技术使用者:北京天融信科技有限公司 北京天融信软件有限公司
技术研发日:2023.08.10
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种塔机可视化小车磁吸充电装置 下一篇:一种钢筋强度检测仪的制作方法