用于业务链的设备、系统和方法与流程

文档序号:11455654阅读:263来源:国知局
用于业务链的设备、系统和方法与流程

交叉申请

本申请要求2015年1月30日递交的发明名称为“用于业务链的设备、系统和方法(devices,systemsandmethodsforservicechains)”的第14/610,252号美国专利申请案的在先申请优先权,该在先申请的全部内容以引用的方式并入本文本中。

本文描述的实施例大体上涉及网络通信领域,尤其涉及用于实施业务链的设备、系统和方法。



背景技术:

数据中心网络(datacenternetwork,dcn)可实施业务链,通过将业务链设施用作一系列检查点和策略执行点来定义网络流量规则。需要改进业务链实施方式,或至少需要替代方案。



技术实现要素:

根据一方面,提供了一种具有入端口的路由器,所述入端口用于从多个网络的多个源节点接收多个网络数据包,每个网络数据包具有一个目的地址。所述路由器具有出端口,所述出端口用于向至少一个目的节点传输所述多个网络数据包。所述路由器配置m+1个虚拟路由转发实例(virtualroutingandforwardinginstance,vrf实例;或vrfinstance,vrfi),用于向m个业务设施中的至少一个业务设施路由所述多个网络数据包中的至少一个网络数据包,m是大于1的整数。所述路由器具有一个持久存储器,所述持久存储器用于存储多个路由表,每个路由表基于所述多个网络数据包的所述目的地址为所述m+1个vrfi中的一个vrfi定义多个路由规则。

根据一些实施例,所述m+1个vrfi包括针对所述m个业务设施中的每个业务设施的一个vrfi以及一个附加vrfi。

根据一些实施例,所述路由规则不是基于所述多个网络数据包的源地址。

根据一些实施例,所述路由规则路由所述多个网络数据包的一部分以绕过所述m个业务设施中的至少一个业务设施。

根据一些实施例,所述m+1个vrfi的vrfi数量不是基于所述多个网络的网络数量。

根据一些实施例,在所述入端口处从所述多个网络接收的所述多个网络数据包由所述m+1个vrfi中的一个通用vrfi来路由。

根据一些实施例,每个vrfi与所述多个路由表中的一个路由表关联。

根据一些实施例,所述vrfi数量是基于业务设施数量。

根据一些实施例,所述多个网络的所述数量是n,n是大于m+1的整数。

根据一些实施例,所述m个业务设施至少包括一个从由以下设施组成的组中选择的设施:防火墙设施、负载均衡设施、web业务设施、数据业务设施、网络地址转换设施、入侵检测系统设施和入侵防御系统设施。

在另一方面,提供了一种具有m个业务设施的系统,m是大于1的整数。所述系统具有路由器,所述路由器具有:入端口,用于从多个网络的多个源节点接收多个网络数据包,每个网络数据包具有一个目的地址;以及出端口,用于向至少一个目的节点传输所述多个网络数据包。所述路由器具有用于连接到所述m个业务设施的多个端口。所述路由器配置m+1个虚拟路由转发实例(virtualroutingandforwardinginstance,vrfi),用于向所述m个业务设施中的至少一个业务设施路由至少所述多个网络数据包的一部分,所述m+1个vrfi中的一个通用vrfi路由在所述入端口处从所述多个网络接收的所述多个网络数据包。所述系统具有一个持久存储器,所述持久存储器用于非瞬时性地存储多个路由表,每个路由表基于所述多个网络数据包的所述目的地址为所述m+1个vrfi中的一个vrfi定义多个路由规则。

根据一些实施例,所述m+1个vrfi包括针对所述m个业务设施中的每个业务设施的一个vrfi以及一个附加vrfi。

根据一些实施例,所述路由规则不是基于所述多个网络数据包的源地址。

根据一些实施例,所述路由规则路由所述多个网络数据包的一部分以绕过所述m个业务设施中的至少一个业务设施。

根据一些实施例,所述m+1个vrfi的vrfi数量不是基于所述多个网络的网络数量。

根据一些实施例,每个vrfi与所述多个路由表中的一个路由表关联。

根据一些实施例,所述vrfi数量是基于业务设施数量。

根据一些实施例,所述多个网络提供n个不同的网络,n是大于m+1的整数。

根据一些实施例,所述m个业务设施至少包括一个从由以下设施组成的组中选择的设施:防火墙设施、负载均衡设施、web业务设施、数据业务设施、网络地址转换设施、入侵检测系统设施和入侵防御系统设施。

在另一方面,提供了一种用于提供多个业务链的方法。所述方法包括在路由器的入端口处从多个网络接收多个网络数据包,每个网络数据包具有一个目的地址。所述方法包括配置路由器,所述路由器具有m+1个虚拟路由转发实例(virtualroutingandforwardinginstance,vrfi),用于向m个业务设施中的至少一个业务设施路由至少一个网络数据包,m是大于1的整数。所述方法还包括将多个路由表存储在持久数据存储器中,每个路由表基于所述多个网络数据包的所述目的地址为所述m+1个vrfi中的一个vrfi定义多个路由规则。所述方法包括使用所述m+1个vrfi定义多个业务链。所述方法包括使用所述m+1个vrfi中的至少一个,基于所述至少一个网络数据包的至少一个目的地址使用至少一个路由规则路由所述至少一个网络数据包。所述方法还包括在所述路由器的出端口处向目的节点传输所述至少一个路由的网络数据包。

