WO2018137682A1 - 等价路径的表项建立 - Google Patents

等价路径的表项建立 Download PDF

Info

Publication number
WO2018137682A1
WO2018137682A1 PCT/CN2018/074118 CN2018074118W WO2018137682A1 WO 2018137682 A1 WO2018137682 A1 WO 2018137682A1 CN 2018074118 W CN2018074118 W CN 2018074118W WO 2018137682 A1 WO2018137682 A1 WO 2018137682A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
ecmp
paths
network device
entry
Prior art date
Application number
PCT/CN2018/074118
Other languages
English (en)
French (fr)
Inventor
杨三胜
白颖云
李佳
Original Assignee
新华三技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新华三技术有限公司 filed Critical 新华三技术有限公司
Priority to US16/481,066 priority Critical patent/US11108682B2/en
Priority to EP18745079.6A priority patent/EP3562098B1/en
Priority to JP2019540343A priority patent/JP6789401B2/ja
Publication of WO2018137682A1 publication Critical patent/WO2018137682A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Definitions

  • ECMP Equal Cost Multipath
  • FIG. 1 is a schematic diagram of an application scenario of an MPLS L3VPN in an embodiment of the present application
  • FIG. 2 is a schematic diagram of relationships between a FIB table, an ECMP table, an outbound interface information table, and an adjacency list in an embodiment of the present application;
  • FIG. 3 is a flowchart of a method for establishing an entry of an equivalent path in an embodiment of the present application
  • FIG. 4 is a schematic diagram of an application scenario of an MPLS L3VPN in an embodiment of the present application
  • FIG. 5 is a hardware structural diagram of a network device in an implementation manner of the present application.
  • FIG. 6 is a structural diagram of an entry creation logic of an equivalent path in an embodiment of the present application.
  • the FIB is maintained on the PE (Provider Edge, Service Provider Edge) device to implement ECMP.
  • PE Provider Edge
  • ECMP Forward Information DataBase, Forwarding Information Base
  • ECMP Table The number of entries in the corresponding ECMP table is recorded in each FIB entry in the FIB table.
  • the ECMP table records M ECMP entries. Each ECMP entry records an inner label. The value of M is the number of equivalent paths. .
  • the ECMP table records three ECMP entries, the ECMP entry 1 includes the inner label corresponding to the path 1, and the ECMP entry 2 includes the path 2 The inner layer label, the ECMP entry 3 includes the inner layer label corresponding to the path 3.
  • the PE device After receiving the packet, the PE device first searches the FIB table for the FIB entry that matches the packet, and uses the number of ECMP entries in the ECMP table recorded in the FIB entry to determine the packet. Corresponding inner label, and then sending the message by using the inner label and the path corresponding to the inner label.
  • the number of entries recorded in the ECMP table changes. For example, when path 4 is added to the equal-cost path, the ECMP table is added. The number of entries in the ECMP table is changed to 4. The number of entries in the ECMP table recorded in the FIB entry is also adjusted. Because the number of FIB entries is large, the modification of the contents of all the FIB entries can take a long time. During this period, the FIB entries cannot be used to transmit packets, which causes packet loss.
  • FIG. 1 is a schematic diagram of an application scenario of an embodiment of the present application.
  • the application scenario described in FIG. 1 includes a User Edge (CE) device, a Provider Edge (PE) device, a Provider (P) device, and a Host.
  • CE User Edge
  • PE Provider Edge
  • P Provider
  • Host Host
  • the PE device can maintain an FIB table, an ECMP table, an outbound interface information table, and an adjacency list.
  • FIG. 2 it is a schematic diagram of the relationship between the FIB table, the ECMP table, the outbound interface information table, and the adjacency list.
  • each entry in the FIB table may be referred to as an FIB entry
  • each entry in the ECMP table may be referred to as an ECMP entry
  • each entry in the outbound interface information table may be called
  • each entry in the adjacency list can be referred to as an adjacency entry.
  • the FIB entry may include an IP address, the number of entries in the ECMP table associated with the FIB entry, and the identifier of the ECMP table.
  • the ECMP entry can include the inner label, the index of the outer label, and the like.
  • the outbound interface information entry can include the index of the outer label, the outer label, and the index of the adjacency table.
  • the adjacency entry may include an adjacency list index, an outbound interface, a source MAC address (for example, a MAC address of the outbound interface), and a destination MAC address (for example, the next hop of the outbound interface) MAC address), VLAN (Virtual Local Area Network) information (for example, the VLAN to which the outbound interface belongs).
  • VLAN Virtual Local Area Network
  • each path of the PE device is configured as equivalent paths.
  • path 1, path 2, and path 3 are configured as equivalent paths, and the equivalent paths correspond to an ECMP table, assuming The equivalent path corresponds to ECMP Table A.
  • each 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 interface A
  • path 2 corresponds to interface B
  • path 3 corresponds to interface C.
  • an example of a FIB table is an example of an ECMP table, as shown in Table 3, which is an example of an outbound interface information table, as shown in Table 4. Shown as an example of an adjacency list.
  • the associated ECMP table is the ECMP table A (for example, the ECMP table shown in Table 2), and the number of ECMP entries in the ECMP table A is 3.
  • the inner layer label A and the outer layer label 1 are allocated.
  • the inner layer label of the ECMP entry 1 is the inner layer label A
  • the outer layer label is the index of the outer layer label 1.
  • the inner label A and the outer label 2 are allocated.
  • the inner label of the ECMP entry 2 is the inner label A
  • the outer label is the index of the outer label 2.
  • the inner label A and the outer label 3 are allocated.
  • the inner label of the ECMP entry 3 is the inner label A, and the outer label is the index of the outer label 3.
  • the outbound interface information entry 1 may include an index of the outer label 1, an outer label 1, and an adjacency list index 1, and the adjacency index 1 corresponds to the interface A corresponding to the path 1.
  • the outbound interface information entry 2 may include an index of the outer label 2, an outer label 2, and an adjacency list index 2
  • the adjacency list index 2 is an adjacency entry corresponding to the interface B corresponding to the path 2.
  • the outbound interface information entry 3 may include an index of the outer label 3, an outer label 3, and an adjacency list index 3
  • the adjacency list index 3 is an adjacency entry corresponding to the interface C corresponding to the path 3.
  • the adjacency list entry 1 may include the adjacency list index 1, the interface A, the MAC address of the interface A, the MAC address of the interface 1, and the VLAN of the interface A.
  • the adjacency list entry 2 may include the adjacency list index 2, the interface B, the MAC address of the interface B, the MAC address of the interface 2, and the VLAN of the interface B.
  • the adjacency list entry 3 may include the adjacency list index 3, the interface C, the MAC address of the interface C, the MAC address of the interface 3, and the VLAN of the interface C.
  • Inner label Index of outer label Inner label A Index of outer label 1 Inner label A Index of outer label 2 Inner label A Index of outer label 3
  • Adjacency table index Outgoing interface Source MAC address Destination MAC address VLAN information Adjacency table index 1 Interface A MAC address of interface A MAC address of interface 1 VLAN of interface A Adjacency table index 2 Interface B MAC address of interface B MAC address of interface 2 VLAN of interface B Adjacency table index 3 Interface C MAC address of interface C MAC address of interface 3 VLAN of interface C
  • the FIB table, the ECMP table, the outbound interface information table maintained by the PE device may include an IP address, an ECMP table number associated with the FIB entry, an identifier of the ECMP table, an inner label, and the like.
  • Each ECMP entry in the ECMP table may include an index of an outer label or the like.
  • Each outbound interface information entry in the outbound interface information table may include an outer label, an outer label, an adjacency list index, and the like.
  • Each adjacency list in the adjacency list may include an adjacency list index, an outbound interface, a source MAC address, a destination MAC address, VLAN information, and the like.
  • the number of ECMP entries in the ECMP table included in the FIB entry is a preset fixed value, such as 256.
  • the associated ECMP table is the ECMP table A (the ECMP table shown in Table 6), and the number of ECMP entries in the ECMP table A is 256.
  • the FIB entry may further include an inner label.
  • the inner label is the inner label A, that is, the inner label is the same for path 1, path 2, and path 3.
  • the inner label A can be placed in the FIB entry, so that the FIB table shown in Table 5 can be maintained.
  • the ECMP entry may include an index of the outer label.
  • the outbound interface information entry in the outbound interface information table includes the outer label, the outer label, and the adjacency index, as shown in Table 3, and details are not described herein.
  • the adjacency list includes the adjacency list index, the outbound interface, the source MAC address, the destination MAC address, and the VLAN information. For details, refer to Table 4, and details are not described herein.
  • the method for establishing an entry of an equivalent path proposed in the embodiment of the present application may be applied to a network device, and at least two paths between the network device and the destination device are configured as an equivalent path, as shown in FIG. 3
  • the method can include the following steps:
  • Step 301 Assign an inner label and an outer label to each of the N paths of the equal-cost path, and the inner label corresponding to each path is the same, where N is an integer greater than or equal to 2. For example, for the path 1, the inner layer label A and the outer layer label 1 are allocated, for the path 2, the inner layer label A and the outer layer label 2 are allocated, and for the path 3, the inner layer label A and the outer layer label 3 are allocated.
  • Step 302 Establish an FIB entry, where the FIB entry includes the address of the destination network device, the number of entries in the ECMP table corresponding to the equivalent path, and the inner label, and the number of entries in the ECPM table is a preset fixed value.
  • the FIB entries can be as shown in Table 5, and the details are not repeated here.
  • step 303 an ECMP entry is allocated for each path according to the number of equal-cost paths N and a fixed value (that is, the number of entries in the ECMP table), and the sum of the number of ECMP entries corresponding to the N paths is the fixed value, and the ECMP table
  • the entry records the index of the outer label of the corresponding path.
  • the process of “allocating an ECMP entry for each path according to the number N of equal paths and a fixed value” may include: rounding the fixed value by the number N of equal paths to determine the first a value K; a remainder of dividing the fixed value by the number N of equivalent paths is determined as a second value M; if the second value M is 0, the number of ECMP entries allocated for each path is a first value K If the second value M is greater than 0, the M paths are selected from the N paths, and the number of ECMP entries allocated for each selected path is the first value K plus 1, which is the remaining of the N paths. The number of ECMP entries allocated by the path is the first value K.
  • the number of ECMP entries in the ECMP table is a fixed value, such as 256.
  • the first corresponding to each path can be determined.
  • the value K is 85 (ie 256/3 rounded down). Since the remainder of 256 divided by 3 is 1 (the second value M), path 1 can be randomly selected from path 1, path 2, and path 3.
  • the number of ECMP entries corresponding to path 1 is 86
  • the number of ECMP entries corresponding to path 2 is 85
  • the number of ECMP entries corresponding to path 3 is 85.
  • 86 ECMP entries are allocated for path 1.
  • the index of the outer label corresponding to the path 1 (the index of the outer label 1) is recorded in the 86 ECMP entries.
  • the path 2 is assigned with 85 ECMP entries, and the index of the outer label corresponding to the path 2 (the index of the outer label 2) is recorded in the 85 ECMP entries.
  • the path 3 is assigned 85 ECMP entries, and the index of the outer label corresponding to the path 3 (the index of the outer label 3) is recorded in the 85 ECMP entries.
  • the index order may be as an index of outer label 1, an index of outer label 2, an index of outer label 3, an index of outer label 1, and so on.
  • Index of outer label Index of outer label 1 ...(the index of 86 outer labels 1) Index of outer label 2 ...(the index of a total of 85 outer labels 2) Index of outer label 3 ...(the index of a total of 85 outer labels 2)
  • the number of equivalent paths changes (eg, increases or decreases)
  • the number of equivalent paths is updated to N', and each path in the N' path is re-based according to the number of equivalent paths N' and a fixed value.
  • An ECMP entry is allocated, where N' is an integer greater than or equal to 2.
  • the ECMP entry corresponding to each path in the N paths is determined to be reduced. For the quantity, select the corresponding number of ECMP entries from the ECMP entries corresponding to each path, and assign the selected ECMP entries to the newly added path.
  • the process of determining the reduced number of ECMP entries corresponding to each of the N paths includes: determining, by the network device, the number of equivalent paths N′′ after adding the path, where N′′ is an integer greater than or equal to 2 And determining, according to the quantity N" and the fixed value, the number H of ECMP entries of each path in the N" path; determining the number of ECMP entries corresponding to each path of the N paths as: (K +1)-H or KH.
  • the number of ECMP entries corresponding to path 1 is 86
  • the number of ECMP entries corresponding to path 2 is 85
  • the number of ECMP entries corresponding to path 3 is 85.
  • the number of ECMP entries corresponding to the path 1 in the four paths is 64
  • the number of ECMP entries corresponding to the path 2 is 64
  • the number of ECMP entries corresponding to the path 3 is 64
  • the ECMP corresponding to the path 4 is ECMP.
  • the number of entries is 64.
  • the record corresponding to the path 4 is added, such as adding the index of the outer label 4, the outer label 4 (for example, the outer label for the path 4), and the adjacency list index.
  • the record corresponding to the path 4 is added, such as adding the adjacency list index 4, the interface D (for example, the interface corresponding to the path 4), the MAC address of the interface D, and the peer interface connected to the interface D. Correspondence between the MAC address and the VLAN of interface D.
  • the number of ECMP entries corresponding to the path 1 to the path 4 is 64. Therefore, in the ECMP table shown in Table 6, 64 ECMP entries can be allocated to the path 1 and recorded in the 64 ECMP entries.
  • the index of the outer label corresponding to the path 1; the allocation of 64 ECMP entries for the path 2, the index of the outer label corresponding to the path 2 in the 64 ECMP entries, and the allocation of 64 ECMP entries for the path 3 The index of the outer label corresponding to the path 3 is recorded in the 64 ECMP entries; the 64 ECMP entries are allocated to the path 4, and the index of the outer label corresponding to the path 4 is recorded in the 64 ECMP entries.
  • the network device can determine the number of ECMP entries per path in paths 1-3.
  • 22 ECMP entries can be randomly selected from all the ECMP entries corresponding to the path 1 to delete the index of the outer label of the path 1 recorded in the 22 ECMP entries, and in the 22 ECMP entries. Record the index of the outer label corresponding to path 4.
  • 21 ECMP entries can be randomly selected from all the ECMP entries corresponding to the path 2, and the index of the outer label of the path 2 recorded in the 21 ECMP entries is deleted, and in the 21 ECMP entries. Record the index of the outer label corresponding to path 4.
  • 21 ECMP entries can be randomly selected from all the ECMP entries corresponding to the path 3, and the index of the outer label of the path 3 recorded in the 21 ECMP entries is deleted, and the path 4 is recorded in the 21 ECMP entries. The index of the corresponding outer label.
  • the index of the outer label recorded in the 256 ECMP entries may be deleted, and the ECMP entries are re-assigned to the path 1, the path 2, the path 3, and the path.
  • the number N'′′ of the equivalent paths after the path is deleted is determined, where N′′′ is an integer greater than or equal to 2, and each of the N′′′ paths is determined. Adding an ECMP entry corresponding to the path, and assigning the ECMP entry corresponding to the deleted path to the N′′′ path according to the number of the corresponding ECMP entries corresponding to the N′′′ path.
  • the number of ECMP entries corresponding to each path in the path is increased, including: determining the number of ECMP entries H′ of each path in the N′′′ path according to the quantity N′′′ and the fixed value; The number of ECMP entries corresponding to each path in the N′′′ path is determined as: H′-(K+1) or H′-K.
  • the process of determining the number of ECMP entries corresponding to each path remaining in the equivalent path after deleting the path includes: determining each path in the N′′ path according to the number of equivalent paths N′′ and the fixed value after deleting the path
  • the number of ECMP entries is K′′; after the deletion path is determined, the number of ECMP entries corresponding to each path remaining in the equivalent path is K′′-(K+1) or K′′-K.
  • the number of ECMP entries corresponding to path 1 is 86
  • the number of ECMP entries corresponding to path 2 is 85
  • the number of ECMP entries corresponding to path 3 is 85. If the path 3 is deleted, the number of ECMP entries corresponding to the path 1 is 128 after the path is deleted, and the number of ECMP entries corresponding to the path 2 after the path 3 is deleted is 128.
  • the record corresponding to the path 3 is deleted, for example, the correspondence between the index of the outer label 3, the outer label 3, and the adjacency list index 3 is deleted.
  • the adjacency list shown in Table 4 the record corresponding to the path 3 is deleted, and the correspondence between the adjacency list index 3, the interface C, the MAC address of the interface C, the MAC address of the interface 3, and the VLAN of the interface C is deleted.
  • the network device can allocate 128 ECMP entries for the path 1, and The index of the outer label corresponding to the path 1 is recorded in the 128 ECMP entries; the 128 ECMP entries are allocated to the path 2, and the index of the outer label corresponding to the path 2 is recorded in the 128 ECMP entries.
  • the network device can determine the path 1 and path remaining after deleting the path 3.
  • the number of ECMP entries in 2 is increased.
  • the index of the outer label corresponding to the path 2 may be recorded in the remaining 43 entries.
  • the index of the outer label corresponding to the path 1 and the index of the outer label corresponding to the path 2 may be sequentially recorded in a polling manner. For example, for the 85 ECMP entries corresponding to the path 3, the index of the outer label corresponding to the path 1 is recorded in the first ECMP entry, and the index of the outer label corresponding to the path 2 in the second ECMP entry is recorded.
  • the third ECMP entry records the index of the outer label corresponding to path 1, and so on.
  • the index of the outer label recorded in the 256 ECMP entries may be deleted, and the ECMP entries are re-assigned to the path 1 and the path 2.
  • the network device can also record the path and the ECMP entry when maintaining the ECMP table shown in Table 6.
  • path 1 corresponds to the first to 85th ECMP entries.
  • the packet transmission process may include: after receiving the packet, determining a FIB entry that matches the packet.
  • the number of ECMP entries and the inner label of the ECMP table are queried from the FIB entry.
  • An ECMP entry matching the packet is determined from the ECMP table by using the number of the ECMP entries.
  • the index of the outer label is obtained from the ECMP entry, and the outer label corresponding to the index is obtained.
  • the message is modified by using the inner label and the outer label.
  • the modified message is sent by using the path corresponding to the outer label.
  • the network device can query the FIB entry that matches the destination IP address of the packet.
  • the IP address in the FIB entry is the same as the destination IP address of the packet.
  • the network device can query the FIB entry shown in Table 5 because the destination IP address is the IP address of the host 2.
  • the number of ECMP entries in the ECMP table is 256 and the inner label A is recorded. Therefore, the number of ECMP entries 256 and the inner label A can be queried from the FIB entry.
  • the number 256 is a fixed value.
  • the process of determining an ECMP entry matching the packet from the ECMP table by using the number of the ECMP entries may include: generating a random value (the random value may be a positive integer), and using the The random value and the number of the ECMP entries determine the location that matches the packet, and the ECMP entry associated with the location is determined from the ECMP table. For example, the random number is divided by the remainder of the number of ECMP entries, and the location matching the packet is determined based on the remainder, and an ECMP entry associated with the location, such as an ECMP table, is determined from the ECMP table.
  • the 11th ECMP entry of the ECMP table matches the message. For another example, if the generated random value is 256, the remainder of 256/256 is 0. Therefore, it can be determined that the message matches the first ECMP entry of the ECMP 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 index of the outer label can be queried from the ECMP entry, such as the index from the first ECMP entry to the outer label 1.
  • the outbound interface information table is used to record the correspondence between the index of the outer label and the outer label, so the index of the outer label is obtained. Then, the interface information table can be queried through the index, thereby obtaining an outer label corresponding to the index. For example, after obtaining the index of the outer label 1, the outer interface label corresponding to the index can be obtained as the outer label 1 by the index information table shown in the index of the outer label 1 .
  • the network device may encapsulate the packet for the process of modifying the packet by using the inner label and the outer label, for example, encapsulating the inner label A and the outer label 1 for the packet.
  • the process of sending the modified message by using the path corresponding to the outer label may include: querying the outbound interface information table by using the outer label to obtain an adjacency list corresponding to the outer label. Indexing, and querying the adjacency entry corresponding to the adjacency table index. Further, the modified packet is encapsulated by using the source MAC address, the destination MAC address, and the VLAN information recorded in the adjacency entry, and the encapsulated packet is sent by using the path corresponding to the adjacency entry.
  • the process of “query the outbound interface information table by the outer label, obtain the adjacency list index corresponding to the outer label, and query the adjacency list corresponding to the adjacency list index” is obtained.
  • the outbound interface information table shown in Table 3 is queried by the outer label 1, and the adjacency list index 1 corresponding to the outer label 1 can be obtained, and the adjacency list index 1 is used to query the table shown in Table 4.
  • the adjacency list obtains an adjacency entry corresponding to the adjacency list index 1, for example, a first adjacency list of the adjacency list.
  • the source MAC address recorded in the adjacency entry may be utilized (for example, the MAC of the interface A).
  • the packet is encapsulated, and the encapsulated packet is sent by using the path corresponding to the adjacency entry (for example, interface A recorded in the adjacency entry).
  • the foregoing tables maintained by the network device complete the transmission of the message.
  • the inner label may be a private network label or a public network label.
  • the private network label may be allocated based on the prefix manner, or the private network label may be allocated based on the VPN method.
  • the inner label may be a public network label, and the outer label may have an invalid value.
  • the public network label A is assigned to the path 1
  • the public network label A is assigned to the path 2
  • the public network label A is assigned to the path 3.
  • the private network label is no longer assigned, but the public network label A is used as the inner label and recorded in the FIB entry.
  • the outer label can be set to an invalid value.
  • the invalid value 1 can be used as the outer label of the path 1
  • the invalid value 2 can be used as the outer label of the path 2.
  • the invalid value 3 is used as the outer label of path 3 and is recorded in the outbound interface information table.
  • 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 If the message is transmitted by the CPU, the CPU maintains the FIB table, the ECMP table, the outbound interface information table, and the adjacency list. After receiving the message, the CPU transmits the FIB table, the ECMP table, the outbound interface information table, and the adjacency list. Message. If the message is transmitted through the hardware chip, the CPU sends the FIB table, the ECMP table, the outbound interface information table, and the adjacency list to the hardware chip after generating the FIB table, the ECMP table, the outbound interface information table, and the adjacency list. After receiving the packet, the chip transmits the packet by using the FIB table, the ECMP table, the outbound interface information table, and the adjacency list.
  • the number of ECMP entries in the ECMP table does not change when the path is added to the equal-cost path or the path is deleted in the equivalent path.
  • the number of ECMP entries in the ECMP table in the FIB entry does not change. You do not need to modify the contents of the FIB entry. You can use the FIB.
  • the entry continues to transmit packets to avoid problems such as packet loss and improve the service experience and user experience.
  • the ECMP entries need to be refreshed, and the number of ECMP entries needs to be refreshed.
  • the number of FIB entries associated with an ECMP entry is 100,000, the time for refreshing an ECMP entry and an FIB entry is about 1 second.
  • FIG. 5 is a hardware structural diagram of a network device according to some embodiments of the present disclosure.
  • the network device 50 can include a processor 51 and a machine readable storage medium 52.
  • the processor 51 and the machine readable storage medium 52 can communicate via the system bus 53. And, by reading and executing the machine executable instructions corresponding to the entry creation logic 60 of the equivalent path stored in the machine readable storage medium 52, the processor 51 can perform the entry creation of the equivalent path described above. Methods.
  • the machine-readable storage medium 52 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 52 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 entry creation logic of the equal-cost path may include:
  • the distribution module 11 is configured to allocate an inner layer label and an outer layer label for each of the N paths configured to be equivalent paths between the network device and the destination network device, and each of the paths corresponds to The layer labels are the same, where N is an integer greater than or equal to 2.
  • the establishing module 12 is configured to establish an FIB entry, where the FIB entry includes an address of the destination network device, an ECMP entry quantity of the equivalent load sharing ECMP table corresponding to the path, and the inner layer label, and The number of ECMP entries in the ECMP table is a preset fixed value.
  • the processing module 13 is configured to allocate an ECMP entry for each path according to the number N of the paths and the fixed value, where the sum of the number of ECMP entries corresponding to the N paths is the fixed value.
  • the ECMP entry records an index of the outer label of the corresponding path.
  • the processing module 13 is specifically configured to: determine, by rounding the fixed value by the number of paths N, rounding the first value K; dividing the fixed value by the number of paths The remainder of N is determined to be the second value M; if the second value M is 0, the number of ECMP entries allocated for each path is the first value K; if the second value M is greater than 0 And selecting the M paths from the N paths, and the number of ECMP entries allocated for each path selected is the first value K plus 1, and each path remaining in the N paths is allocated.
  • the number of ECMP entries is the first value K.
  • the processing module 13 is further configured to: when the number of the equivalent paths changes, according to the changed number N′ of the equivalent paths and the fixed value is each of the N′ paths The path redistributes the ECMP entry, where N' is an integer greater than or equal to 2.
  • the processing module 13 is further configured to: when a new path is added to the equal-cost path, determine a reduced number of ECMP entries corresponding to each of the N paths, and corresponding to each path A corresponding number of ECMP entries are selected in the ECMP entries; the selected ECMP entries are allocated to the newly added path.
  • the processing module 13 is configured to determine the number of equivalent paths N′′ after the path is added; and determine an ECMP entry of each path in the N′′ path according to the quantity N′′ and the fixed value.
  • the processing module 13 is further configured to determine, when the path is deleted in the equal-cost path, the number N′′′ of the equivalent paths after deleting the path, where N′′′ is an integer greater than or equal to 2 Determining the number of ECMP entries corresponding to each path in the N′′′ path, and assigning the ECMP entries corresponding to the deleted paths to the number of corresponding ECMP entries corresponding to the N′′′ paths Said N′′′ strip path.
  • the processing module 13 is specifically configured to determine, according to the quantity N′′′ and the fixed value, the number of ECMP entries H′ of each path in the N′′′ path; and the N′′′ path The number of ECMP entries corresponding to each path is determined as: H'-(K+1) or H'-K.
  • 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.

