WO2018137677A1 - 等价路径的表项建立 - Google Patents
等价路径的表项建立 Download PDFInfo
- Publication number
- WO2018137677A1 WO2018137677A1 PCT/CN2018/074090 CN2018074090W WO2018137677A1 WO 2018137677 A1 WO2018137677 A1 WO 2018137677A1 CN 2018074090 W CN2018074090 W CN 2018074090W WO 2018137677 A1 WO2018137677 A1 WO 2018137677A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- path
- ucmp
- entries
- paths
- network device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Definitions
- UCM Unequal Cost Multipath, non-equivalent load sharing
- UCMP can allocate different traffic for different paths. For example, UCMP can distribute traffic to path 1 and path 2 in a certain ratio (eg, 2:3). For example, the bandwidth of path 1 is 10G, and the bandwidth of path 2 is 100G. If UCMP is used, traffic can be allocated to path 1 and path 2 in a ratio of 1:10. Obviously, UCMP can make load sharing more reasonable and make better use of bandwidth.
- FIG. 1 is a flowchart of a method for establishing an entry of an equivalent path in an embodiment of the present application
- FIG. 2 is a schematic diagram of a relationship between a FIB table, a UCMP table, and an adjacency list in an embodiment of the present application;
- FIG. 3 is a hardware structural diagram of a network device in an implementation manner of the present application.
- FIG. 4 is a schematic structural diagram of an entry creation logic of an equal path in an embodiment of the present application.
- the UCMP table maintained by the network device allocates indexes according to the ratio. For example, if the ratio of path 1 to path 2 is 2:3, the UCMP table contains five indexes, of which two indexes correspond to path 1, and the other three The index corresponds to path 2, and the information of the UCMP table also exists in the FIB (Forward Information Data Base) entry.
- the network device After receiving the packet, the network device first searches for the FIB entry that matches the packet, and uses the information of the UCMP table in the FIB entry to determine the index corresponding to the packet, and then the index corresponding to the packet. The path sends the message.
- FIB Forward Information Data Base
- the network device can adjust the number of indexes in the UCMP table to eight, where three indexes correspond to path 1, and the other five indexes correspond to paths. 2. Moreover, the network device also needs to adjust the information of the UCMP table recorded in the FIB entry.
- the embodiment of the present application provides a method for establishing an equivalent path entry, which can be applied to a network device, and the network device uses a UCMP manner to transmit a message.
- the network device can maintain at least the FIB table and the UCMP table.
- Each FIB entry in the FIB table may include an IP address, a number of entries of the UCMP table associated with the FIB entry, an identifier of the UCMP table, and the like.
- Each UCMP entry in the UCMP table may include content such as index information of the path.
- the content of the FIB entry and the UCMP entry are not limited to the foregoing content, and the content of the entry is not limited.
- At least two paths between the network device and the destination device are configured as equivalent paths, the equivalent path corresponding to a UCMP table.
- path 1 and path 2 of the network device are configured as equivalent paths
- equivalent path 1-2 corresponds to UCMP table A
- path 3, path 4, and path 5 of the network device are configured as equivalent paths, and the like
- the price path 3-5 corresponds to the UCMP table B.
- each path in the equal-cost path corresponds to an interface, which may be a physical interface or a logical interface (such as an aggregate interface composed of multiple physical interfaces).
- path 1 corresponds to logical interface 1
- logical interface 1 includes physical interface A, physical interface B, and physical interface C
- Path 2 corresponds to logical interface 2
- logical interface 2 includes physical interface D and physical interface E.
- a flowchart of a method for establishing an equivalent path entry may include:
- Step 101 Establish a FIB entry, where the FIB entry includes an address of the destination device, and a UCMP table of the UCMP table corresponding to the N paths in the equivalent path configured by the network device and the destination network device.
- the number of items, and the number of UCMP entries is a preset fixed value, and N is an integer greater than or equal to 2.
- the number of UCMP entries in the UCMP table included in the FIB entry is a preset fixed value, such as 256, and the number of UCMP entries is preset. value.
- Step 102 Assign a UCMP entry to each path according to the weight of each of the N paths in the equal-cost path and the fixed value, where the sum of the number of UCMP entries corresponding to each path in the N paths is equal to The fixed value, and the index information of the corresponding path is recorded in the UCMP entry.
- the process of “allocating a UCMP entry for each path according to the weight of each of the N paths according to the equal-cost path and the fixed value” may include: Each of the N paths, the product of the fixed value and the weight of the path is divided by the total weight, and the first value T corresponding to the path is obtained; wherein the total weight is a sum of weights of the N paths; determining a difference between the fixed value and a first value corresponding to each path of the N paths as a second value D; if the second value D is 0, the number of UCMP entries allocated for each path is the first value T; if the second value D is greater than 0, the N paths are sorted by the weights of the N paths, and are in the front D paths.
- the number of UCMP entries allocated for each path is the first value T plus one, and the number of UCMP entries allocated for each of the remaining paths is the first value T.
- the number of UCMP entries in the UCMP table is a fixed value, such as 256.
- the fixed value is not limited to this value, and the example of the present application does not limit the value.
- the weight of path 1 and the weight of path 2 may be configured, for example, when it is desired to carry 30% of traffic through path 1, and 70% of traffic through path 2.
- the weight ratio of the two is 30%: 70%.
- the weight of the path 1 and the weight of the path 2 may be determined according to the path bandwidth.
- the bandwidth corresponding to the path 1 is 30 G (for example, the sum of the bandwidths of the physical interface A, the physical interface B, and the physical interface C)
- the distance corresponding to the path 2 is 50 G (for example, the sum of the bandwidths of the physical interface D and the physical interface E)
- the weight of the path 1 is 3
- the weight of the path 2 is 5, that is, the weight ratio of the two is 30G: 50G.
- the first value T can be determined in the following manner.
- the product of the fixed value and the weight of the path may be divided by the total weight and rounded down to obtain a first value T corresponding to the path.
- the first value T can also be determined in the second or third mode.
- the fixed value is divided by the total weight, and the value M is obtained.
- the weight of the path is multiplied by the value M to obtain a third value corresponding to the path.
- E subtracting the sum L of the third value E corresponding to each path in the N paths to obtain the difference H; if the difference H is less than the number of equivalent paths, the corresponding path of each path.
- the three values E are determined as the first value T corresponding to the path; if the difference H is not less than the number of equivalent paths, the difference H and the path are determined for each of the N paths
- the product of the weight is divided by the total weight, and the fourth value F corresponding to the path is obtained, and the sum of the third value E and the fourth value F corresponding to the path is determined as the first value T corresponding to the path.
- the fixed value is divided by the total weight, and the value M is obtained.
- the weight of the path is multiplied by the value M to obtain a third value corresponding to the path.
- E subtracting the sum L of the third value E corresponding to each path in the N paths from the fixed value to obtain a difference H; and for each path of the N paths, the difference H and the path are
- the product of the weight is divided by the total weight, and the fourth value F corresponding to the path is obtained, and the sum of the third value E and the fourth value F corresponding to the path is determined as the first value T corresponding to the path.
- the result of (256*1/8) is rounded down to obtain 32, and 32 is determined as the first value T corresponding to the path 1.
- the result of (256*1/8) is rounded down to get 32, and 32 is determined as the first value T corresponding to path 2.
- the result of (256*1/8) is rounded down to get 32, and 32 is determined as the first value T corresponding to path 3.
- the result of (256*2/8) is rounded down to get 64, and 64 is determined as the first value T corresponding to path 4.
- the result of (256*3/8) is rounded down to get 96, and 96 is determined as the first value T corresponding to path 5.
- the first value corresponding to each path is The number of UCMP entries corresponding to the path is determined, that is, the number of UCMP entries in path 1 is 32, the number of UCMP entries in path 2 is 32, the number of UCMP entries in path 3 is 32, and the number of UCMP entries in path 4. 64, the number of UCMP entries in path 5 is 96.
- the equivalent path includes path 1, path 2, path 3, path 4, and path 5, where path 1 has a weight of 5, path 2 has a weight of 5, and path 3 has a weight of 5, and the path 4 has a weight of 5 and path 5 has a weight of 8. Therefore, the total weight of the five paths is 28.
- the result of (256*5/28) is rounded down to obtain 45, and 45 is determined as the first value T corresponding to the path 1.
- the result of (256*5/28) is rounded down to obtain 45, and 45 is determined as the first value T corresponding to path 2.
- the result of (256*5/28) is rounded down to get 45, and 45 is determined as the first value T corresponding to path 3.
- the result of (256*5/28) is rounded down to obtain 45, and 45 is determined as the first value T corresponding to path 4, and for path 5, the result of (256*8/28) is The next rounding is performed to obtain 73, and 73 is determined as the first value T corresponding to the path 5.
- the five paths are sorted by the weight of the five paths from the largest to the smallest.
- the result of the sorting is path 5, path 1, path 2, path 3, path 4; since path 1, path 2, path 3.
- the weights of the paths 4 are the same. Therefore, the order of the four paths is not limited. The order of the above-mentioned "path 1, path 2, path 3, and path 4" will be described as an example.
- the number of UCMP entries allocated for the first three paths are 74 (73+1), 46 (45+1), and 46 (45+1), respectively.
- the number of UCMP entries allocated to the remaining paths is 45 (45+0) and 45 (45+0), respectively.
- the equivalent path is assumed to be path 1, path 2, path 3, path 4, and path 5.
- path 1 has a weight of 10
- path 2 has a weight of 10
- path 3 has a weight of 10
- the path has a weight of 10.
- the weight of 4 is 10
- the weight of path 5 is 1, so the total weight of 5 paths is 41.
- the result of (256/41) is rounded down to obtain a value M of 6.
- the sum L of the third values E corresponding to the paths in the paths 1-5 is obtained as 246, and the difference H between the fixed values 256 and L 246 is 10.
- the fourth value F corresponding to the path 1 is 2 ((10*10/41) is rounded down), and the fourth value F corresponding to the path 2 is determined to be 2 ((10*10) /41) Rounding down), determining that the fourth value F corresponding to path 3 is 2 ((10*10/41) is rounded down), and determining that the fourth value F corresponding to path 4 is 2 ((10*10) / Total weight 41) Rounded down), determine that the fourth value F corresponding to path 5 is 0 ((10*1/41) rounded down).
- the sum of the first values corresponding to the five paths (62+62+62+62+6) is 254, the difference between the fixed values 256 and 254 is 2, since 2 is greater than 0, the weight of each path is used from the large In a small order, each path is sorted, and the result of the sorting is path 1, path 2, path 3, path 4, and path 5.
- the number of UMCP entries allocated for the first two paths (path 1, path 2) is 63 (62 + 1) and 63 (62 + 1), which is the path after the second path (ie, path 3).
- the number of UMCP entries allocated by Path 4 and Path 5 is 62 (62+0), 62 (62+0), and 6 (6+0).
- the equivalent path is assumed to be path 1, path 2, path 3, path 4, and path 5. wherein the weight of path 1 is 10, the weight of path 2 is 10, and the weight of path 3 is 10, and the path is 10. The weight of 4 is 10, and the weight of path 5 is 13, so the total weight of 5 paths is 53.
- the result of (256/53) is rounded down to obtain a value M of 4.
- the sum L of the third value E corresponding to each path is obtained as 212, and the difference H between the fixed values 256 and 212 is 44.
- the fourth value F corresponding to the path 1 is 8 ((44*10/53) is rounded down), and the fourth value F corresponding to the path 2 is determined to be 8 ((44*10/53) rounded down), It is determined that the fourth value F corresponding to the path 3 is 8 ((44*10/53) is rounded down), and the fourth value F corresponding to the path 4 is determined to be 8 ((44*10/53) rounded down), It is determined that the fourth value F corresponding to the path 5 is 10 ((44*13/53) rounded down).
- the sum 48 of the third value E(40) corresponding to the path 1 and the fourth value F(8) is determined as the first value T corresponding to the path 1, and the third value E(40) corresponding to the path 2 is the fourth value.
- the sum of F(8) 48 is determined as the first value T corresponding to path 2, and the sum 48 of the third value E(40) corresponding to path 3 and the fourth value F(8) is determined as the first value corresponding to path 3.
- T the sum of the third value E (40) corresponding to the path 4 and the fourth value F (8) 48 is determined as the first value T corresponding to the path 4
- the third value E (52) corresponding to the path 5 The sum 62 of the four values F(10) is determined as the first value T corresponding to path 5.
- the difference between the fixed value 256 and the first value is 2
- the difference between the fixed value 256 and the first value is 2
- the weights of the strip paths are sorted in descending order, and each path is sorted.
- the result of the sorting is path 5, path 1, path 2, path 3, and path 4.
- the number of UCMP entries allocated for the first two paths ie, path 5 and path 1) is 63 (62+1) and 49 (48+1), respectively
- the path after the second path ie, The number of UCMP entries allocated by path 2, path 3, and path 4) are 48 (48+0), 48 (48+0), and 48 (48+0), respectively.
- a UCMP entry can be allocated for each path, and then the index information of the path is recorded in the UCMP entry corresponding to the path.
- the number of UCMP entries in path 1 is 49
- the number of UCMP entries in path 2 is 48
- the number of UCMP entries in path 3 is 48
- the number of UCMP entries in path 4 is 48
- the number of UCMP entries in path 5 is 63.
- the path 1 can be assigned 49 UCMP entries (such as the first to the 49th), and the index information of the path 1 is recorded in the 49 UCMP entries.
- the path 2 is assigned 48 UCMP entries (such as the 50th to the 97th), and the index information of the path 2 is recorded in the 48 UCMP entries.
- the path 3 is assigned 48 UCMP entries (such as the 98th to the 145th), and the index information of the path 3 is recorded in the 48 UCMP entries.
- the path 4 is assigned 48 UCMP entries (such as the 146th to the 193th), and the index information of the path 4 is recorded in the 48 UCMP entries.
- the path 5 is assigned 63 UCMP entries (such as the 194th to the 256th), and the index information of the path 5 is recorded in the 63 UCMP entries.
- each path in the N' path is reassigned a UCMP entry, where N' is an integer greater than or equal to 2.
- a reduced number of UCMP entries corresponding to the path is determined, and a UCMP corresponding to the path is determined.
- a corresponding number of UCMP entries are selected in the entry, and the selected UCMP entry is allocated to the newly added path.
- determining the number of UCMP entries corresponding to the path determining the number N′ of equivalent paths after adding the path; according to the “N”
- the weight of each path in the path and the fixed value, and the number of UCMP entries corresponding to each path is determined.
- the UCMP entries corresponding to the path in the N paths are used.
- the difference between the number of UCMP entries corresponding to the path in the N" path is determined as the number of UCMP entries corresponding to the path, where N" is an integer greater than or equal to 2.
- the equivalent path includes path 1, path 2, path 3, path 4, and path 5, where path 1 has a weight of 1, and path 2 has a weight of 1, path 3
- the weight of the path is 1, the weight of the path 4 is 2, the weight of the path 5 is 3, the number of UMCP entries of the path 1 is 32, the number of UMCP entries of the path 2 is 32, and the number of UMCP entries of the path 3 is 32.
- the number of UMCP entries in the path is 64, and the number of UMCP entries in path 5 is 96.
- the equivalent path includes the path 1, the path 2, the path 3, the path 4, the path 5, and the path 6. wherein the weight of the path 1 is 1, and the weight of the path 2 is 1. 3 has a weight of 1, path 4 has a weight of 2, path 5 has a weight of 3, and path 6 has a weight of 8, and the total weight of the six paths is 16.
- the path 1 corresponds to 16 UCMP entries
- the UCMP entry corresponding to the path 2 The number of UCMP entries is 16.
- the number of UCMP entries corresponding to path 3 is 16, the number of UCMP entries corresponding to path 4 is 32, the number of UCMP entries corresponding to path 5 is 48, and the number of UCMP entries corresponding to path 6 is 128.
- the number of entries of the path 1 is reduced by 16 (32-16)
- the number of entries of the path 2 is reduced by 16 (32-16)
- the number of entries of the path 3 is reduced by 16 (32).
- the number of entries in path 4 is reduced by 32 (64-32)
- the number of entries in path 5 is reduced by 48 (96-48).
- 16 UCMP entries are randomly selected from all the UCMP entries corresponding to the path 1, and the index information of the path 1 recorded in the 16 UCMP entries is deleted, and the path 6 is recorded in the 16 UCMP entries. Index information.
- 16 UCMP entries are randomly selected from all the UCMP entries corresponding to the path 2, and the index information of the path 2 recorded in the 16 UCMP entries is deleted, and the index information corresponding to the path 6 is recorded in the 16 UCMP entries.
- 16 UCMP entries are randomly selected from all the UCMP entries corresponding to the path 3, and the index information of the path 3 recorded in the 16 UCMP entries is deleted, and the index information corresponding to the path 6 is recorded in the 16 UCMP entries.
- 32 UCMP entries are randomly selected from all the UCMP entries corresponding to the path 4, and the index information of the path 4 recorded in the 32 UCMP entries is deleted, and the index information corresponding to the path 6 is recorded in the 32 UCMP entries.
- 48 UCMP entries are randomly selected from all the UCMP entries corresponding to the path 5, and the index information of the path 5 recorded in the 48 UCMP entries is deleted, and the index information corresponding to the path 6 is recorded in the 48 UCMP entries.
- the index information of the path recorded in the 256 UCMP entries can be deleted, and 16 UCMP entries are re-assigned to the path 1 and 16 UCMP entries are re-assigned to the path 2.
- 3 Assign 16 UCMP entries, re-assign 32 UCMP entries to path 4, re-assign 48 UCMP entries to path 5, and re-assign UCMP entries to path 6 to allocate 128 UCMP entries.
- the network device determines the number N"' of the equivalent paths after deleting the path, where N"' is an integer greater than or equal to 2; For each path in the N"'-equivalent path, determine the number of UCMP entries corresponding to the path, and select a corresponding number of entries from the UCMP entries corresponding to the deleted path to be assigned to the path.
- the equivalent path includes path 1, path 2, path 3, path 4, and path 5.
- the weight of path 1 is 1, the weight of path 2 is 1, and the weight of path 3
- the weight of the path 4 is 2
- the weight of the path 5 is 3
- the number of entries in the path 1 is 32
- the number of entries in the path 2 is 32
- the number of entries in the path 3 is 32
- the number of entries in the path 4 is For 64
- the number of entries in path 5 is 96.
- the equivalent path includes path 1, path 2, and path 4, where the weight of path 1 is 1, the weight of path 2 is 1, and the weight of path 4 is 2, and the total of 3 paths The weight is 4.
- the number of entries of path 1 in the remaining three paths is 64, and in the remaining three paths.
- the number of entries in path 2 is 64, and the number of entries in path 4 in the remaining three paths is 128.
- the index information of the path recorded in the 32 UCMP entries corresponding to the path 3 can be deleted, and the index information of the path recorded in the 96 UCMP entries corresponding to the path 5 can be deleted.
- 32 UCMP entries are randomly selected from the 128 UCMP entries.
- the index information corresponding to path 1 is recorded in the 32 UCMP entries, and 32 UCMP entries are randomly selected from the remaining 96 UCMP entries.
- the index information corresponding to the path 2 is recorded in the 32 UCMP entries, and the index information corresponding to the path 4 is recorded in the remaining 64 UCMP entries.
- the index information of the path recorded in the 256 UCMP entries can be deleted, and 64 UCMP entries are re-assigned for path 1, and 64 UCMPs are re-routed to path 2.
- the entry is re-assigned to path 4 with 128 UCMP entries.
- the network device can also record the relationship between the path and the UCMP entry after the UCMP table is maintained, for example, the path 1 corresponds to the first one. From the 32nd UCMP entry, and so on.
- the updated weight can be determined, and the current weight and the fixed value of each of the N paths of the equivalent path are used to regain the UCMP table corresponding to each path.
- the number of items, the specific obtaining method is similar to the processing when the number of equivalent paths is changed, and will not be described here.
- the number of entries in the UCMP table does not change, and only the number of UCMP entries allocated to each path can be adjusted.
- the information of the UCMP table in the FIB entry (such as the number of UCMP entries) does not change, and the content of the FIB entry does not need to be updated, so that the FIB entry can still be used to continue transmitting packets to avoid occurrence. Lost bag and other issues.
- the time for refreshing the UCMP entry and the FIB entry is about 1 second.
- a path is added or deleted in the equal-cost path, for example, if one equal-cost path is deleted from the 16 equal-cost paths, only the UCMP entry needs to be refreshed. The number of UCMP entries does not change. Therefore, the FIB entry does not need to be refreshed. Even if there are more FIB entries associated with a UCMP entry, the time for refreshing the UCMP entry is only about 20 milliseconds. Therefore, as in the conventional way, the refresh time can be saved by nearly 50 times.
- a packet transmission method is also provided in the embodiment of the present application.
- the method may be applied to a network device, and the method may include:
- the FIB entry After receiving the packet, determine the FIB entry that matches the packet.
- the FIB entry includes the number of UCMP entries in the corresponding UCMP table, and the number of UMCP entries included in the FIB entry is a fixed value.
- a random value is generated, and the random number and the number of the UMCP entries (the number of UCMP entries in the UCMP table in the FIB entry) are used to determine the sequence number of the UCMP entry that matches the packet.
- the UCMP entry corresponding to the UCMP entry number is determined from the UCMP table, and the packet is sent by using the path corresponding to the index information recorded in the determined UCMP entry.
- the FIB entry may include an IP address, a number of entries in the UCMP table associated with the FIB entry, an identifier of the UCMP table, and the like. Based on this, after receiving the packet, the network device can query the FIB entry that matches the destination IP address of the packet. For example, the IP address in the FIB entry is the same as the destination IP address of the packet.
- the random value may be first obtained by dividing (the random value may be a positive integer) to the UCMP. The remainder of the number of entries, and the location that matches the packet is determined based on the remainder. For example, the location matching the packet is the (remainder+1) UCMP entry of the UCMP table. For example, if the generated random value is 10, the remainder of 10/256 is 10. Therefore, it can be determined that the position matching the message is the eleventh UCMP entry of the UCMP table. For another example, if the generated random value is 256, the remainder of 256/256 is 0.
- the position matching the message is the first UCMP entry of the UCMP table, and so on. Since the random value is randomly generated, the remainder of the random value divided by 256 is evenly distributed to 256 ECMP entries, thereby achieving an even distribution among 256 ECMP entries.
- the UCMP table matching the identifier can be queried.
- a total of 256 UCMP entries are included in the UCMP table. If the location matching the packet is the eleventh UCMP entry in the UCMP table, the eleventh UCMP entry can be determined from the UCMP table.
- the index information of one path is recorded in each UCMP entry. Therefore, the path corresponding to the index information (such as the index information of the path 1) recorded in the eleventh UCMP entry may be used.
- Path 1) Send a message.
- the network device can maintain the FIB table (each entry in the FIB table is called an FIB entry) and the UCMP table (each entry in the UCMP table is called a UCMP entry). And adjacency tables (each entry in the adjacency table is called an adjacency list entry).
- the identifier of the UCMP table is recorded in the FIB entry, and the UCMP table can be queried through the identifier.
- the index information of the path (such as the index information of the path 1) is recorded in the UCMP table, and the index information is also the index information of the adjacency list. The index information can be used to query the adjacency list.
- an outbound interface is recorded in the adjacency entry (the outgoing interface may be a logical interface, or may be a physical interface, for example, an interface used by the path described in the foregoing embodiment), and a source MAC (Media Access Control)
- the address that is, the MAC address of the outbound interface
- the destination MAC address that is, the MAC address of the next hop of the outbound interface
- the VLAN Virtual Local Area Network
- Content of course, the content in the adjacency list is not limited to this, and there is no limitation on this.
- the process of sending the message by using the path corresponding to the index information recorded in the determined UCMP entry may include: querying the adjacency entry corresponding to the index information, and using the adjacency entry
- the source MAC address, the destination MAC address, and the VLAN information are encapsulated in the packet, and the encapsulated packet is sent through the path corresponding to the adjacency entry (for example, the outbound interface recorded in the adjacency entry).
- a network device can transmit a message through a CPU (Central Processing Unit), and the network device can also pass a hardware chip (such as an FPGA (Field Programmable Gate Array), an ASIC (Application). Specific Integrated Circuit, NP (Network Processor, etc.) for message transmission.
- a hardware chip such as an FPGA (Field Programmable Gate Array), an ASIC (Application). Specific Integrated Circuit, NP (Network Processor, etc.) for message transmission.
- the CPU maintains the FIB table, the UCMP table, and the adjacency list, and after receiving the message, the CPU transmits the message by using the FIB table, the UCMP table, and the adjacency list.
- the CPU sends the FIB table, the UCMP table, and the adjacency list to the hardware chip after generating the FIB table, the UCMP table, and the adjacency list, and the hardware chip uses the message after receiving the message.
- the FIB table, the UCMP table, and the adjacency table transmit messages.
- FIG. 3 is a hardware structural diagram of a network device according to some embodiments of the present disclosure.
- the network device 30 can include a processor 31 and a machine readable storage medium 32.
- processor 31 and machine readable storage medium 32 can communicate via system bus 33.
- the processor 31 can perform the method of establishing the equivalent path entry described above. .
- the machine-readable storage medium 32 referred to herein can be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like.
- the machine readable storage medium 92 may be a RAM (Random Access Memory), a volatile memory, a nonvolatile memory, a flash memory, a storage drive (such as a hard disk drive), a solid state drive, or any type of A storage disk (such as a compact disc, a DVD, etc.), or a similar storage medium, or a combination thereof.
- the equal-cost path entry creation logic 40 may include:
- the establishing module 41 is configured to establish a forwarding information base FIB entry, where the FIB entry includes a non-equivalent load sharing UCMP table corresponding to N paths configured to be equivalent paths between the network device and the destination network device.
- the number of UCMP entries is a preset fixed value, and N is an integer greater than or equal to 2.
- the allocating module 42 is configured to allocate a UCMP entry for each path according to the weight of each of the N paths and the fixed value, where the UBMP entry records the index information of the corresponding path.
- the sum of the number of UCMP entries corresponding to each path in the N paths is the fixed value.
- the allocating module 42 is configured to round down the product of the fixed value and the weight of the path by the total weight for each of the N paths to obtain the path.
- the allocating module 12 is further configured to: according to the weight of each path in the N′ path in the changed equivalent path, and the fixed value, when the number of the equivalent paths changes, Reassigning a UCMP entry for each of the N' paths, where N' is an integer greater than or equal to 2.
- the allocating module 12 is further configured to: when a new path is added to the equal-cost path, determine, for each path of the N paths, a reduced number of UCMP entries corresponding to the path, And selecting a corresponding number of UCMP entries from the UCMP entries corresponding to the path, and assigning the selected UCMP entries to the newly added paths.
- the allocating module 12 is configured to determine the number N" of equivalent paths after the path is added; and determine, according to the weight of each path in the N" path and the fixed value, The number of UCMP entries; for each of the N paths, the number of UCMP entries corresponding to the path in the N paths and the number of UCMP entries corresponding to the path in the N" path The difference is determined as the number of UCMP entries corresponding to the path, where N" is an integer greater than or equal to 2.
- the allocating module 12 is further configured to determine, when the path is deleted in the equal path, the number N"' of the equivalent paths after deleting the path, where N"' is an integer greater than or equal to 2; For each path of the N"'-equivalent path, determine the number of UCMP entries corresponding to the path, and select a corresponding number of entries from the UCMP entries corresponding to the deleted path to allocate to the path. .
- the allocating module 12 is configured to determine, according to the weight of each path in the N"' path and the fixed value, the number of UCMP entries corresponding to each path; for the N"' The difference between the number of UCMP entries corresponding to the path in the N"' path and the number of UCMP entries corresponding to the path in the N paths is determined as the UCMP corresponding to the path. The number of entries increases.
- the device embodiment since it basically corresponds to the method embodiment, reference may be made to the partial description of the method embodiment.
- the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without any creative effort.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供等价路由表项建立方法、网络设备和机器可读存储介质。在一示例中,网络设备建立转发信息库FIB表项,所述FIB表项包括所述网络设备与目的网络设备之间被配置为等价路径的N条路径对应的非等价负载分担UCMP表的表项数量和所述目的设备的地址,所述UCMP表项数量是预设的固定值;根据所述N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项,所述UCMP表项中记录相应路径的索引信息。
Description
相关申请的交叉引用
本专利申请要求于2017年1月25日提交的、申请号为201710056674.7、发明名称为“一种等价路由表项建立方法和装置”的中国专利申请的优先权,该申请的全文以引用的方式并入本文中。
随着网络应用的快速发展,UCMP(Unequal Cost Multipath,非等价负载分担)的应用更加广泛。UCMP可以为不同路径分配不同的流量。例如,UCMP可以按一定比例(如2:3)将流量分配到路径1和路径2。例如,路径1的带宽为10G,而路径2的带宽为100G,若使用UCMP,则流量可以按比例1:10分配到路径1和路径2。显然,UCMP可以使负载分担更合理,可以更好的利用带宽。
图1是本申请一种实施方式中的等价路径的表项建立方法的流程图;
图2是本申请实施方式中的FIB表、UCMP表和邻接表之间关系的示意图;
图3是本申请一种实施方式中的网络设备的硬件结构图;
图4是本申请一种实施方式中的等价路径的表项建立逻辑的结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了实现UCMP,网络设备维护的UCMP表中,按照比例分配索引,如路径1与路径2的比例为2:3,则UCMP表包含5个索引,其中,2个索引对应路径1,另外3个索引对应路径2,而且,FIB(Forward Information dataBase,转发信息库)表项中也会存在UCMP表的信息。这样,网络设备在接收到报文后,先查询与该报文匹配的FIB表项,并利用该FIB表项中的UCMP表的信息,确定该报文对应的索引,然后通过该索引对应的路径发送该报文。
当路径1与路径2的比例发生变化时,如变为3:5,则网络设备可将UCMP表中的索引数量调整为8个,其中,3个索引对应路径1,另外5个索引对应路径2。而且,网络设备还需要调整FIB表项中记录的UCMP表的信息。
由于所述UCMP表对应的FIB表项的数量很多,因此对该UCMP表对应的所有FIB表项内容的修改,会消耗很长时间,在这段时间内,无法使用该UCMP表对应的FIB表项传输报文,导致发生丢包等问题。
本申请实施例提出一种等价路径表项建立方法,该方法可以应用于网络设备,该网络设备采用UCMP的方式传输报文。为了实现UCMP,网络设备可以至少维护FIB表和UCMP表。该FIB表中的每个FIB表项可以包括IP地址、与该FIB表项关联的UCMP表的表项数量、该UCMP表的标识等内容。该UCMP表中的每个UCMP表项可以包括路径的索引信息等内容。当然,该FIB表项和该UCMP表项的内容均不局限于上述内容,对此表项内容不做限制。
在一个例子中,网络设备至目的设备之间的至少两条路径被配置为等价路径,该等价路径对应一个UCMP表。例如,网络设备的路径1、路径2被配置为等价路径,且等价的路径1-2对应UCMP表A;网络设备的路径3、路径4、路径5被配置为等价路径,且等价的路径3-5对应UCMP表B。
在一个例子中,等价路径中的每条路径对应一个接口,该接口可以是物理接口,也可以是逻辑接口(如多个物理接口组成的聚合接口)。例如,路径1对应逻辑接口1,且逻辑接口1包括物理接口A、物理接口B和物理接口C;路径2对应逻辑接口2,且逻辑接口2包括物理接口D和物理接口E。
参见图1所示,为等价路径表项建立方法的流程图,该方法可以包括:
步骤101,建立FIB表项,该FIB表项包括目的设备的地址、所述网络设备与目的网络设备之间被配置为等价路径的等价路径中的N条路径对应的UCMP表的UCMP表 项数量,且该UCMP表项数量是预设的固定值,N为大于等于2的整数。
在一个例子中,针对FIB表中的每个FIB表项,该FIB表项包括的UCMP表的UCMP表项数量是预设的固定值,如256等,该UCMP表项数量为预设的固定值。
步骤102,根据等价路径中的N条路径中的每条路径的权重和该固定值,为每条路径分配UCMP表项,其中,N条路径中各路径对应的UCMP表项数量之和等于所述固定值,且UCMP表项中记录相应路径的索引信息。
在一个例子中,针对“所述根据所述等价路径的N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项”的过程,可以包括:对于所述N条路径中的每条路径,将所述固定值与所述路径的权重的乘积除以总权重向下取整,得到所述路径对应的第一数值T;其中,所述总权重是所述N条路径的权重之和;确定所述固定值与所述N条路径中各路径对应的第一数值之和的差值,作为第二数值D;若所述第二数值D为0,为每条路径分配的UCMP表项数量为所述第一数值T;若所述第二数值D大于0,利用N条路径的权重大小对N条路径进行排序,为前D条路径中每条路径分配的UCMP表项的数量为所述第一数值T加1,为剩余每条路径分配的UCMP表项数量为所述第一数值T。
其中,UCMP表中的UCMP表项数量是一个固定值,如256等,当然,该固定值并不局限于此数值,本申请示例对此数值不做限制。
其中,当路径1、路径2被配置为等价路径时,则可以配置路径1的权重、路径2的权重,例如,当希望通过路径1承载30%的流量,通过路径2承载70%的流量时,则路径1的权重为3,路径2的权重为7,二者的权重比为30%:70%。在一示例中,可以根据路径带宽确定路径1的权重、路径2的权重,例如,当路径1对应的带宽为30G(例如,物理接口A、物理接口B和物理接口C的带宽之和),且路径2对应的带宽为50G(例如,物理接口D和物理接口E的带宽之和),则路径1的权重为3,路径2的权重为5,即二者的权重比为30G:50G。
在一个例子中,对于所述N条路径中的每条路径,可采用如下方式一确定出第一数值T。可以将所述固定值与所述路径的权重的乘积除以总权重向下取整,得到所述路径对应的第一数值T。在另一个例子中,还可以采用方式二或方式三确定出第一数值T。
方式二、对固定值除以总权重向下取整,得到数值M;针对所述N条路径中的每条路径,将该路径的权重与数值M相乘,得到该路径对应的第三数值E;将所述固定值减 去N条路径中各路径对应的第三数值E之和L,得到差值H;若所述差值H小于等价路径数量,则将每条路径对应的第三数值E确定为该路径对应的第一数值T;若所述差值H不小于等价路径数量,则针对所述N条路径中的每条路径,将所述差值H与该路径的权重之积除以总权重向下取整,得到该路径对应的第四数值F,将该路径对应的第三数值E与第四数值F之和,确定为该路径对应的第一数值T。
方式三、对固定值除以总权重向下取整,得到数值M;针对所述N条路径中的每条路径,将该路径的权重与数值M相乘,得到该路径对应的第三数值E;将所述固定值减去N条路径中各路径对应的第三数值E之和L、得到差值H;针对所述N条路径中的每条路径,将差值H与该路径的权重之积除以总权重向下取整,得到该路径对应的第四数值F,将该路径对应的第三数值E与第四数值F之和确定为该路径对应的第一数值T。
以下结合几个具体的应用场景,对上述过程进行详细说明。在后续几个应用场景中,假设UCMP表的UCMP表项数量为256,若有N条路径,每条路径的权重最简比为A1:A2:A3……:An,则总权重W=A1+A2+……An。
在应用场景1中,假设等价路径为路径1、路径2、路径3、路径4、路径5,其中,路径1的权重为1,路径2的权重为1,路径3的权重为1,路径4的权重为2,路径5的权重为3,因此,5条路径的总权重为8。
当采用方式一确定第一数值T时,对于路径1,对(256*1/8)的结果向下取整,得到32,将32确定为路径1对应的第一数值T。对于路径2,对(256*1/8)的结果向下取整,得到32,将32确定为路径2对应的第一数值T。对于路径3,对(256*1/8)的结果向下取整,得到32,将32确定为路径3对应的第一数值T。对于路径4,对(256*2/8)的结果向下取整,得到64,将64确定为路径4对应的第一数值T。对于路径5,对(256*3/8)的结果向下取整,得到96,将96确定为路径5对应的第一数值T。
由于5条路径对应的第一数值T之和K(32+32+32+64+96)为256,固定值256与K的差值N等于0,因此,将每条路径对应的第一数值T确定为该路径对应的UCMP表项数量,即路径1的UCMP表项数量为32,路径2的UCMP表项数量为32,路径3的UCMP表项数量为32,路径4的UCMP表项数量为64,路径5的UCMP表项数量为96。
在应用场景2中,假设等价路径包括路径1、路径2、路径3、路径4、路径5,其中,路径1的权重为5,路径2的权重为5,路径3的权重为5,路径4的权重为5,路 径5的权重为8。因此,5条路径的总权重为28。
当采用方式一确定第一数值T,对于路径1,对(256*5/28)的结果向下取整,得到45,将45确定为路径1对应的第一数值T。对于路径2,对(256*5/28)的结果向下取整,得到45,将45确定为路径2对应的第一数值T。对于路径3,对(256*5/28)的结果向下取整,得到45,将45确定为路径3对应的第一数值T。对于路径4,对(256*5/28)的结果向下取整,得到45,将45确定为路径4对应的第一数值T,对于路径5,对(256*8/28)的结果向下取整,得到73,将73确定为路径5对应的第一数值T。
由于5条路径对应的第一数值T之和K(45+45+45+45+45+73)为253,固定值256与K的差值(例如,第二数值D)为3,由于D大于0,因此利用5条路径的权重从大到小的顺序,对5条路径进行排序,排序结果为路径5、路径1、路径2、路径3、路径4;由于路径1、路径2、路径3、路径4的权重相同,因此并不限制这四条路径的顺序,以上述“路径1、路径2、路径3、路径4”的顺序为例进行说明。基于上述顺序,则为前3条路径(路径5、路径1、路径2)分配的UCMP表项数量为分别为74(73+1)、46(45+1)、46(45+1),剩余路径(路径3、路径4)分配的UCMP表项数量为分别为45(45+0)、45(45+0)。
在应用场景3中,假设等价路径为路径1、路径2、路径3、路径4、路径5,其中,路径1的权重为10,路径2的权重为10,路径3的权重为10,路径4的权重为10,路径5的权重为1,因此,5条路径的总权重为41。
当采用方式二确定第一数值T时,对(256/41)的结果向下取整,得到数值M为6。确定路径1对应的第三数值E为60=10*6,确定路径2对应的第三数值E为60=10*6,确定路径3对应的第三数值E为60=10*6,确定路径4对应的第三数值E为60=10*6,确定路径5对应的第三数值E为6=1*6。之后,获得路径1-5中各路径对应的第三数值E之和L为246,且固定值256与L 246的差值H为10。
由于差值H大于路径数量5,确定路径1对应的第四数值F为2((10*10/41)向下取整),确定路径2对应的第四数值F为2((10*10/41)向下取整),确定路径3对应的第四数值F为2((10*10/41)向下取整),确定路径4对应的第四数值F为2((10*10/总权重41)向下取整),确定路径5对应的第四数值F为0((10*1/41)向下取整)。将路径1对应的62=60+2确定为路径1对应的第一数值T,路径2对应的第一数值T为62=60+2,路径3对应的第一数值T为62=60+2,路径4对应的第一数值T 为62=60+2,路径5对应的第一数值T为6=6+0。
由于5条路径对应的第一数值之和(62+62+62+62+6)为254,固定值256与254的差值为2,由于2大于0,因此利用每条路径的权重从大到小的顺序,对每条路径进行排序,排序结果为路径1、路径2、路径3、路径4、路径5。基于上述顺序,则为前2条路径(路径1、路径2)分配的UMCP表项数量为63(62+1)、63(62+1),为第2条路径之后的路径(即路径3、路径4、路径5)分配的UMCP表项数量为62(62+0)、62(62+0)、6(6+0)。
在应用场景4中、假设等价路径为路径1、路径2、路径3、路径4、路径5,其中,路径1的权重为10,路径2的权重为10,路径3的权重为10,路径4的权重为10,路径5的权重为13,因此,5条路径的总权重为53。
当采用上述方式三确定第一数值T时,对(256/53)的结果向下取整,得到数值M为4。确定路径1对应的第三数值E为40=10*4,确定路径2对应的第三数值E为40=10*4,确定路径3对应的第三数值E为40=10*4,确定路径4对应的第三数值E为40=10*4,确定路径5对应的第三数值E为52=13*4。之后,获得每条路径对应的第三数值E之和L为212,且固定值256与212的差值H为44。
确定路径1对应的第四数值F为8((44*10/53)向下取整),确定路径2对应的第四数值F为8((44*10/53)向下取整),确定路径3对应的第四数值F为8((44*10/53)向下取整),确定路径4对应的第四数值F为8((44*10/53)向下取整),确定路径5对应的第四数值F为10((44*13/53)向下取整)。将路径1对应的第三数值E(40)与第四数值F(8)之和48确定为路径1对应的第一数值T,将路径2对应的第三数值E(40)与第四数值F(8)之和48确定为路径2对应的第一数值T,将路径3对应的第三数值E(40)与第四数值F(8)之和48确定为路径3对应的第一数值T,将路径4对应的第三数值E(40)与第四数值F(8)之和48确定为路径4对应的第一数值T,将路径5对应的第三数值E(52)与第四数值F(10)之和62确定为路径5对应的第一数值T。
由于5条路径对应的第一数值之和(48+48+48+48+62)为254,固定值256与第一数值之和的差值为2,由于差值2大于0,因此利用每条路径的权重从大到小的顺序,对每条路径进行排序,排序结果为路径5、路径1、路径2、路径3、路径4。基于上述顺序,则为前2条路径(即路径5、路径1)分配的UCMP表项的数量分别为63(62+1)、49(48+1),第2条路径之后的路径(即路径2、路径3、路径4)分配的UCMP表项的数量分别为48(48+0)、48(48+0)、48(48+0)。
经过上述处理,可以为每条路径分配UCMP表项,然后在该路径对应的UCMP表项中记录该路径的索引信息。假设路径1的UCMP表项数量为49,路径2的UCMP表项数量为48,路径3的UCMP表项数量为48,路径4的UCMP表项数量为48,路径5的UCMP表项数量为63,则可以为路径1分配49个UCMP表项(如第1个至第49个),在这49个UCMP表项中记录路径1的索引信息。为路径2分配48个UCMP表项(如第50个至第97个),在这48个UCMP表项中记录路径2的索引信息。为路径3分配48个UCMP表项(如第98个至第145个),在这48个UCMP表项中记录路径3的索引信息。为路径4分配48个UCMP表项(如第146个至第193个),在这48个UCMP表项中记录路径4的索引信息。为路径5分配63个UCMP表项(如第194个至第256个),在这63个UCMP表项中记录路径5的索引信息。
在一个例子中,当所述等价路径数量变化(例如增加或减少)时,可根据变化后的等价路径中的N'条路径中的每条路径的权重和所述固定值,为所述N'条路径中的每条路径重新分配UCMP表项,其中,N'为大于等于2的整数。
在另一个例子中,当所述等价路径中新增路径时,对于所述N条路径中的每条路径,确定所述路径对应的UCMP表项减少数量,并从所述路径对应的UCMP表项中选取相应数量的UCMP表项,将选取的所述UCMP表项分配给所述新增的路径。而且,对于所述N条路径中的每条路径,针对“确定所述路径对应的UCMP表项减少数量”的过程,确定增加路径后的等价路径的数量N”;根据所述N”条路径中的每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N条路径中的每条路径,将N条路径中所述路径对应的UCMP表项数量与所述N”条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项减少数量,其中,N”为大于等于2的整数。
例如,假设等价路径中新增路径6之前,等价路径包括路径1、路径2、路径3、路径4、路径5,其中,路径1的权重为1,路径2的权重为1,路径3的权重为1,路径4的权重为2,路径5的权重为3,路径1的UMCP表项数量为32,路径2的UMCP表项数量为32,路径3的UMCP表项数量为32,路径4的UMCP表项数量为64,路径5的UMCP表项数量为96。在等价路径中新增路径6后,等价路径包括路径1、路径2、路径3、路径4、路径5、路径6,其中,路径1的权重为1,路径2的权重为1,路径3的权重为1,路径4的权重为2,路径5的权重为3,路径6的权重为8,则6条路径的总权重为16。
在一个例子中,根据增加路径6后的6条路径中的每条路径的权重和所述固定值,在这6条路径中,路径1对应16个UCMP表项,路径2对应的UCMP表项数量为16,路径3对应的UCMP表项数量为16,路径4对应的UCMP表项数量为32,路径5对应的UCMP表项数量为48,路径6对应的UCMP表项数量为128。
而且,当增加一条路径6时,路径1的表项减少数量为16(32-16),路径2的表项减少数量为16(32-16),路径3的表项减少数量为16(32-16),路径4的表项减少数量为32(64-32),路径5的表项减少数量为48(96-48)。基于此,从路径1对应的所有UCMP表项中随机选取16个UCMP表项,删除这16个UCMP表项中记录的路径1的索引信息,并在这16个UCMP表项中记录路径6对应的索引信息。从路径2对应的所有UCMP表项中随机选取16个UCMP表项,删除这16个UCMP表项中记录的路径2的索引信息,并在这16个UCMP表项中记录路径6对应的索引信息。从路径3对应的所有UCMP表项中随机选取16个UCMP表项,删除这16个UCMP表项中记录的路径3的索引信息,并在这16个UCMP表项中记录路径6对应的索引信息。从路径4对应的所有UCMP表项中随机选取32个UCMP表项,删除这32个UCMP表项中记录的路径4的索引信息,并在这32个UCMP表项中记录路径6对应的索引信息。从路径5对应的所有UCMP表项中随机选取48个UCMP表项,删除这48个UCMP表项中记录的路径5的索引信息,并在这48个UCMP表项中记录路径6对应的索引信息。
当然,当增加路径6时,也可以删除256个UCMP表项中记录的路径的索引信息,并重新为路径1分配16个UCMP表项、重新为路径2分配16个UCMP表项、重新为路径3分配16个UCMP表项、重新为路径4分配32个UCMP表项、重新为路径5分配48个UCMP表项、重新为路径6分配UCMP表项分配128个UCMP表项。
在另一个例子中,当所述等价路径中删除路径时,所述网络设备确定删除路径后的等价路径的数量N”',其中,N”'为大于等于2的整数;对于所述N"'条等价路径中每条路径,确定所述路径对应的UCMP表项增加数量,从所述删除的路径对应的UCMP表项中选取相应数量的表项分配给所述路径。在一个例子中,根据所述N"'条路径中每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N"'条等价路径中每条路径,将N"'条路径中所述路径对应的UCMP表项数量与所述N条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项增加数量。
例如,假设等价路径中删除路径前,等价路径包括路径1、路径2、路径3、路径4、路径5,其中,路径1的权重为1,路径2的权重为1,路径3的权重为1,路径4的权 重为2,路径5的权重为3,路径1的表项数量为32,路径2的表项数量为32,路径3的表项数量为32,路径4的表项数量为64,路径5的表项数量为96。在等价路径中删除路径后,等价路径包括路径1、路径2、路径4,其中,路径1的权重为1,路径2的权重为1,路径4的权重为2,3条路径的总权重为4。
根据剩余3条路径(路径1、路径2、路径4)中的每条路径的权重和所述固定值,获得在剩余3条路径中路径1的表项数量为64,在剩余3条路径中路径2的表项数量为64,在剩余3条路径中路径4的表项数量为128。
而且,当减少路径3和路径5时,可以确定路径1的UCMP表项增加数量为32(64-32),路径2的UCMP表项增加数量为32(64-32),路径4的UCMP表项增加数量为64(128-64)。因此,可以删除路径3对应的32个UCMP表项中记录的路径的索引信息,删除路径5对应的96个UCMP表项中记录的路径的索引信息。在这128个UCMP表项中随机选取出32个UCMP表项,在这32个UCMP表项中记录路径1对应的索引信息,在剩余的96个UCMP表项中随机选取出32个UCMP表项,在这32个UCMP表项中记录路径2对应的索引信息,并在剩余的64个UCMP表项中记录路径4对应的索引信息。
在一个例子中,当减少路径3和路径5时,也可以删除256个UCMP表项中记录的路径的索引信息,并重新为路径1分配64个UCMP表项、重新为路径2分别64个UCMP表项、重新为路径4分配128个UCMP表项。
在一个例子中,针对上述增加路径或者减少路径的情况,为了获知路径对应了哪些UCMP表项,网络设备在维护UCMP表后,还可以记录路径与UCMP表项的关系,如路径1对应第1个至第32个UCMP表项等,以此类推。
在一个例子中,当路径的权重发生变化时,可以确定更新后的权重,并利用等价路径的N条路径中的每条路径的当前权重和固定值,重新获得每条路径对应的UCMP表项数量,具体获得方式与上述等价路径数量变化时的处理类似,在此不再赘述。
基于上述技术方案,本申请实施例中,在UCMP的网络环境中,当路径的数量发生变化时,UCMP表中的表项数量不变,只是调整分配至每条路径的UCMP表项数量即可,这样,FIB表项中的UCMP表的信息(如UCMP表项数量)并不会发生变化,也就不需要更新FIB表项的内容,从而仍可利用FIB表项继续传输报文,避免发生丢包等问题。
假设等价路径中增加路径或者删除路径,如从16条路径中删除1条路径,则需要刷新UCMP表项,且由于UCMP表项的数量发生变化,因此还需要刷新FIB表项,假设与UCMP表项关联的FIB表项有10万条,则刷新UCMP表项和FIB表项的时间为1秒左右。而本申请实施例中,假设等价路径中增加路径或者删除路径,如从16个等价路径删除1个等价路径,则只需要刷新UCMP表项。由于UCMP表项的数量未发生变化,因此不需要刷新FIB表项,即使与UCMP表项关联的FIB表项再多,刷新UCMP表项的时间也只为20毫秒左右。因此,与传统方式相同,刷新时间可以节省近50倍。
基于上述实施例中维护的FIB表项、UCMP表,本申请实施例中还提出一种报文传输方法,该方法可以应用于网络设备,该方法可以包括:
在接收到报文后,确定与该报文匹配的FIB表项。该FIB表项包括对应的UCMP表中的UCMP表项数量,且该FIB表项包括的UMCP表项数量是一个固定值。生成随机值,并利用该随机值以及该UMCP表项数量(FIB表项中的UCMP表的UCMP表项数量)确定与该报文匹配的UCMP表项的序号。从UCMP表中确定出与该UCMP表项序号对应的UCMP表项,并利用确定出的UCMP表项中记录的索引信息对应的路径发送该报文。
在一个例子中,该FIB表项可以包括IP地址、与该FIB表项关联的UCMP表的表项数量、该UCMP表的标识等内容。基于此,网络设备在接收到报文后,可以查询到与该报文的目的IP地址匹配的FIB表项,例如,该FIB表项中的IP地址与该报文的目的IP地址相同。
在一个例子中,针对“利用该随机值以及该UCMP表项数量确定与该报文匹配的位置”的过程,可以先获得该随机值除以(该随机值可以为一个正整数)以该UCMP表项数量的余数,并基于该余数确定与该报文匹配的位置,如与该报文匹配的位置是UCMP表的第(余数+1)个UCMP表项。例如,假设生成的随机值为10,则10/256的余数为10,因此,可以确定与该报文匹配的位置是UCMP表的第11个UCMP表项。又例如,假设生成的随机值为256,则256/256的余数为0,因此,可以确定与该报文匹配的位置是UCMP表的第1个UCMP表项,以此类推。由于随机值是随机生成的,因此,随机值除以256的余数会平均分配到256个ECMP表项,从而在256个ECMP表项实现平均分配。
在一个例子中,由于FIB表项中包括UCMP表的标识,因此,可以查询到与该标识匹配的UCMP表。在该UCMP表中共包括256个UCMP表项,假设与该报文匹配的位 置是UCMP表的第11个UCMP表项,则可以从UCMP表中确定出第11个UCMP表项。参见上述实施例中介绍的,每个UCMP表项中记录有一条路径的索引信息,因此,可以通过第11个UCMP表项中记录的索引信息(如路径1的索引信息)对应的路径(即路径1)发送报文。
在一个例子中,参见图2所示,网络设备可以维护FIB表(FIB表中的每个表项称为FIB表项)、UCMP表(UCMP表中的每个表项称为UCMP表项)和邻接表(邻接表中的每个表项称为邻接表项)。其中,在FIB表项中记录有UCMP表的标识,通过该标识可以查询到UCMP表。此外,在UCMP表中记录有路径的索引信息(如路径1的索引信息等),该索引信息也是邻接表项的索引信息,通过该索引信息可以查询到邻接表项。此外,在邻接表项中记录有出接口(该出接口可以是逻辑接口,也可以是物理接口,例如,上述实施例中介绍的路径使用的接口)、源MAC(Media Access Control,介质访问控制)地址(即该出接口的MAC地址)、目的MAC地址(即该出接口的下一跳的MAC地址)、VLAN(Virtual Local Area Network,虚拟局域网)信息(即该出接口所属的VLAN)等内容,当然邻接表项中的内容并不局限于此,对此不做限制。
基于此,针对“利用确定出的UCMP表项中记录的索引信息对应的路径发送该报文”的过程,可以包括:查询到与该索引信息对应的邻接表项,并利用该邻接表项中记录的源MAC地址、目的MAC地址、VLAN信息等内容对该报文进行封装,并通过该邻接表项对应的路径(例如,该邻接表项中记录的出接口)发送封装后的报文。
在一个例子中,网络设备可以通过CPU(Central Processing Unit,中央处理器)进行报文传输,网络设备也可以通过硬件芯片(如FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,专用集成电路)、NP(Network Processor,网络处理器)等)进行报文传输。
进一步的,若通过CPU进行报文传输,则由CPU维护上述FIB表、UCMP表和邻接表,CPU在接收到报文后,利用FIB表、UCMP表和邻接表传输报文。若通过硬件芯片进行报文传输,则CPU在生成上述FIB表、UCMP表和邻接表后,将上述FIB表、UCMP表和邻接表下发到硬件芯片,硬件芯片在接收到报文后,利用FIB表、UCMP表和邻接表传输报文。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
参见图3,图3为本申请一些实施例提供的网络设备的硬件结构图。该网络设备30 可包括处理器31以及机器可读存储介质32。其中,处理器31和机器可读存储介质32可经由系统总线33通信。并且,通过读取并执行机器可读存储介质32中存储的与等价路径表项建立逻辑40对应的机器可执行指令,处理器31可执行上文所述的等价路径表项建立的方法。
本文提到的机器可读存储介质32可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质92可以是RAM(Random Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
如图6所示,从功能上划分,所述等价路径表项建立逻辑40可包括:
建立模块41,用于建立转发信息库FIB表项,所述FIB表项包括所述网络设备与目的网络设备之间被配置为等价路径的N条路径对应的非等价负载分担UCMP表的表项数量和所述目的设备的地址,所述UCMP表项数量是预设的固定值,N为大于等于2的整数。
分配模块42,用于根据所述N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项,所述UCMP表项中记录相应路径的索引信息,所述N条路径中各路径对应的UCMP表项数量之和为所述固定值。
在一个例子中,所述分配模块42用于对于所述N条路径中的每条路径,将所述固定值与所述路径的权重的乘积除以总权重向下取整,得到所述路径对应的第一数值T;其中,所述总权重是所述N条路径的权重之和;确定所述固定值与所述N条路径中各路径对应的第一数值之和的差值,作为第二数值D;若所述第二数值D为0,为每条路径分配的UCMP表项数量为所述第一数值T;若所述第二数值D大于0,利用N条路径的权重大小对N条路径进行排序,为前D条路径中每条路径分配的UCMP表项的数量为所述第一数值T加1,为剩余每条路径分配的UCMP表项数量为所述第一数值T。
在一个例子中,所述分配模块12,还用于当所述等价路径数量变化时,根据变化后的等价路径中的N'条路径中的每条路径的权重和所述固定值,为所述N'条路径中的每条路径重新分配UCMP表项,其中,N'为大于等于2的整数。
在一个例子中,所述分配模块12,还用于当所述等价路径中新增路径时,对于所述N条路径中的每条路径,确定所述路径对应的UCMP表项减少数量,并从所述路径对 应的UCMP表项中选取相应数量的UCMP表项,将选取的所述UCMP表项分配给所述新增的路径。
在一个例子中,所述分配模块12用于确定增加路径后的等价路径的数量N”;根据所述N”条路径中的每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N条路径中的每条路径,将N条路径中所述路径对应的UCMP表项数量与所述N”条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项减少数量,其中,N”为大于等于2的整数。
在一个例子中,所述分配模块12还用于当所述等价路径中删除路径时,确定删除路径后的等价路径的数量N”',其中,N”'为大于等于2的整数;对于所述N"'条等价路径中每条路径,确定所述路径对应的UCMP表项增加数量,从所述删除的路径对应的UCMP表项中选取相应数量的表项分配给所述路径。
在一个例子中,所述分配模块12用于根据所述N"'条路径中每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N"'条等价路径中每条路径,将N"'条路径中所述路径对应的UCMP表项数量与所述N条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项增加数量。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例 对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
- 一种等价路径的表项建立方法,包括:网络设备建立转发信息库FIB表项,所述FIB表项包括所述网络设备与目的网络设备之间被配置为等价路径的N条路径对应的非等价负载分担UCMP表的表项数量和所述目的设备的地址,所述UCMP表项数量是预设的固定值,N为大于等于2的整数;所述网络设备根据所述N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项,所述UCMP表项中记录相应路径的索引信息,所述N条路径中各路径对应的UCMP表项数量之和为所述固定值。
- 根据权利要求1所述的方法,其中,所述根据所述等价路径的N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项,包括:对于所述N条路径中的每条路径,所述网络设备将所述固定值与所述路径的权重的乘积除以总权重向下取整,得到所述路径对应的第一数值T;其中,所述总权重是所述N条路径的权重之和;所述网络设备确定所述固定值与所述N条路径中各路径对应的第一数值之和的差值,作为第二数值D;若所述第二数值D为0,则所述网络设备:为每条路径分配的UCMP表项数量为所述第一数值T;若所述第二数值D大于0,则所述网络设备:利用N条路径的权重大小对N条路径进行排序,为前D条路径中每条路径分配的UCMP表项的数量为所述第一数值T加1,为剩余每条路径分配的UCMP表项数量为所述第一数值T。
- 根据权利要求2所述的方法,进一步包括:当所述等价路径数量变化时,所述网络设备根据变化后的等价路径中的N'条路径中的每条路径的权重和所述固定值,为所述N'条路径中的每条路径重新分配UCMP表项,其中,N'为大于等于2的整数。
- 根据权利要求2所述的方法,进一步包括:当所述等价路径中新增路径时,所述网络设备:对于所述N条路径中的每条路径,确定所述路径对应的UCMP表项减少数量,并从所述路径对应的UCMP表项中选取相应数量的UCMP表项,将选取的所述UCMP表项分配给所述新增的路径。
- 根据权利要求4所述的方法,其中,对于所述N条路径中的每条路径,确定所 述路径对应的UCMP表项减少数量,包括:所述网络设备确定增加路径后的等价路径的数量N″,其中,N″为大于等于2的整数;所述网络设备根据所述N″条路径中的每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N条路径中的每条路径,所述网络设备将N条路径中所述路径对应的UCMP表项数量与所述N″条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项减少数量。
- 根据权利要求2所述的方法,进一步包括:当所述等价路径中删除路径时,所述网络设备:所述网络设备确定删除路径后的等价路径的数量N″′,其中,N″′为大于等于2的整数;对于所述N″′条等价路径中每条路径,确定所述路径对应的UCMP表项增加数量,从所述删除的路径对应的UCMP表项中选取相应数量的表项分配给所述路径。
- 根据权利要求6所述的方法,其中,对于所述N″′条等价路径中每条路径,确定所述路径对应的UCMP表项增加数量,包括:所述网络设备根据所述N″′条路径中每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N″′条等价路径中每条路径,所述网络设备将N″′条路径中所述路径对应的UCMP表项数量与所述N条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项增加数量。
- 一种网络设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:建立转发信息库FIB表项,所述FIB表项包括所述网络设备与目的网络设备之间被配置为等价路径的N条路径对应的非等价负载分担UCMP表的表项数量和所述目的设备的地址,所述UCMP表项数量是预设的固定值,N为大于等于2的整数;根据所述N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项,所述UCMP表项中记录相应路径的索引信息,所述N条路径中各路径对应的UCMP表项数量之和为所述固定值。
- 根据权利要求8所述的网络设备,其中,所述处理器被所述机器可执行指令促使:对于所述N条路径中的每条路径,将所述固定值与所述路径的权重的乘积除以总权重向下取整,得到所述路径对应的第一数值T;其中,所述总权重是所述N条路径的权重之和;确定所述固定值与所述N条路径中各路径对应的第一数值之和的差值,作为第二数值D;若所述第二数值D为0,为每条路径分配的UCMP表项数量为所述第一数值T;若所述第二数值D大于0,利用N条路径的权重大小对N条路径进行排序,为前D条路径中每条路径分配的UCMP表项的数量为所述第一数值T加1,为剩余每条路径分配的UCMP表项数量为所述第一数值T。
- 根据权利要求9所述的网络设备,其中,所述处理器进一步被所述机器可执行指令促使:当所述等价路径数量变化时,根据变化后的等价路径中的N'条路径中的每条路径的权重和所述固定值,为所述N'条路径中的每条路径重新分配UCMP表项,其中,N'为大于等于2的整数。
- 根据权利要求9所述的网络设备,其中,所述处理器进一步被所述机器可执行指令促使:当所述等价路径中新增路径时,对于所述N条路径中的每条路径,确定所述路径对应的UCMP表项减少数量,并从所述路径对应的UCMP表项中选取相应数量的UCMP表项,将选取的所述UCMP表项分配给所述新增的路径。
- 根据权利要求11所述的网络设备,其中,所述处理器被所述机器可执行指令促使:确定增加路径后的等价路径的数量N″,其中,N″为大于等于2的整数;根据所述N″条路径中的每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N条路径中的每条路径,将N条路径中所述路径对应的UCMP表项数量与所述N″条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP 表项减少数量。
- 根据权利要求9所述的网络设备,其中,所述处理器进一步被所述机器可执行指令促使:当所述等价路径中删除路径时,确定删除路径后的等价路径的数量N″′,其中,N″′为大于等于2的整数;对于所述N″′条等价路径中每条路径,确定所述路径对应的UCMP表项增加数量,从所述删除的路径对应的UCMP表项中选取相应数量的表项分配给所述路径。
- 根据权利要求13所述的网络设备,其中,所述处理器被所述机器可执行指令促使:根据所述N″′条路径中每条路径的权重和所述固定值,确定每条路径对应的UCMP表项数量;对于所述N″′条等价路径中每条路径,将N″′条路径中所述路径对应的UCMP表项数量与所述N条路径中所述路径对应的UCMP表项数量之差确定为所述路径对应的UCMP表项增加数量。
- 一种机器可读存储介质,存储有机器可执行指令,在被网络设备的处理器调用和执行时,所述机器可执行指令促使所述处理器执行:建立转发信息库FIB表项,所述FIB表项包括所述网络设备与目的网络设备之间被配置为等价路径的N条路径对应的非等价负载分担UCMP表的表项数量和所述目的设备的地址,所述UCMP表项数量是预设的固定值,N为大于等于2的整数;根据所述N条路径中的每条路径的权重和所述固定值,为所述每条路径分配UCMP表项,所述UCMP表项中记录相应路径的索引信息,所述N条路径中各路径对应的UCMP表项数量之和为所述固定值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019540083A JP6842554B2 (ja) | 2017-01-25 | 2018-01-25 | 等コストパスエントリ確立 |
US16/480,667 US11115314B2 (en) | 2017-01-25 | 2018-01-25 | Establishing entry corresponding to equal cost paths |
EP18745078.8A EP3562097B1 (en) | 2017-01-25 | 2018-01-25 | Establishment for table entry of equal-cost path |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710056674.7 | 2017-01-25 | ||
CN201710056674.7A CN108259334A (zh) | 2017-01-25 | 2017-01-25 | 一种等价路由表项建立方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018137677A1 true WO2018137677A1 (zh) | 2018-08-02 |
Family
ID=62721706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/074090 WO2018137677A1 (zh) | 2017-01-25 | 2018-01-25 | 等价路径的表项建立 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11115314B2 (zh) |
EP (1) | EP3562097B1 (zh) |
JP (1) | JP6842554B2 (zh) |
CN (1) | CN108259334A (zh) |
WO (1) | WO2018137677A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10389586B2 (en) * | 2017-04-04 | 2019-08-20 | International Business Machines Corporation | Configuration and usage pattern of a cloud environment based on iterative learning |
US11240355B2 (en) | 2019-05-17 | 2022-02-01 | Arista Networks, Inc. | Platform agnostic abstraction for forwarding equivalence classes with hierarchy |
CN112087376B (zh) * | 2019-06-14 | 2023-03-14 | 中兴通讯股份有限公司 | 一种负载分担的方法及装置 |
CN113452614B (zh) * | 2021-06-25 | 2022-06-21 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
US11700201B2 (en) * | 2021-07-26 | 2023-07-11 | Arista Networks, Inc. | Mechanism to enforce consistent next hops in a multi-tier network |
CN113660160B (zh) * | 2021-08-20 | 2023-04-28 | 烽火通信科技股份有限公司 | 一种ucmp负载分担的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094185A (zh) * | 2007-07-27 | 2007-12-26 | 杭州华三通信技术有限公司 | 基于多链路的报文转发方法和装置 |
CN101572667A (zh) * | 2009-05-22 | 2009-11-04 | 中兴通讯股份有限公司 | 一种ip路由等价多路径的实现方法及装置 |
US20130083660A1 (en) * | 2011-10-03 | 2013-04-04 | Cisco Technology, Inc. | Per-Group ECMP for Multidestination Traffic in DCE/TRILL Networks |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753455B (zh) | 2009-12-15 | 2014-04-09 | 中兴通讯股份有限公司 | 转发方法及装置 |
US8737269B1 (en) * | 2012-01-26 | 2014-05-27 | Google Inc. | System and method for reducing hardware table resources in a multi-stage network device |
CN103078804B (zh) * | 2012-12-28 | 2015-07-22 | 福建星网锐捷网络有限公司 | 等价多路径表处理方法、装置及网络设备 |
CN104144120A (zh) * | 2013-05-07 | 2014-11-12 | 杭州华三通信技术有限公司 | 转发信息配置方法及装置 |
US9246821B1 (en) | 2014-01-28 | 2016-01-26 | Google Inc. | Systems and methods for implementing weighted cost multi-path using two-level equal cost multi-path tables |
US9736067B2 (en) | 2014-05-12 | 2017-08-15 | Google Inc. | Prefix-aware weighted cost multi-path group reduction |
US9560124B2 (en) | 2014-05-13 | 2017-01-31 | Google Inc. | Method and system for load balancing anycast data traffic |
US10454821B2 (en) * | 2016-10-14 | 2019-10-22 | Cisco Technology, Inc. | Creating and maintaining segment routed traffic engineering policies via border gateway protocol |
-
2017
- 2017-01-25 CN CN201710056674.7A patent/CN108259334A/zh active Pending
-
2018
- 2018-01-25 WO PCT/CN2018/074090 patent/WO2018137677A1/zh unknown
- 2018-01-25 EP EP18745078.8A patent/EP3562097B1/en active Active
- 2018-01-25 JP JP2019540083A patent/JP6842554B2/ja active Active
- 2018-01-25 US US16/480,667 patent/US11115314B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094185A (zh) * | 2007-07-27 | 2007-12-26 | 杭州华三通信技术有限公司 | 基于多链路的报文转发方法和装置 |
CN101572667A (zh) * | 2009-05-22 | 2009-11-04 | 中兴通讯股份有限公司 | 一种ip路由等价多路径的实现方法及装置 |
US20130083660A1 (en) * | 2011-10-03 | 2013-04-04 | Cisco Technology, Inc. | Per-Group ECMP for Multidestination Traffic in DCE/TRILL Networks |
Non-Patent Citations (1)
Title |
---|
See also references of EP3562097A4 * |
Also Published As
Publication number | Publication date |
---|---|
JP6842554B2 (ja) | 2021-03-17 |
JP2020505852A (ja) | 2020-02-20 |
EP3562097A1 (en) | 2019-10-30 |
EP3562097A4 (en) | 2019-11-27 |
CN108259334A (zh) | 2018-07-06 |
US20190386910A1 (en) | 2019-12-19 |
EP3562097B1 (en) | 2021-07-21 |
US11115314B2 (en) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018137677A1 (zh) | 等价路径的表项建立 | |
WO2018137682A1 (zh) | 等价路径的表项建立 | |
US20220141129A1 (en) | Packet processing method and system, and device | |
US9025603B2 (en) | Addressing scheme for hybrid communication networks | |
US11005805B2 (en) | Managing link aggregation traffic in edge nodes | |
US20150026345A1 (en) | Managing link aggregation traffic in a virtual environment | |
WO2018099394A1 (zh) | 报文传输 | |
CN108718278B (zh) | 一种报文传输方法和装置 | |
CN107547391B (zh) | 一种报文传输方法和装置 | |
JP2016149757A (ja) | モジュール式転送テーブル拡張性のための技術 | |
JP2013514743A (ja) | 分散ルーティングアーキテクチャ | |
WO2017032238A1 (zh) | 路由管理 | |
US20150026321A1 (en) | Managing link aggregation traffic in a virtual environment | |
WO2019042372A1 (zh) | 报文转发 | |
WO2017054202A1 (zh) | 一种数据路由的方法及装置 | |
CN108494686A (zh) | 路由处理方法及装置 | |
WO2015043254A1 (zh) | 一种包分类规则的查找方法及装置 | |
CN110661713B (zh) | 一种报文转发方法及装置 | |
WO2011147351A1 (zh) | 生成转发表项、报文转发、地址获取的方法及边缘装置 | |
WO2015039616A1 (zh) | 一种报文处理方法及设备 | |
WO2022166854A1 (zh) | 一种数据查找方法、装置及集成电路 | |
US20180183712A1 (en) | Traffic control method and apparatus | |
US10033642B2 (en) | System and method for making optimal routing decisions based on device-specific parameters in a content centric network | |
WO2018153337A1 (en) | Method of application data switching between a device in a wireless pan mesh network and a virtual ethernet interface | |
CN113079076B (zh) | 一种报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18745078 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019540083 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018745078 Country of ref document: EP Effective date: 20190722 |