根据一些实施例,所述方法还可包括路由一部分数据包以绕过至少一个业务设施。

根据一些实施例,所述方法还可包括将每个vrfi与一个路由表关联。

根据一些实施例,所述m+1个vrfi包括针对所述m个业务设施中的每个业务设施的一个vrfi以及一个附加vrfi。

在又一方面,提供了一种用于路由网络数据包的方法。所述方法包括在路由器的入端口处接收多个网络数据包,所述多个网络数据包中的每个网络数据包具有一个目的地址。所述方法包括m+1个虚拟路由转发实例(virtualroutingandforwardinginstance,vrfi)中的至少一个基于至少一个网络数据包的所述至少一个目的地址向m个业务设施中的至少一个业务设施路由所述至少一个网络数据包,m是大于1的整数。所述方法包括在所述路由器的出端口处向目的节点传输所述路由的至少一个网络数据包。

根据一些实施例,所述接收步骤包括在所述入端口处从n个网络中的至少一个接收所述至少一个网络数据包,n是大于m+1的整数。

根据一些实施例,所述方法可包括向所述m+1个vrfi中的一个通用vrfi提供在所述入端口处接收的所述至少一个网络数据包。

通过阅读本文,当前改进涉及的许多进一步特征或其组合对于本领域技术人员来说将是显而易见的。

附图说明

各方面和实施例在附图中示出并随附图描述。

图1为一示例路由器的逻辑视图的示意图。

图2a和图2b为另一示例路由器的逻辑视图的示意图。

图3为根据一些实施例的一种示例业务链实施方式的示意图。

图4示出了根据本文所述实施例的路由器的另一示意图。

图5示出了包括到业务设施的多个路由路径的业务链的又一示例示意图。

图6示出了根据示例实施例的用于提供业务结构的方法的流程图。

图7示出了根据一些实施例的业务结构的一示例物理视图。

图8示出了根据一些实施例的网络节点的一示例物理视图。

图9示出了根据本文所述实施例的路由器的另一示例示意图。

具体实施方式

本文描述的实施例涉及实施业务链的数据中心通信系统。数据中心通信系统可包括通过分组交换网络互连的数据源、数据目的地以及一个或多个控制器。分组交换网络可包括入口节点、中间节点和出口节点。节点可包括路由器、交换机和业务设施或中间盒,它们连接起来形成业务链。网络虚拟化可解耦物理网络与逻辑网络。业务链和其业务设施提供的功能可视为多个物理连接节点和链路的逻辑抽象。经过网络的数据包可遵循一个或多个路由路径。这一连串或一系列路由路径可定义业务设施的一个业务链。

本文描述的实施例涉及用于使用具有vrf实例的vrf网络路由器实施的业务链的设备、系统和方法。物理网络路由器可实施一个或多个虚拟vrf实例,其中每个vrf实例与网络路由器的一个路由表的一个单独实例关联。路由表管理经过vrf实例的数据包流量的路由。vrf实例和其关联的表可分割经过物理网络路由器的网络数据流量,而不要求多个物理网络路由器。vrf实例还可称为vrf网络交换机。路由器将vrf实例配置为一个或多个交换机等不同硬件组件的虚拟抽象,以及用于存储与该vrf实例关联的路由表的持久数据存储器的一部分。物理网络路由器可实施多个vrf实例,直到路由器的最大容量。例如,典型物理网络路由器的最大容量可为一百或一千个vrf实例。一些路由器可支持多达2000个vrf实例。

业务链可定义网络流量规则。业务链可通过检查点设施、策略执行设施等一系列业务设施来路由网络流量。业务链可表示为网络上的通过业务设施的数据包的逻辑流。业务链通过节点的底层物理网络来链接一个或多个业务设施或中间盒,包括交换机、路由器、网桥和其它硬件设备。

业务设施是出于不同的业务目的而路由、变换、检查、过滤或操作网络数据包的计算机网络设备。示例业务设施包括防火墙(firewall,fw)、入侵检测系统(intrusiondetectionsystem,ids)、入侵防御系统(intrusionpreventionsystem,ips)、负载均衡(loadbalancing,lb)设备、web业务、应用业务、数据库业务,等等。

业务链可映射到网络网络上的一个或多个路由路径。业务链可以是耦合业务链的不同硬件设备的物理链路的聚合。路由路径可使用配置在一个或多个网络路由器上的vrf实例来实施。

本文描述的实施例涉及配置具有vrf实例的路由器,业务链中的每个业务设施有一个vrf实例并且路由器的出端口有一个vrf实例。该硬件设备的互连系统可产生一个业务网络结构。本文描述的实施例涉及用于使用vrf功能来实施业务链以利用网络节点的现有vrf能力的系统和方法。

