用于逻辑路由器的动态路由的制作方法

文档序号:11852633阅读:来源:国知局

技术特征:

1.一种用于网络控制器的方法,所述网络控制器管理跨多个受管理的网络元件实现的逻辑网络的第一逻辑路由器,所述方法包括:

接收指定对于第二逻辑路由器的第一路由的输入数据;

基于所述逻辑网络中的第一逻辑路由器和第二逻辑路由器之间的连接,动态地基于第一路由产生对于第一逻辑路由器的第二路由;以及

将包括第二路由的数据分发到一组受管理的网络元件以实现第一逻辑路由器。

2.如权利要求1所述的方法,其中所述逻辑网络包括至少一个逻辑交换机,多个虚拟机VM附连到所述至少一个逻辑交换机,其中VM驻留在多个主机上。

3.如权利要求2所述的方法,其中受管理的网络元件包括在所述多个主机上操作的多个受管理的转发元件,其中所分发的数据包括用于配置受管理的转发元件的数据。

4.如权利要求3所述的方法,其中所分发的数据包括用于配置受管理的转发元件的流条目。

5.如权利要求3所述的方法,其中受管理的网络元件还包括在网关主机上操作的至少一个L3网关,所述网关主机与VM所驻留的所述多个主机分离,其中所分发的数据还包括用于配置L3网关的数据。

6.如权利要求5所述的方法,其中受管理的网络元件还包括与L3网关一起在每一个网关主机上操作的附加的受管理的转发元件。

7.如权利要求5所述的方法,其中所述网关主机托管作为L3网关操作的名称空间。

8.如权利要求1所述的方法,其中接收输入数据包括接收创建对于第二逻辑路由器的新静态路由的命令。

9.如权利要求1所述的方法,其中接收输入数据包括:

接收创建对于第二逻辑路由器的新逻辑端口的命令,所述新逻辑端口与特定子网相关联;以及

自动产生对于第二逻辑路由器的连接路由以将具有所述特定子网中的目的地地址的包输出到特定的逻辑端口。

10.如权利要求9所述的方法,其中对于第一逻辑路由器的第二路由指定将具有所述特定子网中的目的地地址的包发送到第二逻辑路由器的下一跳地址。

11.如权利要求1所述的方法,还包括:在分发数据以实现第一逻辑路由器之前:

执行路由处理操作以基于第二路由和为第一逻辑路由器存储的附加的输入路由来确定对于第一逻辑路由器的一组输出路由;以及

基于所述一组输出路由产生数据元组,所述数据元组用以分发到所述一组受管理的网络元件。

12.一种用于管理第一逻辑路由器的网络控制器,所述网络控制器包括:

输入接口,用于接收指定对于第二逻辑路由器的第一路由的配置数据;

表映射引擎,用于(i)基于第一路由动态地产生用于对于第一逻辑路由器的第二路由的数据以及(ii)产生一组数据元组以分发到实现第一逻辑路由器的一组受管理的网络元件;以及

存储器,用于存储所接收到的配置数据、动态地产生的第二数据和所述一组数据元组。

13.如权利要求12所述的网络控制器,其中输入接口是用于接收作为一组命令的配置数据的应用编程接口。

14.如权利要求12所述的网络控制器,其中输入接口还用于接收第一逻辑路由器和第二逻辑路由器的配置,其中该配置包括第一逻辑路由器到第二逻辑路由器的连接。

15.如权利要求12所述的网络控制器,其中由配置数据指定的第一路由是对于逻辑路由器的静态路由,所述静态路由指定对于特定网络地址前缀的第一下一跳地址,其中第二路由指定对于特定网络地址前缀的第二下一跳地址。

16.如权利要求15所述的网络控制器,其中第二下一跳地址包括第二逻辑路由器的逻辑端口的地址。

17.如权利要求12所述的网络控制器,其中所述表映射引擎包括nLog引擎,所述nLog引擎用于执行多个数据库连接操作以便动态地产生用于第二路由的数据并且产生所述一组数据元组。

18.如权利要求12所述的网络控制器,其中所述网络控制器是第一逻辑路由器的主控制器。

