Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN106664250 A
Publication typeApplication
Application numberCN 201580024495
PCT numberPCT/US2015/024217
Publication date10 May 2017
Filing date3 Apr 2015
Priority date12 May 2014
Also published asDE202015009259U1, EP3143734A1, US9736067, US20150326476, WO2015175110A1
Publication number201580024495.4, CN 106664250 A, CN 106664250A, CN 201580024495, CN-A-106664250, CN106664250 A, CN106664250A, CN201580024495, CN201580024495.4, PCT/2015/24217, PCT/US/15/024217, PCT/US/15/24217, PCT/US/2015/024217, PCT/US/2015/24217, PCT/US15/024217, PCT/US15/24217, PCT/US15024217, PCT/US1524217, PCT/US2015/024217, PCT/US2015/24217, PCT/US2015024217, PCT/US201524217
Inventors叶飞, 李江波, 维克托林, 萨布哈斯里曼达尔
Applicant谷歌公司
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Prefix-aware weighted cost multi-path group reduction
CN 106664250 A
Abstract
Methods and systems for generating a forwarding table for a packet switch. The system includes a route manager for the packet switch, configured to identify a plurality of multi-path groups each corresponding to a respective initial set of routing entries in the forwarding table and generate, for one or more multi-path groups, at least one replacement set of routing entries with fewer routing entries than the initial set corresponding to the respective multi-path group. The route manager selects, based on a traffic reduction cost metric, one or more of the replacement sets of routing entries, each corresponding to a different respective multi-path group, and updates the forwarding table with the selected replacement sets. In some implementations, the traffic reduction cost metric includes a traffic characteristic. In some implementations, the packet switch participates in a software-defined network (SDN) and the route manager is part of an SDN controller.
Claims(20)  translated from Chinese
1. 一种为分组交换机生成转发表的方法,所述方法包括: 在分组交换机的转发表中识别多个多路径群组,每个多路径群组与所述转发表中的路由条目的相应的初始集合相对应, 为所述多个多路径群组中的一个或多个多路径群组生成路由条目的至少一个替换集合,相比于与相应的多路径群组相对应的路由条目的所述初始集合,所述替换集合具有更少的路由条目; 基于业务减少成本度量,选择路由条目的所述替换集合中的一个或多个,每个所选择的替换集合与所述多个多路径群组中不同的相应多路径群组相对应;以及在所述分组交换机的所述转发表中,用路由条目的相应的对应所选择替换集合来替换与路由条目的所选择替换集合相对应的每个多路径群组的路由条目的所述初始集合。 CLAIMS 1. A method of generating a forwarding table packet switch, the method comprising: identifying a plurality of groups in a multi-path forwarding packet switch, each of the group of the multi-path routing forwarding table entry corresponding to the initial set corresponding to said plurality of groups of multi-path or a plurality of multipath routing group generation replacing at least one entry set, as compared to the corresponding multi-path routing entries corresponding to the group of the initial set, the set has fewer alternative route entry; replacement of one or more sets of reducing the cost metric based on the traffic, routing entries, each substitution set selected from the plurality of multi- different path group corresponding to a respective multipath group; and the packet switch in the forwarding table, the corresponding routing entry corresponding to the selected alternative to replace the set of entries of the selected alternative route corresponds to a set the entry for each route group an initial set of multipath.
2. 如权利要求1所述的方法, 其中,所述业务减少成本度量包括第一业务特性;以及其中,基于所述业务减少成本度量,选择与具有第一业务特性的多路径群组相对应的路由条目的替换集合,包括:选择具有小于最大数目路由条目的路由条目的替换集合,所述替换集合中每个路由条目与不同的网络路径相对应。 2. The method according to claim 1, wherein the service comprises a first service to reduce the cost metric characteristic; and wherein, to reduce the cost metric based on the traffic, and selecting the group having the multipath characteristic corresponding to the first service Alternatively the set of routing entries, comprising: selecting alternatively having less than a maximum number of routing entries set of entries of routes, each route in the set of replacement entry corresponds to a different network paths.
3. 如权利要求2所述的方法,其中,具有小于所述最大数目路由条目的路由条目的所述替换集合正好具有两个路由条目。 3. The method as claimed in claim 2, wherein said set of alternative routes with less than the maximum number of entries of the routing entries has exactly two routing entries.
4. 如权利要求2所述的方法,其中,具有所述第一网络业务特性的所述多路径群组不向所述多路径群组发射作为以下一个或多个的网络分组:使用状态性传输层协议的网络分组、超过大小限制的流的网络分组、以及寻址到特定网络地址范围的网络分组。 The multi-path group 4. The method according to claim 2, wherein said first network having a service feature does not transmit the group to the multi-path network as packets of one or more of: the state of use the network transport layer protocol packets, packets exceeds the size limit of the network flow, and network packets addressed to a particular network address range.
5. 如权利要求1所述的方法,进一步包括: 将与第一多路径群组相对应的路由条目的第一生成替换集合的第一业务减少成本度量值和与所述第一多路径群组相对应的路由条目的第二生成替换集合的第二业务减少成本度量值进行比较;以及基于所述比较,选择路由条目的所述第一生成替换集合。 5. The method according to claim 1, further comprising: generating a first entry in the first routing path group corresponding to the plurality of replacement of the first set of services and reduce the cost metric of the first group and the multipath routing entries corresponding to the set of the second generation of replacing the second set of services to reduce the cost metric comparing; and based on said comparison, generating a first routing entry replacement set.
6. 如权利要求1所述的方法,进一步包括: 将与第一多路径群组相对应的路由条目的第一生成替换集合的第一业务减少成本度量值和与第二多路径群组相对应的路由条目的第二生成替换集合的第二业务减少成本度量值进行比较;以及基于所述比较,选择路由条目的所述第一生成替换集合。 6. The method according to claim 1, further comprising: generating a first entry in the first routing path group corresponding to the plurality of replacement of the first set of services to reduce the cost metric and a second group of multipath phase routing entries corresponding to the replacement of the second generation of the second set of services to reduce the cost metric comparing; and based on said comparison, generating a first routing entry replacement set.
7. 如权利要求1所述的方法,进一步包括: 将与第一多个多路径群组相应地对应的路由条目的第一多个生成替换集合的第一业务减少成本度量值和与第二多个多路径群组相应地对应的路由条目的第二多个生成替换集合的第二业务减少成本度量值进行比较;以及基于所述比较,选择路由条目的所述第一多个生成替换集合。 7. The method according to claim 1, further comprising: a first plurality of routing entries with a first plurality of multipath groups respectively corresponding to the first service generating a set of alternative measures and the cost reduction and the second generating a second plurality of alternative sets of second traffic routing entry group corresponding plurality of multi-path corresponding to reduce the cost metric is compared; and based on the comparison, routing a first plurality of entries being set generates replacement .
8. 如权利要求1所述的方法,其中,用路由条目的所述替换集合来替换路由条目的所述初始集合将所述转发表中的路由条目的数目减少了至少预定量。 8. The method as claimed in claim 1, wherein replacing the set route entry to replace the entry with the initial set of the routing number to the routing table entries in turn reduced by at least a predetermined amount.
9. 如权利要求1所述的方法,其中,所述业务减少成本度量包括网络带宽度量,所述网络带宽度量由与遍历所述多路径群组的业务相对应的分数来加权。 9. The method according to claim 1, wherein said cost metric includes a reduced traffic network bandwidth metric, a bandwidth metric of the network and the multi-path traversal service group corresponding to the weighted score.
10. 如权利要求1所述的方法,其中,所述分组交换机是软件定义的网络SDN的一部分, 且其中,在所述分组交换机的所述转发表中用路由条目的所述替换集合来替换路由条目的所述初始集合包括:将指令从SDN控制器发射到所述分组交换机。 10. The method as claimed in claim 1, wherein said packet switch is part of a software-defined network SDN, and wherein, at said packet switch forwarding table with routing entries set to replace the replacement the initial set of routing entries comprising: transmitting an instruction from the controller to the packet switch SDN.
11. 一种系统,包括: 具有转发表的分组交换机;以及所述分组交换机的路由管理器,所述路由管理器被配置为: 在所述转发表中识别多个多路径群组,每个多路径群组与所述转发表中的路由条目的相应的初始集合相对应; 为所述多个多路径群组中的一个或多个多路径群组生成路由条目的至少一个替换集合,相比于与相应的多路径群组相对应的路由条目的所述初始集合,所述替换集合具有更少的路由条目; 基于业务减少成本度量,选择路由条目的所述替换集合中的一个或多个,每个所选择的替换集合与所述多个多路径群组中不同的相应多路径群组相对应;以及在所述转发表中,用路由条目的相应的对应所选择替换集合来替换与路由条目的所选择替换集合相对应的每个多路径群组的路由条目的所述初始集合。 11. A system, comprising: a packet switch forwarding; and the packet switch routing manager, a routing manager configured to: identify a plurality of groups in the multi-path forwarding, each respective initial set of the group of multipath routing forwarding table entry corresponding to the; generating a route entry to the plurality of groups of multi-path or multi-path group of at least a plurality of collection Alternatively, phase to set the initial ratio of the respective multi-path routing group corresponds to an entry, the replacement entry route set having less; or alternatively a set of reduced cost metric based on the traffic, routing entries a, replacing each of the selected set of the plurality of groups of different multi-path multipath respective corresponding group; and in the forwarding table, the corresponding routing entry corresponding to the selected replacement set of replacement routing entry selected alternate route entry for each group of multi-path corresponding to the set of the initial set.
12. 如权利要求11所述的系统, 其中,所述业务减少成本度量包括第一业务特性;以及其中,所述路由管理器被配置为:基于所述业务减少成本度量,通过选择具有小于最大数目路由条目的路由条目的替换集合,来选择与具有所述第一业务特性的多路径群组相对应的路由条目的替换集合,所述替换集合中的每个路由条目与不同的网络路径相对应。 12. The system of claim 11, wherein the service comprises a first service to reduce the cost metric characteristic; and wherein, the routing manager is configured to: reduce the cost metric based on the traffic, by selecting a less than a maximum an alternate route to the number of entries set of entries routes, selecting the replacement of the set of multi-path having a first group corresponding to service feature routing entries, each routing entry in the replacement with a different set of network paths with correspond.
13. 如权利要求12所述的系统,具有小于所述最大数目路由条目的路由条目的所述替换集合正好具有两个路由条目。 13. The set of replacement system of claim 12, having less than the maximum number of routing entries in the routing entries has exactly two routing entries.
14. 如权利要求12所述的系统,其中,具有所述第一网络业务特性的所述多路径群组不向所述多路径群组发射作为以下一个或多个的网络分组:使用状态性传输层协议的网络分组、超过大小限制的流的网络分组、以及寻址到特定网络地址范围的网络分组。 The multi-path group 14. The system of claim 12, wherein said first network having a service feature does not transmit the group to the multi-path network as packets of one or more of: the state of use the network transport layer protocol packets, packets exceeds the size limit of the network flow, and network packets addressed to a particular network address range.
15. 如权利要求11所述的系统,所述路由管理器进一步被配置为: 将与第一多路径群组相对应的路由条目的第一生成替换集合的第一业务减少成本度量值和与所述第一多路径群组相对应的路由条目的第二生成替换集合的第二业务减少成本度量值进行比较;以及基于所述比较,选择路由条目的所述第一生成替换集合。 15. The system of claim 11, the routing manager is further configured to: generate a first entry of the first routing path group corresponding to the plurality of replacement of the first set of services and reduce the cost metric and the first multi-path routing entry group corresponding to the second alternative to generate a second set of services is to reduce the cost metric comparing; and based on said comparison, generating a first routing entry replacement set.
16. 如权利要求11所述的系统,所述路由管理器进一步被配置为: 将与第一多路径群组相对应的路由条目的第一生成替换集合的第一业务减少成本度量值和与第二多路径群组相对应的路由条目的第二生成替换集合的第二业务减少成本度量值进行比较;以及基于所述比较,选择路由条目的所述第一生成替换集合。 16. The system of claim 11, the routing manager is further configured to: generate a first entry of the first routing path group corresponding to the plurality of replacement of the first set of services and reduce the cost metric and the second group of multipath routing entries corresponding to the second alternative to generate a second set of services is to reduce the cost metric is compared; and based on the comparison, routing said first generates replacement entry set.
17. 如权利要求11所述的系统,所述路由管理器进一步被配置为: 将与第一多个多路径群组相应地对应的路由条目的第一多个生成替换集合的第一业务减少成本度量值和与第二多个多路径群组相应地对应的路由条目的第二多个生成替换集合的第二业务减少成本度量值进行比较;以及基于所述比较,选择路由条目的所述第一多个生成替换集合。 17. The system of claim 11, the routing manager is further configured to: reduce a first plurality of sets of the first service generates replacement entry route of the first plurality of multipath groups respectively corresponding to generating a second plurality of replacement cost metric and a second group of a plurality of multi-path routing entries respectively corresponding to a second set of services is to reduce the cost metric comparing; and based on said comparison, routing entries generating a first plurality of alternative sets.
18. 如权利要求11所述的系统,其中,所述路由管理器被配置为:用路由条目的所述替换集合来替换路由条目的所述初始集合将所述转发表中的路由条目的数目减少了至少预定量。 Alternatively the number of initial set of routing entries with the entry to an alternate route to the set route forwarding table entry is: 18. The system of claim 11, wherein the manager is configured to route reduced by at least a predetermined amount.
19. 如权利要求11所述的系统,其中,所述业务减少成本度量包括网络带宽度量,所述网络带宽度量由与遍历所述多路径群组的业务相对应的分数来加权。 19. The system of claim 11, wherein said cost metric includes a reduced traffic network bandwidth metric, a bandwidth metric of the network and the multi-path traversal service group corresponding to the weighted score.
20. 如权利要求11所述的系统,其中,所述分组交换机是软件定义的网络SDN的一部分, 且其中,所述路由管理器是SDN控制器的一部分,所述SDN控制器被配置为:在所述分组交换机的所述转发表中,通过将指令发射到所述分组交换机,用路由条目的所述替换集合来替换路由条目的所述初始集合。 20. The system of claim 11, wherein said packet switch is part of a software-defined network SDN, and wherein the route manager is part of a controller SDN, the SDN controller is configured to: in the packet switch forwarding table, by transmitting an instruction to the packet switch, replacing the set route entry to replace the entry with the initial set of routes.
Description  translated from Chinese