图1示出了示例路由器10的示意图。路由器10可从源节点14向目的节点16路由网络数据流量。路由器10可提供以下能力:仅基于目的地址以无状态方式向中间盒或业务设施路由或引导网络数据流量。对于转发可基于数据包报头中的目的地址进行的路由器配置,不需要知道数据包的源地址。

路由器10可将vrf实例12实施为路由器硬件的虚拟抽象,其中每个vrf实例与其自己的路由表实例关联。图1所示的示例是路由器向不同业务链设施(例如,fw设施18、ids设施20)路由数据时可能需要的功能的理论示例。例如,可能需要路由器向fw设施路由网络数据流量,随后向目的节点16路由。实际上,图1所示的期望功能可能超过实施单个vrf实例12的单个路由器10的能力。例如,路由器10可能需要vrf实例12充当到目的节点16的出口。该理论示例网络路由配置可能需要知道数据包的源和目的地两者。例如,vrf实例12可基于目的地址使用路由规则向fw设施18路由目的地址为x的网络数据包。如果fw设施18将那些目的地址为x的相同网络数据包路由回vrf实例12,则vrf实例12可能无法区分来自fw设施18的那些目的地址为x的网络数据包与来自源节点14的那些目的地址为x的网络数据包。来自源节点14的网络数据包仍然需要路由到fw设施18。基于目的地址x的路由规则可继续将目的地址为x的所有网络数据包路由回fw设施18,即使它们已由fw设施18处理。这可在vrf实例12与fw设施18之间创建一个循环路由路径。这可说明基于目的地址使用路由规则实施业务链的实际限制。

图2a和图2b示出了路由器30的附加示例示意图。路由器30示为实施vrf实例32。实际上,vrf实例32可基于数据包中的目的地址转发从源节点34接收的网络数据流量。因此,网络数据流量可路由到目的节点36或防火墙38或其它业务链设施,例如ids或入侵防御系统(intrusionpreventionsystem,ips)40。如图2b所示,数据流量可以在vrf实例与业务设施之间双向流动。

对于一些业务链实施方式,路由可基于每个数据包的目的地址。基于目的地址的路由不需要知道或跟踪源地址,因为数据包的源地址可能未知并且不是路由器的可用路由数据的一部分。如果数据包经过业务设施,则数据包的目的地址可能不改变,导致路由器难以确定数据包是否已经过业务设施,因为路由可能基于目的地址。业务链可包括涉及两个或更多业务设施的路由路径。路由路径通过与vrf实例关联的路由表的路由规则来定义。要实施业务链,知道数据包是否需要经过第一业务设施或数据包是否已经经过第一业务设施并应前往链中的下一业务设施可能很重要。对于一些实施方式,数据包可在其经过业务设施时由该业务设施进行标记。然而,业务设施可能需要进行软件更新以实施标记功能,其它组件可能需要进行更新以处理标记并基于标记来路由数据包。

源路由可包括转发路由路径,该转发路由路径可能需要在数据包的报头中明确定义。源路由要求源数据对于以下路由来说是很容易获得的路由数据:可能需要专用数据包和使用硬件或软件升级的特别配置网络的路由。例如,源路由可能必须被网络数据路径节点启用并支持。分段路由与源路由类似。嵌入式业务链可包括两个vrf实例之间的双臂业务链,其中所有网络流量都经过这两个vrf实例和业务链中的所有业务设施。在这种情况下,不分割网络数据流量,并且如果无需由特定业务设施来处理一段网络数据流量,则路由器无法路由该部分网络数据流量来绕过业务链中的一个业务设施。这可能不会高效地使用网络带宽。策略路由可能需要使用特别配置网络的基于目的地和源两者的专用转发实施。

根据一方面,本文描述的实施例可提供配置有vrf实例的物理路由器。所配置的vrf实例的数量对应多个业务链提供的一个业务链或业务结构中的业务设施的数量加上一个附加vrf实例。也就是说,vrf实例的数量比业务设施的数量多1,这提供了足够的连接性来将在路由器的入端口处接收的数据包路由到所有业务设施以及路由器的出端口。对于m个业务设施,m是整数,所配置的vrf实例的数量是m+1。附加vrf实例可用于路由器的入端口或出端口,因为其从入端口接收数据包或者向出端口提供数据包。路由器可基于网络数据包中的目的地址使用路由规则的关联路由表来配置各个vrf实例以实施业务链的路由路径。

图3示出了根据本文所述实施例的一示例业务链网络。路由器60可从源节点62接收数据以在穿过一个或多个业务设施(例如,fw设施72、ids/ips设施74)后转发给目的节点64。对于本说明性示例,路由器60可用于路由数据包到两个业务设施(例如,fw设施72、ids/ips设施74)。路由器60可配置vrf实例的数量,该数量对应用于业务链或业务结构的业务设施(例如,fw设施72、ids/ips设施74)的数量。如上所述,存在一个附加vrf实例。附加vrf实例可服务入端口76或出端口78。因此,对于本说明性示例,路由器60可配置三个vrf实例66、68、70。来自源节点62的传入数据包可到达路由器60的入端口76。vrf实例66可服务路由器60的入端口76并从连接到路由器60的所有网络接收数据包。

