本公开涉及通信领域,特别涉及一种域间路由方法、设备和系统。
背景技术:
自治系统(autonomoussystem,as),也称“自治域”,是指网络中使用相同路由协议或遵循相同路由管理策略的一组路由器。
为维持不同as之间的ip(internetprotocol,网络之间互连的协议)可达性,asbr(autonomoussystemboundaryrouter,自治系统边界路由器)需要运行ebgp(externalbordergatewayprotocol,外部边界网关协议),同一as的网内路由器除了需要运行igp(interiorgatewayprotocol,内部网关协议),还需要实现ibgp(internalbordergatewayprotocol,内部边界网关协议)全连接。
参见图1所示的自治系统的路由协议配置示意图,asbr之间通过ebgp实现as域间互联互通,域内所有路由器实现ibgp全连接。网内路由器需要运行igp(图中未示出),通过igp和ibgp路由迭代方式得到域间路由的转发信息表。
技术实现要素:
发明人发现,相关技术的路由器需要协同igp和bgp(bordergatewayprotocol,边界网关协议)路由协议,配置复杂的路由策略,使得网络的运行和维护变得十分复杂。
鉴于此,本公开提出一种域间路由方案,在自治系统设置集中控制器,不同自治系统的集中控制器之间相互交换网内路由,并由集中控制器对域间路由进行决策,向自治系统的网内路由器下发域间路由的转发信息表,使得自治系统的网内路由器无需运行ebgp和ibgp,仅需运行igp,极大地简化了网络配置。
本公开的一些实施例提出一种域间路由方法,包括:
每个集中控制器收集本自治系统的网内路由;
每个集中控制器向其他的集中控制器通告本自治系统的网内路由;
每个集中控制器根据其他的集中控制器通告的其自治系统的网内路由,确定本自治系统与其他自治系统之间的域间路由;
每个集中控制器向本自治系统的路由器下发本自治系统与其他自治系统之间的域间路由。
在一些实施例中,集中控制器向其他的集中控制器通告本自治系统的网内路由时,指定下一跳信息;集中控制器根据其他的集中控制器通告的其自治系统的网内路由,结合指定的下一跳信息,确定本自治系统与其他自治系统之间的域间路由。
在一些实施例中,集中控制器根据其他的集中控制器通告的其自治系统的网内路由,结合预设策略,动态确定本自治系统与其他自治系统之间的域间路由。
在一些实施例中,所述预设策略包括负载均衡策略、最短路径策略、最小时延策略、指定路径策略。
在一些实施例中,每个集中控制器基于边界网关协议bgp向其他的集中控制器通告本自治系统的网内路由。
在一些实施例中,本自治系统与其他自治系统之间的域间路由包括位于其他自治系统的目的ip地址信息和位于本自治系统的作为下一跳的自治系统边界路由器asbr。
在一些实施例中,通告的本自治系统的网内路由包括本自治系统内的ip地址信息,或者,通告的本自治系统的网内路由包括本自治系统内的ip地址信息及其对应的作为下一跳的自治系统边界路由器asbr。
在一些实施例中,集中控制器为软件定义网络sdn集中控制器。
在一些实施例中,自治系统内的网内路由器根据运行的内部网关协议igp,将外出流量转发到域间路由相应的自治系统边界路由器;自治系统边界路由器配置缺省路由,其出接口为网间互联接口。
本公开的一些实施例提出一种用于域间路由的集中控制器,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一个实施例的域间路由方法。
本公开的一些实施例提出一种域间路由系统,包括若干自治系统,其中的每个自治系统包括:
前述的集中控制器;
若干自治系统边界路由器,被配置缺省路由,其出接口为网间互联接口;
若干网内路由器,被配置为根据运行的内部网关协议igp,将外出流量转发到域间路由相应的自治系统边界路由器。
本公开的一些实施例提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任意一个实施例的域间路由方法。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,
显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出相关技术的自治系统的路由协议配置示意图。
图2示出本公开一些实施例的域间路由系统的示意图。
图3示出本公开一些实施例的域间路由方法的示意图。
图4示出本公开一些实施例的用于域间路由的集中控制器的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
图2示出本公开一些实施例的域间路由系统的示意图。
如图2所示,该实施例的域间路由系统包括若干自治系统,如图中示出的as1和as2。在每个自治系统部署集中控制器。集中控制器例如为sdn(softwaredefinednetwork,软件定义网络)集中控制器。每个自治系统还包括若干自治系统边界路由器,如图中示出的asbr1,asbr2,asbr3,asbr4。每个自治系统还包括若干网内路由器,如图中示出的r1,r2,r3,r4。
图3示出本公开一些实施例的域间路由方法的示意图。
如图3所示,该实施例的域间路由方法包括:
在步骤s310,每个集中控制器收集本自治系统的网内路由。
例如,参考图2,集中控制器1收集的本自治系统as1的网内路由为1.0.0.0/8,2.0.0.0/8,3.0.0.0/8,4.0.0.0/8,集中控制器2收集的本自治系统as2的网内路由为5.0.0.0/8,6.0.0.0/8,7.0.0.0/8,8.0.0.0/8。
在步骤s320,每个集中控制器向其他的集中控制器通告本自治系统的网内路由。
其中,集中控制器通告的本自治系统的网内路由例如可以包括本自治系统内的ip地址信息,可选地,还可以包括为本自治系统内的ip地址信息指定的下一跳信息,例如,指定的作为下一跳的asbr的信息。需要说明的是,集中控制器指定的作为下一跳的asbr也位于本自治系统内。
例如,参考图2,集中控制器1向集中控制器2通告的本自治系统as1的网内路由例如为1.0.0.0/8,2.0.0.0/8,3.0.0.0/8,4.0.0.0/8,还可以进一步指定1.0.0.0/8和2.0.0.0/8的下一跳为asbr1,3.0.0.0/8和4.0.0.0/8的下一跳为asbr2。
又例如,参考图2,集中控制器2向集中控制器1通告的本自治系统as2的网内路由例如为5.0.0.0/8,6.0.0.0/8,7.0.0.0/8,8.0.0.0/8,还可以进一步指定5.0.0.0/8和6.0.0.0/8的下一跳为asbr3,7.0.0.0/8和8.0.0.0/8的下一跳为asbr4。
在一些实施例中,集中控制器例如可以基于bgp协议向其他的集中控制器通告本自治系统的网内路由。
在步骤s330,每个集中控制器根据其他的集中控制器通告的其自治系统的网内路由,确定本自治系统与其他自治系统之间的域间路由。
其中,集中控制器确定的本自治系统与其他自治系统之间的域间路由包括:位于其他自治系统的目的ip地址信息及其对应的位于本自治系统的作为下一跳的asbr的信息。
在一些实施例中,如果集中控制器向其他的集中控制器通告本自治系统的网内路由时,指定了下一跳信息,则集中控制器根据其他的集中控制器通告的其自治系统的网内路由,结合指定的下一跳信息,确定本自治系统与其他自治系统之间的域间路由。
例如,集中控制器1向集中控制器2通告的本自治系统as1的网内路由例如为1.0.0.0/8,2.0.0.0/8,3.0.0.0/8,4.0.0.0/8,并指定1.0.0.0/8和2.0.0.0/8的下一跳为asbr1,3.0.0.0/8和4.0.0.0/8的下一跳为asbr2。则,集中控制器2确定的as2与as1之间的域间路由为:目的地址1.0.0.0/8,2.0.0.0/8的下一跳为asbr3(假设asbr1的网间互联接口对应asbr3),目的地址3.0.0.0/8和4.0.0.0/8的下一跳为asbr4(假设asbr2的网间互联接口对应asbr4)。
又例如,集中控制器2向集中控制器1通告的本自治系统as2的网内路由例如为5.0.0.0/8,6.0.0.0/8,7.0.0.0/8,8.0.0.0/8,并指定5.0.0.0/8和6.0.0.0/8的下一跳为asbr3,7.0.0.0/8和8.0.0.0/8的下一跳为asbr4。则,集中控制器1确定的as1与as2之间的域间路由为:目的地址5.0.0.0/8,6.0.0.0/8的下一跳为asbr1(假设asbr3的网间互联接口对应asbr1),目的地址7.0.0.0/8和8.0.0.0/8的下一跳为asbr2(假设asbr4的网间互联接口对应asbr2)。
在一些实施例中,如果集中控制器未通告下一跳信息,则集中控制器根据其他的集中控制器通告的其自治系统的网内路由,基于全网拓扑视图,结合预设策略,动态确定本自治系统与其他自治系统之间的域间路由,也即,根据预设策略为不同目的ip地址的外出流量指定出口路由器。预设策略例如包括负载均衡策略、最短路径策略、最小时延策略、指定路径策略等,但不限于所举示例。
下面以负载均衡策略为例,说明动态确定域间路由的过程。
为实现网间流量在多个asbr间的负载均衡,集中控制器根据交换得到的域间路由,基于全网拓扑视图,并根据监测到的每条汇总域间路由承载的流量大小动态确定路由信息,下一跳为asbr,可以向全网路由器(除asbr)动态下发路由信息。参见图2,as1的集中控制器1监测到as2通告的2条汇总路由5.0.0.0~6.0.0.0承载的流量假设为10gb/s,同时监测到as2通告的2条汇总路由7.0.0.0~8.0.0.0承载的流量假设为20gb/s。as1的集中控制器1同时也监测到asbr1与asbr3之间网间互联链路带宽利用率比较高,剩余带宽只能承载10gb/s的流量,同时监测到asbr2与asbr4之间网间互联链路带宽利用率比较低,剩余带宽能够承载20gb/s的流量。这时,as1的集中控制器1优选asbr1作为目的地址为5.0.0.0~6.0.0.0范围内的ip流量的出口,同时,把域间路由5.0.0.0~6.0.0.0向全网除asbr外的路由器(如图中r1和r2)通告,并为5.0.0.0~6.0.0.0路由指定下一跳为asbr1。类似的,as1的集中控制器1优选asbr2作为目的地址为7.0.0.0~8.0.0.0范围内的ip流量的出口,同时,把域间路由7.0.0.0~8.0.0.0向全网除asbr外的路由器(如图中r1和r2)通告,并为7.0.0.0~8.0.0.0路由指定下一跳为asbr2。
在步骤s340,每个集中控制器向本自治系统的路由器下发本自治系统与其他自治系统之间的域间路由。
例如,参见前述示例,as1的集中控制器1把域间路由5.0.0.0~6.0.0.0向全网除asbr外的路由器(如图中r1和r2)通告,并为5.0.0.0~6.0.0.0路由指定下一跳为asbr1;并把域间路由7.0.0.0~8.0.0.0向全网除asbr外的路由器(如图中r1和r2)通告,并为7.0.0.0~8.0.0.0路由指定下一跳为asbr2。
在步骤s350,自治系统内的网内路由器根据运行的igp协议,将外出流量转发到域间路由相应的自治系统边界路由器。
例如,as1内的网内路由器r1和r2将目的地址为5.0.0.0~6.0.0.0的外出流量转发到域间路由相应的asbr1,将目的地址为7.0.0.0~8.0.0.0的外出流量转发到域间路由相应的asbr2。
在步骤s360,自治系统边界路由器配置缺省路由,其出接口为网间互联接口,根据缺省路由外出流量被转发到网间互联链路。
例如,asbr1根据缺省路由将外出流量转发到asbr3,asbr2根据缺省路由将外出流量转发到asbr4。
上述实施例,在自治系统设置集中控制器,不同自治系统的集中控制器之间相互交换网内路由,并由集中控制器对域间路由进行决策,向自治系统的网内路由器下发域间路由的转发信息表,使得自治系统的网内路由器无需运行ebgp和ibgp,仅需运行igp,极大地简化了网络配置。此外,根据动态确定域间路由选用的策略,如负载均衡策略、最短路径策略、最小时延策略、指定路径策略等,还可以实现全网流量工程和网间多出口负载均衡。
图4示出本公开一些实施例的用于域间路由的集中控制器的示意图。
如图4所示,该实施例的集中控制器400包括:
存储器410;以及
耦接至所述存储器的处理器420,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一个实施例的域间路由方法。
其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。
本公开的一些实施例提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任意一个实施例的域间路由方法。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
1.一种域间路由方法,包括:
每个集中控制器收集本自治系统的网内路由;
每个集中控制器向其他的集中控制器通告本自治系统的网内路由;
每个集中控制器根据其他的集中控制器通告的其自治系统的网内路由,确定本自治系统与其他自治系统之间的域间路由;
每个集中控制器向本自治系统的路由器下发本自治系统与其他自治系统之间的域间路由。
2.如权利要求1所述的方法,其中,
集中控制器向其他的集中控制器通告本自治系统的网内路由时,指定下一跳信息;
集中控制器根据其他的集中控制器通告的其自治系统的网内路由,结合指定的下一跳信息,确定本自治系统与其他自治系统之间的域间路由。
3.如权利要求1所述的方法,其中,
集中控制器根据其他的集中控制器通告的其自治系统的网内路由,结合预设策略,动态确定本自治系统与其他自治系统之间的域间路由。
4.如权利要求3所述的方法,其中,
所述预设策略包括负载均衡策略、最短路径策略、最小时延策略、指定路径策略。
5.如权利要求1所述的方法,其中,
每个集中控制器基于边界网关协议bgp向其他的集中控制器通告本自治系统的网内路由。
6.如权利要求1所述的方法,其中,
本自治系统与其他自治系统之间的域间路由包括位于其他自治系统的目的ip地址信息和位于本自治系统的作为下一跳的自治系统边界路由器asbr。
7.如权利要求1所述的方法,其中,
通告的本自治系统的网内路由包括本自治系统内的ip地址信息,或者,
通告的本自治系统的网内路由包括本自治系统内的ip地址信息及其对应的作为下一跳的自治系统边界路由器asbr。
8.如权利要求1所述的方法,其中,
集中控制器为软件定义网络sdn集中控制器。
9.如权利要求1所述的方法,其中,
自治系统内的网内路由器根据运行的内部网关协议igp,将外出流量转发到域间路由相应的自治系统边界路由器;
自治系统边界路由器配置缺省路由,其出接口为网间互联接口。
10.一种用于域间路由的集中控制器,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-8中任一项所述的域间路由方法。
11.一种域间路由系统,包括若干自治系统,其中的每个自治系统包括:
权利要求10所述的集中控制器;
若干自治系统边界路由器,被配置缺省路由,其出接口为网间互联接口;
若干网内路由器,被配置为根据运行的内部网关协议igp,将外出流量转发到域间路由相应的自治系统边界路由器。
12.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-8中任一项所述的域间路由方法。
技术总结