知道前缀的加权成本多路径群组减少 Weighted cost reduction know multipath group prefix

[0001] 相关申请交叉引用 [0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] 本申请要求2015年3 月10 日提交的题为"Prefix-Aware Weighted Cost Multi-Path Group Reduction"的美国专利申请No. 14/643,712的权益和其优先权,该美国专利申请要求2014年5 月12 日提交的题为"Prefix-Aware Weighted Cost Multi-Path Group Reduction"的美国临时申请No.61/991,969的优先权。 [0002] This application claims entitled March 10, 2015 filed "Prefix-Aware Weighted Cost Multi-Path Group Reduction" US Patent Application No. 14 / 643,712 of equity and priority, the United States patent application requirements entitled May 12, 2014 filed "Prefix-Aware Weighted Cost Multi-Path Group Reduction" priority of US provisional application No.61 / 991,969 of. 两个申请的全部内容通过引用合并于此。 The entire contents of both applications are incorporated herein by reference.

背景技术 Background technique

[0003] 在计算机系统之间以网络分组的形式发射信息,所述网络分组在一个或多个互连网络中从网络设备被传递到网络设备(例如,交换机)。 [0003] transmitting information between the computer system in the form of a network packet, the network packet in one or more interconnect network is transmitted from a network device to a network device (e.g., a switch). 每个网络设备将所接收的分组转发到分组中报头信息所指定的目的地。 Each network device forwards the received packet to the packet header information of the specified destination. 目的地地址可以在不同网络中用于可以由第三方控制的设备,且分组可以在源和目的地之间经过任意数目的不同网络。 The destination address can be used by a third party device may be controlled in different networks, and the packet may be any number of different networks through between the source and destination.

[0004] -些网络设备(典型地,交换机)包括被分配到转发表的存储器。 [0004] - Some network devices (typically switches) comprises a forwarding table is allocated to the memory. 当网络设备接收分组时,网络设备可以使用转发表中的信息以确定如何处置所接收的分组。 When a network device receives a packet, the network device may use the information in the forwarding table to determine how to handle the received packet. 例如,转发表可以包括路由条目,所述路由条目指定沿着到网络目的地的路径连接到下一跳的出站端口。 For example, the forwarding entries may include routing, the routing entry specifies the network along a path to the destination egress ports connected to the next hop.

[0005] 在一些网络配置中,从网络设备到特定网络目的地可能存在多个可变路径。 [0005] In some network configurations, there may be a plurality of variable paths from the network device to a particular network destination. 相等成本多路径(ECMP)路由允许转发表包括针对多个路径中的每个路径的路由条目。 Equal-cost multipath (an ECMP) routing allows routing forwarding table comprises entries for each path of the plurality of paths. 支持ECMP 的交换机随后可以在ECMP路由集合中的多个路由间分发网络业务。 The switch supports ECMP can then distribute network traffic ECMP routing collection among multiple routes. 加权成本多路径(WCMP) 路由使得多路径路由集合中的多个可变路径中的一些路径相比相同集合中的其他路径更多地被使用。 Weighted cost multipath (the WCMP) routing path such that some of the plurality of variable multipath routing path set in the path of the same as compared to the other set to be used more. 但是,WCMP路由集合的路由条目会消耗分配给转发表的存储器的显著的部分。 However, routing entries WCMP route set assigned to consume a significant portion of the forwarding table memory.

发明内容 SUMMARY

[0006] 在一个方面,本公开涉及一种用于为分组交换机生成转发表的方法。 [0006] In one aspect, the present disclosure relates to a method for generating a packet forwarding switch. 该方法包括在分组交换机的转发表中识别多个多路径群组,每个多路径群组与所述转发表中的路由条目的相应的初始集合相对应。 The method includes identifying a plurality of groups in a multi-path forwarding the packet switch, an initial set of routing entries corresponding to each group of said multi-path forwarding table corresponds. 该方法包括为所述多个多路径群组中的一个或多个多路径群组生成至少一个路由条目的替换集合,相比于与所述相应的多路径群组相对应的路由条目的初始集合,所述替换集合具有更少的路由条目。 The method includes generating at least one alternative route for the entry of a group of said plurality of multi-path or multi-path group set of the plurality, as compared to the respective multi-path routing entries corresponding group of initial set, the replacement set has fewer routing entries. 该方法包括基于业务减少成本度量,选择路由条目的替换集合中的一个或多个替换集合,每个所选择的替换集合与所述多个多路径群组中的不同的相应的多路径群组相对应,以及在分组交换机的转发表中,用路由条目的所述相应的对应的所选择的替换集合来替换与路由条目的所选择的替换集合相对应的用于每个多路径群组的路由条目的初始集合。 The method includes a set of alternative set of operations cost reduction measures, the entries in the routing or more substitutions based on different respective set of multipath Alternatively each selected group of the plurality of multi-path in the group correspondingly, as well as forwarding the packet switch, with the respective route entry corresponding to the selected replacement set is replaced with the replacement route selected set of entries corresponding to the group for each multipath an initial set of routing entries. 在一些实施方式中,所述业务减少成本度量包括第一业务特性。 In some embodiments, the service comprises a first service to reduce the cost metric characteristic.

[0007] 在另一方面,本公开涉及一种系统。 [0007] In another aspect, the present disclosure relates to a system. 该系统包括具有转发表的分组交换机,以及分组交换机的路由管理器。 The system includes a forwarding table having a packet switch and a packet switch routing manager. 所述路由管理器被配置为:在转发表中识别多个多路径群组,每个多路径群组与转发表中的路由条目的相应的初始集合相对应,以及为所述多个多路径群组中的一个或多个多路径群组生成至少一个路由条目的替换集合,相比于与所述相应的多路径群组相对应的路由条目的初始集合,所述替换集合具有更少的路由条目。 The route manager is configured to: identify a plurality of multi-path group in the forwarding table, the corresponding initial set of multipath routing entries for each group in the forwarding table corresponding to said plurality of multi-path and or a group of the plurality of multipath replacing at least one set of group generate routing entry, compared to the initial set of the corresponding group of multipath routing entries corresponding to the replacement set having less routing entries. 所述路由管理器被配置为基于业务减少成本度量,选择路由条目的替换集合中的一个或多个替换集合, 每个所选择的替换集合与所述多个多路径群组中的不同的相应的多路径群组相对应,以及在转发表中,用路由条目的所述相应的对应的所选择的替换集合来替换与路由条目的所选择的替换集合相对应的用于每个多路径群组的路由条目的初始集合。 The routing manager configured to set the replacement service based on reducing a cost metric, routing entries in a set of one or more substitutions, replacing each of the selected set of said plurality of multi-paths of different respective groups multipath corresponding group, and in the forwarding table, the corresponding replacement corresponding to the route selected by the set of entries is replaced with the replacement route selected set of entries corresponding to the cluster for each multipath set an initial set of routing entries. 在一些实施方式中, 所述业务减少成本度量包括第一业务特性。 In some embodiments, the service comprises a first service to reduce the cost metric characteristic. 在一些实施方式中,分组交换机参与软件定义的网络(SDN)且路由管理器是用于分组交换机的SDN控制器的一部分。 In some embodiments, the packet switch involved in software-defined network (SDN) and SDN routing manager is part of the controller for a packet switch.

附图说明 BRIEF DESCRIPTION

[0008] 当结合下面的附图时,通过参考下面的详细描述,将更全面地理解本公开的上述和相关对象、特征和优点,其中: [0008] When the conjunction with the following drawings, by reference to the following detailed description, will be more fully understood from the foregoing and related objects, features and advantages of the present disclosure, wherein:

[0009] 图1是示例网络的框图; [0009] FIG. 1 is a block diagram of an example network;

[0010] 图2是示例网络设备的框图; [0010] FIG. 2 is a block diagram of an example network device;

[0011] 图3A-图3C是示例转发表的框图; [0011] FIGS 3A- 3C are block diagram illustrating a forwarding table;

