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

最大传输单元MTU确定方法、装置、设备以及存储介质与流程

2022-02-24 13:23:57 来源:中国专利 TAG:

最大传输单元mtu确定方法、装置、设备以及存储介质
技术领域
1.本技术涉及通信技术领域,特别涉及一种最大传输单元mtu确定方法、装置、设备以及存储介质。


背景技术:

2.下一代组播虚拟专用网络(next generation multicast virtual private network,ngmvpn)内的公有网络中建立有多个数据流转发路径,每个数据流转发路径包括多个分支,每个分支包括多个网络设备,这多个分支共用至少一个根节点。在组播场景下,根节点从组播数据流的发送端接收组播数据流,根节点确定根节点的最大传输单元(maximum transmission unit,mtu)值,然后再基于根节点的mtu值,在多个分支上,分别向组播数据流的接收端传输接收到的组播数据流,其中,根节点的mtu值为根节点能够传输的最大报文大小。
3.目前,根节点确定mtu的过程为:用户对数据流转发路径上相邻两个网络设备之间的链路设置路径mtu值,其中,路径mtu值为相邻两个网络设备之间的链路上能够传输的最大报文的大小,根节点一般将多个分支上的多个路径mtu值中的最小路径mtu值,确定为根节点的mtu值。
4.在上述根节点确定mtu的过程中,若用户设置的路径mtu值比较小,根节点最终确定的根节点的mtu值也比较小,则根节点在多个分支上传输的组播数据流中的报文比较小,多个分支上传输的报文个数增加,而由于组播数据流的接收端的机顶盒单次向接收端转发报文的数目有限,当根节点输出的组播数据流通过任一分支传输至机顶盒时,若组播数据流中报文个数较多,则机顶盒就会丢弃部分报文,因此,机顶盒的丢包率高,那么为了降低机顶盒的丢包率,亟需一种能够避免将较小的mtu值确定为网络设备的mtu值的过程。


技术实现要素:

5.本技术实施例提供了一种最大传输单元mtu确定方法、装置、设备以及存储介质,能够避免将较小的mtu值确定为网络设备的mtu值。该技术方案如下:
6.第一方面,提供了一种最大传输单元mtu确定方法,所述方法由第一网络设备执行,所述方法包括:
7.从n个网络设备接收所述n个网络设备的n个mtu值,获取n个路径mtu值,若所述n个mtu值以及所述n个路径mtu值中的最小值小于所述第一网络设备的第一mtu阈值,将所述第一mtu阈值确定为所述第一网络设备的mtu值;
8.其中,n≥1,且n为整数;一个路径mtu值为所述第一网络设备与所述n个网络设备中的一个网络设备之间的链路的mtu值。
9.在n个网络设备的n个mtu值以及n个路径mtu值中的最小值小于第一网络设备的第一mtu阈值情况下,所述最小值可能是恶意配置出的较小mtu值,或者是用户误配的mtu值。通过本方法,在所述最小值小于(或等于)第一mtu阈值的情形下,第一网络设备可以将第一
mtu阈值确定为第一网络设备的mtu值,从而能够在恶意攻击或误配置等场景下,避免将一个不合理的较小mtu值确定为第一网络设备的mtu值而导致的网络运行问题。
10.在一种可能实现方式中,所述n个网络设备包括第二网络设备,所述从n个网络设备接收所述n个网络设备的n个mtu值包括:
11.接收所述第二网络设备发送的消息,所述消息携带所述第二网络设备的mtu值,所述第二网络设备的mtu值属于所述n个mtu值。
12.在一种可能实现方式中,所述获取n个路径mtu值之后,所述方法还包括:
13.若所述最小值大于或等于所述第一mtu阈值,将所述最小值确定为所述第一网络设备的mtu值。
14.在一种可能实现方式中,所述将所述第一mtu阈值确定为所述第一网络设备的mtu值之后,所述方法还包括:
15.基于所述第一网络设备的mtu值,向所述n个网络设备中的一个或多个转发数据流;或,向第三网络设备发送所述第一网络设备的mtu值。
16.第二方面,提供了一种最大传输单元mtu确定方法,所述方法由第一网络设备执行,所述方法包括:
17.从n个网络设备接收所述n个网络设备的n个mtu值,获取所述第一网络设备的第一mtu比较阈值;获取n个路径mtu值,根据所述n个mtu值以及所述n个路径mtu值中的最小值,大于或等于所述第一mtu比较阈值,将所述最小值确定为所述第一网络设备的mtu值;
18.其中,n≥1,且n为整数;一个路径mtu值为所述第一网络设备与所述n个网络设备中的一个网络设备之间的链路的mtu值。
19.该方法,通过在n网络设备的n个mtu值以及n个路径mtu值中的最小值大于或等于第一网络设备的第一mtu比较阈值情况下,第一网络设备将大于或等于该第一mtu比较阈值的最小值确定为第一网络设备的mtu值,从而能够在恶意攻击或误配置等场景下,避免将一个较小的mtu值确定为网络设备的mtu值而导致的网络运行问题。
20.在一种可能的实现方式中,所述n个网络设备包括第二网络设备,所述方法还包括:
21.确定所述第二网络设备的mtu值和路径mtu值中的最小值;根据所述第二网络设备的mtu值和路径mtu值中的最小值小于所述第一mtu比较阈值,不允许所述第二网络设备和所述第一网络设备之间的链路加入数据流转发路径,所述数据流转发路径为所述第一网络设备根据从所述n个第二网络设备接收的所述n个第二网络设备的n个mtu值以及n个第二mtu阈值建立的路径。
22.基于上述可能的实现方式,第一网络设备在发现对应于第二网络设备的mtu值和路径mtu值中的最小值小于所述第一mtu比较阈值时,不允许所述第二网络设备和所述第一网络设备之间的链路加入数据流转发路径,从而保证在建路过程中将mtu不满足预设条件的链路排除在数据转发路径之外,从而在建路阶段即隔离了潜在的故障风险点,维护了网络的正常运行。
23.在一种可能的实现方式中,所述获取所述第一网络设备的第一mtu比较阈值包括:
24.根据所述n个网络设备发送的n个第二mtu阈值,确定所述第一mtu比较阈值。
25.在一种可能的实现方式中,所述根据所述n个网络设备发送的n个第二mtu阈值,确
定所述第一mtu比较阈值包括:
26.获取所述n个网络设备发送的n个第二mtu阈值和所述第一网络设备的第一mtu阈值中的最大mtu阈值,并将所述最大mtu阈值确定为所述第一网络设备的第一mtu比较阈值;或,获取所述n个网络设备发送的n个第二mtu阈值中的最大mtu阈值,并将获取到的最大mtu阈值确定为所述第一网络设备的第一mtu比较阈值。在诸如ngmvpn网络中,作为第一网络设备的一些类型的传输节点,如根节点或作为中间节点的接入业务网关(access service gateway,asg)需要预配置第一mtu阈值,则在建路过程中第一网络设备需要在本地预配置的第一mtu阈值和n个网络设备发送的n个第二mtu阈值中进行比较,以将其中的最大mtu阈值确定为第一mtu比较阈值;而对于作为第一网络设备的其他一些类型的传输节点,如运营商骨干(provider,p)设备,则无须预配置第一mtu阈值,则在建路过程中直接在n个网络设备发送的n个第二mtu阈值中进行比较,以将其中的最大mtu阈值确定为第一mtu比较阈值即可。
27.在一种可能的实现方式中,所述从n个网络设备接收所述n个网络设备的n个mtu值之前,所述方法还包括:
28.向所述n个网络设备发送所述第一网络设备的第一mtu阈值。
29.基于上述可能的实现方式,当数据流转发路径的叶子节点较多时,能够避免静态配置,从而提供了网络运行效率。
30.在一种可能的实现方式中,所述第一mtu阈值为所述第一网络设备存储的mtu阈值;或,所述第一mtu阈值为所述第一网络设备存储的mtu阈值以及所述第一网络设备的至少一个上一跳网络设备发送至所述第一网络设备的至少一个mtu阈值中的最大值。
31.在一种可能的实现方式中,将所述最小值确定为所述第一网络设备的mtu值之后,所述方法还包括:
32.基于所述第一网络设备的mtu值,向所述n个网络设备中的一个或多个转发数据流;
33.或,向第三网络设备发送所述第一网络设备的所述最小值和所述最大mtu阈值。
34.对于上述第一方面或第二方面中提及的第一网络设备、第二网络设备和第三网络设备中的每个网络设备,每个网络设备包括至少一个输出端口以及至少一个输入端口。对于相互连接的2个网络设备(例如第一网络设备和第二网络设备,或者第一网络设备和第三网络设备),一个网络设备的至少一个输出端口与另一个网络设备的至少一个输入端口一一连接,每对相互连接的输出端口与输入端口之间形成一条链路,该链路上设置有路径mtu值,从而使得这2个网络设备之间具有至少一条链路。在另一种可能的实现方式中,每个网络设备的每个输出端口包括至少一个输出子端口,每个输入端口包括至少一个输入子端口,对于相互连接的2个网络设备,一个网络设备的输出端口中的至少一个输出子端口分别与另一个网络设备的输入端口中的至少一个输入子端口一一连接,每对相互连接的输出子端口与输入子端口之间形成一条链路,从而使得这2个网络设备之间具有至少一条链路。
35.当所述第一网络设备和所述第二网络设备之间具有多条可选链路时,作为第二方面中的一种可能的实现方式,第一网络设备可以在当前选择链路不符合阈值要求需剪枝的情形下,在所述多条可选链路中另行选择一条符合阈值要求的链路进行建路。
36.第三方面,提供了一种最大传输单元mtu确定装置,用于执行上述最大传输单元
mtu确定方法。具体地,该最大传输单元mtu确定装置包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的最大传输单元mtu确定方法的功能模块。
37.第四方面,提供了一种最大传输单元mtu确定装置,用于执行上述最大传输单元mtu确定方法。具体地,该最大传输单元mtu确定装置包括用于执行上述第二方面或上述第二方面的任一种可选方式提供的最大传输单元mtu确定方法的功能模块。
38.第五方面,提供一种网络设备,该网络设备包括处理器和存储器,该存储器中存储有至少一条程序代码,该程序代码由该处理器加载,以使得所述网络设备实现上述第一方面或上述第一方面的任一种可选方式提供的mtu确定方法,或者上述第二方面或上述第二方面的任一种可选方式提供的mtu确定方法。
39.第六方面,提供一种存储介质,该存储介质中存储有至少一条程序代码,该程序代码由处理器加载并执行以实现上述第一方面或上述第一方面的任一种可选方式提供的mtu确定方法,或者上述第二方面或上述第二方面的任一种可选方式提供的mtu确定方法。
40.第七方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面或者第二方面的各种可选实现方式中提供的方法。
附图说明
41.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1是本技术实施例提供的一种mtu确定系统的示意图;
43.图2是本技术实施例提供的一种数据流转发路径的结构示意图;
44.图3是本技术实施例提供的一种网络设备的结构示意图;
45.图4是本技术实施例提供的一种mtu确定方法的流程图;
46.图5是本技术实施例提供的一种数据流转发路径的结构示意图;
47.图6是本技术实施例提供的一种mtu阈值传递方法的流程图;
48.图7是本技术实施例提供的一种数据流转发路径的结构示意图;
49.图8是本技术实施例提供的一种a-d型路由的结构示意图;
50.图9是本技术实施例提供的一种mtu确定方法的流程图;
51.图10是本技术实施例提供的一种第一mtu三元组的结构示意图;
52.图11是本技术实施例提供的一种mtu确定装置的结构示意图;
53.图12是本技术实施例提供的一种mtu确定装置的结构示意图。
具体实施方式
54.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
55.在此对本技术实施例涉及的节点进行如下介绍:
56.数据流转发路径:用于传输数据流,包括一个或多个分支,每个分支包括多个网络设备,不同的分支上的网络设备可以共用,也即是多个分支共用一个或多个网络设备。对于建立路径的场景,该数据流转发路径并非初始即存在,而是在建立路径的过程(如从ngmvpn网络中的叶子节点向根节点建立数据流转发路径的过程)中逐步形成的。通过建路过程形成后的数据流转发路径最终可以用于向用户传输数据流。本技术实施例为便于表述,将建立路径时逐步建立起的每一阶段的所建路径也称为数据流转发路径。
57.根节点:数据流转发路径的至少一个分支所共用的首个网络设备。
58.叶子节点:数据流转发路径的一个分支上的最后一个转发节点。
59.中间节点:数据流转发路径除上根节点以及叶子节点以外的节点。
60.候选中间节点:中间节点的候选网络设备,也即是待加入数据流转发路径的网络设备。
61.第一网络设备:为数据流转发路径的中间节点或根节点。
62.第二网络设备:为数据流转发路径上该第一网络设备的下一个网络设备。其中,该下一个网络设备为按照数据流在数据流转发路径的传输方向,第一网络设备中用于输出该数据流的输出端口所连接的网络设备。或者说,该下一个网络设备为在朝向叶子节点的方向上,数据流转发转发路径的该第一网络设备所连接的网络设备。
63.第三网络设备:为数据流转发路径的该第一网络设备的上一个网络设备。其中,该上一个网络设备为按照数据流在数据流转发路径上的传输方向,该第一网络设备中用于接收该数据流的输入端口所连接的网络设备。或者说,该上一个网络设备为在背向叶子节点的方向上,数据流转发转发路径的该第一网络设备所连接的网络设备。其中,第一网络设备、第二网络设备以及第三网络设备的连接关系为:第三网络设备

