一种路径选择方法及中心控制器与流程

文档序号:31868796发布日期:2022-10-21 17:39阅读:37来源:国知局
一种路径选择方法及中心控制器与流程

1.本技术涉及计算机网络技术领域,尤其涉及一种路径选择方法及中心控制器。


背景技术:

2.网络报文在网络中传递时会涉及路由选择,随着网际互连协议(internet protocol,ip)网络的发展,视频会议,可视电话等多媒体业务不断增加,基于链路状态动态地为业务流量选择路由路径成为当前主要研究方向。链路状态可用服务质量(quality of service,qos)的性能指标(如时延、丢包率等)来描述。
3.为了实现基于链路状态动态地为业务流量选择路由路径,网络中的转发节点需要采集链路状态,即转发节点需要对其邻居转发节点进行qos测量。例如,以网络中的转发节点为全互联(full-mesh)时,请参阅图1所示,在这种网络拓扑结构中,每个转发节点都需要对其邻居转发节点进行qos测量,从而采集该转发节点与其邻居转发节点之间的链路状态。
4.若通信网络中转发节点的数量为n个,则整个网络需要n
×
(n-1)次qos测量,在转发节点的数量较多的情况下,网络中链路上的开销会呈指数级增长。例如,当转发节点的数量为10万个左右时,那么整个通信网络大约需要100万次测量,大量的qos测量给通信网络造成较大的开销压力。


技术实现要素:

5.本技术实施例提供了一种路径选择方法及中心控制器,用于减少整个通信网络的开销。
6.第一方面,本技术实施例提供了一种路径选择方法,路径选择方法应用于一种通信网络,通信网络包括中心控制器和多个转发节点,中心控制器用于管理多个转发节点并确定多个转发节点的拓扑结构,多个转发节点被划分到多个子区域内,子区域内中的多个转发节点中至少有一个转发节点作为域间边界节点;中心控制器接收来自转发节点的第一链路状态信息,其中,第一链路状态信息包括:在转发节点所属的子区域内,转发节点分别与多个邻居转发节点间的链路状态,即在子区域内,转发节点对邻居转发节点进行qos测量;并且,中心控制器接收来自域间边界节点的第二链路状态信息,即域间边界接节点用于对邻居域间边界节点进行qos测量,第二链路状态信息包括域间边界节点与其他子区域的邻居域间边界节点间的链路状态;中心控制器根据第一链路状态信息和第二链路状态信息,及多个转发节点的拓扑结构在多个转发节点中选择目标路径。本技术实施例中,通信网络中所有的转发节点被划分到多个子区域。在每个子区域内,转发节点与其邻居转发节点间进行qos测量。在不同的子区域间,每个子区域的域间边界节点与其他子区域的邻居域间边界节点进行qos测量。由于所有的转发节点被划分到不同的子区域,一个子区域内除了域间边界节点之外的其他转发节点不会和另一个子区域内的转发节点进行qos测量,从而减少整个通信网络内的qos测量的次数,进而减少通信网络开销。
7.在一种可能的实现方式中,若目标路径是从第一转发节点到第二转发节点的路
径,第一转发节点属于第一子区域,第二转发节点属于第二子区域时,根据第一链路状态信息和第二链路状态信息,及多个转发节点的拓扑结构在多个转发节点中选择目标路径可以具体包括:首先,中心控制器根据第一转发节点分别与第一子区域内多个邻居转发节点间的链路状态,及拓扑结构确定第一路径,第一路径是第一转发节点到第三转发节点的路径,第三转发节点是第一子区域的域间边界节点;然后,中心控制器根据第三转发节点与其他子区域的域间边界节点间的链路状态,及拓扑结构确定第二路径,第二路径是第三转发节点到第四转发节点的路径,第四转发节点是第二子区域的域间边界节点;再后,中心控制器根据第四转发节点与第二子区域内的邻居转发节点间的链路状态,及拓扑结构确定第三路径,第三路径是第四转发节点到第五转发节点的路径,第五转发节点是第二子区域的域间边界节点;最后,中心控制器根据第一路径,第二路径和第三路径生成目标路径。本实施例中,中心控制器分段计算目标路径,中心控制器先计算第一子区域内的路径,再计算第一子区域与第二子区域间的路径,最后计算第二子区域内的路径,从而可以得到从第一转发节点到第二转发节点的目标路径,相对于传统方法,本实施例中不需要在子区域内和区域间进行泛洪传输报文来传递子区域内最优路径,从而节省传输资源。
8.在一种可能的实现方式中,转发节点为骨干转发节点,通信网络还包括叶子转发节点,中心控制器还还用于管理叶子转发节点,所述方法还可以包括:中心控制器接收叶子转发节点发送的请求,请求用于向中心控制器请求待接入的目标骨干转发节点;中心控制器根据该请求和叶子转发节点的地理位置向叶子转发节点发送目标骨干转发节点的ip地址,目标骨干转发节点是多个转发节点中地理位置距离叶子转发节点的地理位置最近的转发节点。本实施例中,整个通信网络中还包括大量的叶子转发节点,由于叶子转发节点资源受限,不能存储占用大量存储资源的路由表,故而,叶子转发节点不作为目标路径中的参与节点,叶子转发节点就近接入到骨干转发节点,叶子转发节点将来自终端设备的待转发的数据,默认转发到就近的骨干转发节点。既保证了叶子节点的性能,又降低了中心控制器计算目标路径的计算复杂度。
9.在一种可能的实现方式中,目标骨干转发节点的数量为至少两个,至少两个目标骨干转发节点包括第一骨干转发节点和第二骨干转发节点;中心控制器根据该请求和叶子转发节点的地理位置向叶子转发节点发送目标骨干转发节点的ip地址还可以具体包括:中心控制器根据叶子转发节点的地理位置向叶子转发节点发送第一骨干转发节点的ip地址、第二骨干转发节点的ip地址及指示信息,指示信息用于指示叶子转发节点将待转发的数据优先发送给第一骨干转发节点。本实施例中,至少两个目标骨干转发节点中,一个目标骨干转发节点作为主节点,而其他的目标骨干转发节点都可以作为备节点。例如,目标骨干转发节点的数量为两个,其中,第一骨干转发节点为主节点,第二骨干转发节点为备节点。主节点是叶子转发节点默认优先接入的转发节点,备节点是叶子转发节点备用接入的转发节点。例如,当叶子转发节点到主节点的链路发生故障或链路状态差时,叶子转发节点可以选择接入备节点。从而保证叶子转发节点到目标骨干转发节点之间的链路的可靠性。
10.在一种可能的实现方式中,根据请求和叶子转发节点的地理位置向叶子转发节点发送目标骨干转发节点的ip地址还可以包括:中心控制器根据请求和叶子转发节点的地理位置向叶子转发节点发送第一信息,第一信息包括第一骨干转发节点的ip地址、第二骨干转发节点的ip地址,第一信息用于触发叶子转发节点测量与第一骨干转发节点之间的第一
链路状态,及与第二骨干转发节点之间的第二链路状态,当第一链路状态优于第二链路状态时,以向第一骨干转发节点发送待转发的数据。本实施例中,叶子转发节点优先接入第一骨干转发节点还是第二骨干转发节点,是由叶子转发节点确定的,叶子转发节点选择链路状态较优的链路对应的目标骨干转发节点作为主节点,提高了传输的可靠性。
11.在一种可能的实现方式中,骨干转发节点为部署于边缘云,接入点pop,或云区域中的转发节点;叶子转发节点为部署于光线路终端olt,或多接入边缘计算设备mec中的转发节点。
12.第二方面,本技术提供了一种中心控制器,中心控制器属于通信网络,通信网络还包括多个转发节点,中心控制器用于管理多个转发节点并确定多个转发节点的拓扑结构,多个转发节点被划分到多个子区域内,子区域内中的多个转发节点中至少有一个转发节点作为域间边界节点,中心控制器包括:
13.接收模块,用于接收来自转发节点的第一链路状态信息,第一链路状态信息包括:在转发节点所属的子区域内,转发节点分别与多个邻居转发节点间的链路状态;并接收来自域间边界节点的第二链路状态信息,第二链路状态信息包括域间边界节点与其他子区域的邻居域间边界节点间的链路状态;
14.处理模块,用于根据接收模块接收的第一链路状态信息和第二链路状态信息,及多个转发节点的拓扑结构在多个转发节点中选择目标路径。
15.在一种可能的实现方式中,若目标路径是从第一转发节点到第二转发节点的路径,第一转发节点属于第一子区域,第二转发节点属于第二子区域时,处理模块还具体用于:根据第一转发节点分别与第一子区域内多个邻居转发节点间的链路状态,及拓扑结构确定第一路径,第一路径是第一转发节点到第三转发节点的路径,第三转发节点是第一子区域的域间边界节点;根据第三转发节点与其他子区域的域间边界节点间的链路状态,及拓扑结构确定第二路径,第二路径是第三转发节点到第四转发节点的路径,第四转发节点是第二子区域的域间边界节点;根据第四转发节点与第二子区域内的邻居转发节点间的链路状态,及拓扑结构确定第三路径,第三路径是第四转发节点到第五转发节点的路径,第五转发节点是第二子区域的域间边界节点;根据第一路径,第二路径和第三路径生成目标路径。
16.在一种可能的实现方式中,转发节点为骨干转发节点,通信网络还包括叶子转发节点,中心控制器还用于管理叶子转发节点;中心控制器还包括发送模块;接收模块,还用于接收叶子转发节点发送的请求,请求用于向中心控制器请求待接入的目标骨干转发节点;发送模块,用于根据所述请求和叶子转发节点的地理位置向叶子转发节点发送目标骨干转发节点的ip地址,目标骨干转发节点是多个转发节点中地理位置距离叶子转发节点的地理位置最近的转发节点。
17.在一种可能的实现方式中,目标骨干转发节点的数量为至少两个,至少两个目标骨干转发节点包括第一骨干转发节点和第二骨干转发节点;发送模块,还用于根据叶子转发节点的地理位置向叶子转发节点发送第一骨干转发节点的ip地址、第二骨干转发节点的ip地址及指示信息,指示信息用于指示叶子转发节点将待转发的数据优先发送给第一骨干转发节点。
18.在一种可能的实现方式中,发送模块,还用于根据叶子转发节点的地理位置向叶
子转发节点发送第一信息,第一信息包括第一骨干转发节点的ip地址、第二骨干转发节点的ip地址,第一信息用于触发叶子转发节点测量与第一骨干转发节点之间的第一链路状态,及与第二骨干转发节点之间的第二链路状态,当第一链路状态优于第二链路状态时,以向第一骨干转发节点发送待转发的数据。
19.第三方面,本技术实施例提供了一种中心控制器,包括处理器,所述处理器与至少一个存储器耦合,所述处理器用于读取所述至少一个存储器所存储的计算机程序,使得所述中心控制器执行如上述第一方面所述的方法。
20.第四方面,本技术实施例提供了一种通信系统,通信系统包括多个转发节点和如上述第二方面中任一项的中心控制器,中心控制器用于管理多个转发节点并确定多个转发节点的拓扑结构,多个转发节点被划分到多个子区域内,子区域内中的多个转发节点中至少有一个转发节点作为域间边界节点。
21.第五方面,本技术实施例提供了一种计算机程序产品,计算机程序产品中包括计算机程序代码,其特征在于,当计算机程序代码被计算机执行时,使得计算机实现上述如上述第一方面中任一项的方法。
22.第六方面,本技术实施例提供了一种计算机可读存储介质,其特征在于,用于储存计算机程序或指令,计算机程序或指令被执行时使得计算机执行如上述第一方面中任一项的方法。
附图说明
23.图1为转发节点间全互联的示例图;
24.图2为传统方法中ospf的场景示意图;
25.图3为传统方法中提供的路径选择的步骤流程示意图;
26.图4为本技术实施例中通信网络架构的示意图;
27.图5为overlay网络和underlay网络的示意图;
28.图6为本技术实施例中一种路径选择方法的一个实施例的步骤流程示意图;
29.图7为本技术实施例中通信网络的一个示例的场景示意图;
30.图8为本技术实施例中通信网络的另一个示例的场景示意图;
31.图9为本技术实施例中通信网络的另一个示例的场景示意图;
32.图10为本技术实施例中一种路径选择方法的另一个实施例的步骤流程示意图;
33.图11为本技术实施例中一种中心控制器的一个实施例的结构示意图;
34.图12为本技术实施例中一种中心控制器的另一个实施例的结构示意图。
具体实施方式
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必然用于描述特定的顺序或先后次序。另外,“多个”指两个及两个以上。
36.为了解决转发节点间链路状态测量的次数数量庞大的问题,本技术实施例提供了一种路径选择方法,主要通过对整个通信网络中所覆盖的区域进行分区,通信网络中所有的转发节点被划分到多个子区域。在每个子区域内,转发节点与其邻居转发节点间进行qos
测量。在不同的子区域间,每个子区域的域间边界节点与其他子区域的邻居域间边界节点进行qos测量。由于所有的转发节点被划分到不同的子区域,一个子区域内除了域间边界节点之外的其他转发节点不会和另一个子区域内的转发节点进行qos测量,从而减少整个通信网络内的qos测量的次数。
37.本技术中提供的方法中,对通信网络所覆盖的区域进行分区,通信网络中所有的转发节点被划分到多个子区域。而传统方法中,以开放的最短路径优先协议(open shortest path first,ospf)协议场景为例,也涉及到对通信网络进行分区。请参阅图2所示,在ospf场景下,多个子区域(如分别标记为“区域1”,“区域2”和“区域3”等)中的每个子区域内部署有多个节点,每个子区域内的节点选举出一个边界节点,同时多个边界节点又构建成一个骨干区域(如标记为“区域0”),边界节点负责子区域之间的信息传递和数据传输。以“区域1”,“区域2”这两个子区域内的节点计算最短路径为例进行说明。请参阅图3所示,节点计算最短路径如下步骤s11-s16所示。
38.s11、子区域1中的每个节点(包括边界节点)学习子区域1中多个节点的拓扑,同时子区域2中的每个节点学习子区域2中多个节点的拓扑。“学习”是指一个节点和邻居节点相互交换各自已经获知的路由信息,例如节点1向节点2发送信息,该信息用于指示节点1的邻居节点有节点2和节点3,那么节点2在收到该信息后,就可以“学习”到通信网络中还有一个节点3,节点3是节点1的邻居节点。从而节点1能够学习到网络的拓扑,同理,节点2和节点3也能能够学习到网络的拓扑。
39.s12、子区域1中的节点(包括边界节点)根据子区域1的拓扑学习本区域(区域1)的最短路径(如标记为“cost p1”),同时子区域2中的节点根据子区域2的拓扑学习本区域(区域2)的最短路径(如标记为“cost p3”)。
40.s13、骨干区域(区域0)中的每个边界节点(包括区域2的边界节点)计算区域1的边界节点和区域2的边界节点之间的最短路径(标记为“cost p2”)。
41.s14、子区域1的边界节点将最短路径cost p1泛洪至骨干区域内的所有边界节点。
42.s15、骨干区域中的边界节点将最短路径(cost(p2+p1))泛洪至所在子区域2内的所有节点。
43.s16、子区域2中的每个节点接收到本区域的边界节点发送的最短路径(cost(p2+p1))后,叠加3段最短路径,得到最终的最短路径(cost(p1+p2+p3)),该最短路径是区域2内的节点到区域1内的节点的最短路径。
44.从上述例子可以看出,传统方法中,各子区域的最短路径需要由边界节点进行转发,每个子区域内的最短路由需要该子区域的边界节点先泛洪至骨干区域,然后骨干区域内的所有边界节点再将其接收到的其他子区域的最短路径泛洪到本子区域内的所有节点,导致整个网络内就会传输大量的泛洪报文,大量的泛洪报文会占用大量的传输资源,造成传输资源浪费。
45.本技术实施例提供的一种路径选择的方法,既减少转发节点间qos测量次数,又可以节省传输资源。该方法应用于一种通信网络,本技术实施例中的通信网络与上述图2对应的示例不同之处主要在于:本技术中的通信网络架构不但包括多个转发节点,还包括中心控制器,中心控制器获取通信网络中所有转发节点的拓扑结构,并由中心控制器来计算通信网络全域的最最优路径。请参阅图4所示,通信网络架构包括中心控制器401和多个转发
节点402,中心控制器401用于管理(纳管)所有转发节点402并确定所有转发节点402的拓扑结构,并计算通信网络中全域的最优路径。多个转发节点402按照地理位置被划分到多个子区域,其中,在每个子区域中的多个转发节点402中的至少一个转发节点402作为域间边界节点403。每个子区域内的多个转发节点402之间全互联(full-mash),各域间边界节点403之间全互联。本技术实施例中的域间边界节点与上述图2对应示例中的边界节点的不同之处主要在于,本技术中的域间边界节点的作用并不是为了传递各个子区域间的信息,域间边界节点用于向中心控制器上报各域间边界节点间的第二链路状态信息。并且本技术中的每个子区域内的转发节点不需要学习本子区域内的拓扑及路径,每个子区域内的转发节点用于向中心控制器上报本区域内的转发节点间的第一链路状态信息,中心控制器根据第一链路状态信息和第二链路状态信息和所有转发按节点的拓扑结构来选择目标路径。相对于传统的路径选择的方法,本技术中只有子区域内的转发节点之间进行qos测量,而不同子区域的转发节点间不需要进行链路状态测量,既减少了通信网络中的转发节点间进行qos测量的次数,而且不需要在子区域内和区域间进行泛洪传输报文来传递子区域内最优路径,从而节省传输资源,并且,本技术中由中心控制器负责计算路径,从而节省转发节点的计算资源。
46.为了更好的理解本技术,首先对本技术中涉及的词语进行示例性说明。
47.中心控制器,用于管理通信网络中所有的转发节点,确定通信网络中多个转发节点的拓扑结构;接收域间边界节点的第二链路状态信息,并接收来自子区域内的转发节点的第一链路状态信息;根据通信网络的拓扑结构、第一链路状态信息和第二链路状态信息选择目标路径。中心控制器可以部署于云侧。
48.转发节点,用于实现数据的转发功能,还可以用于实现qos测量功能。转发节点可以是部署在部署环境所提供的“主机”上,用于实现转发功能的虚拟转发设备。转发节点和部署环境整体上可以构成一个逻辑转发节点。在某些应用场景中,该转发节点也可以称为“加速节点”。
49.部署环境,用于为转发节点分配“主机”及公网ip地址。部署环境包括但不限定于边缘云、光线路终端(optical line terminal,olt)、多接入边缘计算(multi-access edge computing,mec)、接入点(point of presence,pop)、云区域(region)等。
50.对于“域内转发节点”和“域间边界节点”、“骨干转发节点”和“叶子转发节点”、“源转发节点”和“目的转发节点”、的说明。
[0051]“域内转发节点”和“域间边界节点”、“源转发节点”和“目的转发节点”、“骨干转发节点”和“叶子转发节点”均是上述说明的转发节点,均用于实现对数据的转发功能。仅是基于不同的划分标准对转发节点进行区分,请参阅下述3点说明。
[0052]
1)、基于转发节点的地理位置将通信网络覆盖范围内中的转发节点进行分组,将分组后的转发节点划分到不同的子区域。在每个子区域内,至少有一个转发节点作为域间边界节点。每个子区域内,除了“域间边界节点”之外的其他转发节点可以称为“域内转发节点”。
[0053]
需要注意的是,域间边界节点既需要对其他子区域的邻居域间转发节点进行qos测量,又需要在所属的子区域内对邻居转发节点进行qos测量。而域内转发节点只需要在所属的子区域内对邻居转发节点进行qos测量。举例子来说,在子区域a中部署的所有转发节
点包括“转发节点aa”、“转发节点ab”、“转发节点ac”和“转发节点ad”。“转发节点aa”、“转发节点ab”、“转发节点ac”和“转发节点ad”之间全互联,即这四个转发节点之间互为邻居转发节点。其中,转发节点aa又作为子区域a的域间边界节点。“转发节点ab”、“转发节点ac”和“转发节点ad”是子区域a内的域内转发节点。“转发节点aa”作为子区域a的域间边界节点,需要对其他子区域(如子区域b和子区域c)的域间边界节点进行qos测量。例如,子区域b的域间边界节点为“转发节点ba”,子区域c的域间边界节点为“转发节点ca”。转发节点aa作为域间边界节点时,需要测量与转发节点ba之间的链路状态,测量与转发节点ca之间的链路状态。同时,转发节点aa又需要对子区域a中的邻居转发节点(ab、ac、ad)进行qos测量。
[0054]
需要说明的是,本技术实施例中对于每个子区域内部署的转发节点的数量并不限定,根据不同的应用场景,每个子区域内部署的转发节点的数量可能会有很大差异。例如,一个子区域内的转发节点的数量可能是千位级、万位级或十万位级等。上述“通信网络覆盖范围”可以是全球范围,那么子区域可以是“亚太区域”、“欧洲区域”等。或者,“通信网络覆盖范围”可以是中国范围,那么子区域可以是“北京区域”、“上海区域”等。或者,“通信网络覆盖范围”可以是一个省的范围,那么子区域可以是该省内的“市”等,具体的并不限定。
[0055]
2)、基于转发节点所部署的部署环境,通信网络中所有的转发节点分为“骨干转发节点”和“叶子转发节点”。示例性的,部署在边缘云、pop、云区域(region)上的转发节点为骨干转发节点。部署在olt和mec上的转发节点为叶子转发节点。上述“域内转发节点”和“域间边界节点”均为骨干转发节点。其中,骨干转发节点参与链路状态的测量,而叶子转发节点不参与链路状态的测量。骨干转发节点作为中心控制器选择目标路径参与节点,叶子转发节点不会作为中心控制器选择目标路径参与节点。
[0056]
3)、基于数据的转发方向将转发节点分为“源转发节点”和“目的转发节点”。从发送端设备接收待转发的数据的转发节点为“源转发节点”。将待转发的数据发送到目的端设备的转发节点为“目的转发节点”。以跨区域的路径为例,区域a内的转发节点aa为源转发节点,而其他区域(如区域b和区域c)中的任意一个转发节点都可以是目的转发节点。
[0057]
对转发节点之间的链路状态进行示例性说明。
[0058]
转发节点通过对邻居转发节点的qos测量,采集到转发节点至其邻居转发节点的链路状态。可以理解的是,链路状态可以用qos值来描述,其中,qos的性能指标包括丢包率,延时及抖动等。示例性的,转发节点对每一个邻居转发节点间的链路进行qos测量时,转发节点会向其邻居转发节点连续发送q个探测包(q为大于或者等2的整数),转发节点根据这q个探测包的回复情况来计算传输时延、抖动和丢包率等。可选地,转发节点将传输时延、抖动和丢包率取进行加权平均,用加权平均后的值来描述转发节点与该邻居转发节点的链路状态。本技术中,转发节点对其邻居转发节点的“链路状态”的测量也可以称为“qos测量”。
[0059]
对叠加(overlay)网络和底层承载(underlay)网络的说明。
[0060]
underlay网络是指物理网络,由物理设备和物理链路组成。例如,常见的物理设备有交换机、路由器和防火墙等,这些物理设备通过特定的链路连接起来形成了一个传统的物理网络。
[0061]
overlay网络是一种可以建立在另一网络(如underlay)之上的计算机网络。overlay网络中的节点(即转发节点)可以被认为是通过虚拟或逻辑链接相连,其中每个链接对应一条路径(path)。请参阅图5进行理解,图5中h、i、j、k四个节点为overlay网络中的
逻辑节点。示例性的,在上层overlay网络中,h、j两节点之间的直连通路,即在应用层层面只有一跳,而映射到下层underlay网络中,可能涉及多个中继转发的路由设备,实际上是多跳路由。但在基于overlay网络的应用开发时,不需要考虑下层underlay网络中各物理节点的连接情况,只需要考虑部署的overlay中节点之间的互联关系。overlay网络中节点通过封装映射到underlay网络中节点的源ip和目的ip,实现在overlay层的数据转发。
[0062]
示例性的,在一个应用场景中,转发节点为overlay网络中的逻辑节点,将overlay网络部署为应用传送网络(application delivery network,adn),转发节点部署在全球范围内的边缘云、olt、mec、pop、云region提供的虚拟机或容器中。中心控制器可以是部署在云region的虚拟控制器。
[0063]
请参阅图6所示,下面通过实施例对本技术中一种路径选择方法进行示例性说明。通信网络内的转发节点分为骨干转发节点和叶子转发节点,骨干转发节点作为中心控制器路径选择中的参与节点,而叶子转发节点不会作为路由路径的参与节点。本实施例中主要对所有骨干转发节点进行路径选择进行说明,即下述步骤601-步骤607中的转发节点为骨干转发节点。本实施例中主要包括两个部分,第一个部分:前期准备阶段,详见下述步骤601-步骤604。第二个部分:确定路径阶段,详见下述步骤605-步骤607。
[0064]
步骤601、中心控制器对通信网络中的所有转发节点进行注册。
[0065]
中心控制器与转发节点握手通信,中心控制器与转发节点建立连接后,中心控制器接收每个转发节点发送的注册请求。该注册请求包括但不限于转发节点的部署环境的id,转发节点的公网ip地址,转发节点部署环境的物理位置等。中心控制器对转发节点进行注册的过程可以理解为中心控制器存储转发节点的相关信息的过程,中心控制器获取每个转发节点的相关信息,进一步可以对每个转发节点进行管理。
[0066]
本步骤为中心控制器对转发节点进行注册的步骤,如果转发节点已经注册到中心控制器,中心控制器不必在每次选择路径的过程中都执行本步骤,步骤601为可选步骤,可以不执行,而直接执行步骤602。
[0067]
步骤602、中心控制器将所有的转发节点进行分组,将分组后的转发节点划分到不同的子区域,并确定每个子区域内的域间边界节点。
[0068]
示例性的,以全球范围为例,中心控制器按照地理位置将全球范围内的转发节点进行分组,例如,转发节点的数量为m,m个转发节点被分成z组,每组的转发节点对应一个子区域(即共z个子区域)。例如,多个子区域包括“亚太子区域”和“欧洲子区域”等。
[0069]
通常情况下,中心控制器会根据转发节点的部署环境来确定一个转发节点是域间边界节点还是域内转发节点。请参阅图7所示,中心控制器选择每个子区域内的pop点(或pop中部署的转发节点)作为本子区域的域间边界节点。可选地,为了缓解pop点的数据流量压力,中心控制器还可以选择规模较大的边缘云作为子区域的域间边界节点。可以理解的是,如果只有pop点作为边界节点,则区域内的流量必须经过pop点,会造成pop点转发流量的压力增大,由此,中心控制器还可以选择子区域内的边缘云作为域间边界节点,从而缓解pop点流量压力。中心控制器确定每个子区域内的域间边界节点后,任意一个子区域内除了域间边界节点之外的其他转发节点为域内转发节点(如边缘云)。
[0070]
需要说明的是,整个通信网络在没有新增或删减转发节点的情况下,中心控制器确定每个子区域的域间边界节点和域内转发节点后,不必每次都执行本步骤。步骤602为可
选步骤,可以不执行,而直接执行步骤603。
[0071]
步骤603、中心控制器确定通信网络中转发节点的拓扑结构。
[0072]
示例性的,请再次参阅图7所示,子区域a内注册的转发节点数是n1,且n1个转发节点的连接方式是全互联(full-mash);子区域b内注册的转发节点数是n2,且n2个转发节点的连接方式是全互联;子区域c内注册的转发节点数是n3,且n3个转发节点的连接方式是全互联。子区域a中包括m1个域间边界节点,子区域b中包括m2个域间边界节点,子区域c中包括m3个域间边界节点,这3个子区域的域间边界节点之间全互联,中心控制器确定整个通信网络全域转发节点的拓扑结构(如图7所示)。
[0073]
需要说明的是,若整个通信网络在没有新增或删减转发节点的情况下,且子区域内的转发节点之间的连接方式(如full-mash)不改变,域间边界节点之间的连接方式(如full-mash)不改变,不必每次都执行本步骤。步骤603为可选步骤,可以不执行,而直接执行步骤604。
[0074]
步骤604、中心控制器向所有转发节点发送区域划分信息,区域划分信息用于指示转发节点所属的子区域。
[0075]
中心控制器向每个转发节点(域间边界节点和域内转发节点)发送该转发节点对应的子区域信息,以通知该转发节点所属的子区域。示例性的,子区域信息可以为子区域的标识,如“aa”表示“亚太”子区域,“ab”表示“欧洲”子区域等。中心控制器向域间边界节点aa发送区域信息a,该区域信息a指示域间边界节点aa属于“亚太”子区域;中心控制器向域间边界节点ba发送区域信息b,该区域信息b指示域间边界节点ba属于“欧洲”子区域。
[0076]
需要说明的是,每个转发节点所属的子区域不发生改变的情况下,不需要每次都执行本步骤。步骤604为可选步骤,可以不执行,而直接执行步骤605。本实施例中不限定步骤603和步骤604的时序,步骤603和步骤604可以同步执行;或者,步骤603在步骤604之前执行;或者,步骤603在步骤604之后执行。
[0077]
步骤605、每个子区域内的转发节点获取第一链路状态信息;且每个域间边界节点获取第二链路状态信息。
[0078]
本实施例中,为了区分子分域内的转发节点获取的链路状态信息和域间边界节点获取的链路状态信息,将针对子区域内的链路状态信息称为“第一链路状态信息”,将域间边界节点获取的链路状态信息称为“第二链路状态信息”。
[0079]
以第一子区域为例,第一子区域为所有子区域中的任意一个子区域。第一子区域内的每个转发节点对本子区域内的邻居转发节点进行qos测量。每个子区域内转发节点都会获取到与其邻居转发节点间的链路状态。第一子区域对应的第一链路状态信息包括第一子区域内的每个转发节点测量的转发节点到邻居转发节点的链路状态。示例性的,为了方便说明,第一子区域内以4个转发节点为例进行说明,4个转发节点分别为转发节点aa、转发节点ab、转发节点ac和转发节点ad。转发节点aa、ab、ac和ad全互联。转发节点aa分别向其他的3个转发节点发送探测包,转发节点aa根据探测包的回复情况分别确定转发节点aa到转发节点ab的链路状态,转发节点aa到转发节点ac的链路状态,及转发节点aa到转发节点ad的链路状态。同理,转发节点ab获取转发节点ab到转发节点aa的链路状态、转发节点ab到转发节点ac的链路状态,及转发节点ab到转发节点ad的链路状态。应理解,转发节点aa