可使用针对vrf实例66、68、70的路由规则的路由表基于数据包中的目的地址将数据包路由到业务设施(例如,fw设施72、ids/ips设施74)。各个业务设施可具有到各个vrf实例66、68、70的相应出接口。例如,vrf1实例66可基于数据包的目的地址将数据包路由到fw设施72。fw设施72可通过出接口向vrf2实例68传输数据包。vrf2实例68转而可将数据包路由到ids/ips设施74。ids/ips设施74可通过出接口向vrf3实例70传输数据包,vrf3实例70转而通过出端口78向目的节点64转发数据包。因此,数据包的路由路线可为src-vrf1-fw-vrf2-ids/ips-vrf3-dst。vrf1实例66、vrf2实例68、vrf3实例70可仅基于数据包的目的地址转发数据包流量。所配置的vrf实例的数量可对应业务设施的数量,以确保在需要时有足够数量的vrf实例来将数据包路由到业务链中的每个业务设施,同时仍然提供路由数据包以绕过业务链中的一个或多个业务设施的灵活性。例如,如果路由器60仅配置了一个或两个vrf实例,则将没有足够数量的vrf实例来基于数据包的目的地址将数据包路由到fw72设施和ids/ips74设施两者,而仍然提供路由另一数据包以绕过fw72设施或ids/ips74设施的灵活性。

如上所述,路由器60可以不考虑要路由的数据包的源,并且可以仅基于数据包的目的地址来路由。在这种情况下,例如,用于出端口的vrf3实例70可能无法将从fw72接收的数据包流量与从ids/ips74接收的数据包进行区分,因为它们来自不同的源。

如上所述,路由器60提供路由数据包以绕过业务链中的一个或多个业务设施的灵活性。

路由器60可以使用vrf实例66、68、70和它们对应的路由规则的路由表基于目的地址来分割网络数据流量,使得一段网络数据流量的可以绕过fw设施72或ids/ips设施74。vrf实例66、68、70可使用对应的路由表来路由数据包以根据数据包的目的地址和路由表的路由规则绕过业务链中的一个或多个业务设施。例如,vrf1实例66可使用其路由表基于到达入端口76的数据包的目的地址将该数据包路由到fw设施72。fw设施72可使用其出接口向vrf2实例68提供数据包,vrf2实例68通过vrf2实例68与出端口78之间的链路将数据包转发到出端口78并到达目的节点64。因此,数据包的路由可基于路由路线vrf1-fw-vrf2-dst绕过ids/ips设施74。又例如,vrf1实例66可使用其路由表基于到达入端口76的数据包的目的地址将该数据包路由到ids/ips设施74。ids/ips设施74可使用其出接口向vrf3实例70提供数据包,vrf3实例70可将数据包转发给出端口78。因此,数据包的路由可基于路由路线vrf1-ids/ips-vrf3-dst绕过fw设施72。

如一特例,从源节点62收到的数据包可绕过这两个业务设施。例如,vrf1实例66可将数据包直接路由到目的节点64,或按src-vrf1-dst路由。这可通过以下方式完成:经由从vrf1实例66到路由器60的出端口78的通向目的节点64的链路直接从vrf1实例66路由到目的节点64。这是一个特例,对于出端口78,数据包通常会路由到vrf3实例70。各个vrf实例66、68、70可与其自己的路由表关联,其中路由表作为数据结构在持久存储器中保存和维护。vrf实例66、68、70的路由表可不同。本文描述的实施例可使用一定数量的vrf实例66、68、70,该数量对应用于业务链的业务设施的数量。在一些示例实施例中,对于入端口76或出端口78可能存在一个附加vrf实例。例如,可能存在连接到路由器60的十个不同的网络用于网络数据流量,并且可能存在两个不同的业务设施72、74用于实施不同的业务链。业务链可以是以特定顺序处理网络数据包的业务设施的特定组合。对于本文描述的一些实施例,可能存在连接到源节点62、业务设施和目的节点64的三个vrf实例66、68、70以实施本示例的业务链。根据本文描述的实施例,vrf实例的数量不是基于提供输入网络数据流的虚拟网络的数量确定的。如果路由器对每个传入网络专用一个vrf实例,则这在传入网络的数量比业务设施的数量大的情况下可能使用大量路由器资源。如果路由器配置的vrf实例的数量对应业务设施的数量,则这在业务设施的数量相比于传入网络的数量相对较小(例如小于10)的情况下可有效地使用资源。

每个业务链可定义为使用vrf实例的路由规则和路由表实现的路由路径。例如,vrf实例vrf1的路由表的一个路由规则可将目的地为d1的所有网络数据包指向一个设施a1。vrf实例vrf1的路由表的另一路由规则可将目的地为d2的所有网络数据包指向另一设施a2。vrf实例vrf1的路由表的又一路由规则可将目的地为d3的所有网络数据包指向另一设施a3,等等。这些路由路径可用来形成不同的业务链。