第一网络设备

第二网络设备,
“→”
用于指示网络设备之间的连接关系以及数据流的传输方向。
64.下一跳网络设备:为数据流转发路径上该第一网络设备存储的边界网关协议(border gateway protocol,bgp)路由的下一跳(next hop)信息所指示的节点(也即是bgp路由的下一跳节点)。
65.为便于说明,本技术实施例部分描述的第一网络设备的下一个网络设备以及上一个网络设备均是该第一网络设备所直连的邻居网络设备。由于在bgp网络中,一个网络设备的下一跳网络设备不一定是该网络设备的邻居网络设备,还可能是该网络设备所属的自治系统(autonomous system,as)内与该网络设备不相邻的网络设备,还可能是该网络设备的邻居as内的网络设备,因此,本技术实施例部分描述的第一网络设备的下一跳网络设备可能为该第一网络设备直连的邻居网络设备,也可能不是该第一网络设备直连的邻居网络设备。当第一网络设备的下一跳网络设备为该第一网络设备直连的邻居网络设备时,第一网络设备的下一跳网络设备也即是第一网络设备的下一个网络设备。但可以理解地,除本技术实施例给出的作为可能示意的具体例子,在一些实际应用场景下,第一网络设备、第二网络设备和第三网络设备的连接关系也可以不仅限于依序直连,但仍可基于网络连接关系收发彼此发送的消息,并基于所接收的各类型消息执行本技术描述的相应方法。
66.图1是本技术实施例提供的一种mtu确定系统的示意图,参见图1,该系统100包括多个网络设备101(例如图1中的网络设备101a-101f)。对于该多个网络设备101中的第一边缘网络设备,当该第一边缘网络设备接收到数据流的发送端发送的数据流后,向该多个网
络设备101中的一个或多个第二边缘网络设备发送建路消息,以便由每个第二边缘网络设备向该第一边缘网络设备方向,建立该数据流转发路径的多个分支,直至建立完该数据流转发路径。该第一边缘网络设备和第二边缘网络设备均为该系统100的边缘网络设备,例如,服务提供商网络的边缘设备(provider edge,pe)。该数据流可以为组播数据流,该数据流的数据类型可以是视频数据、音频数据或者文本数据,本技术实施例对数据流的数据类型不做具体限定。
67.当该数据流转发路径建立完成后,该第一边缘网络设备也即是该数据流转发路径的根节点,例如图1中的网络设备101a,每个第二边缘网络设备也即是该数据流转发路径的一个叶子节点,例如图1中的网络设备101c、101d以及101f。可选地,该数据流转发路径上还可以包括中间节点,例如图1中的网络设备101b和101e。中间节点的类型例如可以为转发(transit)节点、分叉(branch)节点以及芽(bud)节点。转发节点在该数据流转发路径上仅有一个下游网络设备,分叉节点在该数据流转发路径上具有多个下游网络设备,芽节点的下游网络设备分别为公有网络中的网络设备和私有网络中的网络设备,其中,该公有网络为另一个该系统100,该私有网络可以是数据流的接收端所组成的网络。一个网络设备的下游网络设备为在朝向叶子节点的方向,该数据流转发路径上该网络设备所连接的下一个网络设备,例如第一网络为的下游网络设备为第二网络设备。一个网络设备的上游网络设备为在朝向叶子节点的方向,该数据流转发路径上该网络设备所连接的上一个网络设备,例如第一网络设备的上游网络设备为第三网络设备。
68.当该数据流转发路径建成后,该根节点在该数据流转发路径上传输该数据流,每个叶子节点从一个分支上接收数据流,并向该数据流的一个或多个接收端(如用户主机)发送接收到数据流。其中,该根节点与该数据流的发送端连接,每个叶子节点与该数据流的一个或多个接收端连接。例如图2所示的本技术实施例提供的一种数据流转发路径的结构示意图,该数据流转发路径的根节点为无线业务侧网关(radio service gateway,rsg),该数据流转发路径上的中间节点包括p1、p2、asg1以及asg2,该p1和p2为转发节点;该数据流转发路径的叶子节点包括基站侧网关(cell site gateway,csg)1和csg2,rsg与视频服务器连接,视频服务器也即是数据流的发送端,csg1、asg2分别与终端1、终端2连接,终端1和终端2均为数据流的接收端,rsg通过该数据流转发路径向终端1和终端2发送视频服务器输出的数据流。
69.为了进一步说明数据流在数据流转发路径的传输过程,参见图1中的数据流转发路径,当图1中的数据流转发路径建立完成后,网络设备101a将该数据流复制2份,向网络设备101b和101e分别发送一份数据流;由于网络设备101b出现了2个分支,且这2个分支的叶子节点所连接的数据流的接收端不同,则当网络设备101b接收到数据流后,将接收到数据流复制2份,向网络设备101c和101d分别发送一份数据流;当网络设备101e接收到数据流后,向网络设备101f转发接收到的数据流;当网络设备101c、101d以及101f接收到该数据流后,分别向自身连接的数据流的接收端发送接收到的数据流。
70.在叶子节点向根节点方向建立该数据流转发路径的过程中,由于该第一网络设备(此时该第一网络设备为该数据流转发路径上的候选节点)可能位于n个待建立的分支上,则该第一网络设备接收n个网络设备的n个mtu值,该第一网络设备获取与该n个网络设备之间的n个路径mtu值;该第一网络设备根据n个网络设备的n个mtu值以及该n个路径mtu值,确
定该第一网络设备的mtu值;当该第一网络设备加入该数据转发路径后,若该第一网络设备为该数据流转发路径上的中间节点,该第一网络设备向第三网络设备发送该第一网络设备的mtu值;当该第一网络设备为该数据流转发路径上的根节点时,该第一网络设备基于确定的第一网络设备的mtu值,向该n个网络设备中的一个或多个转发数据流,也即是在一个或多个分支上传输数据流。其中,n≥1,且n为整数,该第一网络设备为除该n个网络设备以外的任一网络设备,一个路径mtu值为该第一网络设备与该n个网络设备中的一个网络设备之间的链路的mtu值,也可称为链路mtu值。
71.该第一网络设备根据n个网络设备的n个mtu值以及该n个路径mtu值,确定该第一网络设备的mtu值的方式为下述方式1或方式2。其中,方式1主要利用建路过程中各网络设备存储的mtu阈值,从叶节点向根节点方向依次确定数据流转发路径上各链路应采用的mtu值,其中最终确定的各网络设备与其下游网络设备连接的链路上应采用的mtu值不小于各网络设备上存储的mtu阈值,从而保证根节点用于转发数据流的数据流转发路径上的mtu值控制在较为合理的范围。方式1的具体过程为:当该第一网络设备具有第一mtu阈值时,若n个mtu值以及n个路径mtu值中的最小值小于第一mtu阈值,则该第一网络设备将该第一mtu阈值确定为该第一网络设备的mtu值,否则,将该最小值确定为该第一网络设备的mtu值。
72.方式2则主要通过在建路过程中将n个网络设备的n个mtu值以及该n个路径mtu值中的最小值,与第一网络设备对应的第一mtu比较阈值进行比较,以确定不允许加入数据流转发路径的h条链路,从而使得该数据流转发路径中不包括mtu值较小的路径,以保证根节点用于转发数据流的数据流转发路径上的mtu值控制在较为合理的范围,其中,n≥h≥0。方式2的具体过程为:当该第一网络设备接收到n个网络设备发送的n个mtu值时,还会接收到n网络设备发送的n个第二mtu阈值。该第一网络设备根据n个第二mtu阈值确定该第一网络设备的第一mtu比较阈值。对于该n个网络设备,该第一网络设备根据该第一mtu比较阈值,从该第一网络设备与该n个网络设备的n个链路之间选择一个或多个链路加入该数据流转发路径,其中,选择出的任一链路的路径mtu值和该网络设备的mtu值中的最小值大于该第一网络设备的第一mtu比较阈值。对于该n个网络设备中的任一网络设备,当该任一网络设备与该第一网络设备之间的链路的路径mtu值和该任一网络设备发送的mtu值中的最小值小于该第一mtu比较阈值时,则该第一网络设备不允许该第一网络设备与该任一网络设备之间的链路加入该数据流转发路径。当该第一网络设备从该n个链路中选择出m(1≤m≤n)个链路,加入该数据流转发路径,该第一网络设备从该n个网络设备中的m个网络设备发送的相应的m个mtu值,以及该m个链路的m个路径mtu值中确定出最小值,并将该最小值确定为该第一网络设备的mtu值。当该第一网络设备为数据流的转发路径上的中间节点时,该第一网络设备向第三网络设备发送该第一网络设备的mtu值。在一些可能的情形中,第一网络设备还会向第三网络设备发送该第一网络设备的第一mtu比较阈值,那么对于第三网络设备而言,其接收到的第一网络设备发送的第一mtu比较阈值也即是该第一网络设备发送的第二mtu阈值。
73.需要说明的是,本技术实施例中的根节点具有第一mtu阈值,中间节点可具有第一mtu阈值也可不具有第一mtu阈值,具有第一mtu阈值的中间节点可以为bgp路由的下一跳节点,不具有第一mtu阈值的中间节点可以为未配置虚拟专用网(virtual private network,vpn)等业务的骨干节点。对于具有第一mtu阈值的任一网络设备,该任一网络设备基于数据
流的业务需求设置第一mtu阈值,该业务需求用于指示该数据流所属的业务所要求的最小的mtu值,该任一网络设备设置的第一mtu阈值也即是该业务需求所指示的最小的mtu值。一个数据流转发路径上各个网络设备设置的第一mtu阈值相同或者不相同。
74.在一种可能的实现方式中,该系统100为ngmvpn内的公有网络,该系统100的应用场景为无缝(seamless)多标签协议转发(multiprotocol label switching,mpls)场景,该系统100中的数据流转发路径为mpls点到多点(point-to-multipoint,p2mp)隧道。
75.为了进一步体现网络设备的硬件结构,参见图3,图3是本技术实施例提供的一种网络设备的结构示意图,该网络设备300可因配置或性能不同而产生比较大的差异,包括一个或一个以上处理器301和一个或一个以上的存储器302,其中,所述存储器302中存储有至少一条程序代码,所述至少一条程序代码由所述处理器301加载并执行以实现下述各个方法实施例提供的mtu确定方法。当然,该网络设备300还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该网络设备300还可以包括其他用于实现设备功能的部件,在此不做赘述。
76.在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由终端中的处理器执行以完成下述实施例中的数据传输方法。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
77.为了进一步说明基于上述过程1的确定mtu值的过程,参见如图4所示的本技术实施例提供的一种mtu确定方法的流程图。
78.401、数据流转发路径的任一叶子节点向第一中间节点发送该叶子节点的mtu值。
79.该数据流转发路径为待建立的任一数据流转发路径。该数据流转发路径包括x个分支,其中,x≥1,且x为整数。每个分支包括k 2个网络设备,分别为1个叶子节点、1个根节点以及k个中间节点,其中,k≥1,且k为整数。为了便于描述,对于任一分支,在该分支上从叶子节点到根节点的方向上的第i个中间节点记为第i中间节点,其中,k≥i≥1,且i为整数,例如第一中间节点为该分支上该叶子节点的上一个网络设备。
80.该叶子节点处于该数据流转发路径的任一分支上,该叶子节点的mtu值可以为默认值,如默认无效mtu值。由于叶子节点为该任一分支上的最后一个网络设备,后续叶子节点接收该任一分支上传输的数据流,并直接向数据流的接收端(如用户设备)发送接收到的数据流。因此,叶子节点的mtu值后续对整个数据流转发路径中传输的数据流没有影响,则叶子节点的mtu值实际为无效mtu值,可选地,该叶子节点的mtu值为ffff,用于指代无效mtu值,本技术实施例对无效mtu值的具体表示形式不做限定。
81.当该叶子节点接收到该数据流转发路径的根节点发送的建路消息后,该叶子节点根据该建路消息中根节点的地址信息,将在朝向该根节点方向上与该叶子节点连接的一个网络设备确定为该第一中间节点,该叶子节点向该第一中间节点发送该叶子节点的mtu值。例如图5所示的本技术实施例提供的一种数据流转发路径的结构示意图,在图5中,数据流转发路径的根节点为rsg,数据流转发路径的中间节点包括p1、p2、asg1以及asg2,数据流转发路径的叶子节点包括csg1、csg2,rsg与视频服务器连接,视频服务器也即是数据流的发送端,csg1、csg2分别与终端1、终端2连接,终端1和终端2均为数据流的接收端,其中,csg1
为分支1(csg1-asg1-p1-rsg)以及分支2(csg2-asg2-asg1-p1-rsg)上的叶子节点,其中,asg1为分支1上的第一中间节点,asg2为该分支2上的第一中间节点,则该csg1向asg1发送该csg1的mtu值,csg2向asg2发送该csg2的mtu值。
82.该叶子节点通过第一消息,向该第一中间节点发送该叶子节点的mtu值。在一种可能的实现方式,该叶子节点基于该叶子节点的mtu值,生成该叶子节点的第一消息,并向第一中间节点发送该第一消息。其中,该第一消息用于指示向该根节点方向建立该数据流转发路径,以及指示网络设备向该数据流的转发路径上的上一个网络设备发送该网络设备的mtu值。可选地,该第一消息还包括该数据流转发路径的根节点的地址信息以及该叶子节点的地址信息。可选地,一个网络设备的地址信息为该网络设备的互联网协议地址(internet protocol,ip)地址。可选地,该第一消息为组播标签分发协议(the multipoint extensions for label distribution protocol,mldp)映射(mapping)消息。
83.402、对于该数据流转发路径的任一中间节点,该任一中间节点从该数据流转发路径上该任一中间节点的n个下游网络设备,接收该n个下游网络设备的n个mtu值,n≥1,且n为整数。
84.该任一中间节点的一个下游网络设备为在数据流转发路径上该任一中间节点所连接的下一个网络设备。该n个下游网络设备分别位于该数据转发路径的n个分支上,该任一中间节点也位于该n个分支上,也即是该任一中间节点为该n个分支的交点,例如该任一中间节点为图5中的asg1,则asg1分别接收到csg1的mtu值以及asg2的mtu值,其中,csg1和asg2位于不同的分支。再例如该任一中间节点为图5中的p1,由于p1的下一个网络设备仅为asg1,则该p1仅能接收到asg1的mtu值。
85.对于该n个下游网络设备中的任一网络设备,该任一中间节点接收该任一网络设备发送的消息,该任一中间节点从该消息中获取该任一网络设备的mtu值。其中,该消息携带该任一网络设备的mtu值,该消息也即是该任一网络设备发送的第一消息。此时若该任一中间节点为第一网络设备,则该任一网络设备对于该任一中间节点而言,也即是第二网络设备。当该任一中间节点为第一网络设备时,则本步骤402所示的过程也即是第一网络设备从n个网络设备接收该n个网络设备的n个mtu值的过程。
86.403、该任一中间节点获取n个路径mtu值,一个路径mtu值为该任一中间节点与该n个下游网络设备中的一个网络设备之间的链路的mtu值。
87.对于该n个下游网络设备的中任一网络设备,当该任一中间节点接收到该任一网络设备发送的第一消息后,该任一中间节点将该任一中间节点与该任一网络设备之间的链路加入该数据流转发路径,该任一中间节点还根据自动发现标签分发协议(label distribution protocol,ldp)标签交换路径(label switched path,lsp)mtu的机制,获取该任一中间节点与该任一网络设备之间的链路的路径mtu值。
88.404、当该任一中间节点具有第一mtu阈值时,若该n个mtu值以及该n个路径mtu值中的最小值小于该任一中间节点的第一mtu阈值,该任一中间节点将该第一mtu阈值确定为该任一中间节点的mtu值。
89.若该最小值小于该任一中间节点的第一mtu阈值,说明该最小值比较小,这个最小值可能是被恶意配置的mtu值,或者是用户误配的mtu值,则该任一中间节点不将该最小值确定为该任一中间节点的mtu值,而是将该第一mtu阈值确定为该任一中间节点的mtu值。
90.在一种可能的实现方式中,若该最小值大于或等于该任一中间节点的第一mtu阈值,则该任一中间节点将该最小值确定为该任一中间节点的mtu值。
91.若该最小值大于或等于该任一中间节点的第一mtu阈值,说明该最小值可能不是被恶意配置的mtu值,则该任一中间节点直接将该最小值确定为该任一中间节点的mtu值。
92.405、当该任一中间节点不具有第一mtu阈值时,该任一中间节点将该n个mtu值以及该n个路径mtu值中的最小值,确定为该任一中间节点的mtu值。
93.在建路过程中对于某些类型的节点,如p节点,可能由于未配置vpn等业务而不需具有mtu阈值,则该类型的节点可以不与mtu阈值比较而直接向上游网络设备传递获取的n个mtu值以及该n个路径mtu值中的最小值。如果该最小值实际属于不合理值,则配置了mtu阈值的上游网络设备仍可根据本地mtu阈值更新本地实际确定并存储的mtu值,并将该mtu值继续向上传递。
94.406、该任一中间节点向该数据流转发路径上该任一中间节点的上游网络设备,发送该中间节点的mtu值。
95.该任一中间节点的上游网络设备为该数据流转发路径上该任一中间节点所连接的上一个网络设备。该上游网络设备属于该数据流转发路径的至少一个分支,该任一中间节点可以为该至少一个分支的交点。例如该任一中间节点为图5中asg1,则asg1的上游网络设备为p1。
96.该任一中间节点从接收到的任一第一消息中获取根节点的地址信息,并根据该根节点的地址信息,将在朝向该根节点方向上该任一中间节点所连接的一个网络设备确定为该上游网络设备,并向该上游网络设备发送该任一中间节点的mtu值。
97.该任一中间节点能够通过第一消息,向该上游网络设备发送该任一中间节点的mtu值。在一种可能的实现方式中,该任一中间节点基于该任一中间节点的mtu值,生成新的第一消息(也即是该任一中间节点的第一消息),并向该上游网络设备发送该新的第一消息,其中,该新的第一消息可以包括该任一中间节点的mtu值、该根节点的地址信息、隧道标识、以及该任一中间节点的地址信息。
98.该任一中间节点还可以基于该任一中间节点的mtu值以及该n个下游网络设备中的任一网络设备发送的第一消息,生成该新的第一消息。在一种可能的实现方式中,当该任一中间节点的mtu值与该第一消息内的mtu值相同时,该任一中间节点在该第一消息中添加该任一中间节点的地址信息,得到该新的第一消息,以使得接收该新的第一消息的上游网络设备能够根据该任一中间节点的地址信息确定该上游网络设备和该任一中间节点之间的路径mtu值。当该任一中间节点的mtu值与该第一消息内的mtu值不相同时,该任一中间节点将该第一消息中的mtu值修改为该任一中间节点的mtu值,并在该第一消息中添加该任一中间节点的地址信息,得到该新的第一消息。
99.407、该数据流转发路径的根节点从该数据流转发路径上该根节点的n个下游网络设备,接收该n个下游网络设备的n个mtu值。
100.根节点的n个下游网络设备为该数据流转发路径上该根节点所连接的网络设备,根节点的n个下游网络设备中的每个网络设备也即是该数据流转发路径的每个分支上从叶子节点到根节点方向上的最后一个中间节点(也即是第k中间节点)。例如根节点为图5中的rsg,则图5中p1为rsg的下游网络设备。
101.在另一种可能的情形中,例如从叶子节点csg1出发建路的分支1-1为csg1-asg1-p1-rsg,而从叶子节点csg2出发建路的分支2-1为csg2-asg2-p2-rsg,则根节点rsg将从p1和p2分别接收p1的mtu值以及p2的mtu值,并基于此确定rsg应配置的mtu值。
102.本步骤407所示的过程与步骤402中任一中间节点从n个下游网络设备接收该n个下游网络设备的n个mtu值的过程同理,在此,本技术实施例对本步骤407不做赘述。
103.当该根节点为第一网络设备时,r个下游网络设备相对于根节点也即是第二网络设备,本步骤407所示的过程也即是第一网络设备从n个网络设备接收该n个网络设备的n个mtu值的过程。
104.408、该根节点获取n个路径mtu值,一个路径mtu值为该根节点与该根节点的n个下游网络设备中的一个网络设备之间的链路的mtu值。
105.步骤408所示的过程与步骤403中任一中间节点获取n个路径mtu值的过程同理,在此,本技术实施例对本步骤408不做赘述。
106.409、若根节点获取的n个mtu值以及n个路径mtu值中的最小值小于该根节点的第一mtu阈值,该根节点将该第一mtu阈值确定为该根节点的mtu值。
107.若该最小值大于或等于该根节点的第一mtu阈值,则该根节点将该最小值确定为该根节点的mtu值。
108.步骤409所示的过程与步骤404中任一中间节点确定该任一中间节点的mtu值的过程同理,在此,本技术实施例对本步骤409不做赘述。
109.410、该根节点基于该根节点的mtu值,向根节点的n个下游网络设备中的一个或多个转发数据流。
110.该数据流由该根节点从数据流的发送端接收到。对于该数据流中的任一报文,若该报文的大小大于该根节点的mtu值,则该根节点对该报文进行切分,得到多个目标报文,每个目标报文的大小均小于或等于该根节点的mtu值;该根节点将该多个目标报文复制至少一份,分别向根节点的n个下游网络设备中的一个或多个发送一份该多个目标报文的副本。
111.若该根节点获取的n个mtu值以及n个路径mtu值中的最小值小于该根节点的第一mtu阈值,说明该最小值比较小,这个最小值可能是被恶意配置的mtu值,而该根节点将该第一mtu阈值确定为该根节点的mtu值,并基于该根节点的mtu值,向根节点的n个下游网络设备中的一个或多个转发数据流,从而能够避免根节点基于比较小的mtu值转发数据流。
112.为了进一步说明步骤401-410所示的过程,仍以图5为例进行说明,rsg、asg1和asg2的第一mtu阈值分别为500、200和600,csg1与asg1之间的链路的路径mtu值为300,csg2与asg2之间的链路的路径mtu值为700,其它链路的路径mtu值均为1500。当将asg1确定为csg1的上游网络设备后,csg1向asg1发送csg1的mtu值ffff(也即是无效mtu值);当接收到csg1的mtu值ffff后,asg1获取asg1与csg1之间的链路的路径mtu值300,并将asg1与csg1之间的链路加入数据流转发路径,由于asg1的第一mtu阈值200小于asg1与csg1之间的链路的路径mtu值300,且csg1的mtu值ffff为无效mtu值,则asg1将获取到的路径mtu值300作为asg1的mtu值,当asg1将p1确定为asg1的上游网络设备后,则asg1向p1发送asg1的mtu值300;p1在获取到asg1的mtu值300后,获取p1与asg1之间的链路的路径mtu值1500,并将p1与asg1之间的链路加入数据流转发路径,由于p1不具有第一mtu阈值,则p1将asg1的mtu值300
以及获取到路径mtu值1500中的最小值300,作为p1的mtu值,并向rsg发送p1的mtu值300;当接收到p1的mtu值300后,rsg获取p1与rsg之间的链路的路径mtu值1500,并将p1与rsg之间的链路加入数据流转发路径,从而建立成数据流转发路径的分支1-1:csg1-asg1-p1-rsg。csg2将asg2确定为csg2的上游网络设备后,向asg2发送的csg2的mtu值ffff;当接收到csg2的mtu值ffff后,asg2获取asg2与csg2之间的链路的路径mtu值700,并将asg2与csg2之间的链路加入数据流转发路径,由于asg2与csg2之间的链路的路径mtu值700大于asg2的第一mtu阈值600,则asg2将该路径mtu值700作为asg2的mtu值,当asg2将p2确定为asg2上游网络设备后,向p2发送asg2的mtu值700;p2在获取到asg2的mtu值700后,获取p2与asg2之间的链路的路径mtu值1500,并将p2与asg2之间的链路加入数据流转发路径,由于p2不具有第一mtu阈值,则p2将asg2的mtu值700以及获取到路径mtu值1500中的最小值700,作为p2的mtu值,并向rsg发送p2的mtu值700;当接收到p2的mtu值700后,rsg获取p2与rsg之间的链路的路径mtu值1500,并将p2与rsg之间的链路加入数据流转发路径,从而建立成数据流转发路径的分支2-1:csg2-asg2-p2-rsg。在分支1与分支2建立完成后,rsr能够获取到4个mtu值分别为p1的mtu值300、p2的mtu值700、p1与rsg之间的链路的路径mtu值1500、p2与rsg之间的链路的路径mtu值1500,由于这个4个mtu值中的最小值300小于rsg的第一mtu阈值500,则rsg将rsg的第一mtu阈值500确定为rsg的mtu值,并基于mtu值500向p1和p2转发视频服务器发送的数据流,p1向asg1发送接收到的数据流,asg1向csg1发送接收到的数据流,csg1向终端1发送接收到的数据流;p2通过asg2向csg2发送接收到的数据流,csg2向终端2发送接收到的数据流,从而避免rsg将mtu值300作为rsg的mtu值,进而保护了该数据流转发路径。
113.一个中间节点或根节点在根据获取的n个下游网络设备的n个mtu值和n个路径mtu值确定该中间节点或根节点的本地mtu值时,该n个下游网络设备的该n个mtu值可以是在某个时间窗内接收的。可以理解地,由于建路时序和分支路径长度等的差别,该中间节点或根节点还可能在下一个时间窗内接收到除该n个下游网络设备外的其他一个或多个下游网络设备发送的mtu值,则此时该中间节点或根节点还可以根据新接收到的该其他一个或多个下游网络设备发送的mtu值,更新该中间节点或根节点确定的该本地mtu值。
114.在n个网络设备的n个mtu值以及n个路径mtu值中的最小值小于第一网络设备的第一mtu阈值情况下,该最小值可能是恶意配置出的较小mtu值,或者是用户误配的mtu值。通过本方法,在该最小值小于(或等于)第一mtu阈值的情形下,第一网络设备可以将第一mtu阈值确定为第一网络设备的mtu值,从而能够避免在恶意攻击或误配置等场景下将一个不合理的较小mtu值确定为第一网络设备的mtu值而导致的网络运行问题。
115.在另一种可能的实现方式中,待建立的数据流转发路径的根节点向处于叶子节点方向的网络设备传递根节点的第一mtu阈值,在传递过程中,该数据流转发路径的任一候选中间节点接收到其他网络设备发送的mtu阈值,若该任一候选中间节点具有mtu阈值,则根据接收到的mtu阈值,更新本地的mtu阈值,并继续向处于叶子节点方向的网络设备传递更新后的mtu阈值,否则将向处于叶子节点方向的网络设备传递接收到的mtu阈值,直至叶子节点接收到mtu阈值。当叶子节点接收到mtu阈值后,叶子节点根据接收到的mtu值确定叶子节点的第二mtu阈值,并从叶子节点开始,向根节点方向进行上述方案2的确定mtu值的过程。
116.为了进一步说明从根节点向叶子节点传递mtu阈值的过程,参见图6所示的本技术
实施例提供的一种mtu阈值传递方法的流程图。
117.601、根节点向该根节点的一个或多个目标网络设备发送目标建路消息,所述目标建路消息包括该根节点的第一mtu阈值。
118.该根节点为待建立的数据流转发路径的首个网络设备,例如是隧道的端点。该根节点的第一mtu阈值为该根节点存储的mtu阈值,或该根节点存储的mtu阈值以及该根节点新获取的mtu阈值中的较大值。
119.该目标建路消息用于指示从叶子节点开始向该根节点方向建立数据流转发路径以及向根节点方向传递网络设备的mtu值以及第二mtu阈值。该目标建路消息还包括该根节点的地址信息以及数据流的一个接收端的地址信息。在一种可能的实现方式中,该目标建路消息还包括使能标识,其中,该使能标识用于指示开启基于网络设备的第一mtu比较阈值确定网络设备的mtu值的功能。在一种可能的实现方式中,该目标建路消息包括目标字段、源地址字段、目的地址字段以及使能字段,其中,该目标字段用于存储该根节点的第一mtu阈值,源地址字段用于存储该根节点的地址信息,该目的地址字段用于存储该任一接收端的地址信息,该使能字段用于存储该使能标识,当然,该使能字段还能存储不使能标识,不使能标识用于指示不开启基于网络设备的第一mtu比较阈值确定网络设备的mtu值的功能。例如,当使能字段存储的是使能标识0x1时,指示开启基于网络设备的第一mtu比较阈值确定网络设备的mtu值的功能,当使能字段存储的是不使能标识0x0时,指示不开启基于网络设备的第一mtu比较阈值确定网络设备的mtu值的功能。本技术实施例对使能标识和不使能标识的表示方式不做唯一限定。该目标建路消息还可以包括隧道标识,用于标识该根节点和叶子节点之间建立的隧道。
120.在一种可能的实现方式中,该目标建路消息的路由类型为必选的供应组播服务接口自动发现路由(inclusive-provider multicast service interface auto-discovery rout,i-pmsi a-d route),或(selective-provider multicast service interface auto-discovery rout,s-pmsi a-d route)。可选地,该目标字段和使能字段是i/s-pmsi a-d route中的空闲字段,或者是i/s-pmsi a-d route中新增的字段。例如图8所示的本技术实施例提供的一种a-d型路由的结构示意图,该包括路由类型(route type)字段、长度(length)字段、mvpn路由目标(route target,rt)字段、pmsi隧道属性(tunnel attribute)字段以及地址信息字段。其中,路由类型用于存储目标建路消息的路由类型;长度字段用于存储mvpn网络层可达信息(network layer reachable information,nlri)的长度,该长度字段为1个8位(8octet)组。mvpn rt字段用于存储虚拟专用网络(virtual private network,vpn)实例下配置的vpn-目标(target)。pmsi隧道属性(tunnel attribute)字段包括标识(flags)字段、隧道类型(tunnel type)字段、mpls标签字段以及隧道标识符(tunnel identifier)字段,其中,该标识字段中的保留(reserved)字段包括目标字段以及使能字段,用于存储该根节点的第一mtu阈值以及使能/不使能标识,该标识字段为1个8位组,前7位为该标识字段中的保留字段,该保留字段中的第0比特(bit)为使能字段,用于存储使能/不使能标识,第1至第4bit位为目标字段,用于存储根节点的第一mtu阈值,第8bit用于存储标识字段的标识位;mpls标签字段用于存储mpls标签,为3个8位组;隧道标识符字段用于存储数据流转发路径的标识。该地址信息字段用于存储下一跳网络设备地址信息、rd路径识别(route distinguisher,rd)、源路由器(originating router)的ip地址以及任一接收端
的地址信息,其中,源路由器的ip地址也即是该根节点的地址信息。
121.该根节点可以先确定一个或多个目标网络设备,然后再向确定出的该一个或多个目标网络设备分别发送目标建路消息,在一种可能的实现方式中,本步骤601所示的过程可以由下述步骤6011-6013所示的过程实现。
122.步骤6011、根节点确定一个或多个目标网络设备。
123.作为一种可能的方式,根节点可以根据接收到组播数据流,或者根据该根节点创建了vpn实例,确定该根节点的一个或多个bgp邻居(peer),并向该一个或多个bgp邻居发送目标建路消息。在一些场景下,该一个或多个bgp邻居可以是该根节点所建立隧道中的下一跳网络设备。例如图7所示的本技术实施例提供的一种数据流转发路径的结构示意图,图7中的rsg为根节点,组播数据流的接收端包括终端1和终端2,作为根节点的该rsg确定其bgp邻居为asg1和asg2。类似地,asg1例如可以确定csg1为其bgp邻居,asg2例如确定csg2为其bgp邻居。
124.步骤6012、该根节点确定该根节点的第一mtu阈值。
125.该根节点将存储的mtu阈值作为根节点的第一mtu阈值,或者,根节点将新获取的mtu阈值作为根节点的第一mtu阈值。在一种可能的实现方式中,该根节点接收mtu阈值更新请求,该mtu阈值更新请求用于指示网络设备更新存储的mtu阈值,该mtu阈值更新请求携带目标mtu阈值;该根节点将存储的mtu阈值更新为该目标mtu阈值,并可以直接将该目标mtu阈值确定为该根节点的第一mtu阈值,或者也可以根据预设规则将该目标mtu阈值和该根节点存储的mtu阈值中的较大值或较小值,确定为该根节点的第一mtu阈值,其中,该目标mtu阈值也即是根节点新获取的mtu阈值。例如图7中的根节点rsg存储的mtu阈值为500,则rsg将rsg存储的mtu阈值500确定为该根节点的第一mtu阈值,或者,若接收到的mtu阈值更新请求中的目标mtu阈值为600,则rsg将rsg存储的mtu阈值500以及目标mtu阈值600中的较大值600,确定为该根节点的第一mtu阈值。本技术实施例以根节点的第一mtu阈值为根节点存储的mtu阈值为例进行说明。
126.步骤6013、该根节点向该一个或多个目标网络设备分别发送一个目标建路消息。
127.当该根节点确定出该根节点的bgp邻居后,该根节点生成该目标建路消息,该根节点向该下一跳网络设备发送该目标建路信息,该目标建路消息包括该根节点的第一mtu阈值。在一种可能的实现方式,该根节点基于根节点的第一mtu阈值、使能标识以及请求注解协议(request for comments,rfc)6514,生成该数据流转发路径的i/s-pmsi a-d型的目标建路消息。
128.例如,当图7中的rsg将asg1确定为其bgp邻居时,rsg向asg1发送目标建路消息1,该目标建路消息1包括rsg的第一mtu阈值和rsg的地址信息;当rsg将asg2确定为其bgp邻居时,rsg向asg2发送目标建路消息2,该目标建路消息2包括rsg的第一mtu阈值和rsg的地址信息。
129.需要说明的是,该根节点在确定其bgp邻居并向该bgp邻居发送目标建路消息时,该bgp邻居有可能不是该根节点所直连的网络设备。若该bgp邻居网络设备不与该根节点直接连接,则该根节点通过查询本地的路由表,确定该根节点中该bgp邻居的地址信息所对应的输出端口,并向该输出端口所连接的网络设备发送该目标建路消息,由该输出端口所连接的网络设备向该bgp邻居转发该目标建路消息。例如,图7中的rsg的bgp邻居为asg1,在
rsg的本地路由表中该asg1的地址信息对应的输出端口所连接的网络设备为p1,该p1仅作为消息转发节点,则rsg向p1发送目标建路消息1和2,由p1将rsg发送的目标建路消息1和2转发至asg1。对于图7中p1或p2,由于p1或p2中并未部署vpn业务,当p1或p2接收到任一目标建路消息后,该任一网络设备从该任一目标建路消息中获取bgp邻居的地址信息,并向该bgp邻居发送该目标建路消息,此时该目标建路消息中的mtu阈值对p1或p2不可见。
130.另外需要说明的是,当根节点为第一网络设备时,本步骤601所示的过程也即是第一网络设备向n个网络设备发送该第一网络设备的第一mtu阈值的过程。
131.602、对于该一个或多个目标网络设备中的任一网络设备,该任一网络设备从至少一个网络设备接收至少一个目标建路消息。
132.在一些可能的场景中,该至少一个网络设备为在朝向该根节点方向上与该任一网络设备连接的网络设备。例如,该任一网络设备为图7中的asg1,则该asg1从与该asg1连接的网络设备p1接收目标建路消息。
133.603、若该一个或多个目标网络设备具有配置mtu阈值的功能,该一个或多个目标网络设备继续发送新的目标建路消息。
134.对于该接收到根节点发送的目标建路消息的该一个或多个目标网络设备,例如图7中asg1或asg2,分别生成新的目标建路消息,并向asg1或asg2的bgp邻居发送。
135.在一种可能的实现方式中,本步骤603所示的过程可以由下述步骤6031-6034所示的过程来实现。
136.步骤6031、该一个或多个目标网络设备中的任一网络设备从接收到的至少一个目标建路消息中,获取至少一个mtu阈值。
137.对于该至少一个目标建路消息中的任一目标建路消息,当该任一网络设备接收到该任一目标建路消息后,从该任一目标建路消息中获取该任一网络设备的一个bgp邻居发送的第一mtu阈值,其中,获取到的一个bgp邻居网络设备的第一mtu阈值也即是该至少一个mtu阈值中的一个。例如该任一网络设备为图7中的asg1,则asg1接收p1转发的rsg所发送目标建路消息,并从目标建路消息中获取rsg的第一mtu阈值。
138.步骤6032、该任一网络设备根据该至少一个mtu阈值,确定该任一网络设备的第一mtu阈值。
139.当该任一网络设备本地预先配置有mtu阈值时,该任一网络设备将该至少一个mtu阈值以及该任一网络设备存储的mtu阈值中的最大值,确定为该任一网络设备的第一mtu阈值,并将该任一网络设备存储的mtu阈值更新为该最大值。
140.作为另一种可能的示例,该任一网络设备本地并未预先配置mtu阈值,则此时可以直接根据从上游网络设备接收的目标建路消息中的mtu阈值,确定该任一网络设备的第一mtu阈值,并继续向下游发送。在一种可能的实现方式中,当该任一网络设备本地并未预先配置mtu阈值时,该任一网络设备将该至少一个mtu阈值中的最大值,确定为该任一网络设备的第一mtu阈值,并存储该任一网络设备的第一mtu阈值。
141.或者,该任一网络设备在接收到邻居网络设备发送的目标建路消息后,根据其他预设规则在该目标建路消息中的mtu阈值和本地存储的mtu阈值中进行选择,以确定该任一网络设备的第一mtu阈值,并继续向该任一网络设备的邻居网络设备发送。
142.步骤6033、对于该一个或多个目标网络设备中的该任一网络设备,生成新的目标
建路消息
143.作为一种可能的示例,若该任一网络设备接收的目标建路消息中携带的mtu阈值与其本地存储的mtu阈值相同,则该任一网络设备在该任一目标建路消息中添加该任一网络设备的地址信息以及该接收的mtu阈值,得到新的目标建路消息;若该任一网络设备接收的目标建路消息中携带的mtu阈值与其本地存储的mtu阈值相同,则该任一网络设备将心的目标建路消息中携带的mtu阈值,修改为该任一网络设备本地存储的mtu阈值,并在该任一目标建路消息中添加该任一网络设备的地址信息。
144.步骤6034,该任一网络设备发送该新目标建路消息。
145.例如该任一网络设备为图7中的asg1,asg1从p1接收到目标建路消息1和2,由于目标建路消息1和2中的mtu阈值均为rsg的第一mtu阈值500,且rsg的第一mtu阈值500等于asg1配置的mtu阈值500,则asg1将500作为asg1的第一阈值,并在目标建路消息1中添加asg1的地址信息,得到目标建路消息3,并向csg1发送目标建路消息3。asg1将asg2作为bgp邻居,并在目标建路消息2中添加asg1的地址信息,得到目标建路消息4,并向asg2发送目标建路消息4。再例如该任一网络设备为图7中的asg2,当asg2接收到目标建路消息4后,目标建路消息4中的mtu阈值500小于asg2本地预先配置的mtu阈值600,则asg2将600作为asg2的第一mtu阈值,并将目标建路消息4中的mtu阈值500修改为600,并在目标建路消息4中添加asg2的地址信息,得到目标建路消息5,并向csg2发送目标建路消息5。
146.604、当接收至少一个目标建路消息的节点为该数据转发路径的叶子节点时,该作为叶子节点的网络设备基于该至少一目标建路消息中的至少一个mtu阈值进行本地配置。
147.叶子节点基于该至少一个mtu阈值进行本地配置的过程与上述步骤6042中任一网络设备确定任一网络设备的第一mtu阈值的过程同理,在此本技术实施例对本步骤605不做赘述。例如该叶子节点为图7中的csg1,当csg1接收到目标建路消息3后,从该目标建路消息3获取asg1的第一mtu阈值500,若csg1未预配mtu阈值,则csg1直接将asg1的第一mtu阈值500配置为csg1的第一mtu阈值。
148.需要说明的是,当根节点与接收端之间的网络设备均不预配mtu阈值时,通过从根节点发送携带mtu阈值的目标建路消息,能够为根节点与接收端之间的网络设备配置相同的mtu阈值,以用于后续建路过程。
149.从步骤601-604可知,mtu阈值依次从根节点逐跳传递至叶子节点,且由于仅在具有配置mtu阈值的功能的网络设备更新传递的mtu阈值,则当具有配置mtu阈值的功能的网络设备为第一网络设备时,第一网络设备的第一mtu阈值,为该第一网络设备的至少一个上一跳网络设备发送至该第一网络设备的至少一个mtu阈值中的最大值。
150.本技术实施例提供的方法,通过根节点向叶子节点方向依次传递mtu阈值,并由具有配置mtu阈值的功能的网络设备自动配置本地的第一mtu阈值,而无须静态配置网络设备的mtu阈值,那么,当数据流转发路径中的节点较多时,通过上述601-605所示的过程能够提高网络运行效率。可以理解地,作为其他可能的实现方式,数据流传输路径中的各个节点也可以不根据其上游网络设备发送的目标建路消息中携带的mtu阈值来确定本地存储的mtu阈值,而是直接采用本地静态配置的方式获取需存储的mtu阈值。
151.为了进一步说明基于上述过程2的确定mtu值过程,参见图9所示的本技术实施例提供的一种mtu确定方法的流程图。
152.901、该叶子节点确定第二mtu阈值。
153.该叶子节点在建路过程中向上游网络设备发送第二mtu阈值,其中,该叶子节点的第二mtu阈值可以是该叶子节点基于图6描述的方式确定的第一mtu阈值,也可以是叶子节点静态配置的。
154.902、该叶子节点向候选第一中间节点发送该叶子节点的mtu值以及该第二mtu阈值。
155.该候选第i中间节点为该数据流转发路径上可候选成为第i中间节点的中间节点,称为候选中间节点,当i=1时,候选第i中间节点也即是候选第一中间节点。
156.该叶子节点利用第二消息,向该叶子节点建路时选择的候选第一中间节点发送该叶子节点的mtu值以及该第二mtu阈值,该第二消息包括该叶子节点的mtu值以及该第二mtu阈值。该第二消息用于指示接收该消息的候选第一中间节点根据该叶子节点的mtu值和mtu阈值建立数据流转发路径,并上传候选第一中间节点的mtu值以及第二mtu阈值。可选地,该第二消息包括第一mtu三元组以及第二mtu三元组,其中,该第一mtu三元组用于存储网络设备的mtu值的标签-长度-值(tag-length-value,tlv),该第一mtu三元组中的标签位用于存储网络设备的mtu值的类型值,以指示第一mtu三元组中的mtu值为网络设备的mtu值,长度位用于存储网络设备的mtu值的长度,数值位用于存储网络设备的mtu值,对于叶子节点而言,叶子节点的mtu值也即是无效mtu值,例如图10所示的本技术实施例提供的一种第一mtu三元组的结构示意图。该第二mtu三元组中的标签位用于存储第二mtu阈值的类型值,以指示该第二mtu三元组中的mtu阈值为网络设备的第二mtu阈值,长度位用于存储网络设备的第二mtu阈值的长度,数值位用于存储网络设备的第二mtu阈值。在一种可能的实现方式中,该第二消息为mldp mapping消息。
157.在一种可能的实现方式中,该叶子节点基于该叶子节点的mtu值以及该第二mtu阈值,生成该第二消息,并向该候选第一中间节点发送该第二消息。可选地,该第二消息还包括根节点的地址信息以及该叶子节点的地址信息。在一种可能的实现方式中,该叶子节点将朝向该根节点方向上该叶子节点连接的一个网络设备确定为该第一候选中间节点。例如叶子节点为图7中的csg1,csg1向rsg方向建路时确定的候选第一中间节点为asg1,则csg1向asg1发送csg1的mtu值以及第二mtu阈值。
158.903、对于该数据流转发路径的任一候选中间节点,该任一候选中间节点从该任一候选中间节点的n个候选下游网络设备,接收该n个候选下游网络设备的n个mtu值以及n个第二mtu阈值。
159.对于该n个候选下游网络设备中的任一网络设备,该任一候选中间节点接收该任一网络设备发送的第二消息,从该第二消息中获取该任一网络设备的mtu值以及第二mtu阈值。例如该任一候选中间节点为图7中的asg1,asg1接收csg1发送的mtu阈值以及第二mtu阈值、asg2发送的mtu阈值以及第二mtu阈值。
160.904、该任一候选中间节点获取该任一候选中间节点的第一mtu比较阈值。
161.该任一候选中间节点根据该n个候选下游网络设备的n个第二mtu阈值,确定该任一候选中间节点的第一mtu比较阈值。
162.在一种可能的实现方式中,当该任一候选中间节点存储有第一mtu阈值时,如该任一候选中间节点为图7中示出的asg1、asg2或rsg节点时,该任一候选中间节点获取该n个第
二mtu阈值和该任一候选中间节点的第一mtu阈值中的最大mtu阈值,并将该最大mtu阈值确定为该任一候选中间节点的第一mtu比较阈值;当该任一候选中间节点未存储mtu阈值时,如该任一候选中间节点为图7中示出的p1或p2节点时,该任一候选中间节点获取该n个第二mtu阈值中的最大mtu阈值,并将获取到的最大mtu阈值确定为该任一候选中间节点的第一mtu比较阈值。
163.905、该任一候选中间节点获取n个路径mtu值,一个路径mtu值为该任一候选中间节点与该n个下游网络设备中的一个网络设备之间的链路的mtu值。
164.在一种可能的实现方式中,该任一候选中间节点获取n个路径mtu值的过程与上述步骤403中获取n个路径mtu值的过程同理,在此,本技术实施例对本步骤905所示的不做赘述。
165.906、该任一候选中间节点根据n个mtu值以及该n个路径mtu值中的最小值,大于或等于该第一mtu比较阈值,将该最小值确定为任一候选中间节点的mtu值。
166.当该n个mtu值以及该n个路径mtu值中的最小值,大于或等于该第一mtu比较阈值时,该任一候选中间节点将该最小值确定为任一候选中间节点的mtu值。
167.907、该任一候选中间节点向该任一候选中间节点的候选上游网络设备,发送任一该候选中间节点的mtu值以及该第一mtu比较阈值。
168.该候选上游网络设备为可候选成为该数据流转发路径上该任一候选中间节点上一个网络设备的中间节点。该任一候选中间节点可以从接收到第二消息中获取根节点的地址信息,并根据根节点的地址信息,将朝向该根节点方向上该任一候选中间节点所连接的一个网络设备确定为该候选上游网络设备。例如该任一候选中间节点为asg1,asg1与p1和asg2连接,由于asg1接收到asg2发送的第二消息,则asg2是asg1的一个下游网络设备,而不能作为asg1的候选上游网络设备,asg1可以将p1作为asg1的候选上游网络设备,并向p1发送asg1的mtu阈值以及第一mtu比较阈值。
169.该任一候选中间节点将该第一mtu比较阈值作为该任一候选中间节点的第二mtu阈值,生成新的第二消息(也即是该任一候选中间节点的第二消息),该新的第二消息包括该任一候选中间节点的mtu值以及该第一mtu比较阈值,该新的第二消息还包括该根节点的地址信息以及该任一候选中间节点的地址信息。在另一种可能的实现的方式中,该任一候选中间节点从接收的到n个第二消息中选出一个第二消息,若该第二消息中的mtu值等于该任一候选中间节点的mtu值,且该第二消息中的第二mtu阈值等于该第一mtu比较阈值,则该任一候选中间节点在该第二消息添加该任一候选中间节点的地址信息,得到新的第二消息;若该第二消息中的mtu值不等于该任一候选中间节点的mtu值,或该第二消息中的第二mtu阈值不等于该第一mtu阈值,则该任一候选中间节点将该第二消息中的mtu值修改为该任一候选中间节点的mtu值,或将该第二消息中的第二mtu阈值修改为该第一mtu比较阈值,并在该第二消息中添加该任一候选中间节点的地址信息,得到新的第二消息。
170.需要说明的是,当该任一候选中间节点为第一网络设备时,该候选上游网络设备也即是第三网络设备,本步骤907所示的过程也即是第一网络设备向第三网络设备发送所述第一网络设备的n个mtu值以及该n个路径mtu值中的最小值、n个第二mtu阈值中的最大mtu阈值的过程。
171.908、根节点从该根节点的n个候选下游网络设备,接收该根节点的该n个候选下游
网络设备的n个mtu值以及r个第二mtu阈值。
172.该根节点的n个候选下游网络设备中的任一网络设备,也即是该数据流转发路径的一个分支的候选第k中间节点。仍以图7为例,rsg的n个候选下游网络设备包括p1,rsg接收p1发送的mtu阈值以及第二mtu阈值。
173.本步骤908所示的过程与步骤903所示的过程同理,在此本技术实施例对本步骤908所示的过程不做赘述。
174.当该根节点为第一网络设备时,本步骤908所示的过程也即是第一网络设备从n个网络设备接收该n个网络设备的n个mtu值的过程。
175.909、该根节点获取该根节点的第一mtu比较阈值。
176.本步骤909所示的过程与步骤904所示的过程同理,在此本技术实施例对本步骤909所示的过程不做赘述。
177.当该根节点为第一网络设备时,本步骤909所示的过程也即是第一网络设获取所述第一网络设备的第一mtu比较阈值的过程。
178.910、该根节点获取n个路径mtu值,一个路径mtu值为该根节点与该根节点的n个候选下游网络设备中的一个网络设备之间的链路的mtu值。
179.本步骤910所示的过程与步骤905所示的过程同理,在此本技术实施例对本步骤910所示的过程不做赘述。
180.当该根节点为第一网络设备时,本步骤910所示的过程也即是第一网络设获取n个路径mtu值的过程。
181.911、该根节点根据获取的该n个mtu值以及该n个路径mtu值中的最小值,大于或等于该第一mtu比较阈值,将该最小值确定为该根节点的mtu值。
182.本步骤911所示的过程与步骤906所示的过程同理,在此本技术实施例对本步骤911所示的过程不做赘述。
183.当该根节点为第一网络设备时,本步骤911所示的过程也即是第一网络设根据n个mtu值以及n个路径mtu值中的最小值,大于或等于第一网络设备的第一mtu比较阈值,将该最小值确定为该第一网络设备的mtu值的过程。
184.912、该根节点基于该根节点的mtu值,向该根节点的n个候选下游网络设备中的一个或多个转发数据流。
185.本步骤912所示的过程与步骤410所示的过程同理,在此本技术实施例对本步骤912所示的过程不做赘述。
186.与图9所示有所不同的,在一种可能的实现方式中,下游网络设备也可以不向上游网络设备发送第二mtu阈值,而只向上游网络设备发送下游网络设备的mtu值,之后由上游网络设备根据本地存储的mtu阈值作为第一mtu比较阈值,实现方法900中所述的在上游网络设备执行的相应建路操作。
187.本技术实施例提供的方法,通过在n网络设备的n个mtu值以及n个路径mtu值中的最小值大于或等于第一网络设备的第一mtu比较阈值情况下,第一网络设备将大于或等于该第一mtu比较阈值的最小值确定为第一网络设备的mtu值,从而能够避免在恶意攻击或误配置等场景下,将一个较小的mtu值确定为网络设备的mtu值而导致的网络运行问题。
188.而在另一种可能的情况下,每个网络设备包括至少一个输出端口以及至少一个输
入端口,对于相互连接的2个网络设备,一个网络设备的至少一个输出端口与另一个网络设备的至少一个输入端口一一连接,每对相互连接的输出端口与输入端口之间形成一条链路,该链路上设置有路径mtu值,从而使得这2个网络设备之间具有至少一条链路。在另一种可能的实现方式中,每个网络设备的每个输出端口包括至少一个输出子端口,每个输入端口包括至少一个输入子端口,对于相互连接的2个网络设备,一个网络设备的输出端口中的至少一个输出子端口分别与另一个网络设备的输入端口中的至少一个输入子端口一一连接,每对相互连接的输出子端口与输入子端口之间形成一条链路,从而使得这2个网络设备之间具有至少一条链路。
189.对于网络设备设备之间具有至少一个链路的情况下,图9中的任一候选中间节点还可以根据该第一mtu比较阈值,对该任一候选中间节点与n个下游网络设备的之间的链路进行剪枝,并获取剪枝后的路径mtu值。在一种可能的实现方式中,上述步骤905、906、910以及911可分别由下述步骤905a、906a、910a以及911a来替换。
190.905a、该任一候选中间节点根据该第一mtu比较阈值,获取m个路径mtu值,一个路径mtu值为该任一候选中间节点与该n个候选下游网络设备中的一个网络设备之间的链路的mtu值,且该m个路径mtu值均大于或等于该第一mtu比较阈值。
191.本步骤905a的实现方式包括下述方式3和方式4。
192.其中,方式3通过对该任一候选中间节点与n个候选下游网络设备中的每个网络设备之间的链路进行剪枝,以获取满足预设条件的路径mtu值。在一种可能的实现方式中,方式3的剪枝过程为:若该任一候选中间节点为第一网络设备,该n个下游网络设备均为第二网络设备,对于n个下游网络设备中的任一第二网络设备,第一网络设备确定该任一第二网络设备的mtu值和路径mtu值中的最小值;该第一网络设备根据该任一第二网络设备的mtu值和路径mtu值中的最小值小于该第一mtu比较阈值,该第一网络设备不允许该任一第二网络设备和该第一网络设备之间的链路加入数据流转发路径,该数据流转发路径为该第一网络设备根据从该n个第二网络设备接收的该n个第二网络设备的n个mtu值以及n个第二mtu阈值建立的路径。
193.在一种可能的实现方式中,对于该n个下游网络设备中任一网络设备,该任一候选中间节点获取该任一网络设备与该任一候选中间节点之间的第一链路的第一路径mtu值,该任一候选中间节点确定该任一网络设备的mtu值和该第一路径mtu值中的最小值,若该最小值小于该第一mtu比较阈值,则该任一候选中间节点不允许该第一链路加入该数据流转发路径;该任一候选中间节点继续获取该任一网络设备与该任一候选中间节点之间的第二链路的第二路径mtu值,该任一候选中间节点确定该任一网络设备的mtu值和该第二路径mtu值中的最小值,若新确定的最小值仍然小于该第一mtu比较阈值,则该任一候选中间节点继续获取该任一网络设备与该任一候选中间节点之间其他链路的路径mtu值,直至获取到大于或等于该第一mtu比较阈值的路径mtu值,且该任一网络设备的mtu值大于或等于该第一mtu比较阈值,则该任一候选中间节点将该大于或等于该第一mtu比较阈值的路径mtu值作为m个路径mtu值中的一个;若该任一候选中间节点获取不到该大于或等于该第一mtu比较阈值的路径mtu值或该任一网络设备的mtu值小于该第一mtu比较阈值,则该任一候选中间节点不允许该任一候选中间节点与该任一网络设备之间的链路加入数据流转发路径。其中,该第一链路为该任一候选中间节点与该任一网络设备中任一链路,该第二链路为该
任一候选中间节点与该任一网络设备之间的除第一链路以为的任一链路。例如该任一候选中间节点和该任一网络设备分别为图7中的asg1和csg1,asg1与csg1之间的第一链路的路径mtu值为300,asg1与csg1之间的第二链路的路径mtu值为700,csg1的第一mtu比较阈值为600,由于第一链路的路径mtu值300小于第一mtu比较阈值600,则asg1不允许asg1与csg1之间的第一链路加入数据流转发路径,由于第二链路的路径mtu值700大于第一mtu比较阈值600,则asg1允许asg1与csg1之间的第二链路加入数据流转发路径。
194.方式4通过对n个候选下游网络设备中mtu值大于该第一mtu比较阈值的候选下游网络设备,与该任一候选中间节点之间的链路进行剪枝,以获取满足预设条件的路径mtu值。在一种可能的实现方式中,方式4的剪枝过程为:若该任一候选中间节点为第一网络设备,n个候选下游网络设备为均为第二网络设备,该第一网络设备确定该n个mtu值中大于或等于该第一mtu比较阈值的s个mtu阈值,对于该s个mtu阈值中任一mtu阈值所对应的第二网络设备,该第一网络设备从该第一网络设备与该第二网络设备之间的至少一个链路的至少一个路径mtu中,选择一个大于该第一mtu阈值的路径mtu值作为该m个路径mtu值中的一个,若该第一网络设备与该第二网络设备之间的链路的路径mtu值均小于该第一mtu比较阈值,则该第一网络设备不允许该第一网络设备与该第二网络设备之间的链路加入数据流转发路径,其中,m≤s≤n,且s为整数。在一种可能的实现方式中,若该n个候选下游网络设备中的任一网络设备的mtu值小于该第一mtu阈值,则该任一候选中间节点不允许该任一网络设备加入该数据流转发路径。
195.在一种可能的实现方式中,对于n个候选下游网络设备中mtu值大于或等于该第一mtu阈值的任一网络设备,该任一候选中间节点获取该任一候选中间节点与该任一网络设备之间的一个链路的路径mtu值,若获取到的路径mtu值小于或等于该第一mtu比较阈值,则该任一候选中间节点继续获取该任一网络设备与该任一候选中间节点之间的其他链路的路径mtu值,若能获取到其他链路的路径mtu值大于或等于该第一mtu比较阈值,则该任一候选中间节点将该其他链路加入该数据流转发路径,若获取不到大于或等于该第一mtu比较阈值的路径mtu值,则该任一候选中间节点不允许该任一候选中间节点与该任一网络设备之间的链路加入该数据流转发路径。
196.通过上述方式3或方式4可知,若该n个候选下游网络设备中的任一网络设备与该任一候选中间节点之间均存在大于或等于该第一mtu比较阈值的路径mtu值,且该任一网络设备的mtu值大于或等于该第一mtu比较阈值,则该任一候选中间节点能够获取到n个大于或等于该第一mtu比较阈值的路径mtu值,其中,获取到的n个路径mtu值分别属于该任一候选中间节点与n个下游网络设备之间的一个链路。若该n个候选下游网络设备中的任一网络设备与该任一候选中间节点之间不存在大于或等于该第一mtu比较阈值的路径mtu值,或该任一网络设备的mtu值小于该第一mtu比较阈值,则该任一网络设备与该任一候选中间节点之间的链路不允许加入该数据流转发路径,则该任一候选中间节点获取不到n个大于或等于该第一mtu比较阈值的路径mtu值。
197.需要说明的是,对于该任一候选中间节点的n个下游网络设备中的任一网络设备,若任一候选中间节点不允许该任一网络设备与该任一候选中间节点之间的链路加入该数据流转发路径,该任一候选中间节点还可以向该任一网络设备返回链路加入拒绝消息,该链路加入拒绝消息用于指示不允许该任一网络设备与该任一候选中间节点之间的链路加
入该数据流转发路径;当该任一网络设备接收到该链路加入拒绝消息后,该任一网络设备还可以根据根节点的地址信息,重新确定出该任一网络设备的另一个候选上游网络设备,并向另一个候选上游网络设备发送该任一网络设备的mtu值以及第二mtu阈值,以增加建成该任一网络设备所在的分支的概率。例如该任一网络设备为图7中asg2,asg2与p2之间链路的路径mtu值为200,若初始时,asg2将p2确定为asg2的候选上游网络设备,则asg2向p2发送asg2的mtu值以及第二mtu阈值600,由于p2未设置mtu阈值,则p2将asg2的第二mtu阈值600确定为p2的第一mtu比较阈值,由于asg2与p2之间链路的路径mtu值200小于p2的第一mtu比较阈值600,则p2不允许asg2与p2之间链路加入数据流转发路径,则p2向asg2返回链路加入拒绝消息,当asg2接收到p2发送的链路加入拒绝消息后,说明asg2通过p2向rsg建路失败,则asg2将asg1确定为该asg2的另一个候选上游网络设备,并向asg1发送asg2的mtu值以及第二mtu阈值,以便通过asg1向rsg建立数据流转发路径。
198.906a、该任一候选中间节点根据m个mtu值以及该m个路径mtu值中的最小值,大于或等于该第一mtu比较阈值,将该最小值确定为该任一候选中间节点的mtu值。
199.该m个mtu值与该m个路径mtu值所对应的候选下游网络设备相同。当该最小值大于或等于该第一mtu比较阈值时,说明该最小值并不是被恶意配置的mtu值,则该任一候选中间节点将该最小值确定为该任一候选中间节点的mtu值。
200.910a、该根节点根据该根节点的第一mtu比较阈值,获取y个路径mtu值,一个路径mtu值为该根节点与该该根节点的n个候选下游网络设备中的一个网络设备之间的链路的mtu值,且该y个路径mtu值均大于或等于该根节点的第一mtu比较阈值,其中,n》y≥0,且为整数。
201.本步骤910a所示的过程与步骤905a所示的过程同理,在此本技术实施例对本步骤910a所示的过程不做赘述。
202.911a、该根节点根据y个mtu值以及该y个路径mtu值中的最小值,大于或等于该第一mtu比较阈值,将该最小值确定为该根节点的mtu值。
203.该y个mtu值与该y个路径mtu值所对应的候选下游网络设备相同,本步骤911a所示的过程与步骤906a所示的过程同理,在此本技术实施例对本步骤911a所示的过程不做赘述。
204.为了进一步说明上述图9结合剪枝的方案传递mtu阈值以及第二mtu阈值的过程,仍以图7为例进行说明,rsg、asg1本地设置的第一mtu阈值均为500,asg2本地设置的第一mtu阈值为600,csg1与asg1之间的链路1的路径mtu值为300,链路2的路径mtu值为700,p2与asg2之间的链路的路径值为200,其余链路的路径mtu值均为1500,csg1的第二mtu阈值为500,csg2的第二mtu阈值为600。
205.csg2向asg2发送asg2的mtu值ffff以及第二mtu阈值600;当接收到csg2的mtu值ffff以及第二mtu阈值600后,则asg2将asg2的第一mtu阈值600以及csg2的第二mtu阈值600中的最大值600作为asg2的第一比较阈值;asg2获取asg2与csg2之间的链路的路径mtu值1500,由于asg2与csg2之间的链路的路径mtu值1500大于asg2的第一比较阈值600,则asg2将asg2与csg2之间的链路加入该数据流转发路径,并将asg2与csg2之间的链路的路径mtu值1500作为asg2的mtu值,将第一mtu比较阈值600作为asg2的第二mtu阈值;当asg2将asg1确定为候选上游网络设备后,asg2向asg1发送asg2的mtu值1500以及第二mtu阈值600。csg1
向asg1发送csg1的mtu值ffff以及第二mtu阈值500;当asg1接收到csg1的mtu值ffff以及第二mtu阈值500、asg2的mtu值1500以及第二mtu阈值600后,asg1将asg1的第一mtu阈值500、csg1的第二mtu阈值500以及asg2的第二mtu阈值600中的最大值600,确定为asg1的第一mtu比较阈值。asg1获取asg1与csg1之间的链路1的路径mtu值300,由于链路1的路径mtu值300小于asg1的第一mtu比较阈值600,则asg1不允许链路1加入该数据流转发路径,则asg1继续获取asg1与csg1之间的链路2的路径mtu值700,而链路2的路径mtu值700大于asg1的第一mtu比较阈值600,则asg1允许链路2加入该数据流转发路径。asg1获取asg1与asg2之间的链路的路径mtu值1500,由于asg1与asg2之间的链路的路径mtu值1500以及asg2的第二mtu阈值600中的最小值600等于asg1的第一mtu比较阈值600,则asg1将asg1与asg2之间的链路加入该数据流转发路径。asg1将获取的路径mtu值700、路径mtu值1500以及asg2的mtu值1500中的最小值700作为asg1的mtu值,将第一mtu比较阈值600作为asg1的第二mtu阈值,当asg1将p1作为上游网络设备后,asg1向p1送asg1的mtu值700以及第二mtu阈值600。p1在获取到asg1的mtu值700以及第二mtu阈值600后,获取p1与asg1之间的链路的路径mtu值1500,由于p1不具有第一mtu阈值,则p1将asg1的第二mtu阈值600作为p1的第一mtu比较阈值,而p1与asg1之间的链路的路径mtu值1500以及asg1的mtu值700中的最小值700大于p1的第一mtu比较阈值600,则p1将最小值700作为p1的mtu值,将第一mtu比较阈值600作为p1的第二mtu阈值,p1向rsg发送p1的mtu值700以及第二mtu阈值600;当rsg接收到p1的mtu值700以及p1的第二mtu阈值600后,rsg将p1的第二mtu阈值600以及rsg的第一mtu阈值500中的最大值600确定为rsg的第一mtu比较阈值;rsg获取p1与rsg之间的链路的路径mtu值1500,由于p1与rsg之间的链路的路径mtu值1500以及p1的mtu值700中的最小值700大于rsg的第一mtu比较阈值600,则rsg将p1与rsg之间的链路加入该数据流转发路径,从而建立成分支csg1-asg1-p1-rsg,以及分支csg2-asg2-asg1-p1-rsg。rsg将p1与rsg之间的链路的路径mtu值1500以及p1的mtu值700中的最小值700,确定为rsg的mtu值,并基于mtu值700向p1转发视频服务器发送的数据流,p1向asg1转发rsg发送的数据流,当asg1接收到p1发送的数据流后,asg1将数据流复制两份,分别向csg1和asg2发送一份数据流的副本,csg1将接收到数据流发送至终端1,asg2将接收到数据流发送至csg2,由csg2将接收到数据流发送至终端2,从而避免rsg将mtu值300作为rsg的mtu值,进而保护了该数据流转发路径。
206.需要说明的是,图4和图9所示的过程提到的数据流转发路径可以是端到端的数据流转发路径,也可以是分段式的数据流转发路径。其中,分段式的数据流转发路径可以包括多个分段,每个分段包括多个网络设备,一个分段中的首个网络设备也即是该分段的根节点,一个分段中的最后一个网络设备为该分段的叶子节点,该数据流转发路径上的每个分段相当于一个目标数据流转发路径,基于每个目标数据流转发路径均可以执行图4、图6或图9所示的过程。例如,图2中的rsg至asg1之间的链路为第一分段,asg1至csg1之间的链路为第二分段,rsg为第一分段的根节点,根节点设置的第一mtu阈值为500,asg1为第一分段的叶子节点,asg1还为第二分段的根节点,设置的第一mtu阈值为600,csg1为第二分段的叶子节点。则第一分段中的rsg以及第二分段中的asg1执行图4、图6或图9中根节点执行的步骤,第一分段中的p1执行图4、图6或图9中中间点执行的步骤,第一分段中的asg1以及第二分段中的csg1执行图4、图6或图9中叶子节点执行的步骤。
207.图11是本技术实施例提供的一种mtu确定装置的结构示意图,所述装置1100可以
为如前述各实施例中描述的第一网络设备或所述第一网络设备中的功能部件,所述装置1100包括:
208.接收模块1101,用于从n个网络设备接收所述n个网络设备的n个mtu值,n≥1,且n为整数;
209.获取模块1102,用于获取n个路径mtu值,一个路径mtu值为所述第一网络设备与所述n个网络设备中的一个网络设备之间的链路的mtu值;
210.确定模块1103,用于若所述n个mtu值以及所述n个路径mtu值中的最小值小于所述第一网络设备的第一mtu阈值,将所述第一mtu阈值确定为所述第一网络设备的mtu值。
211.可选地,所述n个网络设备包括第二网络设备,所述接收模块1101用于:
212.接收所述第二网络设备发送的消息,所述消息携带所述第二网络设备的mtu值,所述第二网络设备的mtu值属于所述n个mtu值。
213.可选地,所述确定模块1103还用于:
214.若所述最小值大于或等于所述第一mtu阈值,将所述最小值确定为所述第一网络设备的mtu值。
215.可选地,所述装置1100还包括发送模块,所述发送模块用于:
216.基于所述第一网络设备的mtu值,向所述n个网络设备中的一个或多个转发数据流;
217.或,向第三网络设备发送所述第一网络设备的mtu值。
218.图12是本技术实施例提供的一种mtu确定装置的结构示意图,所述装置1200可以为如前述各实施例中描述的第一网络设备或所述第一网络设备中的功能部件,所述装置1200包括:
219.接收模块1201,用于从n个网络设备接收所述n个网络设备的n个mtu值,n≥1,且n为整数;
220.第一获取模块1202,用于获取所述第一网络设备的第一mtu比较阈值;
221.第二获取模块1203,用于获取n个路径mtu值,一个路径mtu值为所述第一网络设备与所述n个网络设备中的一个网络设备之间的链路的mtu值;
222.第一确定模块1204,用于根据所述n个mtu值以及所述n个路径mtu值中的最小值,大于或等于所述第一mtu比较阈值,将所述最小值确定为所述第一网络设备的mtu值。
223.可选地,所述n个网络设备包括第二网络设备,所述装置1200还包括:
224.第二确定模块,用于确定所述第二网络设备的mtu值和路径mtu值中的最小值;
225.控制模块,用于根据所述第二网络设备的mtu值和路径mtu值中的最小值小于所述第一mtu比较阈值,不允许所述第二网络设备和所述第一网络设备之间的链路加入数据流转发路径,所述数据流转发路径为所述第一网络设备根据从所述n个第二网络设备接收的所述n个第二网络设备的n个mtu值以及n个第二mtu阈值建立的路径。
226.可选地,所述第一获取模块1202包括:
227.确定单元,用于根据所述n个网络设备发送的n个第二mtu阈值,确定所述第一mtu比较阈值。
228.可选地,所述确定单元用于:
229.获取所述n个网络设备发送的n个第二mtu阈值和所述第一网络设备的第一mtu阈
值中的最大mtu阈值,并将所述最大mtu阈值确定为所述第一网络设备的第一mtu比较阈值;
230.或,获取所述n个网络设备发送的n个第二mtu阈值中的最大mtu阈值,并将获取到的最大mtu阈值确定为所述第一网络设备的第一mtu比较阈值。
231.可选地,所述装置1200还包括:
232.第一发送模块,用于向所述n个网络设备发送所述第一网络设备的第一mtu阈值。
233.可选地,所述第一mtu阈值为所述第一网络设备存储的mtu阈值;
234.或,所述第一mtu阈值为所述第一网络设备存储的mtu阈值以及所述第一网络设备的至少一个上一跳网络设备发送至所述第一网络设备的至少一个mtu阈值中的最大值。
235.可选地,所述装置1200还包括第二发送模块,所述第二发送模块用于:
236.基于所述第一网络设备的mtu值,向所述n个网络设备中的一个或多个转发数据流;
237.或,向第三网络设备发送所述第一网络设备的所述最小值和所述最大mtu阈值。
238.上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
239.需要说明的是:上述实施例提供的mtu确定装置在确定mtu值时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的mtu确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
240.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述mtu确定方法。
241.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
242.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本技术中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本技术中均不作限定。并且,作
为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本技术方案的目的。
243.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献