[0012] 图4是知道前缀的WCMP群组减少的方法的流程图; [0012] FIG. 4 is a flowchart of the prefix known method for reducing WCMP group;

[0013] 图5是用于不用来发射重要网络业务的多路径集合的WCMP群组减少的方法的流程图;以及 [0013] FIG. 5 is a flowchart for WCMP group multipath important not to transmit network traffic a set of a method of reducing; and

[0014] 图6是根据说明性实施方式的计算系统的框图。 [0014] FIG. 6 is a block diagram of a computing system in accordance with an illustrative embodiment.

[0015] 各种附图中的相同的参考标记和名称指示相同的元素。 [0015] Like reference numbers and designations in the various drawings indicate like elements.

具体实施方式 detailed description

[0016] 图1是在各种互连点处被链接到一起的多个独立网络所构成的示例网络环境的框图。 [0016] FIG. 1 is a block diagram of an example linked to a network environment with a plurality of separate networks constituted at various interconnection points. 如所图示,本地网络11〇与目的地网络150经由一个或多个中间网络130通信。 As illustrated, 150 communicate via one or more intermediate network 130 and local network 11〇 destination network. 本地网络110通过在本地网络110的边缘处的网络设备124和126连接到中间网络130。 The local network 110 through a network 130 is connected to an intermediate network device in a local network 124 and 110 at the edge 126. 这些"边缘"网络设备通过中间网络130参与三个所图示的网络路径:路径"A" 144、路径"B" 146和路径"C" 148。 The "edge" of the network equipment participating in the three illustrated network 130 via intermediate network path: "A" 144, the path "B" 146, and the path "C" 148. 每个路径144、146和148是通过网络110、130和150到目的地网络150中的目的地设备154的不同路由。 Each path 144, 146, 110, 130 and 148 through the network 150 and the destination device 154 in a different route to the destination network 150. 本地网络110中的网络设备122可以将寻址到目的地设备154的分组转发到边缘设备124或126且使得分组到达目的地网络150。 Network device 122 may be a local network 110 to a packet addressed destination device 154 are forwarded to the edge device 124 or 126 and 150 so that the packet reaches the destination network. 也就是,网络设备122可以实现多路径路由。 That is, network device 122 may implement a multi-path routing.

[0017] 参看图1,更详细地,本地网络110包括各种网络设备122、124和126。 [0017] Referring to Figure 1, in greater detail, the local network 110 includes various network devices 122, 124 and 126. 本地网络110 可以是促进多个计算系统之间的通信的任何种类的数据网络。 Local network 110 may be any kind of data networks facilitate communications between a plurality of computing systems. 本地网络110内的网络设备122可以将分组发送(发射)到本地网络110内的其他网络设备以及从其他网络设备接收分组,所述其他网络设备包括在本地网络110边缘处的网络设备124和126。 Network device 122 within the local network 110 may transmit a packet (transmission) to other network devices within the local network 110 and receiving a packet from another network device, other network devices comprising the network device 124 at the edge of the local network 110 and 126 . 在一些实施方式中,本地网络110是软件定义的网络(SDN),其中,网络设备中的一个或多个是由SDN控制器(图1中未示出)控制的。 In some embodiments, the local network 110 is a software-defined network (SDN), wherein the one or more network devices from the SDN is a controller (not shown in FIG. 1) of the control. 由SDN控制器所控制的网络设备的示例如图2中所图示。 SDN example of a network controlled by the controller device 2 illustrated in FIG. 可以用于实现网络设备的计算系统的示例如图7中所图示。 It may be used to implement the example computing system in a network device 7 illustrated in FIG.

[0018] 仍参看图1,边缘网络设备124和126将本地网络110连接到其他网络130。 [0018] Still referring to Figure 1, edge network device 124 is connected to the local network 126 and 110 to the other network 130. 在一些实施方式中,边缘设备具有连接到一个网络的网络接口以及连接到另一个网络的另一个网络接口,使得"多归属"设备可以参与两个网络。 In some embodiments, the edge device connected to a network having a network interface and another network interface to another network, such "multi-homing" device may participates in both networks. 在一些实施方式中,边缘设备经由网络互连(例如,由第三方互联网交换提供者(IXP)所提供的互连)被连接到另一网络的边缘设备。 In some embodiments, the edge device interconnected via a network (e.g., Internet exchange interconnected by a third party provider (the IXP) provided) is connected to another network edge device. 边缘设备124和126充当本地网络110和其他网络130之间的网关。 Edge devices 124 and 126 acts as a gateway between the local network 130 and other networks 110. 在一些实施方式中,边缘设备124和126实现诸如边界网络协议(BGP)的路由协议。 In some embodiments, the edge devices 124 and 126 implemented as border network protocol (BGP) routing protocols. 对于从本地网络110内到本地网络110之外的目的地设备154的分组,该分组在本地网络110内被沿着到掌管目的地设备154的目的地网络150的网络路径而路由到边缘设备。 For a packet from a local network 110 outside the local network 110 to destination device 154, the packet is within the local network 110 along the path to the destination network control device 150 of the destination network 154 and routed to the edge device. 边缘网络设备124被图示为通过中间网络130到目的地网络150参与了至少两个不同的路径(路径"A" 144和路径"B" 146)。 Edge network device 124 is illustrated as an intermediate network 130 via a network 150 to a destination of the participation of at least two different paths (a path "A" 144 and the path "B" 146). 另一边缘网络设备126被图示为通过中间网络130到目的地网络150参与了第三不同路径(路径"C" 148),。 Further edge network device 126 is illustrated as an intermediate network 130 via a network 150 to a destination different participating third path (path "C" 148) ,. 也就是,从本地网络110到目的地网络150存在至少三个不同路径。 That is, there are at least three different paths from the local network 110 to a destination 150 network.

[0019] 中间网络130是促进多个计算系统之间的通信的数据网络。 [0019] The intermediate network 130 is a network to facilitate data communication between a plurality of computing systems. 在一些实施方式中,中间网络130由控制本地网络110的相同方来控制,例如在自主系统中。 In some embodiments, the network 130 is controlled by the intermediate control the same manner as the local network 110, for example, in the autonomous system. 在一些实施方式中,中间网络130是由第三方控制的。 In some embodiments, the intermediate network 130 is controlled by a third party. 在一些实施方式中,中间网络130是载波网络。 In some embodiments, the network 130 is an intermediate carrier network. 在一些实施方式中,从本地网络110发射到目的地网络150的分组将通过多个中间网络130。 In some embodiments, the transmit from the local network 110 to a packet network 150 to the destination 130 through the plurality of intermediate network.

[0020] 目的地设备154是可以接收网络分组的计算系统或网络设备。 [0020] Destination device 154 is a computing system may receive packets of a network or network device. 目的地设备154与至少一个网络地址相关联,将其置于目的地网络150的网络地址空间内。 At least one destination device 154 is associated with a network address, which is placed in the destination network address space of the network 150. 目的地设备154可以是能够从网络接收分组的任何计算系统。 Destination device 154 may be any computing system capable of receiving a packet from the network. 例如,目的地设备154可以是客户端设备,所述客户端设备被配置为向计算机用户呈现从目的地网络150所接收的信息。 For example, the destination device 154 may be a client device, the client device is configured to present the information received from the destination network 150 to a computer user. 在一些实施方式中, 目的地设备154是服务器。 In some embodiments, the destination device 154 is a server. 例如,目的地设备154可以是装置外的(off-site)数据存储系统。 For example, the destination may be a device 154 (off-site) of the data storage system the external device. 可用于实现目的地设备154的计算系统的示例如图7中所图示。 It is used to implement the example computing system in a destination device 154 illustrated in FIG. 7.

[0021] 目的地网络150可以是促进多个计算系统之间的通信的任何种类的数据网络。 [0021] Destination network 150 may be any kind of data networks facilitate communications between a plurality of computing systems. 在一些实施方式中,目的地网络150是互联网服务提供商(ISP)网络。 In some embodiments, the destination network 150 is the Internet service provider (ISP) network.

[0022] 本地网络110、中间网络130和目的地网络150可以各自是促进多个计算系统之间的通信的任何种类的数据网络。 [0022] The local network 110, intermediate network 130 and the destination network 150 may each be any kind of computing a plurality facilitate communications between the system data network. 例如,每个网络110、130和/或150可以是局域网(LAN)、广域网(WAN)或虚拟网络。 For example, each network 110, 130 and / or 150 may be a local area network (LAN), a wide area network (WAN) or virtual network. 每个网络具有OSI物理层属性且使用OSI链路层协议(例如,以太网)来操作。 Each network has a physical layer attributes and using OSI OSI link layer protocol (e.g., Ethernet) to operate. 每个网络可以包括图1中未示出的附加网络设备,例如集线器、桥接器、交换机或路由器。 Each network may comprise additional network device in FIG. 1, not shown, such as hubs, bridges, switches, or routers. 网络110、130和/或150中任何一个可以是软件定义的网络(SDN)。 Networks 110, 130 and / or 150 may be any of a software defined network (SDN).

[0023] 在一些实施方式中,所有网络设备122、124、126和154可以被包括在相同网络中, 而不是位于不同网络中。 [0023] In some embodiments, the network devices 124, 126 and 154 all may be included in the same network, rather than in different networks. 例如,设备可以都处于相同软件定义的数据中心网络中。 For example, the device may all be in the same network software-defined data center. 一些数据中心网络包括以机架排列的大量服务器,每个机架都包括一个或多个架顶交换机。 Some data center network comprises a large number of server racks are arranged, each rack comprising one or a plurality of top of rack switches. 服务器随后通过聚合层交换机中的一个或多个层与数据中心中的其他服务器通信。 The server then switches to communicate with other servers in a layer or more layers in the data center by polymerization. 在这样的网络中,作为示例,数据中心中的架顶交换机可以链接到多个聚合层交换机且被配置为采用多路径路由来在网络的给定聚合层中分发由多个交换机间的其机架中所包括的服务器所输出的业务。 In such a network, as an example, a data center top of rack switches may be linked to a plurality of polymeric layers and is configured to switch its machine distributed by a plurality of switches between the multi-path routing in a given network of the polymeric layer frame included in the server output operations. 类似地,聚合层交换机也可以采用多路径路由。 Similarly, the polymeric layer may be multi-path routing switch employed.

[0024] 图2是被控制链路112分离的示例软件定义的网络控制器220和网络设备230的框图。 220 and a block diagram of an example network device 230 software-defined [0024] FIG 2 is a control link 112 separate network controller. 在广泛概述中,SDN控制器220包括控制模块242和存储器226,例如,用于存储网络配置和路由数据。 In broad overview, SDN controller 220 includes a control module 242 and a memory 226, e.g., for storing network configuration and routing data. 网络设备230包括控制模块244和存储器236,例如,用于存储设备配置和路由数据。 Network device 230 includes a control module 244 and a memory 236, e.g., data storage device for the configuration and routing. 网络设备230包括转发引擎234,其使用存储在存储器236中的设备配置和路由数据来管理网络接口238处的数据业务。 Network device 230 includes a forwarding engine 234, to manage data traffic 238 and a network interface device configured to route data stored in memory using 236. 网络设备230适合于用作图1中所图示的网络设备122、124 和126中的任何一个。 Network device 230 is adapted to any network devices 122, 124 and 126 as illustrated in FIG. 1 in.