本文描述的实施例可提供具有附加vrf实例66、68、70的路由器,包括数量与业务设施(fw设施72、ids/ips设施74)的数量对应的vrf实例。在一些示例实施例中,对于源节点62或目的节点64可能存在一个vrf实例。这可能需要数量对应业务设施数量的vrf实例66、68、70以及源节点62或目的节点64的资源消耗。多个vrf实例66、68、70形成一个业务结构,其中可使用对应的路由表和路由规则在该业务结构内形成不同的业务链。与连接的业务设施的较小数量(例如小于10)相比,传入网络的数量可能较大(例如数百或数千)。vrf实例数量对应业务设施数量的路由配置需要的资源比每个网络输入到其自己的vrf实例的路由配置需要的资源要少。

图7示出了根据一些实施例的图3的业务链网络或业务结构的一示例物理视图。路由器10可通过端口21、23连接到设备22、24。路由器10可通过端口25、26、27、28,例如以太网端口,连接到业务设施18、20。

本文描述的实施例的网络配置所提供的业务结构可有效地利用dcn的带宽,因为所有网络数据业务流都不需要经过所有业务设施。路由配置实现按目的地址的数据分割,以使一部分或一段网络数据流量能够绕过连接在dcn上的一个或多个业务设施。例如,一个业务结构可连接四个业务设施。该路由配置可路由大部分网络数据流量以绕过两个业务设施,这与不绕过这两个业务设施的实施方式相比减少了带宽的使用。

图4示出了根据本文所述实施例的路由器60的另一示意图。对于本示例,可能有数百个不同的网络连接到路由器60来提供网络数据流量,并且可能存在不同的业务设施72、73、74、75来实施不同业务链的业务结构。针对网络数据流量的不同业务链路由路径提供业务设施的不同组合。本文描述的实施例可配置具有五个vrf实例66、68、70、73、75的路由器60以实施本示例的业务链。vrf实例的数量对应业务设施的数量加上一个附加vrf实例,因此vrf实例的数量比业务设施的数量大1。在一些实施例中,由于路由器60上的资源约束,路由器60可能支持有限的vrf实例,例如,路由器可能支持1000个vrf或2000个vrf。然而,对于该业务结构,可能仅存在数量有限的业务设施,该数量在大多数情况下是路由器的vrf容量内的数量。例如,对于该业务结构,可能存在2至5个业务设施,这个数量在路由器的vrf容量内。

业务链可使用一个或多个到业务设施的路由路径来定义。网络数据包可以是数据的格式化单元。每个网络数据包可与一个目的地址关联,目的地址作为数据包中的定义字段值。路由表可以是配置一个vrf实例来基于目的地址将网络数据包转发到不同业务设施或目的节点64上的路由规则的集合。路由规则可链接到目的地址。可使用特定路由规则来实施业务链的一个或多个路由路径。例如,如图3所示,目的地址为a的所有网络数据包都可与以下路由路径关联:fw设施72到ids/ips设施74到目的节点64。

返回参考图4,逻辑上示为源节点62到fw设施72的路由路径p0、逻辑上示为fw设施72到lb设施73的路由路径p1、逻辑上示为lb设施73到ids/ips设施74的路由路径p2以及逻辑上示为ids/ips设施74到目的节点64的路由路径p3可通过出端口提供另一示例业务链。这可使用以下路由规则来实施:vrf1实例66的路由表80的指示将目的地址为a的数据包转发到fw设施72的路由规则、vrf2实例68的路由表82的指示将目的地址为a的数据包转发到lb设施73的路由规则、vrf3实例70的路由表84的指示将目的地址为a的数据包转发到ids/ips设施74的路由规则。vrf5实例处的所有数据包都可转发到目的节点64。在图4中,通过业务结构中的粗线示出了针对目的地址为a的数据包的示例业务链的路由路径。针对目的地址为a的数据包示出的路线是src-vrf1-fw-vrf2-lb-vrf3-ids/ips-vrf5-dst,但是其它路由路径也是可能的。在具有多路径配置的一些实施例中,数据包还可经过vrf4实例73。每个vrf实例可有一个路由表。针对不同的示例实施例,vrf实例可具有到入端口的链路或到出端口的链路。

数据包的每个目的地址链接到使用业务结构网络提供的一个特定业务链。dcn可以不使用重叠的目的地址,所以路由规则不会不明确。

本文描述的实施例可配置一个路由器来消耗更多的vrf资源,因为配置了多个vrf实例,vrf实例的数量对应业务设施数量加一。vrf实例的数量可限为业务设施数量加上一个附加vrf实例。对于该业务结构,dcn可仅具有数量有限的业务设施,使得资源使用有限并简化路由。业务设施的数量可能较小,并且业务链所需的业务可能有限。例如,路由器提供的业务链可能需要三个业务设施,还可能存在两个、四个、五个、六个、十个等不同的业务设施。