转发节点ab的链路状态和转发节点ab

转发节点aa的链路状态可能相同,也可能不相同。转发
节点aa获取到的链路状态信息包括转发节点aa到第一子区域内邻居转发节点的链路状态(即a

b的链路状态,a

c的链路状态和a

c的链路状态)。
[0080]
同理,每个域间边界节点通过对邻居域间边界节点的qos测量,获取每个域间边界节点到其他子区域的域间边界节点的链路状态信息。示例性的,转发节点aa同时也作为域间边界节点,如转发节点aa属于子区域a,子区域b的域间边界节点为转发节点ba,子区域c的域间边界节点为转发节点ca。转发节点aa获取转发节点aa到邻域域间边界节点的链路状态信息(包括aa

ba的链路状态,aa

ca的链路状态等)。可以理解的是,链路状态信息包括链路状态(用qos值描述)及该链路状态对应的链路标识(如aa

ba,或aa

ca等)。
[0081]
可以理解的是,一个子域内所有的转发节点全互联,那么在一个子区域内,任意一个转发节点的邻居转发节点是指,该子区域内除了该转发节点之外的其他所有转发节点。同理,多个域间边界节点间全互联,一个域间边界节点的邻居域间边界节点是指,与该域间边界节点直连的其他子区域内的域间边界节点。
[0082]
域内转发节点和域间边界节点确定进行qos测量的测量时刻可以包括以下几种实现方式。
[0083]
第一种可能的实现方式,域内转发节点(或域间边界节点)周期性的进行qos测量,每间隔一个固定时长(如秒级)进行一次qos测量。
[0084]
第二种可能的实现方式,域内转发节点(或域间边界节点)根据上一次qos测量的历史链路状态确定下一次的测量时刻。示例性的,域内转发节点(或域间边界节点)将上次得到的传输时延、抖动、丢包率等信息进行加权平均,得到加权平均值,将该加权平均值乘以一定的系数,再加上当前时间戳的整形值,得到下一次的qos测量时刻。在第二种实现方式中,域内转发节点(或域间边界节点)每次进行qos测量的测量时刻是根据上一次的历史链路状态得到的。例如,第n次进行qos测量的时刻为t1,第(n+1)次进行qos测量的时刻是t2,t2是根据第n次测量的历史链路状态得到的。可以理解的是,若第n次进行qos测量得到的链路状态较优,则t1至t2的间隔时长较长;若第n次进行qos测量得到的链路状态较差,则t1至t2的间隔时长较短。简言之,相邻两次测量时刻的间隔时长是动态的,是根据历史链路状态决定的。从而可以避免在域内转发节点(或域间边界节点)的链路状态较好的情况下,频繁的进行测量,进而节省带宽资源。并且可以在域内转发节点(或域间边界节点)的链路状态较差的情况下,能够及时的进行测量,及时更新链路状态,以为中心控制器计算路径提供基础。
[0085]
第三种可能的实现方式,域内转发节点(或域间边界节点)根据从中心控制器接收的指示来进行测量。域内转发节点接收到中心控制器发送的第一指示,域内转发节点根据第一指示进行测量;域间边界节点接收到中心控制器发送的第二指示,域间边界节点根据第一指示进行测量。在这种实现方式中,中心控制器在有链路状态更新需求时,可以向指定的至少一个域内转发节点(或域间边界节点)发送指示,以指示该至少一个域内转发节点(或域间边界节点)进行测量,以使中心控制器根据实际需求灵活指示。第三种实现方式中可以和上述第一种实现方式(或第二种实现方式)可以结合应用。
[0086]
步骤606、每个子区域内的转发节点向中心控制器发送第一链路状态信息,且每个域间边界节点向中心控制器发送第二链路状态信息。相应的,中心控制器从转发节点接收第一链路状态信息,且从域间边界节点接收第二链路状态信息。
[0087]
其中,第一链路状态信息包括:在所述转发节点所属的子区域内,所述转发节点分别与多个邻居转发节点间的链路状态。第二链路状态信息包括所述域间边界节点与其他子区域的邻居域间边界节点间的链路状态。
[0088]
第一种实现方式中,域内转发节点(或域间边界节点)可以周期性向中心控制器上报链路状态信息。
[0089]
第二种实现方式中,域内转发节点(或域间边界节点)获取到链路状态信息后,直接向中心控制器上报链路状态信息。
[0090]
步骤607、中心控制器根据所述第一链路状态信息和所述第二链路状态信息,及所述多个转发节点的拓扑结构在所述多个转发节点中选择目标路径。
[0091]
其中,目标路径是源转发节点到目的转发节点的路径,源转发节点取遍每个子区域内的每个转发节点,目的转发节点取遍每个子区域内的每个转发节点。源转发节点和目的转发节点所在的子区域包括两种情况:其一、源转发节点和目的转发节点在同一个子区域;其二、源转发节点和目的转发节点分属于不同的子区域。本实施例中,以上述第二种情况,即源转发节点和目的转发节点分属于不同的子区域进行示例性说明。
[0092]
中心控制器可以分段计算从源转发节点到目的转发节点的路径。“分段”是指分段计算“区域内”的路径和“区域间”的路径,目标路径为“区域内”的路径和“区域间”的路径的加和。
[0093]
示例性的,当源转发节点是第一转发节点,且第一转发节点属于第一子区域,目标转发节点是第二转发节点,第二转发节点属于第二子区域时,其中,第一转发节点可以是第一子区域中的任意一个转发节点,第二转发节点可以是第一子区域中的任意一个转发节点,中心控制器计算从源转发节点到目的转发节点可以包括如下步骤:
[0094]
s20、中心控制器根据第一转发节点分别与第一子区域内多个邻居转发节点间的链路状态,及拓扑结构确定第一路径,第一路径是第一转发节点到第三转发节点的路径,第三转发节点是所述第一子区域的域间边界节点。
[0095]
示例性的,请参阅图8所示,通信网络包括子区域a,子区域b和子区域c。子区域a中包括转发节点aa、ab、ac、ad等,其中,转发节点ac是子区域a的域间边界节点。子区域b中包括转发节点ba、bb、bc、bd等,其中,转发节点bd是子区域b的域间边界节点。子区域c中包括转发节点ca、cb、cc、cd等,其中,转发节点ca是子区域c的域间边界节点。例如,源转发节点以子区域a中的转发节点aa,目的转发节点以子区域b中的转发节点bc为例。
[0096]
源节点以子区域a中的转发节点aa为例,中心控制器确定子区域a内的最优路径(第一路径)为:转发节点aa