[0025] 参看图2,更详细地,SDN控制器220包括控制模块242和存储器226。 [0025] Referring to Figure 2, in more detail, SDN controller 220 includes a control module 242 and a memory 226. 控制模块242使用存储在存储器246中的网络配置和路由数据来配置网络设备230。 The network control module 242 stored in the memory 246 and the configuration data to configure the network routing device 230. 在一些实施方式中,控制模块242周期性发送状态或可用性消息到网络设备230。 In some embodiments, the control module 242 periodically transmits status or availability message 230 to the network device. 在一些实施方式中,SDN控制器220生成转发表,并且将转发表发布给一个或多个网络设备230。 In some embodiments, the controller 220 generates forwarding SDN, and forwarding issued to one or more network devices 230.

[0026] 网络设备230包括控制模块244和存储器236。 [0026] Network device 230 includes a control module 244 and a memory 236. 网络设备控制模块244从SDN控制器控制模块242接收配置和路由信息(经由控制链路112)并且更新存储器236中所存储的数据。 The network device 242 receives configuration control module 244 and routing information (via control link 112) and updates the data stored in the memory 236 in the controller module SDN.

[0027] 网络设备230包括网络接口238集。 [0027] Network device 230 includes a network interface 238 set. 每个网络接口238可以被连接到数据网络。 Each network interface 238 may be connected to a data network. 例如,网络设备230可以经由第一网络接口(例如,网络接口238a)接收用于网络的数据分组。 For example, a first network device 230 via a network interface (e.g., network interface 238a) for receiving a data packet network. 网络设备230将所接收的数据分组经由另一接口(例如,网络接口238 b)转发到适当下一跳。 The network device 230 received data packet (e.g., network interface 238 b) forwarded to the appropriate next hop via another interface. 在一些实施方式中,转发引擎234确定将哪个网络接口238用于所接收的每个数据分组。 In some embodiments, each of the data forwarding engine 234 determines which of the network interface 238 for the received packet. 在一些实施方式中,转发引擎234使用存储在存储器236中的转发表来确定使用哪个网络接口238. In some embodiments, the forwarding engine 234 uses a forwarding table stored in the memory 236 to determine which network interface 238.

[0028] 转发引擎234使用存储器236中的配置和路由数据来管理网络接口端口238处的数据业务。 [0028] The forwarding engine 234 uses a configuration and routing data store 236 to manage data traffic of the network interface port 238. 存储器236中的配置和路由数据经由控制模块244被SDN控制器220控制。 Configuration and routing data store 236 via control module 220 controls the controller 244 is SDN. 在一些实施方式中,转发引擎234在转发分组到出站网络接口端口238之前更新分组报头。 In some embodiments, the packet forwarding engine 234 to forward an update packet header 238 before the station network interface port. 例如,转发引擎234可以更新分组报头中的显式拥塞通知(ECN)、跳计数(TTL)或校验和信息。 For example, forwarding engine 234 may update the explicit congestion notification (ECN) packet header, hop count (TTL) or checksum information.

[0029] 存储器226和存储器236每个都可以是适合存储计算机可读数据的任何设备。 [0029] Each memory 226 and the memory 236 may be any device suitable for storing computer-readable data. 示例包括,但不限于,半导体存储器设备,诸如EPR0M、EEPR0M、SRAM和闪存存储器设备。 Examples include, but are not limited to, semiconductor memory devices, such as EPR0M, EEPR0M, SRAM, and flash memory devices. 在一些实施方式中,存储器236是三态内容可寻址存储器(TCAM)。 In some embodiments, the memory 236 is a ternary content addressable memory (TCAM). 在一些实施方式中,网络设备230的存储器236包括专用于在分组流遍历网络设备230时缓冲该分组流的存储器。 In some embodiments, the network device 236 includes a memory 230 dedicated to the packet flow traversing the network device 230 buffers the packet stream in the memory. 网络设备230 可以具有任意数目的存储器设备236。 Network device 230 may have any number of memory devices 236. SDN控制器220可以具有任意数目的存储器设备246。 SDN The controller 220 may have any number of memory devices 246.

[0030] 图3A、3B和3C是可以由网络设备用来识别分组的出站端口的转发表的示例。 [0030] FIGS. 3A, 3B and 3C are examples of identifying the packet forwarding outbound port may be used by a network device.

[0031] 图3A图示简化转发表310。 [0031] Figure 3A illustrates a simplified forwarding table 310. 表310中的每个路由条目指示匹配模式316和转发指令318。 Each entry in the routing table 310 indicates the matching pattern forwarding instructions 318 and 316. 通过应该使用对应的转发指令318 (例如,"沿路径A转发")处置的分组,满足匹配模式316 (例如,"模式A")。 By using the corresponding forwarding instructions should be 318 (e.g., "forward along path A") packets disposal to meet the matching pattern 316 (e.g., "Mode A"). 在一些情形中,匹配模式316匹配被定向到特定网络或自主系统的所有分组。 In some cases, the matching pattern 316 matches all packets are directed to a particular network or autonomous system. 例如,匹配模式316可以匹配分组的目的地地址的一部分且对应的转发指令318可以识别从网络设备沿朝向匹配模式316的所有网络地址的网络路径到下一条网络设备的出站端口。 For example, the pattern matching part 316 matches the destination address of the packet and forwarding instruction corresponding egress ports 318 may identify a network path from the network device in the direction towards the match mode all network addresses 316 to the next network device. 在一些情形中,匹配模式316仅仅匹配来自指定流的分组。 In some cases, only the matching pattern 316 matches the packet from the specified flow. 转发表310中的每个路由条目利用唯一识别路由条目的索引312来图示。 Each forwarding route entry 310 using the index uniquely identifying the route entry 312 is illustrated. 在一些实施方式中,转发表不具有特定索引312〇 In some embodiments, the forwarding table does not have a specific index 312〇

[0032] 图3B利用索引332、匹配模式336和转发指令338来图示多路径路由表330。 [0032] FIG. 3B using the index 332, 336 pattern matching and forwarding instructions 338 to multi-path routing table 330 illustrated. 多路径路由表330包括具有相同模式336"模式A"但不同转发指令338的路由条目的多路径集合342:相应地沿着"路径A"、"路径B"和"路径C"转发。 Multi-path routing table 330 includes a pattern 336 having the same "Mode A" multi-path routing entries but different transponders 338 of the instruction set 342: accordingly forwarded along the "path A", "path B" and "Path C". 还示出附加的多路径集合344和非多路径路由条目348。 Also shows an additional set of multipath and non-multipath routing 344 348 entries. 相同转发表330可以用于多路径路由条目和单路径路由条目这二者。 Forwarding table 330 may be used for the same both single and multi-path routing entry path routing entries.

[0033] 相等成本多路径(ECMP)路由通常将到目的地的路径等价地对待。 [0033] The equal-cost multipath (an ECMP) routing to a destination is typically treated equivalently. 网络交换机可以通过多个等价路径中任何一个将业务转发到达相同目的地。 Network switch and forwarded to the same destination may be by any of a plurality of equivalent paths traffic. 在ECMP的一些实施方式中,如果对于相同目的地在转发表330中存在多个路由条目的话,则网络设备在多个路径间将业务分发到目的地。 ECMP In some embodiments, if there are multiple entries for the same route in the forwarding destination post 330, then the network device among a plurality of service distribution path to the destination. 存在可以分发业务的若干方式。 There is a number of ways you can distribute business. 例如,网络设备可以简单地循环访问路由条目,使得每个分组采用不同路径。 For example, the network device may simply iterate routing entry, using different paths so that each packet. 在一些实施方式中,通过网络设备的每个新的流被指派给特定路径。 In some embodiments, it is assigned to a particular flow path through the network for each new device. 本方法在不同路径选项间分发不同的流,同时沿相同路径发射单个流的不同分组。 This method of distributing different flow paths between different options, different packets simultaneously transmitted along the same path to a single flow. 在一些这样的实施方式中,每个分组的报头信息的一部分是散列的且散列结果的最不重要位被用来识别分组的路由条目,例如通过索引332。 In some such embodiments, the header information of each packet routing entry part and the least significant bit hash hash result is used to identify the packet, for example 332 by an index. 报头信息的部分被选择为使得相同流的分组将生成相同散列值。 Part of the header information is chosen such that the same packet flow will produce the same hash value. 例如,在一些实施方式,表示目的地地址和协议类型的报头位被散列。 For example, in some embodiments, it represents a destination address and a protocol type of header bits is hashed. 图3B中所图示的多路径转发表330包括多路径集合344,所述多路径集合344具有用于"模式B"的匹配模式336的两个路径。 Multipath illustrated in FIG. 3B forwarding table 330 includes a set of multi-path 344, the multi-path set 344 having two paths for pattern matching "Mode B" 336. 作为通过集合344中的路径分发流的简化示例,模式B所匹配的流的分组报头可以被散列。 As a simplified example set by the distribution flow paths 344, matching the pattern B stream packet header may be hashed. 在这个示例中,如果散列值是偶数,模式B的具有索引"1344"的路由条目被用于沿着路径D发射分组,且如果散列值是奇数,模式B的具有索引"1345"的路由条目被用于沿着路径E发射分组。 In this example, if the hash value is even, the pattern B having an index "1344" in the entry is used to transmit a packet routing along a path D, and if the hash value is an odd number, the pattern B having an index "1345" in routing entry is used to transmit the packet along the path E.

[0034] 还有可能通过使用加权成本多路径(WCMP)路由来支持其他之上的一些路由路径。 [0034] It is also possible to support a number of other on the routing path by using the weighted cost multipath (the WCMP) route. 实现WCMP的一种方式是在具有相同路径的多路径集合中录入附加的路由条目。 One way to achieve WCMP additional routing entry is an entry with the same set of multipath paths. 例如,路径D 可能具有路径E的两倍的带宽容量,且因此应该被用到两倍多。 For example, the path may have a path D E double bandwidth capacity, and therefore should be used more than twice. 多路径集合344可以利用重复用于路径D的匹配模式336和转发指令338 (条目索引"1344")的附加条目(未示出)来被扩展。 344 can use a set of multi-path forwarding instructions 338 and 336 (entry index "1344") in the additional entry (not shown) for matching the pattern repeat path D to be extended. 网络业务随后在三个路由条目间被分发,导致使用路径D的业务与路径E相比是两倍多。 Network traffic is then distributed among the three routing entries, use the path leading to the business and the path D E compared to more than twice. 这个加权成本多路径集合可以被表示为"{Dx 2,Ex 1}"或简单的"{2,1}"。 The weighted cost multi-path set may be represented as "{Dx 2, Ex 1}" or simply "{2,1}." 但是,转发表中的多路径集合的扩展表示可以消耗分配到转发表的存储器的显著部分。 However, expansion of multi-path forwarding table represents the set assigned to consume a significant portion of the forwarding table memory.