在另一方面,本文描述的实施例配置路由器具有多个vrf实例。各个vrf实例与其自己的路由表关联。各个路由表基于网络数据包的目的地址定义路由规则。路由规则定义业务链的路由路径。路由规则可基于网络数据包的目的地址。业务结构是业务链的路由路径的聚合。不同的业务链可使用数据包基于特定目的地址路由的业务设施的不同组合。业务结构为路由路径或业务链组合提供不同的选项。网络流量可基于转发路线或路由路径转发到业务链上。路由路径通过路由表的路由规则定义。路由器的各个vrf实例可以访问持久存储器上的基于目的地址定义路由规则的路由表。

本文描述的实施例可利用路由器的硬件和软件vrf能力来配置业务链和业务结构。vrf实例可称为vrf网络交换机,本文描述的实施例可提供的vrf网络交换机的数量对应业务设施的数量加上一个附加vrf网络交换机。多个vrf网络交换机与路由规则的路由表关联,这些路由规则可协同工作来提供业务结构。可使用网状业务结构来形成各种业务链。

通过为业务结构的每个业务设施使用附加vrf实例,本文描述的实施例可将基于源和目的地两者的转发决定(例如图1)简化为基于目的地的决定。vrf实例用于在不改变数据路径或控制协议的情况下定义业务链。本文描述的实施例可支持能够进行vrf的网络设备。例如,路由器可具有配置vrf实例的能力。本文描述的实施例可利用物理路由器的vrf配置能力来实施业务链的路由路径。

另一种示例业务链实施方式可包括为每个传入网络配置一个vrf实例,使得每个网络将输入数据包提供到其自己的vrf实例中。可存在大量传入网络,这相应地会需要大量vrf实例。如一说明性示例,可存在数百个传入网络来传送数据包,并存在不到十个业务设施。对于大量网络,每一网络的vrf实例分配可导致vrf资源快速消耗。相比之下,当存在大量传入网络时,基于业务设施的数量确定vrf实例的数量可有效地使用资源。所有传入网络从源节点通过路由器的入端口处的通用vrf实例传送数据包。也就是说,从所有传入网络收到的网络数据包都可输入到业务结构的第一vrf实例中。在该配置中,来自不同网络的数据包被输入到路由器的入端口处的通用vrf实例中。

相对于用于业务结构的业务设施的数量,路由器可服务大量网络。网络的数量通常可大于业务设施的数量。vrf实例数量对应业务设施数量的路由器配置比基于每个网络一个vrf实例的配置更有效地使用资源。本文描述的实施例可提供一种vrf业务链实施方式,其中网络数据流量的路由可路由部分网络数据流量以绕过业务结构的特定业务设施。路由可基于网络数据流量的目的地址。

业务链可为dcn应用的一个重要特征。本文描述的实施例可提供交换机和路由器等dcn元件以实施一个灵活的业务结构,该业务结构有效地使用dcn应用的带宽以针对不同网络数据流量段构造不同的业务链。

图5示出了包括到各种业务设施的多个路由路径的一业务链的又一示例示意图。例如,一个业务链可包含三个路由路径:互联网节点102到网络地址转换器(networkaddresstranslator,nat)设施108的路由路径90、nat设施108到lb设施110的路由路径92以及lb设施110到web业务112的路由路径94。可在其它业务链中使用的其它示例业务设施包括fw设施104和ips设施106。

一个业务结构包括多个业务链以针对不同的业务设施组合提供选项。也就是说,一个业务结构提供多个路由路径,这些路由路径可用于形成包括不同业务设施的不同业务链。根据一些实施例的路由器可连接到各种业务设施并用于形成一个业务结构。路由器可提供包括业务设施之间的不同路由路径的多个业务链选项。对于图5所示的示例,路由器可配置五个vrf实例,该数量等于业务设施(例如fw设施104、ips设施106、nat设施108、lb设施110)的数量加上出端口的一个vrf实例。根据一些实施例,互联网节点102可视为源节点,web业务112可为目的节点。

图6示出了根据一示例实施例的用于提供业务结构的方法600的流程图。

在步骤602处,为路由器配置vrf实例。每个vrf实例与持久数据存储器中保存的一个路由表关联。路由表可基于网络数据包的目的地址定义路由规则。路由器还可配置一定数量的vrf实例,该数量对应业务设施数量加1。因此,vrf实例的数量可等于作为业务链的一部分连接到路由器的业务设施的数量加上一个附加vrf实例。附加vrf实例可服务路由器的入端口或出端口,以分别从源节点接收网络数据包或向目的节点传输已经过业务链的网络数据包。vrf实例的数量可以基于连接到路由器的业务设施的数量。vrf实例的数量不会基于连接到路由器的网络的数量。例如,如果存在数百个传入网络和形成业务结构的四个业务设施,则vrf实例的数量将基于这四个业务设施。路由器可配置一定数量的vrf实例,该数量等于业务设施数量加上出端口的一个vrf实例。