19.如权利要求18所述的网络控制器,其中当所述网络控制器也是第二逻辑路由器的主控制器时,所述表映射引擎还用于产生第二组数据元组以分发到实现第二逻辑路由器的第二组受管理的网络元件。

20.如权利要求18所述的网络控制器,其中所述网络控制器还包括用于与附加的网络控制器通信以与附加的网络控制器共享所接收到的配置数据的状态共享接口,其中当所述网络控制器不是第二逻辑路由器的主控制器时,在附加的网络控制器之一处的第二表映射引擎产生第二组数据元组以分发到实现第二逻辑路由器的第二组受管理的网络元件。

21.如权利要求12所述的网络控制器,还包括路径处理引擎,所述路径处理引擎用于执行路由遍历操作以根据包括第二路由的一组输入路由产生对于第一逻辑路由器的一组输出路由。

22.如权利要求21所述的网络控制器,其中所述表映射引擎用于基于所述一组输出路由产生所述一组数据元组。

23.如权利要求12所述的网络控制器,还包括用于将产生的所述一组数据元组分发到所述一组受管理的网络元件的状态分发接口。

24.一种用于实现对于租户的逻辑网络的受管理的网络,所述受管理的网络包括:

第一组主机,用于托管对于逻辑网络的虚拟机VM,第一组主机中的每一个主机操作受管理的转发元件,所述受管理的转发元件实现对于租户逻辑网络的第一逻辑路由器和第一逻辑路由器所连接到的第二逻辑路由器,其中第二逻辑路由器的实现是用于处理进入和离开租户逻辑网络的包;

第二组主机,用于托管对于第二逻辑路由器的L3网关,其中所述L3网关将租户逻辑网络连接到至少一个外部网络。

25.如权利要求24所述的受管理的网络,其中所述受管理的网络是多租户数据中心。

26.如权利要求25所述的受管理的网络,还包括:第三组主机,用于托管对于第二租户的第二逻辑网络的VM,第三组主机中的每一个主机也操作受管理的转发元件,该受管理的转发元件实现对于第二租户逻辑网络的第三逻辑路由器和第三逻辑路由器所连接到的第二逻辑路由器,其中第二逻辑路由器的实现是进一步用于处理进入和离开第二租户逻辑网络的包。

27.如权利要求26所述的受管理的网络,其中在第一组主机和第三组主机中均至少有特定主机,其中在所述特定主机上操作的受管理的转发元件实现第一逻辑路由器、第二逻辑路由器和第三逻辑路由器。

28.如权利要求26所述的受管理的网络,其中从第一逻辑网络的第一VM发送到第二逻辑路由的第二VM的包没有被L3网关处理。

29.如权利要求24所述的受管理的网络,还包括:一组网络控制器,用于根据所接收到的对于租户逻辑网络和第二逻辑路由器的配置数据来配置受管理的转发元件和L3网关。

30.如权利要求29所述的受管理的网络,其中对于租户逻辑网络的配置数据的至少一部分是从由租户操作的实体接收的。

31.如权利要求30所述的受管理的网络,其中对于第二逻辑路由器的配置数据是仅从由受管理的网络的供应商操作的一个或多个实体接收的。

32.如权利要求24所述的受管理的网络,其中第二组主机还各自用于操作实现第一逻辑路由器和第二逻辑路由器两者的受管理的转发元件。

33.一种用于网络控制器的方法,所述网络控制器管理多租户数据中心中的多个受管理的转发元件,在所述多租户数据中心中,跨一组受管理的转发元件实现对于租户的逻辑网络的第一逻辑路由器,所述方法包括:

接收来自租户的对于第一逻辑路由器的配置数据,所述配置数据指定(i)第一逻辑路由器的多个逻辑端口,每一个逻辑端口与特定子网相关联,以及(ii)由多租户数据中心的操作者配置的第一逻辑路由器到第二逻辑路由器的连接;

对于第一逻辑路由器,自动产生对于每个逻辑端口的连接路由,对于特定逻辑端口的特定连接路由指定将具有特定逻辑端口的特定子网中的目的地地址的包输出到所述特定逻辑端口;以及