[0035] 图3C图示具有加权路由条目的多路径路由表350。 [0035] FIG. 3C illustrates having multiple routing entries weighted routing table 350. 多路径路由表350被示出具有索引352、匹配模式356和转发指令358。 Multi-path routing table 350 is shown having an index 352, 356 pattern matching and forwarding instructions 358. 多路径路由表350包括具有相同模式356"模式A"的路由条目的多路径集合362,但是具有三个可能的转发指令358:相应地沿着用于子集364的"路径A"、用于子集366的"路径B"和用于子集368的"路径C"转发。 Multi-path routing table 350 includes 356 "Mode A" routing entries with the same set of multi-path pattern 362, but with three possible forwarding instructions 358: 364 correspondingly sets "path A" along a sub, a sub 366 set "path B" 368, and a subset of "path C" forward. 还示出了附加多路径集合374和非多路径路由条目376;这些相应地与图3B中所示出的集合344和348相对应。 Also shows an additional set of multipath and non-multipath routing 374 entry 376; these respectively shown in FIG. 3B and FIG set 344 and 348, respectively. 仍参看图3C,相同转发表350可以用于多路径路由条目和单路径路由条目二者。 Still referring to Figure 3C, the same as both the forwarding table 350 may be used for multi-path routing path routing entry and single entry.

[0036] 图3B和3C证明路径加权的次要变化会对转发表造成剧烈影响。 [0036] Figures 3B and 3C demonstrate the weighted path forwarding minor changes would cause severe impact. 图3B中的多路径集合342与三个路径A、B和C (例如,参看图1,三个路径144、146和148)相对应。 Multi-path set 342 in FIG. 3B and three paths A, B and C (e.g., see FIG. 1, three paths 144, 146 and 148), respectively. 每个路径具有权重1Z3 = 0.33J,使得它们都相等。 Each path has a weight 1Z3 = 0.33J, so that they are equal. 图3C中的多路径集合362与相同的三个路径A、B和C相对应,但第三路径(路径C),具有略微减少的权重。 FIG. 3C multi-path set 362 with the same three paths A, B and C correspond, but the third path (path C), has a slightly reduced weight. 该变化将导致路径C处置比路径A或路径B少三分之一的业务。 This change will result in the disposal of the path C less than one third of the traffic path A or path B. 在图3C中所示的多路径转发表350中,有三个用于路径A的路由条目364, 以及三个用于路径B的路由条目366,但只有两个用于路径C的路由条目368。 In the multi-path shown in FIG. 3C the forwarding table 350, there are three routes for the entry path A 364, and three entries for routing path B 366, but only two entries for the route of paths 368 C. 也就是,路径A 和路径B具有的权重为3/8 = 0.375,而路径C具有的权重为2/8 = 0.250。 That is, paths A and B having a weight of 3/8 = 0.375, and the path C has a weight of 2/8 = 0.250. 但是,多路径集合362使用多路径表350中的八个条目{3,3,2},而多路径集合342仅使用了多路径表330中的三个条目{1,1,1}。 However, multi-path multi-path set 362 of eight entries in table 350 {3,3,2}, and a set of multi-path multi-path 342 uses only three entries in the table 330 {1,1,1}.

[0037] 图4是知道前缀的WCMP群组减少的方法400的流程图。 [0037] FIG. 4 is a flowchart of the prefix known method for reducing WCMP group 400. 方法400开始于路由管理器在转发表中识别一个或多个多路径集合,每个多路径集合超过最小数目的路由条目,例如具有三个或更多路由条目的集合(阶段410)。 The method 400 begins routing manager to identify a set of one or more multi-path in a forwarding table, each set of multi-path exceeds a minimum number of routing entries, for example, set (phase 410) having three or more routing entries. 对于所识别的多路径集合中的每个,路由管理器获得与经由多路径集合发射的网络业务的重要性相对应的分数(阶段420)。 For the collection of multi-path in each of the identified, and the importance of obtaining routing manager via a multi-path network traffic a set of emission corresponding fraction (stage 420). 路由管理器随后基于所获得的分数而为每个所识别的多路径集合生成一个或多个潜在替换集合(阶段430)。 Routing manager then obtained based on the set of scores to generate a set of one or more potential replacement (stage 430) to each of the identified multipath. 路由管理器比较可能的替换集合(阶段440)且选择满足表条目减少目标和网络性能标准的一个或多个潜在替换集合(阶段450)。 Routing manager comparison possible alternative set (phase 440) and the table entry that satisfies a target and reduce network performance criteria or more potential replacement set (phase 450). 路由管理器随后在转发表中用对应的所选择的替换集合的路由条目来替换一个或多个多路径集合的路由条目(460)。 Then routing manager by the forwarding route entry corresponding to the selected alternative sets of routing entries to replace one or more sets of multi-path (460). 参看图2,在一些实施方式中,路由管理器是SDN控制器220或者被包括作为SDN控制器220的一部分。 Referring to Figure 2, in some embodiments, the routing manager as part of the controller 220 of the SDN SDN controller 220 or included.

[0038] 参看图4,更详细地,方法400开始于路由管理器在转发表中识别一个或多个多路径集合,每个多路径集合超过最小数目的路由条目(阶段410)。 [0038] Referring to Figure 4, in more detail, method 400 begins routing manager to identify a set of one or more multi-path in a forwarding table, each of the multi-path routing entry set (phase 410) exceeds the minimum number. 例如,如果路由条目的最小数目是五,则只有六个或更多条目的集合将符合减少的目标。 For example, if the minimum number of routing entries is five, only six or more items of the collection will meet the reduction targets. 如果路由条目的最小数目是二,则只有三个或更多条目的集合将符合减少的目标。 If the minimum number of routing entries is two, the only set of three or more items to meet the reduction targets. 为了所识别的多路径集合所使用的减少表中条目数目的目标,路由管理器识别转发表中的多路径集合。 The number of entries for the identified set of multi-path is used to reduce the target table, multi-path routing manager identifies a set of forwarding tables. 在一些实施方式,方法400以周期间隔执行。 In some embodiments, the method 400 performed at periodic intervals. 在一些实施方式中,在转发表充满多于阈值数目的条目时执行方法400。 In some embodiments, the method 400 is performed when the entry is filled in more than a threshold number forwarding. 在一些实施方式中,方法400由管理员启动。 In some embodiments, the method 400 is initiated by the administrator.

[0039] 对于所识别的多路径集合中的每个,路由管理器获得与经由多路径集合发射的网络业务的重要性相对应的分数(阶段420)。 [0039] For a set of multi-paths for each of the identified, and the importance of obtaining routing manager via a multi-path network traffic a set of emission corresponding fraction (stage 420). 在一些实施方式中,该分数是业务减少成本度量的一部分。 In some embodiments, the score is reduced traffic part of the cost metric. 在一些实施方式,路由管理器基于所发射的分组的类型来维持分数("重要性分数")。 In some embodiments, the routing manager based on the type of the transmitted packet to maintain fraction ( "significance score"). 在一些实施方式中,使用具体协议的流被认为比其他流更重要。 In some embodiments, a specific protocol stream is considered more important than other streams. 例如,在一些实施方式中,使用状态性传输层协议的网络传输被认为比使用无状态传输层协议的传输更重要。 For example, in some embodiments, the use state of the transport layer of the network transmission ratio is considered a stateless transport layer protocol is more important. 状态性传输层协议的示例包括,但不限于,传输控制协议(TCP)、数据报拥塞控制协议(DCCP)和流控制传输协议(SCTP)。 Examples of the state of the transport layer include, but are not limited to, transmission control protocol (TCP), Datagram Congestion Control Protocol (the DCCP) and Stream Control Transmission Protocol (SCTP). 无状态传输层协议的示例是用户数据报协议(UDP)。 Example stateless transport layer protocol is User Datagram Protocol (UDP). 在一些实施方式中,超过大小限制的流被认为比其他网络传输更重要。 In some embodiments, the stream exceeds the size limit is considered more important than other network transmission. 在一些实施方式中,源和/或目的地网络地址(或网络地址前缀)被用于识别网络业务是否重要。 In some embodiments, the source and / or destination network address (or network address prefix) is used to identify whether the network traffic is important. 在一些实施方式中,寻址到特定网络地址或网络地址范围的网络分组被认为比其他网络传输更重要(或更不重要)。 In some embodiments, addressed to a specific network address or network address range of the network packet is considered more important than other transmission network (or more important). 在一些实施方式中,重要性分数是测量在一段时间期间发射的网络业务的重要性的累积分数。 In some embodiments, the importance score is the cumulative score emitted during a time period measured network traffic importance. 在一些实施方式中,经由多路径集合发射的数据量影响重要性分数。 In some embodiments, the amount of data transmitted via a set of multipath affect importance scores. 在一些实施方式,重要性分数是指示重要或不重要的布尔值。 In some embodiments, the score is an indication of the importance of an important or unimportant Boolean value. 在一些实施方式中,重要性分数是数字值。 In some embodiments, the importance score is a numerical value.

[0040] 路由管理器随后基于所获得的分数来生成用于每个所识别的多路径集合的一个或多个潜在替换集合(阶段430)。 [0040] The routing manager then based on the obtained scores to generate a multi-path of each of the identified set of potential or alternatively a plurality of sets (stage 430). 在一些实施方式中,如果多路径集合具有相比较而言低的重要性的分数,或者如果分数指示多路径集合不重要,路由管理器使用图5中所图示的方法500来选择用于不重要的多路径集合的不同路由条目的最小集合。 In some embodiments, the multi-path if the comparison scores set has low importance, or if the score indicates a set of multi-paths is not important, routing manager illustrated in FIG. 5 a method 500 for selecting without the minimum set of different multi-path routing important collection of entries. 在一些实施方式中,对于加权成本多路径(WCMP)集合,通过将WCMP集合转换为相等成本多路径(ECMP)集合来生成潜在替换集合。 In some embodiments, the weighting for the cost multipath (WCMP) set by the set WCMP converted into equal-cost multipath (an ECMP) generating a set of set of potential replacement. 例如,{4,4,2,1}的WCMP集合可以平面化(flattened)为{1,1,1,1}。 For example, {4,4,2,1} may be set in WCMP planarization (as flattened) is {1,1,1,1}. 在一些实施方式中,对于WCMP集合,一个或多个较低权重的路径被从集合中移除。 For WCMP set, or a plurality of lower weight is removed from the collection path, in some embodiments. 例如,{4,4,2,1}的WCMP集合可以被转换为{4,4,2},其被分解为{2,2,1}。 For example, {4,4,2,1} in WCMP set it may be converted to {4,4,2}, which is {2,2,1} is decomposed. 这可以重复,例如进一步将{2,2,1} 减少到U,1}。 This may be repeated, for example, {2,2,1} is further reduced to U, 1}. 在一些实施方式中,通过移除一个或多个路径且通过将剩余路径平面化为ECMP集合而修改WCMP集合,其中,集合中的每个路径只被表示一次。 In some embodiments, by removing one or more paths through the remaining path and the plane ECMP set into a set of modified WCMP, wherein each path in the set is represented only once. 例如,{4,4,2,1}的WCMP 集合可以被减少为{1,1,1}。 For example, {4,4,2,1} in WCMP set may be reduced to {1,1,1}.