在步骤604处,配置有vrf实例的路由器可连接到业务设施以定义并完成网络数据流量的业务链。业务链为网络数据流量提供业务结构。业务结构可以是被允许的去往和来自vrf实例和所连接业务设施的路由路径的聚合。业务结构可使用层3(例如互联网协议)接口配置以及各个接口属于哪个vrf实例等来实施。路由规则可定义业务链的路由路径。如前所述,路由规则可基于网络数据包的目的地址。业务结构可定义连接到路由器的各业务设施之间的多个路由路径以形成不同的业务链。一个业务结构可提供不同的业务链。可通过vrf实例的路由规则来定义不同的路由路径。因此,业务结构定义vrf实例与业务设施之间的可能路由路径。vrf实例的路由规则定义不同业务链的路由路径。图3和图4示出了示例业务结构。

在步骤606处,在路由器的入端口处接收来自不同网络的网络数据包。每个网络数据包可包括一个目的地址,用于将相应的网络数据包通过业务结构路由到不同的业务设施。在一些实施例中,vrf实例的数量不是基于网络数量,因此路由配置不需要每个传入网络有一个单独的vrf实例。

在步骤608处,通过使用vrf实例,可基于网络数据包的目的地址通过业务结构定义的一个业务链来路由网络数据包。例如,目的地为a的网络数据包可路由到fw设施,目的地为b的网络数据包可路由到lb设施。因此,不是所有网络数据包都会经过业务设施的同一业务链。一些网络数据包可绕过某些业务设施,取决于vrf实例的路由规则和数据包的目的地址。可通过路由规则基于目的地址分割网络数据包,并且可路由部分数据包以绕过一个或多个业务设施,使得无需所有网络数据包都路由通过所有业务设施。

在步骤610处,网络数据包在经过业务设施的业务链之后,在路由器的出端口处传输给目的节点。

图8示出了根据一些实施例的包括网络节点802的网络通信系统800的一示例物理视图。网络节点802可通过一个端口连接到两个业务设施810、812。网络节点802可包括三个vrf实例,即连接到业务设施810、812来形成业务结构814的vrf1实例804、vrf2实例806和vrf3实例808。可存在五个虚拟网络来将向源节点816提供输入网络数据包并在目的节点818处接收网络数据包。如图所示,节点802上所需的vrf实例的数量可基于连接到节点802的业务设施的数量,而不是基于耦合到提供输入数据包的节点802的虚拟网络的数量。在这种情况下,示出五个虚拟网络但仅三个vrf实例。本示例还示出了来自所有网络的源节点816将输入提供到vrf1804中,对于传入网络,vrf1804可称为通用vrf实例。路由器从其入端口处的源节点816接收输入数据包并路由通过通用vrf实例(例如vrf1804)以实施业务结构。

图9示出了配置了四个vrf实例902、904、906、908的另一示例路由器900。路由器900连接到业务链的三个业务设施910、912、914。vrf实例902、904、906、908的数量对应用于业务链的业务设施910、912、914的数量加上一个附加vrf实例。如图9所示,路由器900可将目的地址为d1/d2/d3/d4的传入数据包连接到vrfio实例902,该实例可服务路由器900的入端口。如图9的示例实施例所示,各个vrf实例902、904、906、908充当相应目的地d1、d2、d3、d4的出口。

因此,对于一些示例实施例,任何vrf实例都可以是出口vrf实例并链接到出端口,而不是为出端口指定一个vrf实例。在这种情况下,可为入端口指定一个vrf实例。

业务设施910、912、914可具有用于传入网络数据包的入接口和用于传出网络数据包的出接口。对于该说明性实施例,vrf实例902、904、906、908与业务设施910、912、914之间的链路是单向的,对应业务设施的入接口和出接口。粗实线表示从业务设施910、912、914的出接口到vrf实例902、904、906、908的上行链路。虚线表示从vrf实例902、904、906、908到业务设施910、912、914的入接口的下行链路。

对于业务设施,可基于流量传入的入接口确定出接口。在一些实施例中,业务设施可以不支持路由,并可用于在没有路由能力的情况下实现所需的业务链接。作为一说明性示例,防火墙可具有使用linuxip表的配置,但是可使用其它配置。

各个业务设施910、912、914可具有到不同的指定vrf实例的出接口作为下一跳。各个业务设施910、912、914的出接口可由dcn的网络控制器预配置等。

业务设施a910具有接口a1、a2、a3、a4。一种示例配置可以是,业务设施a910具有到vrfa实例904的出接口a2作为数据包的下一跳。也就是说,对于业务设施a910,接口a2是到vrfa实例904的出接口。业务设施a910具有入接口a1、a3、a4。可配置业务设施a910以便从接口a1、a3、a4传入的所有流量都去往接口a2。

业务设施b912具有接口b1、b2、b3、b4。业务设施b912具有到vrfb实例906的出接口b3作为数据包的下一跳。也就是说,对于业务设施b912,接口b3是到vrfb实例906的出接口。业务设施b912具有入接口b1、b2、b4。可配置业务设施b912使得从接口b1、b2、b4传入的所有流量都去往接口b3。