当所述网络控制器是第二逻辑路由器的主控制器时,将连接路由动态地传播到第二逻辑路由器作为动态路由,所述动态路由指定将具有任意特定子网中的目的地地址的包逻辑地路由到第一逻辑路由器。

34.如权利要求33所述的方法,其中所述一组受管理的转发元件是第一组,所述方法还包括:当所述网络控制器是第二逻辑路由器的主控制器时:

产生用于向第二组受管理的转发元件分发的数据,以配置第二组中的受管理的转发元件以实现第二逻辑路由器,该数据包括向第二逻辑路由器传播的动态路由;以及

产生用于向操作对于第二逻辑路由器的L3网关的至少一个主机分发的数据,所述L3网关用于处理进入和离开数据中心的流量。

35.如权利要求34所述的方法,还包括:当网络控制器是第一逻辑路由器的主控制器时,产生用于向第一组受管理的转发元件分发的数据以实现第一逻辑路由器。

36.如权利要求33所述的方法,还包括:当所述网络控制器是第一逻辑路由器的主控制器时,动态地产生对于第一逻辑路由器的动态缺省路由,以将与连接路由之一不匹配的所有包逻辑地路由到第二逻辑路由器。

37.如权利要求33所述的方法,其中第二逻辑路由器用于处理进入和离开租户逻辑网络的包。

38.如权利要求33所述的方法,其中第一逻辑路由器和第二逻辑路由器是具有不同属性的不同类型的逻辑路由器。

39.如权利要求38所述的方法,其中第一逻辑路由器是第一类型,以及第二逻辑路由器是第二类型,其中第一类型的逻辑路由器只连接到一个第二类型的逻辑路由器,而第二类型的逻辑路由器连接多个第一类型的逻辑路由器。

40.如权利要求39所述的方法,其中第一类型的逻辑路由器不相互连接。

41.一种存储由网络控制器的至少一个处理单元执行的程序的机器可读介质,所述网络控制器管理多租户数据中心中的多个受管理的转发元件,在所述多租户数据中心中,跨一组受管理的转发元件实现对于租户的逻辑网络的第一逻辑路由器,所述程序包括多组指令以用于:

接收对于第一逻辑路由器的配置数据,所述配置数据定义(i)对于第一逻辑路由器的多个逻辑端口的多个连接路由,对于特定逻辑端口的每个连接路由指定将具有特定子网中的目的地地址的包输出到所述特定逻辑端口,以及(ii)由多租户数据中心的操作者配置的第一逻辑路由器到第二逻辑路由器的连接;

当所述网络控制器是第二逻辑路由器的主控制器时,将连接路由动态地传播到第二逻辑路由器作为动态路由,所述动态路由指定将具有任意特定子网中的目的地地址的包逻辑地路由到第一逻辑路由器;以及

当所述网络控制器是第一逻辑路由器的主控制器时,动态地产生对于第一逻辑路由器的动态缺省路由,以将与任意其他路由不匹配的所有包逻辑地路由到第二逻辑路由器。

42.如权利要求41所述的机器可读介质,其中所述网络控制器是与多个附加的网络控制器共享配置数据的第一网络控制器,其中当第一网络控制器不是第二逻辑路由器的主控制器并且第二网络控制器是第二逻辑路由器的主控制器时,第二网络控制器将连接路由动态地传播到第二逻辑路由器作为动态路由。

43.如权利要求41所述的机器可读介质,其中所述网络控制器是与多个附加的网络控制器共享配置数据的第一网络控制器,其中当第一网络控制器不是第一逻辑路由器的主控制器并且第二网络控制器是第一逻辑路由器的主控制器时,第二网络控制器动态地产生对于第一逻辑路由器的动态缺省路由。

44.如权利要求41所述的机器可读介质,其中所述程序是表映射引擎,所述表映射引擎执行多个数据库连接操作以便动态地传播路由。

45.如权利要求41所述的机器可读介质,其中所述配置数据是通过网络控制器的应用编程接口接收的。

46.如权利要求41所述的机器可读介质,其中所述配置数据是通过状态共享机制从其他网络控制器接收的。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1