[0041] 路由管理器比较可能的替换集合(阶段440)且选择满足表条目减少目标和网络性能标准的一个或多个潜在替换集合(阶段450)。 [0041] Comparative routing manager possible alternative set (phase 440) and the table entry that satisfies a target and reduce network performance criteria or more potential replacement set (phase 450). 每个潜在替换集合,如果替代对应的多路径集合来使用的话,将减少所使用的转发表条目的数目。 Each set of potential Alternatively, if the surrogate set of paths corresponding to the use, it will reduce the number of forwarding table entry to be used. 如果替代对应的多路径集合来使用的话,每个潜在替换集合还将使用具有降低网络性能的多路径集合来提供网络业务。 If the multi-path corresponding to the set of alternative used, each potential alternative set of multi-path will be used with reduced network performance to provide a set of network traffic. 例如, 如果从多路径集合中移除路径,业务将失去对由所移除的路径所贡献的带宽的访问。 For example, if the path is removed from the multi-path set, the business will lose access to the path of the removed contributed bandwidth. 该损失可能因为其他因素而偏移。 The loss may be due to other factors offset. 网络性能的潜在变化被测量作为业务减少成本度量。 Potential changes in network performance is measured as reduced business cost metric.

[0042] 在一些实施方式中,网络性能的潜在变化由在阶段420中所获得的重要性分数来加权。 [0042] In some embodiments, the change in network performance potential weighted by the importance scores obtained in stage 420 a. 也就是,低重要性或中度重要性业务可能更可接受的是遭受网络性能上的特定变化, 而高重要性业务更不可接受的是遭受网络性能上的相同特定变化。 That is, the importance of low importance or moderate traffic may be more acceptable suffered specific change in network performance, and the high importance of business more unacceptable suffered the same specific change in network performance.

[0043] 阶段440处的比较可以包括以下一个或多个:比较与相同多路径群组相对应的路由条目的至少两个不同的替换集合;比较与至少两个不同多路径群组相对应的路由条目的替换集合;以及比较路由条目的多个替换集合的至少两个聚合,每个路由条目与多个多路径群组相对应。 At [0043] Phase comparator 440 may include one or more of: at least two different alternative compared to the same group corresponding to the multipath route entry set; compared with at least two different groups corresponding multipath Alternatively a set of routing entries; and at least two polymerizable plurality of alternative sets of routing entries comparison, each route entry corresponding to the plurality of multi-path groups.

[0044] 在一些实施方式中,路由管理器比较可能性并且选择(阶段450)潜在替换集合中的一个或多个,使得至少目标数目的转发表路由条目被释放,这对网络性能造成可接受的低影响。 [0044] In some embodiments, the routing manager comparability and selects (stage 450) a set of potential or alternatively a plurality of such routing entries in the forwarding at least a number of targets to be released, which results in acceptable network performance low-impact. 在一些实施方式中,路由管理器使用多个多路径集合间的替换的组合以便达到表减少目标。 In some embodiments, the routing manager used in combination with an alternative set of paths between a plurality of multi-table in order to achieve the reduction targets. 在一些实施方式中,路由管理器计算可能因为使用潜在替换集合中的一个或多个而造成的可能的带宽损失,并且使用这些计算的结果来确定在阶段450处选择哪些潜在替换集合。 In some embodiments, the routing manager may calculate the possible loss of bandwidth because of the potential to use a set of one or more alternative caused, and using the results of these calculations to determine which alternative to the potential set at stage 450. 在一些实施方式中,路由管理器将可归因于所选择的一个或多个潜在替换集合的期望带宽损失报告给网络监视器。 In some embodiments, the routing manager will be attributed to the selected set of one or more potential replacement expected bandwidth loss reported to the network monitor.

[0045] 作为说明性的示例,参看图1和3C,所图示的通过中间网络130的路径144、146和148是多路径集合。 [0045] As an illustrative example, with reference to FIGS. 1 and 3C, the route through the intermediate network 130 as illustrated in 144, 146 and 148 are a collection of multi-path. 它们在多路径转发表350中被表示为多路径集合362,即{3,3,2}。 They forwarding table 350 in a multipath is represented as a set of multi-path 362, i.e., {3,3,2}. 路径A 144和路径B 146使用第一边缘设备124,而路径C 148使用第二边缘设备126。 Path path A 144 and B 146 using a first edge device 124, C 148 and the path 126 using the second edge device. 两个边缘设备124和126可能链接到不同的中间网络130或者可能具有使得路径C 148以比路径A或路径B 更低容量操作的其他实施方式特性。 Two edge devices 124 and 126 may be linked to different intermediate network 130 such that the path may have a C or other embodiments than the characteristic path A or path B 148 lower capacity operation. 多路径集合{3,3,2}使用多路径转发表350中的八个条目。 Set {3,3,2} Multipath Multipath forwarding table 350 in the eight entries. 在一些实施方式中,方法400可以通过丢弃第三路径(即路径C)而生成{1,1}作为对{3, 3,2}的潜在替换集合。 In some embodiments, the method 400 may be generated by dropping the third path (i.e. the path C) {1,1} as a potential alternative to the {3, 3,2} is set. 这个潜在替换集合将只使用多路径转发表中的两个条目,导致6个更少的表条目。 This set of potential alternative uses only multi-path forwarding table entries in two, resulting in six fewer table entries. 但是,移除路径C导致路径C所贡献的网络容量的损失。 However, to remove the path C leading to the loss of network capacity path C contributed. 特别是,路径C贡献了八个路由选项中的两个(25%),在从多路径集合中移除路径C后,这两个选项将不可用。 In particular, the contribution of the two paths C (25%) eight routing options, after removing the multi-path C from the set of paths, these two options are not available. 在一些实施方式中,多路径集合与用于与通过特定多路径集合发射的业务相关联的重要性度量的值相关联。 In some embodiments, the importance of the set of metrics for the transmitted traffic through a particular multi-path associated with a set of values associated with multipath. 例如,在一些这样的实施方式中,重要性度量的值是来自阶段420的重要性分数。 For example, in some such embodiments, the criticality measure is of importance scores from stage 420. 在一些实施方式中,每个潜在替换集合被指派影响分数,该影响分数等于用于重要性度量的值乘以所移除的路由选项的百分比。 In some embodiments, the replacement set is assigned to each potential impact score, it affects the percentage value is equal to the importance score metric by multiplying the removed route option. 继续将{3,3,2}减少到{1,1}的示例,假设经由多路径集合发射的业务具有重要性值X,影响分数将是X乘以0.25。 Continues to {3,3,2} {1,1} to reduce the example, assume that a set of services transmitted via multiple paths importance values of X, X-impact score will be multiplied by 0.25. 在一些实施方式中,该影响分数与转发表中用于对多路径群组的一些(或全部)其他可能减少的分数相比较,然后选择具有最低影响分数的群组替换(或群组替换的组合)。 In some embodiments, the forwarding table impact score for the group of multipath some (or all) other points may be reduced as compared to, and replaces the point of selecting the group (or groups alternative with the lowest impact combination).

[0046] 作为示例场景,可能存在被表示为群组Gl、G2和G3的三个WCMP集合,每个都携带匹配四种模式P1、P2、P3和P4之一的网络流。 [0046] As an example scenario, there may be represented as a group of Gl, G2 and G3 three WCMP set of matching each carry four modes P1, P2, P3 and one of the network flow P4. 每个模式的网络业务与对应重要性分数相关联: CP1 = 32,CP2 = 3,CP3 = 3,CP4 = 8。 Each network service mode is associated with a corresponding importance score: CP1 = 32, CP2 = 3, CP3 = 3, CP4 = 8. 模式P1所匹配的流使用多路径集合G1,{2,2,2,2,1,1}的网络路由;模式P2或P3所匹配的流使用多路径集合G2,{3,3,2,2}的网络路由;以及模式P4 所匹配的流使用多路径集合G4, {3,3,3,1}的网络路由。 Flow pattern P1 matched using a multi-path set G1, {2,2,2,2,1,1} routing network; pattern P2 or P3 matched streams using a multi-path set G2, {3,3,2, 2} routing network; and a flow pattern P4 matched using a multi-path set G4, {3,3,3,1} routing network. 该示例场景下面在表1中示出。 The example scenario is shown below in Table 1. 减少这些WCMP集合(G1,G2和G3)的两个示例下面在表2和3中示出。 Reduction shown in Table 2 and 3 These two examples WCMP collections (G1, G2 and G3) below. 在表2中,目标是释放转发表中至少五个条目。 In Table 2, the goal is to release at least five forwarding table entries. 在表3中,目标是释放转发表中至少十二个条目。 In Table 3, the goal is to release at least twelve forwarding table entries.

[0047] 表1:用于减少示例的WCMP集合 [0047] Table 1: WCMP set for reducing the example of

Figure CN106664250AD00121

[0049] 表2,如下所示,图示了用于示例的减少选项中的一些,其中,目标在于释放转发表中的至少五个条目。 [0049] Table 2, below, illustrates an example of some of the options for reducing, wherein the release of the target in that at least five of forwarding entries. 多路径集合G1,{2,2,2,2,1,1}可以被集合{1,1,1,1}所替换,集合{1, 1,1,1}表示忽略了两个最低权重路径且相等地对待剩余路径的集合。 Multipath set G1, {2,2,2,2,1,1} set {1,1,1,1} can be replaced, the set {1, 1,1,1} to omit the two lowest weight and set the path equally treat the remaining paths. 结果在于从转发表释放六个条目,同时只丢失十个路由选项中的两个。 The result is that the release of six entries from the forwarding table, and lost only two ten route options. 由业务的重要性来加权百分之二十容量损失(即,用于将业务路由到多路径群组的模式所匹配的网络流的重要性分数的和)以生成加权减少影响分数6.4。 Weighted by the importance of business to twenty percent capacity loss (i.e., for traffic routed to the importance score of the group of multipath pattern matching network and stream) to generate weighted to reduce the influence score 6.4. 多路径集合G2 {3,3,2,2}可以被集合{1,1,1,1}所替换,所述集合{1,1,1,1}表示保留所有路径且相等地对待它们的集合。 Multipath set G2 {3,3,2,2} {1,1,1,1} can be replaced set, the set {1,1,1,1} represents all reserved paths and treat them equally in set. 结果在于从转发表释放六个条目, 同时仅丢失路由选项的百分之二十。 The result is that the release of six from the forwarding table entries, while only twenty percent loss of routing options. 由匹配模式P2的业务和匹配模式P3的业务的重要性来加权百分之二十的容量损失,以生成加权减少影响分数1.2。 The importance of matching by the pattern matching patterns P2 and P3 business traffic weighting twenty percent capacity loss, reduce the impact to generate a weighted score 1.2. 多路径集合G3 {3,3,3,1}可以被集合{1,1,1}所替换,集合{1,1,1}表示忽视了最低权重路径且相等地对待剩余路径的集合。 Multipath set G3 {3,3,3,1} can be replaced by the set {1,1,1}, {1,1,1} represents the set ignoring the lowest weight route and equally treat the remaining set of paths. 结果在于从转发表中释放七个条目,同时仅丢失路由选项的百分之十。 The result is that the release of seven entries from the forwarding table, while only ten percent loss of routing options. 加权减少影响分数是0.8,其是三个选项中的最低的影响分数。 Weighted reduce the impact score is 0.8, which is the lowest impact score of the three options. 因此,选择三个选项中的第三选项。 Therefore, choosing the third option of the three options.