业务设施c914具有接口c1、c2、c3、c4。业务设施c914具有到vrfc实例908的出接口c4作为数据包的下一跳。对于业务设施c914,接口c4是到vrfc实例908的出接口。业务设施c914具有入接口c1、c2、c3。可配置业务设施c914使得从接口c1、c2、c3传入的所有流量都去往接口c4。

因此,每个业务设施可具有各自的到对应或指定vrf实例的已配置出接口。路由器的入端口也可具有对应或指定的vrf实例。在该实施例中,从以下意义上来说,各个vrf实例可以称为对应于或指定给入端口或一个业务设施:入端口或业务设施仅可以向指定的vrf实例发送,且该指定的vrf实例仅可以从该入端口或业务设施接收。

对于任何给定的业务链,一个业务设施仅可在业务链中使用一次,并且每个业务设施可具有一个到不同vrf的出接口。因此,没有vrf实例可以在转发路径上两次,所以不存在为任何业务链建立的循环,因此转发是确定性的。

各业务链可以使用业务设施910、912、914的不同组合和排序来提供。本文描述的设备、系统和方法的实施例可在硬件和软件的组合中实施。这些实施例可使用路由器、网络交换机、业务设施和其它网络设备来实施。这些实施例可耦合到可编程计算机,每个计算机包括至少一个处理器、数据存储系统(包括易失性存储器或非易失性存储器或其它数据存储元件或它们的组合)以及至少一个通信接口。

业务设施可处理输入数据以执行本文描述的业务并生成输出信息。输出信息可应用于一个或多个输出设备。在一些实施例中,通信接口可以是网络通信接口。在元件可能组合的实施例中,通信接口可以是软件通信接口,例如用于进程间通信的软件通信接口。在其它实施例中,可能存在实施为硬件、软件或其组合的通信接口的组合。

关于服务器、业务、接口、门户、平台、设施等可进行多种参考。使用这类术语可表示具有至少一个处理器的一个或多个硬件设备,该至少一个处理器用于执行存储在计算机可读有形非瞬时性介质上的软件指令。例如,一个设施可以包括一个或多个计算机,该一个或多个计算机以履行所描述的角色、责任或功能的方式作为web服务器、数据库服务器或其它类型的计算机服务器。

应认识到,本文描述的系统和方法可提高网络使用率,因为数据流量可通过使用vrf能力来绕过业务设施以实施不同的路由路径。无需所有业务流量都路由通过业务结构的所有业务设施。

本文讨论了许多示例实施例。尽管每项实施例表示元件的单个组合,但是其它示例可包括所公开的元件的所有可能组合。因此,如果一项实施例包括元件a、b和c,第二实施例包括元件b和d,则a、b、c或d的其它剩余组合也可使用。

术语“连接”或“耦合到”可包括直接耦合(其中彼此耦合的两个元件彼此接触)和间接耦合(其中至少一个附加元件位于这两个元件之间)。

本文描述的实施例可通过仅使用硬件或通过使用软件和硬件的组合来实施。实施例的技术方案的形式可以是软件产品。软件产品可以存储在非易失性或非瞬时性存储介质中,非易失性或非瞬时性存储介质可以是只读光盘(compactdiskread-onlymemory,cd-rom)、usb闪存盘或移动硬盘。软件产品包括使计算机设备(个人计算机、服务器或网络设备)能够执行实施例中提供的各方法的多个指令。

本文描述的实施例由物理硬件实现。本文描述的实施例提供有用的物理机器以及特别配置的网络硬件布置。本文描述的实施例针对电子机器、物理设备、物理网络和由网络实施的用于处理和转换电磁信号的物理方法,其中电磁信号表示各种类型的信息。本文描述的实施例普遍且整体涉及机器及其用途;并且本文描述的实施例若不与计算机硬件、机器以及各种硬件组件一起使用就没有意义或实际适用性。使用计算设备、服务器、接收器、发射器、处理器、存储器、显示器或网络来替代非物理硬件,例如使用心智步骤来替换,可能会大大影响实施例运作的方式。这类计算机硬件限制明显是本文描述的实施例的基本要素,它们不能在不对本文描述的实施例的操作和结构产生实质影响的情况下省略或替代心智构件。计算机硬件对于本文描述的实施例是必要的,而不是仅仅用于以有效的方式快速地执行步骤。

虽然已详细地描述了实施例,但是应理解,可以在不脱离如所附权利要求书所界定的范围的情况下对本发明做出各种改变、替代和更改。

此外,本发明的范围并不局限于说明书中所述的过程、机器、制造、物质组分、构件、方法和步骤的具体实施例。所属领域的一般技术人员可从本发明的公开中轻易地了解,可根据本发明使用现有的或即将开发出的,具有与本文所描述的相应实施例实质相同的功能,或能够取得与所述实施例实质相同的结果的过程、机器、制造、物质组分、构件、方法或步骤。相应地,所附权利要求范围包括这些流程、机器、产品、合成物质、方式、方法及步骤。

可以理解,上文描述和示出的示例仅旨在举例。本发明的范围由所附权利要求书指示。

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