转发节点ab

转发节点ac(子区域a的域间边界节点)。例如,最优路径可以是指延时最短,或丢包率最低的路径。或者,例如,最优路径可以是对时延、丢包率和抖动值加权后的值最小的路径。
[0097]
s21、中心控制器根据第三转发节点与其他子区域的域间边界节点间的链路状态,及拓扑结构确定第二路径,第二路径是第三转发节点到第四转发节点的路径,第四转发节点是第二子区域的域间边界节点。
[0098]
例如,中心控制器确定“域间”的最优路径(第二路径)为:转发节点ac(子区域a的域间边界节点)

转发节点bd(子区域b的域间边界节点)。
[0099]
s22、中心控制器根据第四转发节点与第二子区域内的邻居转发节点间的链路状
态,及拓扑结构确定第三路径,第三路径是第四转发节点到第五转发节点的路径,第五转发节点是第二子区域的域间边界节点。
[0100]
例如,第三路径为:转发节点bd

转发节点ba

转发节点bc。
[0101]
s23、中心控制器根据第一路径,第二路径和第三路径生成目标路径。
[0102]
例如,目标路径为:第一路径+第二路径+第三路径,即转发节点aa

转发节点ab

转发节点ac

转发节点bd

转发节点ba

转发节点bc。转发节点aa所挂接的网段为ip1’,转发节点bc所挂接的网段为ip2’,上述加和后的路径(转发节点aa

转发节点ab

转发节点ac

转发节点bd

转发节点ba

转发节点bc),即为网段ip1’与网段ip2’之间的最优路径。
[0103]
上述源转发节点以转发节点aa,目的转发节点以bc为例进行说明。通过上述步骤s20-步骤s23,源转发节点取遍第一子区域中的所有转发节点,目的转发节点取遍第二子区域内的所有转发节点,中心控制器计算从源转发节点到目的转发节点的目标路径。
[0104]
中心控制器根据目标路径生成每个转发节点对应的路由表,路由表包括目的转发节点的ip及下一跳转发节点的ip。可选地,路由表还可以包括目标路径。每个转发节点对应的下一跳转发节点可能不同,由此,中心控制器需要针对不同的转发节点下发该转发节点对应的路由表。路由表用于引导转发节点对接收到的数据进行转发。
[0105]
本技术实施例中,中心控制器管理通信网络中所有的转发节点(骨干转发节点),所有的转发节点被划分到不同的子区域,一个子区域内的每个转发节点都对其邻居转发节点进行qos测量,一个子区域的域间边界节点对其他子区域的域间边界节点进行qos测量,而不同子区域内的域间转发节点之间并不进行qos测量,从而极大的减少了整个通信网络中qos测量的次数,并且本技术实施例中qos测量的次数通过下表1示例性的说明。
[0106]
表1
[0107][0108]
上表1中,n表示子区域的数量;m表示每个子区域内的转发节点(骨干转发节点)的数量;k为每个子区域的域间边界节点的数量。
[0109]
一、从qos测量的次数方面示例性的说明。
[0110]
假设通信网络(全球范围内)共部署1000个转发节点,本技术实施例中整个通信网络中qos测量的次数的计算公式如上表1所示。传统方式中通信网络中全局的转发节点进行full-meshqos测量的次数和通过本技术中的方法进行qos测量的次数对比如下。
[0111]
1、1000个转发节点进行full-meshqos测量的次数:n(n-1)=1000
×
999=999000(大约100万)。
[0112]
2、本技术中通过上表1所示出的公式进行计算得到结果如下所示。
[0113]
以n=20,m=50,k=3为例。
[0114]
20个子区域内的qos测量的次数:nm(m-1)=50
×
49
×
20=49000;
[0115]
区域间的qos测量的次数:k2n(n-1)=20
×
19
×
32=3420;
[0116]
全局共计:49000+3420=52420。
[0117]
二、从计算复杂度方面示例性的说明。
[0118]
1、传统方法中,假设1000个转发节点进行full-meshqos测量,中心控制器按照当前迪杰斯特拉最短路径算法计算的复杂度:o(【100
×
1000】4×
log1000),复杂度达1万亿级别计算量,上述转发节点的数量还是以1000个为例,复杂度就已经达到了1万亿级别的计算量,如果通信网络中的转发节点的数量再增多,中心控制器将无法承受如此巨大的计算压力。
[0119]
2、本技术中,如上述表1中所示出的公式计算复杂度,中心控制器选择目标路径的复杂度大约为10亿级别计算量。
[0120]
综上,本技术实施例中,得到的qos测量的次数相对于传统的全域full-meshqos测量极大的减少,且中心控制器的计算复杂度也极大的降低。
[0121]
另外,本技术实施例中,中心控制器管理所有的转发节点,由此中心控制器能够获取通信网络中所有转发节点的拓扑结构,中心控制器能够根据转发节点的拓扑结构及各转发节点上报的链路状态信息选择目标路径,相对于传统的ospf跨域计算路径方案,不需要在整个通信网络泛洪发数据包,从而节省传输资源。
[0122]
上述图6对应的实施例中的转发节点为骨干转发节点,骨干转发节点能够作为目标路径中的节点,而在整个通信网络中还包括大量的叶子转发节点(例如部署在olt设备上的转发节点),由于叶子转发节点资源受限,不能存储占用大量存储资源的路由表,而且还需要考虑性能、功能瘦身等因素,故而,叶子转发节点不作为目标路径中的参与节点。既保证了叶子节点的性能,又降低了中心控制器计算目标路径的计算复杂度。
[0123]
请参阅图9所示,图9为另一种通信网络的场景示意图。可选地,为了节省叶子转发节点的存储资源,减少通信网络中qos测量的次数,叶子转发节点根据olt设备的地理位置选择就近的骨干转发节点接入,叶子转发节点将来自终端设备的待转发的数据,默认转发到就近的骨干转发节点。请参阅图10所示,叶子转发节点接入到骨干转发节点的如下步骤1001-步骤1003所示。
[0124]
中心控制器管理所有的叶子转发节点,即中心控制器对叶子转发节点进行注册,叶子转发节点的注册过程请参阅上述图6对应的实施例中的步骤601,此处不赘述。
[0125]
步骤1001、叶子转发节点向中心控制器发送请求;相应的,中心控制器接收叶子转发节点发送的请求;该请求用于向中心控制器请求待接入的目标骨干转发节点。
[0126]
步骤1002、中心控制器根据所述请求和所述叶子转发节点的地理位置向所述叶子转发节点发送目标骨干转发节点的ip地址,目标骨干转发节点的ip地址用于所述叶子转发节点向所述目标骨干转发节点发送待转发的数据。
[0127]
中心控制器可以根据叶子转发节点的ip地址查询叶子转发节点的地理位置,或者,在叶子转发节点向中心控制器发送注册请求时,注册请求中携带了叶子转发节点的地理位置。从而中心控制器能够根据叶子转发节点的地理位置查询到与该地理位置距离较近的目标骨干转发节点。例如,叶子转发节点的地理位置为第一位置,中心控制器以第一位置
为中心,查询距离第一位置最近的目标骨干转发节点。
[0128]
第一种实现方式中,目标骨干转发节点的数量为1个,叶子转发节点可以直接根据该目标骨干转发节点的ip地址向目标骨干转发节点发送待转发的数据。
[0129]
第二种实现方式中,为了保证叶子转发节点到目标骨干转发节点之间的链路的可靠性,目标骨干转发节点的数量可以为至少两个。至少两个目标骨干转发节点包括第一骨干转发节点和第二骨干转发节点。中心控制器根据所述叶子转发节点的地理位置向所述叶子转发节点发送第一骨干转发节点的ip地址、第二骨干转发节点的ip地址及指示信息,所述指示信息用于指示叶子转发节点优先将待转发的数据发送给第一骨干转发节点。
[0130]
至少两个目标骨干转发节点中,一个目标骨干转发节点作为主节点,而其他的目标骨干转发节点都可以作为备节点。例如,目标骨干转发节点的数量为两个,其中,第一骨干转发节点为主节点,第二骨干转发节点为备节点。主节点是叶子转发节点默认优先接入的转发节点,备节点是叶子转发节点备用接入的转发节点。例如,当叶子转发节点到主节点的链路发生故障或链路状态差(qos值小于阈值)时,叶子转发节点可以选择接入备节点。
[0131]
节点叶子转发节点默认优先选择主节点(第一骨干转发节点)接入,叶子转发节点将来自终端的待转发的数据发送到目标骨干转发节点。当目标骨干转发节点的数量为至少两个时,至少两个目标转发节点是按照距离叶子转发节点的距离从近到远的顺序排列的。例如,第一骨干转发节和第二骨干转发节点分别是距离叶子转发节点最近的转发节点和距离次之的转发节点。
[0132]
第三种实现方式中,与上述第二种实现方式相同之处在于,目标骨干转发节点的数量为至少两个。与上述第二种实现方式的不同之处在于,至少两个目标骨干转发节点中的主节点和备节点不是中心控制器指示的,而是叶子转发节点经过测量后确定的。示例性的,目标骨干转发节点的数量为两个时,中心控制器向叶子转发节点发送第一信息,第一信息包括第一骨干转发节点的ip地址和第二骨干转发节点的ip地址。叶子转发节点接收到第一信息后,分别向第一骨干转发节点和第二骨干转发节点发送探测包,以测量叶子转发节点到第一骨干转发节点的第一链路状态(如用第一qos值表示),及该叶子转发节点到第二骨干转发节点的第二链路状态(如用第二qos值表示)。叶子转发节点比较第一链路状态和第二链路状态,叶子转发节点选择链路状态较优的链路对应的目标骨干转发节点作为主节点。例如,第一链路状态优于所述第二链路状态时,则叶子转发节点选择第一骨干转发节点作为主节点,将第二骨干转发节点作为备节点。叶子转发节点向第一骨干转发节点发送待转发的数据。
[0133]
步骤1003、叶子转发节点根据目标骨干转发节点的ip地址向目标骨干转发节点发送待转发的数据。
[0134]
再次参阅图9所示,在一个应用场景中,终端设备接入叶子转发节点,向叶子转发节点发送待转发的数据,数据的头部中包括源ip和目的ip,例如,源ip地址是ip1,目的地址是弹性ip地址(elastic ip address)(公网ip地址)。叶子转发节点封装原始数据(来自终端设备的待转发的数据包),得到封装数据。封装数据的头部包括源ip地址(叶子转发节点的ip(如ipb))和目的ip地址(第一骨干转发节点的ip地址(如ipa))。叶子转发节点向第一骨干转发节点发送封装数据。第一骨干转发节点接收到封装数据后,剥掉封装数据的头部,获取到原始数据中的源ip地址和目的ip地址,然后根据第一骨干转发节点中存储的路由表
将原始数据封装上新的头部后向下一跳骨干转发节点转发。
[0135]
如上述图4所示的通信网络,通信网络包括中心控制器和多个转发节点,所述中心控制器用于管理所述多个转发节点并确定所述多个转发节点的拓扑结构,所述多个转发节点被划分到多个子区域内,所述子区域内中的多个转发节点中至少有一个转发节点作为域间边界节点。请参阅图11所示,本技术实施例提供了一种中心控制器,中心控制器1100包括接收模块1101和处理模块1102,可选地,中心控制器还包括发送模块1103。
[0136]
接收模块1101,用于接收来自所述转发节点的第一链路状态信息,所述第一链路状态信息包括:在所述转发节点所属的子区域内,所述转发节点分别与多个邻居转发节点间的链路状态;并接收来自所述域间边界节点的第二链路状态信息,所述第二链路状态信息包括所述域间边界节点与其他子区域的邻居域间边界节点间的链路状态。
[0137]
处理模块1102,用于根据所述接收模块1101接收的所述第一链路状态信息和所述第二链路状态信息,及所述多个转发节点的拓扑结构在所述多个转发节点中选择目标路径。
[0138]
进一步的,可选地,接收模块1101和发送模块1103,由收发模块代替。可选地,收发模块为收发器。其中,收发器具有发送和/或接收的功能。可选地,收发器由接收器和/或发射器代替。
[0139]
可选地,收发模块为通信接口。可选地,通信接口是输入输出接口或者收发电路。输入输出接口包括输入接口和输出接口。收发电路包括输入接口电路和输出接口电路。
[0140]
可选地,处理模块1102为处理器,处理器是通用处理器或者专用处理器等。可选地,处理器包括用于实现接收和发送功能的收发单元。例如该收发单元是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路是分开的部署的,可选地,是集成在一起部署的。上述收发电路、接口或接口电路用于代码或数据的读写,或者,上述收发电路、接口或接口电路用于信号的传输或传递。
[0141]
进一步的,接收模块1101用于执行上述图6对应实施例中的步骤606,图10对应的实施例中的步骤1001;处理模块1102用于执行上述图6对应的实施例中的步骤602、步骤603和步骤607。发送模块1103用于执行图6对应的实施例中的步骤604、图10对应的实施例中的步骤1002。
[0142]
具体的,在一种可选的实现方式中,若所述目标路径是从第一转发节点到第二转发节点的路径,所述第一转发节点属于第一子区域,所述第二转发节点属于第二子区域时,所述处理模块1102还具体用于:根据所述第一转发节点分别与所述第一子区域内多个邻居转发节点间的链路状态,及所述拓扑结构确定第一路径,所述第一路径是所述第一转发节点到第三转发节点的路径,所述第三转发节点是所述第一子区域的域间边界节点;根据所述第三转发节点与其他子区域的域间边界节点间的链路状态,及所述拓扑结构确定第二路径,所述第二路径是所述第三转发节点到第四转发节点的路径,所述第四转发节点是第二子区域的域间边界节点;根据所述第四转发节点与所述第二子区域内的邻居转发节点间的链路状态,及所述拓扑结构确定第三路径,所述第三路径是所述第四转发节点到第五转发节点的路径,所述第五转发节点是所述第二子区域的域间边界节点;根据所述第一路径,所述第二路径和所述第三路径生成所述目标路径。
[0143]
在一种可选的实现方式中,所述转发节点为骨干转发节点,所述通信网络还包括
叶子转发节点,所述中心控制器还用于管理所述叶子转发节点;
[0144]
所述接收模块1101,还用于接收所述叶子转发节点发送的请求,所述请求用于向所述中心控制器请求待接入的目标骨干转发节点;
[0145]
所述发送模块1103,用于根据所述请求和所述叶子转发节点的地理位置向所述叶子转发节点发送所述目标骨干转发节点的ip地址,所述目标骨干转发节点是所述多个转发节点中地理位置距离所述叶子转发节点的地理位置最近的转发节点。
[0146]
在一种可选的实现方式中,所述目标骨干转发节点的数量为至少两个,所述至少两个目标骨干转发节点包括第一骨干转发节点和第二骨干转发节点;
[0147]
所述发送模块1103,还用于根据所述请求和所述叶子转发节点的地理位置向所述叶子转发节点发送第一骨干转发节点的ip地址、第二骨干转发节点的ip地址及指示信息,所述指示信息用于指示所述叶子转发节点将待转发的数据优先发送给所述第一骨干转发节点。
[0148]
在一种可选的实现方式中,所述发送模块1103,还用于根据所述请求和所述叶子转发节点的地理位置向所述叶子转发节点发送第一信息,所述第一信息包括第一骨干转发节点的ip地址、第二骨干转发节点的ip地址,所述第一信息用于触发所述叶子转发节点测量与所述第一骨干转发节点之间的第一链路状态,及与所述第二骨干转发节点之间的第二链路状态,当所述第一链路状态优于所述第二链路状态时,以向所述第一骨干转发节点发送待转发的数据。
[0149]
参阅图12所示,本技术实施例提供了一种中心控制器,该中心控制器可用于实现上述方法实施例中中心控制器所执行的方法,具体可以参见上述方法实施例中的说明。
[0150]
中心控制器1200可以包括一个或多个处理器1201,所述处理器1201也可以称为处理单元,可以实现一定的控制功能。所述处理器1201可以是通用处理器或者专用处理器等。中央处理器可以用于对中心控制器进行控制,执行软件程序,处理软件程序的数据。
[0151]
在一种可选的设计中,处理器1201也可以存有指令1203,所述指令1203可以被所述处理器运行,使得所述中心控制器1200执行上述方法实施例中描述的方法。
[0152]
在另一种可选的设计中,处理器1201中可以包括用于实现接收和发送功能的收发单元。例如该收发单元可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。
[0153]
在又一种可能的设计中,中心控制器1200可以包括电路,所述电路可以实现上述方法实施例中发送或接收的功能。
[0154]
所述中心控制器1200中可以包括一个或多个存储器1202,其上可以存有指令1204,所述指令可在所述处理器上被运行,使得所述中心控制器1200执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的,处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。
[0155]
可选地,所述中心控制器1200还可以包括收发器1205和/或天线1206。所述处理器1201可以称为处理单元,对所述中心控制器1200进行控制。所述收发器1205可以称为收发单元、收发机、收发电路、收发中心控制器或收发模块等,用于实现收发功能。
[0156]
可选的,本技术实施例中的中心控制器1200可以用于执行本技术实施例中图6和图11对应的实施例中中心控制器所执行的方法。
[0157]
本技术实施例还提供了一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,其特征在于,当所述计算机程序代码被计算机执行时,使得计算机实现上述方法实施例中中心控制器执行的方法。
[0158]
本技术实施例还提供了一种计算机可读存储介质,用于储存计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述方法实施例中中心控制器执行的方法。
[0159]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1