[0050] 表2: WCMP减少示例1 [0050] Table 2: WCMP reduce Example 1

Figure CN106664250AD00122

[0052] 表3,如下所示,图示了用于示例的减少选项中的一些,其中,目标在于释放转发表中的至少十二个条目。 Some options for reducing [0052] Table 3, below, illustrates an example in which, with the goal of releasing at least twelve forwarding entries. 多路径集合Gl,{2,2,2,2,1,1}可以被集合{1,1,1,1}所替换,如示例1中,或者甚至被更小的多路径集合{1,1,1},{1,1}或⑴所替换,其中每个表示忽略了附加路径的集合。 Multipath set Gl, {2,2,2,2,1,1} set {1,1,1,1} can be replaced, as in Example 1, or even less multipath set {1, 1,1}, {1,1} or ⑴ replaced, where each of the set to omit additional route. 但是,单独来看,这些选项中没有一个释放转发表中的十二个条目。 However, Individually, none of these options release of twelve forwarding table entries. 对于多路径集合G2 {3,3,2,2}和对于多路径集合G3 {3,3,3,1}的替换选项也是这样的。 For a multipath and set G2 {3,3,2,2} for the set of multipath G3 {3,3,3,1} are such alternative options. 但是,具有最低影响分数的两个选项的组合释放了转发表中的十三个条目,从而实现了目标。 However, a combination of two options lowest impact score of the release of the thirteen forwarding table entries, in order to achieve the goal. 在一些实施方式中,如果不存在单个选项来将在转发表中所使用的条目的数目减少目标数目,则路由管理器将把目标数目分成两个或更多部分目标,所述部分目标的总和为原始目标。 In some embodiments, if the number of entries in a single option to be used in the forwarding table does not reduce the number of targets present, the routing manager will target number into two or more portions of the target, the target portion of the sum the original target. 例如, 从转发表中移除十二个条目的目标可以通过尝试移除六个条目,然后尝试再移除六个条目来实现。 For example, twelve entries removed from the forwarding table of the target can attempt to remove six entries, and then try to remove six entries to achieve. 也就是,(12)的目标将被分为(6,6)的目标。 That is, (12) of the target will be divided into (6,6) of the target. 在一些实施方式中,尝试多个可能的分害U,例如(6,6)、(7,5)、(8,4)、(4,4,4)、(5,4,3)等等。 In some embodiments, the plurality of possible attempts damage points U, for example, (6,6), (7,5), (8,4), (4,4,4), (5,4,3), etc. Wait. 在表3中所示的示例中,对释放六个条目的替换集合的搜索将导致选择{1,1,1}来替换G3,而对释放附加的六个条目的替换集合的搜索将导致选择U,1,1,1}来替换G2。 In the example shown in Table 3, the search for alternative release six entries will result in the selection of the set {1,1,1} replaced G3, while the search and replace on the release of an additional set of six entries will result in the selection U, 1,1,1} replaced G2. 替换集合的这个组合导致从转发表中减少十三个条目,满足释放十二个条目的原始目标。 Replace the collection of this combination results in a reduction thirteen entries from the forwarding table to meet the original target release twelve entries.

[0053] 表3: WCMP减少示例2 [0053] Table 3: WCMP reduce Example 2

Figure CN106664250AD00131

[0055] 在一些实施方式中,在所有可能的替换集合或者约束参数集合内的所有可能的替换集合间,执行穷尽的比较。 [0055] In some embodiments, the collection or set of all possible constraints among alternatives falling within the parameters set of all possible alternatives, exhaustive comparison is performed. 在一些实施方式中,穷尽的比较限制于生成作为候选替换集合的可能的替换集合的子集。 In some embodiments, an exhaustive comparison of a limited subset of possible to generate the replacement of the set of candidate set. 例如,在一些实施方式中,多路径替换集合的选项只针对WCMP集合而生成,所述WCMP集合用于携带具有低于阈值的重要性分数的业务。 For example, in some embodiments, the option to replace a set of multi-path is generated only for WCMP set, the set for carrying traffic WCMP importance scores below threshold. 在一些这样的实施方式中,阈值递增,直到可行选项被识别。 In some such embodiments, the threshold is incremented until a viable option is identified. 在一些实施方式中,穷尽比较包括比较替换集合的潜在组合。 In some embodiments, the comparison comprises comparing an exhaustive set of alternative potential combinations. 例如,替换集合的组合用于表3所图示的示例中。 For example, a combination of a set of replacement of an example illustrated in Table 3.

[0056] 参看图4,路由管理器随后在转发表中用对应的所选择的替换集合的路由条目来替换一个或多个多路径集合的路由条目(460)。 [0056] Referring to Figure 4, the routing manager then forwarding with routing entries corresponding to the selected alternative sets of routing entries to replace one or more sets of multi-path (460). 在一些实施方式中,路由管理器生成新的转发表,所述新的转发表具有所选择的替换多路径集合,且忽略对应的所替换的集合。 In some embodiments, the routing manager generates a new forwarding table, the new multi-path forwarding replaced with the selected set, and ignores the corresponding set of replacement.

[0057] 图5是未用于发射重要网络业务的多路径集合的WCMP群组减少的方法500的流程图。 [0057] FIG. 5 is a flowchart of multi-path group WCMP important emission reducing network traffic a set of method 500 is not used. 类似于方法400,方法500开始于路由管理器识别转发表中具有超过最小数目的路由条目的多路径集合(阶段510)。 Similar to the method 400, the method 500 begins forwarding routing manager identifies multipath route having the minimum number of entries exceeds the set (phase 510). 路由管理器确定所识别的多路径集合不被用于携带重要网络业务(阶段520)且选择用于多路径集合的不同路由条目的最小集合(阶段530)。 Routing manager determines that the identified set of multi-path is not used to carry important network traffic (stage 520) and selects the minimum set (phase 530) for a different set of multi-path routing entries of. 路由管理器随后从转发表中移除并非所选择的条目的多路径集合中的所有其他路由条目(阶段540)。 All other routing entries (stage 540) a set of multi-path routing manager then remove an entry is not selected from the forwarding table in.

[0058] 更详细地参看图5,方法500开始于路由管理器在转发表中识别具有超过最小数目路由条目的多路径集合(阶段510)并且确定所识别的多路径集合不用于携带重要网络业务(阶段520)。 [0058] Referring in more detail to FIG. 5, method 500 begins at routing manager in the forwarding table identifying a multipath exceeding a minimum number of routing entry is set (phase 510) and determines multipath identified set not used to carry important network traffic (stage 520). 这是图4中所示的阶段410和420的特殊情况,其中,转发表中具有超过最小数目(例如两个)的路由条目的多路径集合被识别为不携带业务或只携带低重要性的业务。 This is the stage shown in FIG. 4 in special cases 410 and 420, wherein the forwarding table with more than the minimum number (e.g. two) multipath routing entry set is identified as carrying or not carrying traffic only low importance business.

[0059] 仍然详细地参看图5,路由管理器选择多路径集合的相异的路由条目的最小集合(阶段530)。 [0059] Still referring to FIG. 5 in detail, the routing manager to select different set of multi-path routing entries minimum set (phase 530). 在一些实施方式中,最小集合是两条路由。 In some embodiments, a minimum set of two routes. 在一些实施方式中,使用更大的最小集合。 In some embodiments, a minimum set larger. 路由管理器选择与不相同路径相对应的路由条目,使得得到的替换多路径集合具有路径相异性。 Routing manager selecting different routing entry corresponding to the path, such that the resulting set of multipath alternative paths having dissimilarity. 在一些实施方式中,路由管理器选择最高权重的不相同路径以便包括在最小集合中。 In some embodiments, the routing manager selects the highest weight is not included in the same path so as to minimize the collection. 在一些实施方式中,路由管理器计算由于移除或替换各种路由条目而造成的潜在带宽损失,并且选择与可接受的带宽减少水平相关联的路由条目。 In some embodiments, the routing manager calculates potential bandwidth loss due to the removal or replacement caused the various routing entries, and selecting an acceptable level associated with reduced bandwidth routing entries. 在一些这样的实施方式中,选择最小化了带宽的损失。 In some such embodiments, the selection of minimizing the loss of bandwidth. 在一些实施方式中,路由管理器将归因于所选择的一个或多个潜在替换集合的期望带宽损失报告给网络监视器。 In some embodiments, the routing manager will be attributed to the selected set of one or more potential replacement expected bandwidth loss reported to the network monitor. 在一些实施方式中,路由管理器随机地,或者根据另一选择标准,选择不相同路径。 In some embodiments, the routing manager randomly, or according to another selection criteria, not to select the same path. 在一些实施方式中,阶段530处的选择类似于参考图4中所示的方法的阶段450所描述的选择。 In some embodiments, the selection phase 530 is similar to the method shown in stage 4 described with reference to FIG selected 450.

[0060] 仍参看图5,路由管理器随后更新转发表以用所选择的相异的路由的最小集合来替换多路径路由集合(阶段540)。 [0060] Still referring to Figure 5, the routing manager then updates the forwarding table with a minimum set of different routing selected to replace the multi-path routing set (phase 540). 路由管理器从转发表中移除用于非所选择的条目的多路径集合的所有其他路由条目。 All other entries in the routing multi-path routing manager is removed from the forwarding table entry for the non-selected collection.

[0061] 图6是适合于用来实现本文所述的计算机化的组件的计算系统910的框图。 [0061] FIG. 6 is a block diagram of a suitable computing system for implementing in the assembly described herein computerized 910. 在宽泛的概览中,计算系统910包括用于根据指令执行动作的至少一个处理器950,以及用于存储指令和数据的一个或多个存储器设备970和/或975。 In a broad overview, a computing system 910 according to an instruction 950 includes a well 970 and / or 975 storing instructions and data for one or more memory devices of the at least one processor to perform an action. 所图示的示例计算系统910包括经由总线915与存储器970,以及与至少一个网络接口控制器920相通信的一个或多个处理器950, 所述至少一个网络接口控制器920具有用于连接到外部网络设备924 (例如加入网络(诸如图1中所示的网络110、130和150))的网络接口922。 Examples of computing system 910 illustrated includes at least one and a memory 970 via a bus 915 and 920 in communication with a network interface controller 950 or a plurality of processors, said at least one network interface for connection to a controller 920 having a external network device 924 (e.g., addition of a network (such as shown in FIG. 1 networks 110, 130 and 150)) of a network interface 922. 一个或多个处理器950还经由总线915与在一个或多个I/O接口930处的任何I/O设备以及任何其他设备980相通信。 One or more processors 950 also communicates via bus 980 at 915 and any I / O device according to one or more I / O interfaces 930 and any other device. 所图示的处理器950合并,或者直接连接到,高速缓存存储器975。 The processor 950 illustrated combined or connected directly to the cache memory 975. 一般地,处理器将执行从存储器所接收的指令。 Generally, a processor will execute instructions received from the memory.