Abstract

本申请提供等价路径的表项建立方法、网络设备和机器可读存储介质。在一示例中,网络设备为所述网络设备至目的网络设备之间被配置为等价路径的N条路径中的每条路径分配内层标签和外层标签,且所述每条路径对应的内层标签相同;建立FIB表项,所述FIB表项包括所述目的网络设备的地址、所述路径对应的等价负载分担ECMP表的ECMP表项数量和所述内层标签,且所述ECMP表的ECMP表项数量是预设的固定值;根据所述路径的数量N和所述固定值,为所述每条路径分配ECMP表项。

Description

等价路径的表项建立
相关申请的交叉引用
本专利申请要求于2017年1月25日提交的、申请号为201710056621.5、发明名称为“一种等价路由表项建立方法和装置”的中国专利申请的优先权,该申请的全文以引用的方式并入本文中。
背景技术
随着网络应用的快速发展,ECMP(Equal Cost Multipath,等价负载分担)的应用更加广泛,ECMP可以在不同路径平均分配流量,从而实现负载分担。
附图说明
图1是本申请一种实施方式中的MPLS L3VPN的应用场景示意图;
图2是本申请一种实施方式中的FIB表、ECMP表、出接口信息表和邻接表的关系示意图;
图3是本申请一种实施方式中的等价路径的表项建立方法的流程图;
图4是本申请一种实施方式中的MPLS L3VPN的应用场景示意图;
图5是本申请一种实施方式中的网络设备的硬件结构图;
图6是本申请一种实施方式中的等价路径的表项建立逻辑的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在MPLS(Multi-Protocol Label Switching,多协议标签交换)L3VPN(Layer 3 Virtual Private Network,三层虚拟专用网络)中,为实现ECMP,在PE(Provider Edge,服务提供商边缘)设备上维护FIB(Forward Information DataBase,转发信息库)表和ECMP表。在FIB表的每个FIB表项中记录对应的ECMP表的表项数量,ECMP表记录有M个ECMP表项,各ECMP表项记录一个内层标签,M的取值为等价路径的数量。假设路径1、路径2和路径3被配置为等价路径,则ECMP表中记录有3个ECMP表项,ECMP表项1包括路径1对应的内层标签,ECMP表项2包括路径2对应的内层标签,ECMP表项3包括路径3对应的内层标签。
基于此,PE设备在接收到报文后,先从FIB表中查询到与该报文匹配的FIB表项,并利用该FIB表项中记录的ECMP表的ECMP表项数量,确定该报文对应的内层标签,然后利用该内层标签以及该内层标签对应的路径发送该报文。
但是,当有新路径加入等价路径、或者已有路径被从等价路径中删除时,则ECMP表中记录的表项数量会发生变化,如路径4加入该等价路径时,ECMP表中记录的表项数量M变为4,此时还需要调整FIB表项中记录的ECMP表的表项数量。由于FIB表项数量很多,因此对所有FIB表项内容的修改,会消耗很长时间,在这段时间内,无法使用FIB表项传输报文,导致发生丢包等问题。
本申请实施例中提出一种等价路径的表项建立方法,该方法可以应用于网络设备,如可以应用于MPLS L3VPN中,且该网络设备可以为PE设备。当然,该方法也可以应用于其它类型的MPLS网络中,并不局限于MPLS L3VPN。以图1为本申请实施例的应用场景示意图。图1所述的应用场景包括用户网络边缘(Customer Edge,CE)设备、服务提供商网络边缘(Provider Edge,PE)设备、服务提供商(Provider,P)设备、和主机(Host)。其中,该方法可以应用于图1的PE设备上。
在一个例子中,上述PE设备可以维护FIB表、ECMP表、出接口信息表以及邻接表。如图2所示,为FIB表、ECMP表、出接口信息表和邻接表的关系示意图。而且,在该FIB表中的每个表项可以称为FIB表项,在该ECMP表中的每个表项可以称为ECMP表项,在该出接口信息表中的每个表项可以称为出接口信息表项,在该邻接表中的每个表项可以称为邻接表项。
其中,FIB表项中可以包括IP地址、与FIB表项关联的ECMP表的表项数量、该ECMP表的标识等内容。ECMP表项中可以包括内层标签、外层标签的索引等内容。出接口信息表项中可以包括外层标签的索引、外层标签、邻接表索引等内容。邻接表项中可以包括邻接表 索引、出接口、源MAC(Media Access Control,介质访问控制)地址(例如,该出接口的MAC地址)、目的MAC地址(例如,该出接口的下一跳的MAC地址)、VLAN(Virtual Local Area Network,虚拟局域网)信息(例如,该出接口所属的VLAN)等内容。
在一个例子中,PE设备的至少两条路径被配置为等价路径,如图1所示,路径1、路径2和路径3被配置为等价路径,这些等价路径对应一个ECMP表,假设该等价路径对应ECMP表A。而且,每条路径对应一个接口,该接口可以是物理接口,也可以是逻辑接口(如由多个物理接口组成的聚合接口)。例如,路径1对应接口A,路径2对应接口B,路径3对应接口C等。
在上述应用场景下,如表1所示,为FIB表的一个示例,如表2所示,为ECMP表的一个示例,如表3所示,为出接口信息表的一个示例,如表4所示,为邻接表的一个示例。在表1中,针对主机2的IP地址,其关联的ECMP表为ECMP表A(例如,表2所示的ECMP表),且ECMP表A的ECMP表项数量为3。
在表2中,针对路径1,分配内层标签A和外层标签1,ECMP表项1的内层标签为内层标签A,外层标签的索引为外层标签1的索引。针对路径2,分配内层标签A和外层标签2,ECMP表项2的内层标签为内层标签A,外层标签的索引为外层标签2的索引。针对路径3,分配内层标签A和外层标签3,ECMP表项3的内层标签为内层标签A,外层标签的索引为外层标签3的索引。
在表3中,针对路径1,出接口信息表项1中可以包括外层标签1的索引、外层标签1、邻接表索引1,且该邻接表索引1是路径1对应的接口A对应的邻接表项。针对路径2,出接口信息表项2中可以包括外层标签2的索引、外层标签2、邻接表索引2,且该邻接表索引2是路径2对应的接口B对应的邻接表项。针对路径3,出接口信息表项3中可以包括外层标签3的索引、外层标签3、邻接表索引3,且该邻接表索引3是路径3对应的接口C对应的邻接表项。
在表4中,针对路径1,邻接表项1中可以包括邻接表索引1、接口A、接口A的MAC地址、接口1的MAC地址、接口A的VLAN。针对路径2,邻接表项2中可以包括邻接表索引2、接口B、接口B的MAC地址、接口2的MAC地址、接口B的VLAN。针对路径3,邻接表项3中可以包括邻接表索引3、接口C、接口C的MAC地址、接口3的MAC地址、接口C的VLAN。
表1
IP地址 ECMP表的表项数量 ECMP表的标识
主机2的IP地址 3 ECMP表A
表2
内层标签 外层标签的索引
内层标签A 外层标签1的索引
内层标签A 外层标签2的索引
内层标签A 外层标签3的索引
表3
外层标签的索引 外层标签 邻接表索引
外层标签1的索引 外层标签1 邻接表索引1
外层标签2的索引 外层标签2 邻接表索引2
外层标签3的索引 外层标签3 邻接表索引3
表4
邻接表索引 出接口 源MAC地址 目的MAC地址 VLAN信息
邻接表索引1 接口A 接口A的MAC地址 接口1的MAC地址 接口A的VLAN
邻接表索引2 接口B 接口B的MAC地址 接口2的MAC地址 接口B的VLAN
邻接表索引3 接口C 接口C的MAC地址 接口3的MAC地址 接口C的VLAN
在上述应用场景下,当有新路径成为等价路径、或者已有路径被从等价路径中删除时,还需要调整FIB表项中记录的ECMP表项数量。如接口C故障导致路径3被从等价路径中删除时,则ECMP表中的ECMP表项数量变为2,此时还需要调整FIB表项中记录的ECMP表项数量。
针对上述发现,当每条路径(如路径1、路径2、路径3)对应的内层标签相同时,则本申请实施例中,针对PE设备维护的FIB表、ECMP表、出接口信息表以及邻接表等,该FIB表中的每个FIB表项可以包括IP地址、与该FIB表项关联的ECMP表的表项数量、该ECMP表的标识、内层标签等内容。该ECMP表中的每个ECMP表项可以包括外层标签的索引等内容。该出接口信息表中的每个出接口信息表项可以包括外层标签的索引、外层标签、邻接表索引等内容。该邻接表中的每个邻接表项可以包括邻接表索引、出接口、源MAC地址、目的MAC地址、VLAN信息等内容。
针对FIB表中的每个FIB表项,该FIB表项包括的ECMP表的ECMP表项数量是预设的固定值,如256等。如表5所示,为FIB表的一个示例,针对主机2的IP地址,其关联的ECMP表为ECMP表A(表6所示的ECMP表),ECMP表A的ECMP表项数量为256。
在一个例子中,该FIB表项还可以包括内层标签,参见表2所示,由于针对路径1、路径2和路径3,内层标签均为内层标签A,即内层标签相同,因此,可以将内层标签A放到FIB 表项中,这样,就可以维护表5所示的FIB表。
表5
IP地址 ECMP表的表项数量 ECMP表的标识 内层标签
主机2的IP地址 256 ECMP表A 内层标签A
针对ECMP表中的每个ECMP表项,由于内层标签被放到FIB表项中,因此,在该ECMP表项不再包含内层标签,该ECMP表项可以包括外层标签的索引。针对出接口信息表中的每个出接口信息表项,该出接口信息表项包括外层标签的索引、外层标签、邻接表索引等内容,参见表3所示,在此不再赘述。针对邻接表中的每个邻接表项,该邻接表项包括邻接表索引、出接口、源MAC地址、目的MAC地址、VLAN信息等内容,参见表4所示,在此不再赘述。
基于上述应用场景,本申请实施例中提出的等价路径的表项建立方法,可以应用于网络设备,该网络设备至目的设备之间的至少两条路径被配置为等价路径,参见图3所示,为该方法的流程图,该方法可以包括以下步骤:
步骤301,为等价路径的N条路径中的每条路径分配内层标签和外层标签,且每条路径对应的内层标签相同,其中,N为大于等于2的整数。如针对路径1,分配内层标签A和外层标签1,针对路径2,分配内层标签A和外层标签2,针对路径3,分配内层标签A和外层标签3。
步骤302,建立FIB表项,该FIB表项包括目的网络设备的地址、等价路径对应的ECMP表的表项数量和内层标签,且ECPM表的表项数量是预设的固定值。
在一个例子中,FIB表项可以如表5所示,在此不再重复赘述。
步骤303,根据等价路径数量N和固定值(即ECMP表的表项数量),为每条路径分配ECMP表项,N条路径对应的ECMP表项数量之和为该固定值,且ECMP表项记录相应路径的外层标签的索引。
在一个例子中,针对“根据等价路径数量N和固定值,为每条路径分配ECMP表项”的过程,可以包括:对固定值除以等价路径数量N向下取整,确定第一数值K;将所述固定值除以所述等价路径数量N的余数确定为第二数值M;若第二数值M为0,则为每条路径分配的ECMP表项数量为第一数值K;若第二数值M大于0,则从N条路径中选取M条路径,为所选取的每条路径分配的ECMP表项的数量为第一数值K加1,为N条路径中剩余的每条路径分配的ECMP表项数量为第一数值K。
其中,ECMP表的ECMP表项数量是一个固定值,如256等。
如图1所示,由于路径1、路径2和路径3被配置为等价路径,因此,等价路径数量为3。
其中,针对“根据等价路径数量N和固定值,为每条路径分配ECMP表项”的过程,假设固定值为256,等价路径数量N为3,则可以确定每条路径对应的第一数值K为85(即256/3向下取整)。由于256除以3的余数为1(第二数值M),因此,可以从路径1、路径2和路径3中随机选取出路径1,为路径1所分配的ECMP表项数量为86=85+1,为剩余的路径2和路径3所分配的ECMP表项数量分别为85=85+0。
又例如,假设固定值为256,等价路径数量N为8,则可以确定为每条路径所分配对应的第一数值K为32(256/8向下取整)。由于256除以8的余数为0,因此,每条路径对应的表项数量均为32。
在一个例子中,假设路径1对应的ECMP表项数量为86,路径2对应的ECMP表项数量为85,路径3对应的ECMP表项数量为85,则:为路径1分配86个ECMP表项,在这86个ECMP表项中分别记录路径1对应的外层标签的索引(外层标签1的索引)。为路径2分配85个ECMP表项,在这85个ECMP表项中分别记录路径2对应的外层标签的索引(外层标签2的索引)。为路径3分配85个ECMP表项,在这85个ECMP表项中分别记录路径3对应的外层标签的索引(外层标签3的索引)。
如表6所示,为ECMP表的一个示例,针对路径1,共包括86个外层标签1的索引;针对路径2,共包括85个外层标签2的索引;针对路径3,共包括85个外层标签3的索引。在另一示例中,索引顺序可以如外层标签1的索引、外层标签2的索引、外层标签3的索引、外层标签1的索引,以此类推。
表6
外层标签的索引
外层标签1的索引
…(共86个外层标签1的索引)
外层标签2的索引
…(共85个外层标签2的索引)
外层标签3的索引
…(共85个外层标签2的索引)
在一个例子中,当等价路径数量变化(例如增加或减少)时,则更新等价路径数量为N',根据等价路径数量N'和固定值重新为N'条路径中的每条路径分配ECMP表项,其中,N'为大于等于2的整数。
在一个例子中,当等价路径中新增路径时(例如,增加的路径的内层标签与等价路径的 内层标签相同),确定N条路径中的每条路径对应的ECMP表项减少数量,从每条路径对应的ECMP表项中选取相应数量的ECMP表项,将选取的ECMP表项分配给新增的路径。其中,确定N条路径中的每条路径对应的ECMP表项减少数量的过程,包括:所述网络设备确定增加路径后的等价路径的数量N″,其中,N″为大于等于2的整数;根据数量N″和所述固定值,确定N″条路径中每条路径的ECMP表项数量H;将所述N条路径中的每条路径对应的ECMP表项减少数量确定为:(K+1)-H或者K-H。
例如,假设固定值为256,等价路径数量为3,则路径1对应的ECMP表项数量为86,路径2对应的ECMP表项数量为85,路径3对应的ECMP表项数量为85。若增加路径4,则获得在4条路径中路径1对应的ECMP表项数量为64,路径2对应的ECMP表项数量为64,路径3对应的ECMP表项数量为64,路径4对应的ECMP表项数量为64。
基于此,在表3所示的出接口信息表中,增加路径4对应的记录,如增加外层标签4的索引、外层标签4(例如,针对路径4的外层标签)、邻接表索引4的对应关系。在表4所示的邻接表中,增加路径4对应的记录,如增加邻接表索引4、接口D(例如,路径4对应的接口)、接口D的MAC地址、与接口D连接的对端接口的MAC地址、接口D的VLAN的对应关系。
此外,由于路径1-路径4对应的ECMP表项数量均为64,因此,在表6所示的ECMP表中,可以为路径1分配64个ECMP表项,在这64个ECMP表项中记录路径1对应的外层标签的索引;为路径2分配64个ECMP表项,在这64个ECMP表项中记录路径2对应的外层标签的索引;为路径3分配64个ECMP表项,在这64个ECMP表项中记录路径3对应的外层标签的索引;为路径4分配64个ECMP表项,在这64个ECMP表项中记录路径4对应的外层标签的索引。
而且,当增加路径4时,为路径1-3中的每条路径所分配的ECMP表项数量会减少,因此,网络设备可以确定出路径1-3中的每条路径的ECMP表项减少数量,其中,路径1的ECMP表项减少数量为22=86-64,路径2的ECMP表项减少数量为21=85-64,路径3的ECMP表项减少数量为21=85-64。基于此,可以从路径1对应的所有ECMP表项中随机选取22个ECMP表项,删除这22个ECMP表项中记录的路径1的外层标签的索引,并在这22个ECMP表项中记录路径4对应的外层标签的索引。同理,可以从路径2对应的所有ECMP表项中随机选取21个ECMP表项,删除这21个ECMP表项中记录的路径2的外层标签的索引,并在这21个ECMP表项中记录路径4对应的的外层标签的索引。可以从路径3对应的所有ECMP表项中随机选取21个ECMP表项,删除这21个ECMP表项中记录的路径3的外层标签的索 引,并在这21个ECMP表项中记录路径4对应的的外层标签的索引。
在另一个例子中,当增加路径4时,也可以删除256个ECMP表项中记录的外层标签的索引,并重新为路径1、路径2、路径3、路径分配ECMP表项。
在一个例子中,当等价路径中删除路径时,则确定删除路径后的等价路径的数量N″′,其中,N″′为大于等于2的整数,确定N″′条路径中每条路径对应的ECMP表项增加数量,并将所述删除的路径对应的ECMP表项按照所述N″′条路径各自对应的ECMP表项增加数量分配给所述N″′条路径。而确定N″′条路径中每条路径对应的ECMP表项增加数量,包括:根据所述数量N″′和所述固定值,确定N″′条路径中每条路径的ECMP表项数量H';将N″′条路径中每条路径对应的ECMP表项增加数量确定为:H'-(K+1)或者H'-K。
确定删除路径后等价路径中剩余的每条路径对应的ECMP表项增加数量的过程,包括:根据删除路径后的等价路径数量N″和固定值,确定N″条路径中的每条路径的ECMP表项数量K″;确定删除路径后等价路径中剩余的每条路径对应ECMP表项增加数量为K″-(K+1)或者K″-K。
例如,假设固定值为256,等价路径数量为3,则路径1对应的ECMP表项数量为86,路径2对应的ECMP表项数量为85,路径3对应的ECMP表项数量为85。若删除路径3,则获得删除路径3后路径1对应的ECMP表项数量为128,删除路径3后路径2对应的ECMP表项数量为128。
基于此,在表3所示的出接口信息表中,删除路径3对应的记录,如删除外层标签3的索引、外层标签3、邻接表索引3的对应关系。在表4所示的邻接表中,删除路径3对应的记录,如删除邻接表索引3、接口C、接口C的MAC地址、接口3的MAC地址、接口C的VLAN的对应关系。
此外,由于删除路径3后,路径1、路径2对应的ECMP表项数量均为128,因此,在表6所示的ECMP表中,网络设备可以为路径1分配128个ECMP表项,而且在这128个ECMP表项中记录路径1对应的外层标签的索引;为路径2分配128个ECMP表项,而且在这128个ECMP表项中记录路径2对应的外层标签的索引。
而且,当减少路径3时,删除路径3后的等价路径中剩余的路径1和路径2对应的ECMP表项数量会增加,因此,网络设备可以确定出删除路径3后剩余的路径1和路径2的ECMP表项增加数量,如路径1的ECMP表项增加数量为42=128-86,路径2的表项增加数量为43=128-85。基于此,网络设备可以删除路径3对应的85个ECMP表项中记录的外层标签的 索引,并在这85个ECMP表项中随机选取出42个ECMP表项,在这42个ECMP表项中记录路径1对应的外层标签的索引,此外,还可以在剩余的43个表项中记录路径2对应的外层标签的索引。此外,当删除路径3对应的85个ECMP表项中记录的索引后,还可以采用轮询的方式依次记录路径1对应的外层标签的索引、路径2对应的的外层标签的索引。例如,针对路径3对应的85个ECMP表项,在第1个ECMP表项记录路径1对应的外层标签的索引,在第2个ECMP表项记录路径2对应的的外层标签的索引,在第3个ECMP表项记录路径1对应的的外层标签的索引,以此类推。
在另一个例子中,当删除路径3时,也可以删除256个ECMP表项中记录的外层标签的索引,并重新为路径1、路径2分配ECMP表项,在此不再赘述。
在一个例子中,针对上述增加路径4或者减少路径3的情况,为了获知每条路径对应了哪些ECMP表项,网络设备在维护表6所示的ECMP表时,还可以记录路径与ECMP表项的对应关系,如路径1对应第1个至第85个ECMP表项等。
基于上述应用场景,则报文传输过程可以包括:在接收到报文后,确定与该报文匹配的FIB表项。从该FIB表项中查询到ECMP表的ECMP表项数量和内层标签。利用该ECMP表项数量从ECMP表中确定与报文匹配的ECMP表项,从该ECMP表项中查询到外层标签的索引,获取该索引对应的外层标签。利用该内层标签和该外层标签对报文进行修改。利用该外层标签对应的路径发送修改后报文。
在一个例子中,网络设备在接收到报文后,可以查询到与该报文的目的IP地址匹配的FIB表项,例如,FIB表项中的IP地址与该报文的目的IP地址相同。例如,网络设备在接收到主机1发送给主机2的报文后,由于目的IP地址为主机2的IP地址,因此可以查询到表5所示的FIB表项。在该FIB表项中,记录有ECMP表的ECMP表项数量256以及内层标签A,因此,可以从该FIB表项中查询到ECMP表项数量256以及内层标签A,而且,该表项数量256为固定值。
在一个例子中,针对“利用该ECMP表项数量从ECMP表中确定与报文匹配的ECMP表项”的过程,可以包括:生成随机值(该随机值可以为一个正整数),并利用该随机值以及该ECMP表项数量确定出与该报文匹配的位置,并从ECMP表中确定出与该位置关联的ECMP表项。例如,可以先获得该随机值除以该ECMP表项数量的余数,并基于该余数确定与该报文匹配的位置,并从ECMP表中确定出与该位置关联的ECMP表项,如ECMP表的第(余数+1)个ECMP表项。例如,假设生成的随机值为10,则10/256的余数为10,因此,可以确定出与该报文匹配的是ECMP表的第11个ECMP表项。又例如,假设生成的随机值 为256,则256/256的余数为0,因此,可以确定与该报文匹配的是ECMP表的第1个ECMP表项,以此类推。由于随机值是随机生成的,因此,随机值除以256的余数会平均分配到256个ECMP表项,从而在256个ECMP表项实现平均分配。
而且,由于ECMP表项记录外层标签的索引,因此可以从ECMP表项中查询到外层标签的索引,如从第1个ECMP表项查询到外层标签1的索引。
在一个例子中,针对“获取该索引对应的外层标签”的过程,由于出接口信息表用于记录外层标签的索引与外层标签的对应关系,因此,在获取到外层标签的索引后,可以通过该索引查询出接口信息表,从而得到与该索引对应的外层标签。例如,在得到外层标签1的索引后,通过该外层标签1的索引查询表3所示的出接口信息表,可以得到与该索引对应的外层标签为外层标签1。
在一个例子中,针对“利用该内层标签和该外层标签对报文进行修改”的过程,网络设备可以对报文进行封装,例如,为报文封装内层标签A和外层标签1。
在一个例子中,针对“利用该外层标签对应的路径发送修改后的报文”的过程,可以包括:通过该外层标签查询该出接口信息表,得到与该外层标签对应的邻接表索引,并查询到与该邻接表索引对应的邻接表项。进一步的,利用该邻接表项中记录的源MAC地址、目的MAC地址、VLAN信息对上述修改后的报文进行封装,并利用该邻接表项对应的路径发送封装后的报文。
在一个例子中,针对“通过该外层标签查询该出接口信息表,得到与该外层标签对应的邻接表索引,并查询到与该邻接表索引对应的邻接表项”的过程,在得到外层标签1之后,通过该外层标签1查询表3所示的出接口信息表,可以得到与该外层标签1对应的邻接表索引1,并通过邻接表索引1查询表4所示的邻接表,得到与该邻接表索引1对应的邻接表项,例如,邻接表的第一个邻接表项。
在一个例子中,由于该邻接表项中记录有出接口、源MAC地址、目的MAC地址、VLAN信息等内容,因此,可以利用该邻接表项中记录的源MAC地址(例如,接口A的MAC地址)、目的MAC地址(例如,接口1的MAC地址)、VLAN信息(例如,接口1所属的VLAN)等对上述修改后的报文(例如,包含内层标签A和外层标签1的报文)进行封装,并利用该邻接表项对应的路径(例如,该邻接表项中记录的接口A)发送封装后的报文。
基于上述过程,网络设备可以维护的上述各表完成报文的传输。
在一个例子中,上述内层标签可以是私网标签,也可以是公网标签。而且,在分配私网 标签时,可以基于前缀方式分配私网标签,也可以基于VPN方式分配私网标签。在另一个例子中,上述内层标签可以是公网标签,上述外层标签可以无效值。如图4所示,针对路径1,分配公网标签A,针对路径2,分配公网标签A,针对路径3,分配公网标签A。但不再分配私网标签,而是将公网标签A作为内层标签,记录到FIB表项中。由于公网标签A作为内层标签了,因此可以将外层标签设置为无效值,例如,可以将无效值1作为路径1的外层标签、将无效值2作为路径2的外层标签、将无效值3作为路径3的外层标签,并记录到出接口信息表中。
在一个例子中,网络设备可以通过CPU(Central Processing Unit,中央处理器)进行报文传输,网络设备也可以通过硬件芯片(如FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,专用集成电路)、NP(Network Processor,网络处理器)等)进行报文传输。
若通过CPU进行报文传输,则由CPU维护上述FIB表、ECMP表、出接口信息表和邻接表,CPU在接收到报文后,利用FIB表、ECMP表、出接口信息表和邻接表传输报文。若通过硬件芯片进行报文传输,则CPU在生成上述FIB表、ECMP表、出接口信息表和邻接表后,将FIB表、ECMP表、出接口信息表和邻接表下发到硬件芯片,硬件芯片在接收到报文后,利用FIB表、ECMP表、出接口信息表和邻接表传输报文。
基于上述技术方案,本申请实施例中,在基于ECMP的MPLS L3VPN网络环境中,当等价路径中增加路径、或者等价路径中删除路径时,在ECMP表中的ECMP表项数量不变,只是调整每条路径分配到的表项数量即可,这样,FIB表项中的ECMP表的ECMP表项数量并不会发生变化,也就不需要对FIB表项的内容进行修改,可以使用FIB表项继续传输报文,避免发生丢包等问题,提高业务体验以及用户感受。
在一个例子中,假设等价路径数量减少或者增加,如从16个等价路径减少为15个等价路径,则需要刷新ECMP表项,且由于ECMP表项的数量发生变化,因此还需要刷新FIB表项,假设与ECMP表项关联的FIB表项有10万条,则刷新ECMP表项和FIB表项的时间为1秒左右。而本申请实施例中,假设等价路径数量减少或者增加,如从16个等价路径减少为15个等价路径,则只需要刷新ECMP表项,由于ECMP表项的数量未发生变化,因此不需要刷新FIB表项,即使与ECMP表项关联的FIB表项再多,刷新ECMP表项的时间也只为20毫秒左右。因此,与传统方式相同,刷新时间可以节省近50倍。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
参见图5,图5为本申请一些实施例提供的网络设备的硬件结构图。该网络设备50可包括处理器51以及机器可读存储介质52。其中,处理器51和机器可读存储介质52可经由系统总线53通信。并且,通过读取并执行机器可读存储介质52中存储的与等价路径的表项建立逻辑60对应的机器可执行指令,处理器51可执行上文所述的等价路径的表项建立的方法。
本文提到的机器可读存储介质52可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质52可以是RAM(Random Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
如图6所示,从功能上划分,所述等价路径的表项建立逻辑可包括:
分配模块11,用于为所述网络设备至目的网络设备之间被配置为等价路径的N条路径中的每条路径分配内层标签和外层标签,且所述每条路径对应的内层标签相同,其中,N为大于等于2的整数。
建立模块12,用于建立FIB表项,所述FIB表项包括所述目的网络设备的地址、所述路径对应的等价负载分担ECMP表的ECMP表项数量和所述内层标签,且所述ECMP表的ECMP表项数量是预设的固定值。
处理模块13,用于根据所述路径的数量N和所述固定值,为所述每条路径分配ECMP表项,其中,所述N条路径对应的ECMP表项数量之和为所述固定值,所述ECMP表项记录相应路径的所述外层标签的索引。
在一个例子中,所述处理模块13,具体用于:通过对所述固定值除以所述路径数量N向下取整,确定第一数值K;将所述固定值除以所述路径数量N的余数确定为第二数值M;若所述第二数值M为0,为所述每条路径分配的ECMP表项的数量为所述第一数值K;若所述第二数值M大于0,从所述N条路径中选取M条路径,为所选取的每条路径分配的ECMP表项的数量为所述第一数值K加1,为所述N条路径中剩余的每条路径分配的ECMP表项的数量为所述第一数值K。
在一个例子中,所述处理模块13还用于当所述等价路径数量变化时,根据变化后的所述等价路径的数量N'和所述固定值为N'条路径中的每条路径重新分配ECMP表项,其中,N'为大于等于2的整数。
在一个例子中,所述处理模块13还用于当等价路径中新增路径时,确定所述N条路径中 的每条路径对应的ECMP表项减少数量,并从所述每条路径对应的ECMP表项中选取相应数量的ECMP表项;将所选取的所述ECMP表项分配给新增的路径。
在一个例子中,所述处理模块13用于确定增加路径后的等价路径的数量N″;根据所述数量N″和所述固定值,确定N″条路径中每条路径的ECMP表项数量H,其中,N″为大于等于2的整数;将所述N条路径中的每条路径对应的ECMP表项减少数量确定为:(K+1)-H或者K-H。
在一个例子中,所述处理模块13,还用于当所述等价路径中删除路径时,确定删除路径后的等价路径的数量N″′,其中,N″′为大于等于2的整数;确定N″′条路径中每条路径对应的ECMP表项增加数量,并将所述删除的路径对应的ECMP表项按照所述N″′条路径各自对应的ECMP表项增加数量分配给所述N″′条路径。
在一个例子中,所述处理模块13具体用于根据所述数量N″′和所述固定值,确定N″′条路径中每条路径的ECMP表项数量H';将N″′条路径中每条路径对应的ECMP表项增加数量确定为:H'-(K+1)或者H'-K。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用 范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

  1. 一种等价路径的表项建立方法,包括:
    网络设备为所述网络设备至目的网络设备之间被配置为等价路径的N条路径中的每条路径分配内层标签和外层标签,且所述每条路径对应的内层标签相同,其中,N为大于等于2的整数;
    所述网络设备建立FIB表项,所述FIB表项包括所述目的网络设备的地址、所述路径对应的等价负载分担ECMP表的ECMP表项数量和所述内层标签,且所述ECMP表的ECMP表项数量是预设的固定值;
    所述网络设备根据所述路径的数量N和所述固定值,为所述每条路径分配ECMP表项,其中,所述N条路径对应的ECMP表项数量之和为所述固定值,所述ECMP表项记录相应路径的所述外层标签的索引。
  2. 根据权利要求1所述的方法,其中,为所述每条路径分配ECMP表项,包括:
    所述网络设备通过对所述固定值除以所述路径数量N向下取整,确定第一数值K;
    所述网络设备将所述固定值除以所述路径数量N的余数确定为第二数值M;
    若所述第二数值M为0,所述网络设备:
    为所述每条路径分配的ECMP表项的数量为所述第一数值K;
    若所述第二数值M大于0,所述网络设备:
    从所述N条路径中选取M条路径,
    为所选取的每条路径分配的ECMP表项的数量为所述第一数值K加1,为所述N条路径中剩余的每条路径分配的ECMP表项的数量为所述第一数值K。
  3. 根据权利要求2所述的方法,进一步包括:
    当所述等价路径数量变化时,所述网络设备根据变化后的所述等价路径的数量N'和所述固定值为N'条路径中的每条路径重新分配ECMP表项,其中,N'为大于等于2的整数。
  4. 根据权利要求2所述的方法,进一步包括:
    当所述等价路径中新增路径时,所述网络设备:
    确定所述N条路径中的每条路径对应的ECMP表项减少数量,并从所述每条路径对应的ECMP表项中选取相应数量的ECMP表项;
    将所选取的所述ECMP表项分配给新增的路径。
  5. 根据权利要求4所述的方法,其中,确定所述N条路径中的每条路径对应的ECMP表项减少数量,包括:
    所述网络设备确定增加路径后的等价路径的数量N″,其中,N″为大于等于2的整数;
    所述网络设备根据所述数量N″和所述固定值,确定N″条路径中每条路径的ECMP表项数量H;
    所述网络设备将所述N条路径中的每条路径对应的ECMP表项减少数量确定为:(K+1)-H或者K-H。
  6. 根据权利要求2所述的方法,进一步包括:
    当所述等价路径中删除路径时,所述网络设备:
    确定删除路径后的等价路径的数量N″′,其中,N″′为大于等于2的整数;
    确定N″′条路径中每条路径对应的ECMP表项增加数量,并
    将所述删除的路径对应的ECMP表项按照所述N″′条路径各自对应的ECMP表项增加数量分配给所述N″′条路径。
  7. 根据权利要求6所述的方法,其中,确定N″′条路径中每条路径对应的ECMP表项增加数量,包括:
    所述网络设备根据所述数量N″′和所述固定值,确定N″′条路径中每条路径的ECMP表项数量H';
    所述网络设备将N″′条路径中每条路径对应的ECMP表项增加数量确定为:H'-(K+1)或者H'-K。
  8. 一种网络设备,包括:
    处理器和机器可读存储介质,
    所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:
    为所述网络设备至目的网络设备之间被配置为等价路径的N条路径中的每条路径分配内层标签和外层标签,且所述每条路径对应的内层标签相同,其中,N为大于等于2的整数;
    建立FIB表项,所述FIB表项包括所述目的网络设备的地址、所述路径对应的等价负载分担ECMP表的ECMP表项数量和所述内层标签,且所述ECMP表的ECMP表项数量是预设的固定值;
    根据所述路径的数量N和所述固定值,为所述每条路径分配ECMP表项,其中,所述N条路径对应的ECMP表项数量之和为所述固定值,所述ECMP表项记录相应路径的所述外层标签的索引。
  9. 根据权利要求8所述的网络设备,其中,所述处理器被所述机器可执行指令促使:
    通过对所述固定值除以所述路径数量N向下取整,确定第一数值K;
    将所述固定值除以所述路径数量N的余数确定为第二数值M;
    若所述第二数值M为0,
    为所述每条路径分配的ECMP表项的数量为所述第一数值K;
    若所述第二数值M大于0,
    从所述N条路径中选取M条路径,
    为所选取的每条路径分配的ECMP表项的数量为所述第一数值K加1,为所述N条路径中剩余的每条路径分配的ECMP表项的数量为所述第一数值K。
  10. 根据权利要求9所述的网络设备,其中,所述处理器进一步被所述机器可执行指令促使:
    当所述等价路径数量变化时,根据变化后的所述等价路径的数量N'和所述固定值为N'条路径中的每条路径重新分配ECMP表项,其中,N'为大于等于2的整数。
  11. 根据权利要求9所述的网络设备,其中,所述处理器进一步被所述机器可执行指令促使:
    当所述等价路径中新增路径时,
    确定所述N条路径中的每条路径对应的ECMP表项减少数量,并从所述每条路径对应的ECMP表项中选取相应数量的ECMP表项;
    将所选取的所述ECMP表项分配给新增的路径。
  12. 根据权利要求11所述的网络设备,其中,所述处理器被所述机器可执行指令促使:
    确定增加路径后的等价路径的数量N″,其中,N″为大于等于2的整数;
    根据所述数量N″和所述固定值,确定N″条路径中每条路径的ECMP表项数量H;
    将所述N条路径中的每条路径对应的ECMP表项减少数量确定为:(K+1)-H或者K-H。
  13. 根据权利要求9所述的网络设备,其中,所述处理器进一步被所述机器可执行指令促使:
    当所述等价路径中删除路径时,
    确定删除路径后的等价路径的数量N″′,其中,N″′为大于等于2的整数;
    确定N″′条路径中每条路径对应的ECMP表项增加数量,并
    将所述删除的路径对应的ECMP表项按照所述N″′条路径各自对应的ECMP表项增加数量分配给所述N″′条路径。
  14. 根据权利要求13所述的网络设备,其中,所述处理器被所述机器可执行指令促使:
    根据所述数量N″′和所述固定值,确定N″′条路径中每条路径的ECMP表项数量H';
    将N″′条路径中每条路径对应的ECMP表项增加数量确定为:H'-(K+1)或者H'-K。
  15. 一种机器可读存储介质,存储有机器可执行指令,在被网络设备的处理器调用和执行时,所述机器可执行指令促使所述处理器执行:
    为所述网络设备至目的网络设备之间被配置为等价路径的N条路径中的每条路径分配内层标签和外层标签,且所述每条路径对应的内层标签相同,其中,N为大于等于2的整数;
    建立FIB表项,所述FIB表项包括所述目的网络设备的地址、所述路径对应的等价负载分担ECMP表的ECMP表项数量和所述内层标签,且所述ECMP表的ECMP表项数量是预设的固定值;
    根据所述路径的数量N和所述固定值,为所述每条路径分配ECMP表项,其中,所述N条路径对应的ECMP表项数量之和为所述固定值,所述ECMP表项记录相应路径的所述外层标签的索引。
PCT/CN2018/074118 2017-01-25 2018-01-25 等价路径的表项建立 WO2018137682A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/481,066 US11108682B2 (en) 2017-01-25 2018-01-25 Establishing entry corresponding to equal-cost paths
EP18745079.6A EP3562098B1 (en) 2017-01-25 2018-01-25 Entry creation for equal cost paths
JP2019540343A JP6789401B2 (ja) 2017-01-25 2018-01-25 等コストパスエントリ確立

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710056621.5A CN108259346B (zh) 2017-01-25 2017-01-25 一种等价路由表项建立方法和装置
CN201710056621.5 2017-01-25

Publications (1)

Publication Number Publication Date
WO2018137682A1 true WO2018137682A1 (zh) 2018-08-02

Family

ID=62721909

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/074118 WO2018137682A1 (zh) 2017-01-25 2018-01-25 等价路径的表项建立

Country Status (5)

Country Link
US (1) US11108682B2 (zh)
EP (1) EP3562098B1 (zh)
JP (1) JP6789401B2 (zh)
CN (1) CN108259346B (zh)
WO (1) WO2018137682A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039891B (zh) * 2018-08-23 2021-05-07 新华三技术有限公司 等价路径管理方法、装置、通信设备及存储介质
CN109905495A (zh) * 2019-02-22 2019-06-18 盛科网络(苏州)有限公司 一种降低cpu负载的方法及装置
US11240355B2 (en) 2019-05-17 2022-02-01 Arista Networks, Inc. Platform agnostic abstraction for forwarding equivalence classes with hierarchy
CN111130871B (zh) * 2019-12-18 2022-06-10 新华三半导体技术有限公司 保护切换方法、装置和网络设备
CN112187578B (zh) * 2020-09-28 2022-11-25 新华三信息安全技术有限公司 表项生成方法、装置及设备
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
CN113872863B (zh) * 2021-08-25 2023-04-18 优刻得科技股份有限公司 一种路径搜索方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8718060B2 (en) * 2006-07-31 2014-05-06 Cisco Technology, Inc. Technique for multiple path forwarding of label-switched data traffic
US20100332516A1 (en) 2009-06-30 2010-12-30 Alcatel-Lucent Usa Inc. Linking inner and outer mpls labels
CN102333028B (zh) 2011-06-22 2013-02-13 杭州华三通信技术有限公司 一种分层式二层虚拟专用网发送报文的方法及通信设备
US8737269B1 (en) * 2012-01-26 2014-05-27 Google Inc. System and method for reducing hardware table resources in a multi-stage network device
CN102857414B (zh) * 2012-08-20 2018-05-04 中兴通讯股份有限公司 一种转发表写入、报文转发方法及装置
CN103078804B (zh) * 2012-12-28 2015-07-22 福建星网锐捷网络有限公司 等价多路径表处理方法、装置及网络设备
CN104144120A (zh) * 2013-05-07 2014-11-12 杭州华三通信技术有限公司 转发信息配置方法及装置
CN105721321B (zh) * 2014-12-02 2019-09-06 南京中兴新软件有限责任公司 一种等价多路径的出接口更新方法及装置
US10341221B2 (en) * 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US9819577B2 (en) * 2015-05-29 2017-11-14 Cisco Technology, Inc. Adjusting control-plane allocation of packet processing resources
US10771380B2 (en) * 2016-07-25 2020-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Fast control path and data path convergence in layer 2 overlay networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
See also references of EP3562098A4 *

Also Published As

Publication number Publication date
EP3562098B1 (en) 2021-08-25
JP6789401B2 (ja) 2020-11-25
US20190394119A1 (en) 2019-12-26
JP2020505853A (ja) 2020-02-20
CN108259346A (zh) 2018-07-06
US11108682B2 (en) 2021-08-31
EP3562098A4 (en) 2019-11-27
CN108259346B (zh) 2020-08-04
EP3562098A1 (en) 2019-10-30

Similar Documents

Publication Publication Date Title
WO2018137682A1 (zh) 等价路径的表项建立
US11151163B2 (en) Scalable spine nodes with partial replication of routing information in a network environment
WO2018137677A1 (zh) 等价路径的表项建立
US9509615B2 (en) Managing link aggregation traffic in a virtual environment
AU2013230945B2 (en) Multitenant access to multiple desktops on host machine partitions in a service provider network
WO2017113300A1 (zh) 路由确定方法、网络配置方法以及相关装置
US20200036675A1 (en) Migration of virtual machine located on its own network
US20190260706A1 (en) Managing link aggregation traffic in edge nodes
EP2230800A1 (en) Method for obtaining virtual private network label and autonomous system boundary router device
WO2018099394A1 (zh) 报文传输
US20150026321A1 (en) Managing link aggregation traffic in a virtual environment
WO2018019216A1 (zh) Ap接入控制
US9705788B2 (en) Provider edge in virtual private LAN service network
US9197598B2 (en) MAC address distribution
WO2018041135A1 (zh) 报文转发
CN106331206A (zh) 域名管理方法及装置
US11177979B2 (en) Synchronizing route
WO2018161795A1 (zh) 一种路由优先级配置方法、设备以及控制器
WO2011147351A1 (zh) 生成转发表项、报文转发、地址获取的方法及边缘装置
EP3086512B1 (en) Implementation method and apparatus for vlan to access vf network and fcf
US20150244544A1 (en) Connecting a pvlan switch to a non-pvlan device
US20230188457A1 (en) Bier overlay signaling enhancement
US9025604B2 (en) Scaling IPV4 at large datacenters with device level aggregation
US8855015B2 (en) Techniques for generic pruning in a trill network
US10397141B2 (en) Access port for one or more VLANs

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: 18745079

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019540343

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: 2018745079

Country of ref document: EP

Effective date: 20190724