[0062] 更详细地,处理器950可以是处理指令的任何逻辑电路,例如取自存储器970或高速缓存975的指令。 [0062] In more detail, the processor 950 may be any logic circuit for processing instructions, such as instruction memory 970 or cache 975 is taken. 在许多实施例中,处理器950是微处理器单元或专用处理器。 In many embodiments, the processor unit 950 is a microprocessor or special purpose processor. 计算设备910可以基于任何处理器,或者处理器的集合,能够如本文中所述地操作。 The computing device 910 may be based on any processor or set of processors, it can be said to operate as described herein. 处理器950可以是单核或多核处理器。 The processor 950 may be a single or multiple core processors. 处理器950可以是多个处理器。 The processor 950 may be a plurality of processors.

[0063] 存储器970可以是适于存储计算机可读数据的任何设备。 [0063] The memory 970 may be any device adapted for storing computer-readable data. 存储器970可以是具有固定储存器的设备或者用于读取可移动存储介质的设备。 The memory 970 may be a device or a removable storage medium for reading device having a fixed reservoir. 示例包括所有形式的非易失存储器、介质和存储器设备、半导体存储器设备(例如,EPR0M、EEPR0M、SDRAM以及闪存存储器设备)、磁盘、磁光盘以及光盘(例如,CD R0M、DVD-R0M和蓝光猶盘)。 Examples include all forms of non-volatile memory, media and memory devices, semiconductor memory devices (e.g., EPR0M, EEPR0M, SDRAM and flash memory devices), magnetic disk, optical disk and magneto optical disk (e.g., CD R0M, DVD-R0M and blue Utah plate). 计算系统9IO可以具有任意数目的存储器设备970。 9IO computing system may have any number of memory devices 970.

[0064] 高速缓存存储器975通常是计算机存储器的形式,其诶置于与处理器950接近以便快速读取时间。 [0064] The cache memory 975 is typically in the form of computer memory, the processor 950 which is placed in proximity eh for fast read times. 在一些实施方式中,高速缓存975是处理器950的一部分或与处理器950处于相同芯片上。 In some embodiments, the cache 975 is part of the processor 950 or the processor 950 are on the same chip. 在一些实施方式中,存在多等级的高速缓存975,例如L2和L3高速缓存层。 In some embodiments, there are multiple levels of cache 975, for example, L2 and L3 cache layers.

[0065] 网络接口控制器920管理经由网络接口922的数据交换。 [0065] The network interface controller 920 manage data exchange via the network interface 922. 网络接口控制器920处置用于网络通信的OSI模型的物理层和数据链路层。 Disposal of the network interface controller 920 of the OSI model the physical layer for network communication and data link layer. 在一些实施方式中,网络接口控制器中一些的任务是由处理器950处置的。 In some embodiments, the number of the network interface controller 950 by a processor task is handled. 在一些实施方式中,网络接口控制器920是处理器950的一部分。 In some embodiments, the network interface controller 920 is part of the processor 950. 在一些实施方式中,计算系统910具有多个网络接口控制器920。 In some embodiments, the computing system 910 having a plurality of network interface controller 920. 在一些实施方式中, 网络接口922是对物理网络链路的连接点,例如RJ 45连接器。 In some embodiments, the network interface 922 is a connection point on the physical network link, such as RJ 45 connector. 在一些实施方式中,网络接口控制器920支持无线网络连接且接口端口922是无线接收器/发射器。 In some embodiments, the network interface controller 920 and wireless LAN interface port 922 is a wireless receiver / transmitter. 一般地,计算设备910 与其他计算设备924经由到网络接口922的物理或无线链路交换数据。 In general, the computing device 910 with other computing devices 924 via a network interface to a physical or wireless link 922 to exchange data. 在一些实施方式中, 网络接口控制器920实现诸如以太网的网络协议。 In some embodiments, the network interface controller 920 is implemented as an Ethernet network protocol.

[0066] 其他计算设备924经由网络接口端口922连接到计算设备910。 [0066] Other computing devices 924 connected to the computing device 910 via the network interface port 922. 其他计算设备924可以是对等计算设备、网络设备或者具有网络功能的任何其他计算设备。 Other computing devices 924 may be any other computing devices and other computing devices, or a network device having a network function. 例如,计算设备924 可以是将计算设备910连接到诸如互联网的数据网络的网络设备,诸如集线器、桥接器、交换机或路由器。 For example, computing device 924 may be a computing device 910 is connected to a network such as the Internet data network devices, such as hubs, bridges, switches or routers.

[0067] 在一些使用中,I/O接口930支持输入设备和/或输出设备(未示出)。 [0067] In some uses, I / O device interface 930 supports input and / or output devices (not shown). 在一些使用中,输入设备和输出设备被集成到相同硬件内,例如在触摸屏中。 In some uses, the input and output devices are integrated into the same hardware, for example in a touch screen. 在一些使用中,诸如在服务器场境中,没有I/O接口930或者不使用I/O接口930。 In some uses, such as in a server farm environments, no I / O interface 930 or without the I / O interface 930. 在一些使用中,附加的其他组件980 与计算系统910通信,例如,经由通用串行总线(USB)连接的外部设备。 In some uses, additional components 980 and 910 communicate with other computing systems, for example, an external device connected via a universal serial bus (USB).

[0068] 其他设备980可能包括I/O接口930、外部串行设备端口以及任何附加的协同处理器。 [0068] Other devices 980 may include I / O interface 930, an external serial port device and any additional coprocessor. 例如,计算系统910可能包括接口(例如,通用串行总线(USB)接口),其用于将输入设备(例如键盘、麦克风、鼠标或其他指针设备)、输出设备(例如视频显示器、扬声器、可刷新盲文终端、或打印机)或者附加存储器设备(例如便携闪存驱动器或外部媒体驱动器)相连接。 For example, computing system 910 may include an interface (e.g., a universal serial bus (USB) interface), for the input device (e.g. keyboard, microphone, mouse, or other pointing devices), output devices (e.g., a video display, speakers, Braille refresh terminal, or printer), or additional memory devices (e.g. compact flash drive or an external media drive) is connected. 在一些实施方式中,I/O设备被合并到计算系统910中,例如平板设备上的触摸屏。 In some embodiments, I / O devices are incorporated into the computing system 910, such as a touch screen on the tablet. 在一些实施方式中,计算设备910包括附加的设备980,诸如协同处理器,例如数学协同处理器,其能够帮助处理器950进行高精度或复杂的计算。 In some embodiments, the computing device 910 includes additional device 980, such as a coprocessor, such as math coprocessor, which can help the processor 950 with high accuracy or complicated calculations.

[0069] 主题的实施方式和本说明书中所述的操作可以在数字电子电路中实现,或者在体现于有形介质上的计算机软件、固件或硬件中实现,包括在本说明书中公开的结构及其结构等价物,或者以上一个或多个的组合。 [0069] The embodiment of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in a medium on a tangible embodied in computer software, firmware, or hardware, including the structures disclosed in this specification and structural equivalents thereof, or in combination of one or more. 本说明书中所述的主题的实施方式可以实现为嵌入在有形介质上的一个或多个计算机程序,即计算机程序指令的一个或多个模块,所述指令编码于一个或多个计算机存储介质上,以便由数据处理装置执行,或者控制数据处理装置的操作。 The embodiments described in this specification of the subject matter may be implemented as program embedded on a tangible medium of one or more computer programs, i.e., computer program instructions, one or more modules, the instructions encoded in one or more computer storage media for execution by a data processing apparatus, or to control the operation of the data processing apparatus. 计算机存储介质可以是计算机可读存储设备、计算机可读存储基底、随机或连续存取存储器阵列或设备、或者以上一个或多个的组合,或者包括在其中。 The computer-readable storage medium may be a computer storage device, a computer-readable storage substrate, a random or sequential access memory array or device, or a combination of one or more of the above, or included therein. 计算机存储介质还可以是一个或多个单独的组件或介质(例如,多个CD、盘、或其他存储设备),或者包括在其中。 The computer storage medium can also be one or more separate components or media (e.g., a plurality of the CD, disk or other storage device), or included therein. 计算机存储介质可以是有形的且非暂时性的。 The computer storage medium may be tangible and non-transitory.

[0070] 本说明书中所述的操作可以被实现为由数据处理装置针对存储在一个或多个计算机可读存储设备上或从其他源所接收的数据所执行的操作。 [0070] The operations described in this specification can be implemented as a data processing means for storing operating-readable storage device or in one or more computer from received data performed by other sources. 处理和逻辑流程也可以由专用逻辑电路执行,且装置也可以被实现为专用逻辑电路,例如FPGA (现场可编程门阵列)或ASIC (专用集成电路)。 Processes and logic flows can also be performed by special purpose logic circuitry, and the device may also be implemented as special purpose logic circuitry, eg, an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[0071] 尽管本说明书包含许多具体实施方式细节,这些内容不应该被视为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施方式的具体特征的描述。 [0071] While this specification contains many specific implementation details, these should not be construed as limiting the contents of any invention or the scope of the claimed, but rather as descriptions of the specific features of particular embodiments of particular inventions. 本说明书中在分别的实现环境中所述的特定特征还可以在单个实施方式的组合中实现。 In this specification the respective environment to achieve a particular feature may also be implemented in combination in a single embodiment. 反之,单个实现环境中描述的各种特征也可以分别在多个实施方式中实现或者在任何适当子组合中实现。 Conversely, various features described in the context of a single implementation can also be implemented separately or in any suitable subcombination In various embodiments described. 而且,尽管特征可能如上所述在特定组合中作用,甚至最初就是这样要求保护的,来自所要求保护的组合的一个或多个特征可以在一些情况下被从组合中去除,且所要求保护的组合可以被定向到子组合或子组合的变型。 Moreover, although features may be described above acting in certain combinations and even initially claimed as such is one or more features from a claimed combination may be removed from the combination in some cases, and claimed combination may be directed to a subcombination or variation of a subcombination.

[0072] 对"或"的引用可以被解释为包括,使得使用"或"来描述的任何术语可能表示单个、一个以上以及所有所述术语中的任何一个。 [0072] The reference to "or" may be construed to include such use of "or" includes any terms to describe the likely represents a single, more than one, and all the terms of any of them. 标签"第一"、"第二"、"第三"等等不必意味着表示次序,通常仅仅用来区分相同或类似的项或元素。 Label "first," "second," "third," and the like does not necessarily mean represents the order, usually only used to distinguish the same or similar items or elements.

[0073] 因此,已经描述了主题的特定实施方式。 [0073] Having thus described particular embodiments of the subject matter. 其他实施方式在所附权利要求的范围内。 Other embodiments are within the scope of the appended claims. 在一些情况下,权利要求中所述的动作可以以不同次序来执行且仍旧取得想要的结果。 In some cases, the operation may be performed in a different order and still achieve desirable results claims. 此外,附图中所描绘的处理不必要求所示的特定次序或者顺序的次序来获得想要的结果。 Further, the process depicted in the figures are not necessarily the particular order shown or in sequential order to obtain the desired results required. 在特定实施方式中,可以利用多任务或并行处理。 In a particular embodiment, the multi-task or may be utilized parallel processing.

Classifications
International ClassificationH04L12/717, H04L12/743, H04L12/721, H04L12/741
Cooperative ClassificationH04L45/123, H04L45/7453, H04L45/42, H04L45/54, H04L45/24, H04L45/745, H04L47/12, H04L47/17
Legal Events
DateCodeEventDescription
10 May 2017PB01
6 Jun 2017SE01