WO2013149520A1 - Transmission path switching - Google Patents

Transmission path switching Download PDF

Info

Publication number
WO2013149520A1
WO2013149520A1 PCT/CN2013/071715 CN2013071715W WO2013149520A1 WO 2013149520 A1 WO2013149520 A1 WO 2013149520A1 CN 2013071715 W CN2013071715 W CN 2013071715W WO 2013149520 A1 WO2013149520 A1 WO 2013149520A1
Authority
WO
WIPO (PCT)
Prior art keywords
hop
virtual
virtual next
destination identity
identity corresponding
Prior art date
Application number
PCT/CN2013/071715
Other languages
French (fr)
Inventor
Haifeng Zhang
Changwang Lin
Original Assignee
Hangzhou H3C Technologies Co., Ltd.
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 Hangzhou H3C Technologies Co., Ltd. filed Critical Hangzhou H3C Technologies Co., Ltd.
Priority to EP13772095.9A priority Critical patent/EP2834948A4/en
Priority to US14/372,718 priority patent/US20150029834A1/en
Publication of WO2013149520A1 publication Critical patent/WO2013149520A1/en
Priority to US14/923,110 priority patent/US20160050142A1/en

Links

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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate 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/54Organization of routing tables

Definitions

  • a protocol layer of a router typically uses a routing protocol, such as Open Shortest Path First (OSPF) routing protocol, Intermediate System to Intermediate System (IS-IS) routing protocol, Border Gateway Protocol (BGP) or Routing Information Protocol (RIP).
  • OSPF Open Shortest Path First
  • IS-IS Intermediate System to Intermediate System
  • BGP Border Gateway Protocol
  • RIP Routing Information Protocol
  • Figures 1 a to 1 b are schematic diagrams illustrating transmission path switching in accordance with an example of the present disclosure
  • Figure 2 is a flow chart illustrating a method for implementing transmission path switching in accordance with an example of the present disclosure
  • Figure 3 is a schematic diagram illustrating structure of a device for implementing transmission path switching in accordance with an example of the present disclosure.
  • Figure 4 is a hardware architecture which may be used for the device shown in figure 3.
  • the present disclosure is described by referring mainly to an example thereof.
  • numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure.
  • the term “includes” means includes but not limited to, the term “including” means including but not limited to.
  • the term “based on” means based at least in part on.
  • the terms "a” and “an” are intended to denote at least one of a particular element.
  • a protocol layer may calculate the best route to a destination address according to the current network topology.
  • the best route to a destination address takes the destination address as a prefix (i.e., a destination identity), and includes a next-hop taking the destination address as an end.
  • a prefix i.e., a destination identity
  • Each prefix and a next-hop of a route for each prefix obtained by the route calculation may be saved in a Routing Information Base (RIB) of a router control plane.
  • RRIB Routing Information Base
  • each prefix and the next-hop of the best route for each prefix are added in the Forwarding Information Base (FIB) of a forwarding plane.
  • FIB Forwarding Information Base
  • each prefix and the next-hop of the best route for each prefix saved in the FIB are sent to a hardware layer, by which the path forwarding in a unicast mode is implemented.
  • a new route calculation is triggered if the network topology is changed resulting from the failed link. Accordingly, the next-hop of the best route for each prefix in the FIB is updated. After the new route calculation is finished, each prefix and the updated next-hop of the best route for each prefix in the FIB are sent to the hardware layer one by one for updating.
  • a router Furthermore, after a link is failed and the network topology is changed due to the failed link, and before the each prefix and the updated next-hop of the best route for each prefix are sent to the hardware layer, a router continues to perform the path forwarding in the unicast mode according to the original next-hop of the best route for each prefix, resulting in loss of traffic transmitted on the failed link.
  • the route convergence time includes time for detecting the failed link, time for recalculating routes and time for sending and updating routes of all the prefixes. Since each prefix and the updated next-hop of the best route for each prefix is to be sent to the hardware layer, the route convergence time is determined by the number of the prefixes on the premise that the time for detecting the failed link and the time for recalculating the routes is determined. Therefore, the route convergence time increases along with the increase of the number of the prefixes, while the increase of the number of the prefixes results in the increase of the lost traffic.
  • the problem of traffic loss also exists when the transmission path is switched. Furthermore, the lost traffic increases along with the increase of the number of the destination identities, such as the prefixes. [0015] In an example of the present disclosure, the description is given with the transmission path taken as a unicast route and the destination identity taken as the prefix of the unicast route.
  • MPLS Multi-Protocol Label Switching
  • the best route can be formed with a prefix and the best next-hop, or a second-best route may be formed with the same prefix and a second-best next-hop.
  • the selection process of the RIB of the router control plane not only may select the best route of the prefix, but also may select the second-best route of the prefix.
  • the best route and second-best route of each prefix may respectively be static routes, or be any kind of the dynamic routes, such as OSPF protocol routes, IS-IS protocol routes, BGP routes and RIP routes.
  • a second-best static route may be selected and a corresponding second-best next-hop may be configured if each prefix is configured with multiple static routes.
  • the OSPF protocol route in the dynamic routes when intra-area routes in an Autonomous System (AS) are calculated, besides selecting the best next-hop corresponding to the valid intra-area router best route of each OSPF prefix, it is determined whether a valid intra-area router second-best route of the each OSPF prefix exists. If yes, the second-best next-hop corresponding to the intra-area router second-best route of the each OSPF prefix is selected.
  • AS Autonomous System
  • a router of each level of the IS-IS may be regarded as a Shortest Path First (SPF) node.
  • SPF Shortest Path First
  • Each SPFnode may publish prefixes with Type-Length-Value (TLV) coding information in an IS-IS protocol packet.
  • TLV Type-Length-Value
  • a prefix may be sent from multiple routers, i.e. multiple SPFnodes.
  • the prefix may be called a multi-release source prefix.
  • each IS-IS prefix which is a multi-release source prefix
  • a second-best SPFnode set corresponding to the IS-IS prefix is to be selected through traversing, and a second-best next-hop is to be found from the second-best SPFnode set, and a second-best route is to be formed with the second-best next-hop and the IS-IS prefix.
  • a BGP route in the dynamic routes after each route is calculated, the route calculation of the BGP is performed to determine whether the route is better than the best route obtained by the calculation. If yes, the best route is replaced with the route. Therefore, the best route in all the routes is saved after obtaining all the routes through the calculation.
  • the route calculation of the BGP usually determines whether the route is better than the calculated best route and second-best route. If the route is better than the best route, the best route is replaced with the route, and the best route which is replaced with the route is stored as the second-best route. If the route is not better than the best route but better than the second-best route, the second-best route is replaced with the route, and the stored best route is kept. Therefore, the best route and the second-best route in all the routes may be saved after all the routes are obtained.
  • the best next-hop corresponding to the best route and the second-best next-hop corresponding to the second-best route may be obtained.
  • the route calculation method of the BGP protocol mainly applies to a situation that the number of the route is one. If the number of the route is larger than one, the situation applies to Equal-Cost route, which is not concerned by this disclosure and is not repeated in this disclosure.
  • a RIP route in the dynamic routes when multiple ports receive multiple RIP routes with the same prefix, if the multiple RIP routes do not form the Equal-Cost routes, one is selected from the publish source corresponding to the multiple ports and is taken as the best next-hop, and the best route is formed with the best next-hop and the IS-IS prefix. Then, one is selected from other published resources and taken as the second-best next-hop, and the second-best route is formed with the second-best next-hop and the IS-IS prefix.
  • Equal-Cost route related to the RIP route may not be used, and thus is not described.
  • this example after selecting the next-hop of the best route and the next-hop of the second-best route of each prefix, this example does not simply add the next-hop of the best route and the next-hop of the second-best route of all the routes in the FIB, but creates a virtual next-hop in the FIB according to the next-hop of the best route and the next-hop of the second-best route of all the routes, and records at least one prefix of each virtual next-hop.
  • Figures 1 a to 1 b are schematic diagrams illustrating transmission path switching in accordance with an example of the present disclosure.
  • each virtual next-hop created in the FIB corresponds to at least one prefix 1 -n (n is a positive integer).
  • Each virtual next-hop includes one best next-hop and one second-best next-hop.
  • the next-hop of the best route of all the at least one prefix 1 -n corresponding to the each virtual next-hop is the best next-hop of the each virtual next-hop
  • the next-hop of the second-best route of all the at least one prefix 1 -n corresponding to the each virtual next-hop is the second-best next-hop of the virtual next-hop.
  • the best route of the prefix 1 is a route 11
  • the second-best route of the prefix 1 is a route 12.
  • the best route of the prefix 2 is a route 21
  • the second-best route of the prefix 2 is a route 22.
  • the prefix 1 and prefix 2 correspond to the same virtual next-hop
  • the best next-hop of the virtual next-hop is the common next-hop of the route 11 and the route 21
  • the second-best next-hop of the virtual next-hop is the common next-hop of the route 12 and the route 22.
  • the hardware layer saves a destination identity table, a virtual next-hop table and a real next-hop table.
  • the prefixes 1 -n corresponding to each virtual next-hop are sent to the destination identity table in the hardware layer.
  • Each virtual next-hop is sent to the virtual next-hop table in the hardware layer.
  • the best next-hop of each virtual next-hop may be taken as an available next-hop and sent to the real next-hop table in the hardware layer.
  • the second-best next-hop of each virtual next-hop is taken as a backup route.
  • a corresponding relationship between all the prefixes in the destination identity table of each virtual next-hop in the virtual next-hop table and the best next-hop in the real next-hop table of each virtual next-hop may be established through the virtual next-hop in the virtual next-hop table.
  • the corresponding relationship between the destination identity table and the real next-hop table may be implemented with other modes, instead of the virtual next-hop in the virtual next-hop table. Since the real next-hop table saves the best next-hop of each virtual next-hop, the normal path forwarding may be implemented in the hardware layer according to the best next-hop in the real next-hop table.
  • failure detection is to be performed for the best next-hop of each virtual next-hop in the FIB. That is, it is determined whether the best next-hop is available through the detection of the link or the ports.
  • the failure detection may be the Address Resolution Protocol (ARP) detection or Bidirectional Forwarding Detection (BFD) detection.
  • ARP Address Resolution Protocol
  • BFD Bidirectional Forwarding Detection
  • the ARP detection when any port is changed from Up to Down, the corresponding ARP information is deleted. Accordingly, the link at which the port whose ARP information is deleted locates, is determined as a failed link. While when the state of any port changes from Down to UP, the corresponding ARP information may be learned. Accordingly, the link, at which the port whose ARP information is newly learned locates, is determined as the available link.
  • the BFD detection when both a port adopting the BFD detection and the peer support the BFD detection, a peer-to-peer relationship may be established between the port adopting the BFD detection and the peer, Control packet is sent between them.
  • the link, at which the port locates is determined as the failed port.
  • the port adopting the BFD detection may send Echo packet to the peer, and receives the Echo packet from the peer. If the port adopting the BFD detection does not receive the Echo packet of the pre-determined amount in the pre-determined time, the link, at which the port locates, is determined as the failed port.
  • the route switching may be performed for all the prefixes corresponding to the virtual next-hop in the hardware layer according to the second-best next-hop in the real next-hop table.
  • the convergence time generated in the example of the present disclosure mainly includes time for detecting failed links, and time for sending the virtual next-hop, but does not include time for recalculating routes. Furthermore, in this example of the present disclosure, since the detection time may be reduced through the failure detection, and the time for sending the virtual next-hop is far less than the time for sending all the prefixes and time for sending the updated next-hop of the best route of the prefixes. Therefore, this example of the present disclosure may reduce the affect of the number of the prefixes on the route convergence time, and further reduce the loss of the traffic.
  • a flag denoting that the failure detection is to be performed for the best next-hop may be configured for the best next-hop of each virtual next-hop in the FIB, and a flag denoting that the second-best next-hop is taken as the backup route is configured for the second-best next-hop of each virtual next-hop in the FIB.
  • the flag denoting that the failure detection is to be performed may further include a type of the failure detection, and is used for distinguishing the type of the detection, such as the ARP detection and the BFD detection.
  • Figure 2 is a flow chart illustrating a method for implementing transmission path switching in accordance with an example of the present disclosure. As shown in figure 2, the method for implementing the transmission path switching takes the switching of the unicast route for example. The method includes the following blocks.
  • At block 201 at least one virtual next-hop is established, and at least one destination identity corresponding to each virtual next-hop is stored.
  • Each virtual next-hop includes one best next-hop and one second-best next-hop.
  • a next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of each virtual next-hop, and a next-hop of a second-best path of all the at least one destination identity corresponding to each virtual next-hop is a second-best next-hop of the virtual next-hop.
  • the best route and second-best route in this block may be a route of the OSPF protocol, a route of the IS-IS protocol, or a route of the BGP.
  • path forwarding is performed for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop.
  • the failure detection is performed for the best next-hop of each virtual next-hop in the FIB.
  • the failure detection may be the ARP detection or BFD detection.
  • the path forwarding is performed for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
  • the switching processing may be performed in the hardware layer, to switch the path from the best next-hop of the virtual next-hop to the second-best next-hop of the next-hop, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
  • the CPU may query the software table, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
  • the best next-hop of the virtual next-hop in the FIB may be sent to the hardware layer.
  • the hardware layer switches the path from the second-best next-hop to the best next-hop and performs the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop.
  • the best next-hop of the virtual next-hop in the FIB is saved in the software table.
  • the CPU switches the route from the second-best next-hop to the best next-hop and performs the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop.
  • the above method not only applies to the unicast route, but also applies to other technologies such as the MPLS. Accordingly, the route calculation, route forwarding, route switching, route switching-back and destination identities are respectively replaced with the path calculation, path forwarding, path switching, path switching-back and destination identities of other technologies such as the MPLS. In addition, as for the other technologies, such as the MPLS, the FIB may be replaced with corresponding media.
  • all the destination identities corresponding to each virtual next-hop may be all the prefixes corresponding to each virtual next-hop.
  • the above method for implementing the transmission path switching may be implemented with a computer program.
  • an example of the present disclosure provides a device for implementing transmission path switching.
  • the device includes a processor and a memory.
  • the processor communicates with the memory, executes instructions saved in the memory.
  • the memory includes a virtual creating instruction to be executed to create at least one virtual next-hop; and record at least one destination identity corresponding to each virtual next-hop; wherein each virtual next-hop includes one best next-hop and one second-best next-hop, a next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of the virtual next-hop, and a next-hop of the second-best path of all the at least one destination identity corresponding to each virtual next-hop is the second-best next-hop of each virtual next-hop; a path sending instruction to be executed to perform path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop; a failure detecting instruction to be executed to perform failure detection for the best next-hop of each virtual next-hop; and a path switching instruction to be executed to perform, after detecting that the best next-hop of a virtual next-hop is failed with the failure detection, the path forwarding for all the at least
  • Figure 3 is a schematic diagram illustrating structure of a device for implementing transmission path switching in accordance with an example of the present disclosure.
  • the device for implementing the transmission path switching in this example of the present disclosure includes a processor 300 and a memory 310.
  • the processor 300 communicates with the memory 310, and executes instructions saved in the memory 310.
  • the memory 310 saves a virtual creating instruction 311 , a path sending instruction 312, a failure detecting instruction 313 and a path switching instruction 314.
  • the virtual creating instruction 311 is executed to create, after the route calculation starts, at least one virtual next-hop, and record at least one destination identity corresponding to each virtual next-hop.
  • Each virtual next-hop includes one best next-hop and one second-best next-hop.
  • next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of each virtual next-hop
  • next-hop of the second-best path of all the at least one destination identity corresponding to each virtual next-hop is the second-best next-hop of each virtual next-hop.
  • the virtual creating instruction 311 is further executed to configure a flag denoting that failure detection is to be performed for the best next-hop for the best next-hop of each virtual next-hop, and configure a flag denoting that the second-best next-hop is taken as a backup route for the second-best next-hop of each virtual next-hop.
  • the flag denoting that the failure detection is to be performed may further include a type of the failure detection.
  • the type of the failure detection includes the ARP detection and the BFD detection.
  • the path sending instruction 312 is executed to send, after the route calculation is finished, all the at least one destination identity corresponding to each virtual next-hop in the FIB and the best next-hop of each virtual next-hop to a hardware layer, so that the hardware layer performs the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop.
  • the path sending instruction 312 may be executed to send each virtual next-hop to the hardware layer, so that a corresponding relationship between all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of the virtual next-hop is established in the hardware layer.
  • the hardware layer may be configured with a virtual next-hop table for saving each virtual next-hop, a destination identity table for saving all the at least one destination identity of each virtual next-hop, and a real next-hop table for saving the best next-hop or second-best next-hop of each virtual next-hop.
  • the failure detecting instruction 313 is executed to perform failure detection for the best next-hop of each virtual next-hop after the route calculation is finished.
  • the path switching instruction 314 is executed to send, when detecting that the best next-hop of any virtual next-hop is failed with the failure detection, the second-best next-hop of the virtual next-hop in the FIB to the hardware layer, so that the hardware perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
  • the memory 310 may further include a path switching-back instruction 315.
  • the path switching-back instruction 315 is executed to send, when detecting that the above failed best next-hop of the virtual next-hop becomes the available route with the failure detection, the best next-hop of the virtual next-hop in the FIB to the hardware layer, so that the hardware layer switches the route from the second-best next-hop to the best next-hop, and performs the path forwarding for all the at least one destination identity of the virtual next-hop using the best next-hop of the virtual next-hop.
  • the transmission path mentioned in the above device shown in figure 3 is a unicast route, and the destination identity is the prefix of the route.
  • the best path is the best route
  • the second-best path is the second-best route.
  • the best route and the second-best route of each prefix are any kind of the following dynamic routes: the static routes, the OSPF protocol route, the IS-IS protocol routes, the BGP routes and the RIP routes.
  • all the destination identities corresponding to each virtual next-hop in the FIB and the best next-hop of each virtual next-hop are sent to the hardware layer.
  • the path forwarding is performed for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of the virtual next-hop.
  • all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop may be saved in the software table.
  • the CPU queries the software table, and performs the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop.
  • the FIB may be a software table. Specifically, all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop may be saved in the FIB or at least one other software table.
  • the CPU queries the software table, switches the path from the best next-hop of the virtual next-hop to the second-best next-hop of the virtual next-hop, and performs the path forwarding for all the at least one destination identity corresponding to virtual next-hop using the second-best next-hop of the virtual next-hop. If all the above destination identities corresponding to each virtual next-hop and the best next-hop of each virtual next-hop are saved in the FIB, the second-best next-hop of each virtual next-hop is saved in the FIB. If all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop are saved in the at least one other software table, the second-best next-hop of the virtual next-hop is saved in the at least one other software table.
  • the best next-hop of the virtual next-hop is saved in the software table.
  • the CPU switches the route from the second-best next-hop to the best next-hop, and performs the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop.
  • all the destination identities corresponding to each virtual next-hop may be all the prefixes corresponding to each virtual next-hop.
  • Figure 4 is a hardware architecture which may be used for the device shown in figure 3. As shown in figure 4, the hardware architecture may include a main control board and at least one interface board. The main control board includes a CPU and a first storage media.
  • the CPU is to implement various processing of the main control board, and may provide a protocol layer for implementing the route calculation.
  • the first storage media saves the FIB.
  • Each interface board includes a processor, a second storage media, a forwarding chip and a port.
  • the processor is to implement the various processing of the interface board.
  • the second storage media also saves the FIB which is maintained simultaneously as that of the FIB in the main control board.
  • the forwarding chip as the hardware layer performs the path forwarding through the port of the interface board. Accordingly, the CPU of the main control board may be included in the device shown in figure 3.
  • the first storage media in figure 4 acting as the memory 310 in figure 3, stores the virtual creating instruction 311 , path sending instruction 312, failure detecting instruction 313, path switching instruction 314 and the path switching-back instruction 315.
  • the CPU in figure 4 acting as the processor 300 in figure 3, executes the above instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

According to an example, a virtual next-hop is created and a destination identity corresponding to each virtual next-hop is stored. Each virtual next-hop comprises one best next-hop and one second-best next-hop, and a next-hop of the best path of the destination identity corresponding to a virtual next-hop is the best next-hop of the virtual next-hop, and a next-hop of the second-best path of the destination identity corresponding to the virtual next-hop is the second-best next-hop of the virtual next-hop. Path forwarding may be performed using the best next-hop of each virtual next-hop. If the best next-hop of a virtual next-hop is determined to be failed, path forwarding may be performed using the second-best next-hop of the virtual next-hop.

Description

TRANSMISSION PATH SWITCHING
BACKGROUND
[0001 ] In order to implement unicast routing, a protocol layer of a router typically uses a routing protocol, such as Open Shortest Path First (OSPF) routing protocol, Intermediate System to Intermediate System (IS-IS) routing protocol, Border Gateway Protocol (BGP) or Routing Information Protocol (RIP).
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which: [0003] Figures 1 a to 1 b are schematic diagrams illustrating transmission path switching in accordance with an example of the present disclosure;
[0004] Figure 2 is a flow chart illustrating a method for implementing transmission path switching in accordance with an example of the present disclosure;
[0005] Figure 3 is a schematic diagram illustrating structure of a device for implementing transmission path switching in accordance with an example of the present disclosure; and
[0006] Figure 4 is a hardware architecture which may be used for the device shown in figure 3.
DETAILED DESCRIPTION
[0007] For simplicity and illustrative purposes, the present disclosure is described by referring mainly to an example thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used throughout the present disclosure, the term "includes" means includes but not limited to, the term "including" means including but not limited to. The term "based on" means based at least in part on. In addition, the terms "a" and "an" are intended to denote at least one of a particular element.
[0008] The present disclosure references the accompanying drawings to make the objective, technical solution and merits thereof more apparent. [0009] A protocol layer according to an example of the present disclosure may calculate the best route to a destination address according to the current network topology. The best route to a destination address takes the destination address as a prefix (i.e., a destination identity), and includes a next-hop taking the destination address as an end. [0010] Each prefix and a next-hop of a route for each prefix obtained by the route calculation may be saved in a Routing Information Base (RIB) of a router control plane. After performing route selection for routes in the RIB, each prefix and the next-hop of the best route for each prefix are added in the Forwarding Information Base (FIB) of a forwarding plane. After the route calculation is finished, each prefix and the next-hop of the best route for each prefix saved in the FIB are sent to a hardware layer, by which the path forwarding in a unicast mode is implemented.
[0011 ] After detecting that a link is failed, a new route calculation is triggered if the network topology is changed resulting from the failed link. Accordingly, the next-hop of the best route for each prefix in the FIB is updated. After the new route calculation is finished, each prefix and the updated next-hop of the best route for each prefix in the FIB are sent to the hardware layer one by one for updating. [0012] Furthermore, after a link is failed and the network topology is changed due to the failed link, and before the each prefix and the updated next-hop of the best route for each prefix are sent to the hardware layer, a router continues to perform the path forwarding in the unicast mode according to the original next-hop of the best route for each prefix, resulting in loss of traffic transmitted on the failed link.
[0013] A period during which traffic loss occurs is called route convergence time. The route convergence time includes time for detecting the failed link, time for recalculating routes and time for sending and updating routes of all the prefixes. Since each prefix and the updated next-hop of the best route for each prefix is to be sent to the hardware layer, the route convergence time is determined by the number of the prefixes on the premise that the time for detecting the failed link and the time for recalculating the routes is determined. Therefore, the route convergence time increases along with the increase of the number of the prefixes, while the increase of the number of the prefixes results in the increase of the lost traffic.
[0014] Similarly, in other technologies such as the Multi-Protocol Label Switching (MPLS), the problem of traffic loss also exists when the transmission path is switched. Furthermore, the lost traffic increases along with the increase of the number of the destination identities, such as the prefixes. [0015] In an example of the present disclosure, the description is given with the transmission path taken as a unicast route and the destination identity taken as the prefix of the unicast route.
[0016] First, in an example of the present disclosure, as for each prefix, the best route can be formed with a prefix and the best next-hop, or a second-best route may be formed with the same prefix and a second-best next-hop. The selection process of the RIB of the router control plane not only may select the best route of the prefix, but also may select the second-best route of the prefix.
[0017] The best route and second-best route of each prefix may respectively be static routes, or be any kind of the dynamic routes, such as OSPF protocol routes, IS-IS protocol routes, BGP routes and RIP routes.
[0018] As for the static route, when the static route selection is performed, besides selecting the best static route for each prefix and configuring the corresponding best next-hop, a second-best static route may be selected and a corresponding second-best next-hop may be configured if each prefix is configured with multiple static routes.
[0019] As for the OSPF protocol route in the dynamic routes, when intra-area routes in an Autonomous System (AS) are calculated, besides selecting the best next-hop corresponding to the valid intra-area router best route of each OSPF prefix, it is determined whether a valid intra-area router second-best route of the each OSPF prefix exists. If yes, the second-best next-hop corresponding to the intra-area router second-best route of the each OSPF prefix is selected.
[0020] When inter-area routes in the AS are calculated, besides selecting the best next-hop corresponding to a valid Area Border Router (ABR) best route of the each OSPF prefix, it is determined whether a valid ABR second-best route of the each OSPF prefix exists. If yes, a second-best next-hop corresponding to the ABR second-best route of the each OSPF prefix is selected.
[0021 ] When external routes between AS are calculated, besides the best next-hop corresponding to a valid Autonomous System Boundary Router (ASBR) best route of the each OSPF prefix is selected, it is determined whether a valid ASBR second-best route of the each OSPF prefix exists. If yes, the second-best next-hop corresponding to the ASBR second-best route of the each OSPF prefix is selected.
[0022] As for the IS-IS protocol route in the dynamic routes, a router of each level of the IS-IS may be regarded as a Shortest Path First (SPF) node. Each SPFnode may publish prefixes with Type-Length-Value (TLV) coding information in an IS-IS protocol packet.
[0023] Accordingly, a prefix may be sent from multiple routers, i.e. multiple SPFnodes. The prefix may be called a multi-release source prefix.
[0024] As for each IS-IS prefix which is a multi-release source prefix, besides selecting the best SPFnode set corresponding to the IS-IS prefix, one best next-hop is to be found from the best SPFnode set, and the best route is to be formed with the best next-hop and the IS-IS prefix, a second-best SPFnode set corresponding to the IS-IS prefix is to be selected through traversing, and a second-best next-hop is to be found from the second-best SPFnode set, and a second-best route is to be formed with the second-best next-hop and the IS-IS prefix.
[0025] As for a BGP route in the dynamic routes, after each route is calculated, the route calculation of the BGP is performed to determine whether the route is better than the best route obtained by the calculation. If yes, the best route is replaced with the route. Therefore, the best route in all the routes is saved after obtaining all the routes through the calculation.
[0026] In this example of the present disclosure, after learning each route, the route calculation of the BGP usually determines whether the route is better than the calculated best route and second-best route. If the route is better than the best route, the best route is replaced with the route, and the best route which is replaced with the route is stored as the second-best route. If the route is not better than the best route but better than the second-best route, the second-best route is replaced with the route, and the stored best route is kept. Therefore, the best route and the second-best route in all the routes may be saved after all the routes are obtained.
[0027] Therefore, the best next-hop corresponding to the best route and the second-best next-hop corresponding to the second-best route may be obtained. [0028] In addition, the route calculation method of the BGP protocol mainly applies to a situation that the number of the route is one. If the number of the route is larger than one, the situation applies to Equal-Cost route, which is not concerned by this disclosure and is not repeated in this disclosure. [0029] As for a RIP route in the dynamic routes, when multiple ports receive multiple RIP routes with the same prefix, if the multiple RIP routes do not form the Equal-Cost routes, one is selected from the publish source corresponding to the multiple ports and is taken as the best next-hop, and the best route is formed with the best next-hop and the IS-IS prefix. Then, one is selected from other published resources and taken as the second-best next-hop, and the second-best route is formed with the second-best next-hop and the IS-IS prefix.
[0030] In addition, the Equal-Cost route related to the RIP route may not be used, and thus is not described.
[0031 ] In an example of the present disclosure, after selecting the next-hop of the best route and the next-hop of the second-best route of each prefix, this example does not simply add the next-hop of the best route and the next-hop of the second-best route of all the routes in the FIB, but creates a virtual next-hop in the FIB according to the next-hop of the best route and the next-hop of the second-best route of all the routes, and records at least one prefix of each virtual next-hop.
[0032] Figures 1 a to 1 b are schematic diagrams illustrating transmission path switching in accordance with an example of the present disclosure.
[0033] First, referring to figures 1 a and 1 b, each virtual next-hop created in the FIB corresponds to at least one prefix 1 -n (n is a positive integer). Each virtual next-hop includes one best next-hop and one second-best next-hop. Furthermore, the next-hop of the best route of all the at least one prefix 1 -n corresponding to the each virtual next-hop is the best next-hop of the each virtual next-hop, and the next-hop of the second-best route of all the at least one prefix 1 -n corresponding to the each virtual next-hop is the second-best next-hop of the virtual next-hop. [0034] For instance, assume that there are prefix 1 and prefix 2. The best route of the prefix 1 is a route 11 , and the second-best route of the prefix 1 is a route 12. The best route of the prefix 2 is a route 21 , and the second-best route of the prefix 2 is a route 22. As long as the route 11 and the route 21 have the same next-hop, and the route 12 and the route 22 have the same next-hop, the prefix 1 and prefix 2 correspond to the same virtual next-hop, the best next-hop of the virtual next-hop is the common next-hop of the route 11 and the route 21 , and the second-best next-hop of the virtual next-hop is the common next-hop of the route 12 and the route 22. [0035] That is, in the example of the present disclosure, all prefixes, in which the best routes have the same next-hop and the second-best routes also have the same next-hop, may use the same virtual next-hop.
[0036] Referring again to the figures 1 a and 1 b, the hardware layer saves a destination identity table, a virtual next-hop table and a real next-hop table. [0037] During the transmission process after finishing the route calculation as shown in figure 1 a, the prefixes 1 -n corresponding to each virtual next-hop are sent to the destination identity table in the hardware layer. Each virtual next-hop is sent to the virtual next-hop table in the hardware layer. The best next-hop of each virtual next-hop may be taken as an available next-hop and sent to the real next-hop table in the hardware layer. The second-best next-hop of each virtual next-hop is taken as a backup route.
[0038] Furthermore, a corresponding relationship between all the prefixes in the destination identity table of each virtual next-hop in the virtual next-hop table and the best next-hop in the real next-hop table of each virtual next-hop may be established through the virtual next-hop in the virtual next-hop table. The corresponding relationship between the destination identity table and the real next-hop table may be implemented with other modes, instead of the virtual next-hop in the virtual next-hop table. Since the real next-hop table saves the best next-hop of each virtual next-hop, the normal path forwarding may be implemented in the hardware layer according to the best next-hop in the real next-hop table.
[0039] Furthermore, after all the routes are sent to the hardware layer, failure detection is to be performed for the best next-hop of each virtual next-hop in the FIB. That is, it is determined whether the best next-hop is available through the detection of the link or the ports.
[0040] In actual application, the failure detection may be the Address Resolution Protocol (ARP) detection or Bidirectional Forwarding Detection (BFD) detection.
[0041 ] As for the ARP detection, when any port is changed from Up to Down, the corresponding ARP information is deleted. Accordingly, the link at which the port whose ARP information is deleted locates, is determined as a failed link. While when the state of any port changes from Down to UP, the corresponding ARP information may be learned. Accordingly, the link, at which the port whose ARP information is newly learned locates, is determined as the available link. [0042] As for the BFD detection , when both a port adopting the BFD detection and the peer support the BFD detection, a peer-to-peer relationship may be established between the port adopting the BFD detection and the peer, Control packet is sent between them. If the port adopting the BFD detection does not receive the Control packet of the pre-determined amount in the pre-determined time, the link, at which the port locates, is determined as the failed port. When the peer of the port adopting the BFD detection does not support the BFD detection, the port adopting the BFD detection may send Echo packet to the peer, and receives the Echo packet from the peer. If the port adopting the BFD detection does not receive the Echo packet of the pre-determined amount in the pre-determined time, the link, at which the port locates, is determined as the failed port.
[0043] As shown in figure 1 b, if a link is failed, and if the failed link results in the change of the network topology, it may be detected that the best next-hop of the corresponding virtual next-hop is failed with the failure detection. The second-best next-hop of the virtual next-hop in the FIB may be taken as the available next-hop, and the available next-hop is sent to the real next-hop table in the hardware layer. The best next-hop in the real next-hop table of the virtual next-hop of the hardware layer is replaced with the second-best next-hop of the virtual next-hop. Therefore, contents saved in the real next-hop table may be updated in the hardware layer.
[0044] Since the real next-hop table saves the second-best next-hop of the corresponding virtual next-hop, the route switching may be performed for all the prefixes corresponding to the virtual next-hop in the hardware layer according to the second-best next-hop in the real next-hop table. With the above technical scheme, time needed for recalculating the route, and time for sending each prefix and the updated next-hop of the best route for each prefix to the hardware layer one by one is no longer needed, which may recover the traffic as soon as possible and reduce the loss of the traffic.
[0045] It can be seen from the above that the convergence time generated in the example of the present disclosure mainly includes time for detecting failed links, and time for sending the virtual next-hop, but does not include time for recalculating routes. Furthermore, in this example of the present disclosure, since the detection time may be reduced through the failure detection, and the time for sending the virtual next-hop is far less than the time for sending all the prefixes and time for sending the updated next-hop of the best route of the prefixes. Therefore, this example of the present disclosure may reduce the affect of the number of the prefixes on the route convergence time, and further reduce the loss of the traffic.
[0046] Furthermore, if it is detected that the best next-hop of any virtual next-hop is available through the failure detection, and the newly-triggered route calculation is not finished, the best next-hop of the virtual next-hop in the FIB is sent to the real next-hop table in the hardware layer. Therefore, within the route convergence time, the routes of all the prefixes corresponding to the virtual next-hop are switched to the best next-hop. [0047] For the convenience of distinguishing the function of the best next-hop and the second-best next-hop, a flag denoting that the failure detection is to be performed for the best next-hop may be configured for the best next-hop of each virtual next-hop in the FIB, and a flag denoting that the second-best next-hop is taken as the backup route is configured for the second-best next-hop of each virtual next-hop in the FIB. The flag denoting that the failure detection is to be performed may further include a type of the failure detection, and is used for distinguishing the type of the detection, such as the ARP detection and the BFD detection.
[0048] Figure 2 is a flow chart illustrating a method for implementing transmission path switching in accordance with an example of the present disclosure. As shown in figure 2, the method for implementing the transmission path switching takes the switching of the unicast route for example. The method includes the following blocks.
[0049] At block 201 at least one virtual next-hop is established, and at least one destination identity corresponding to each virtual next-hop is stored. Each virtual next-hop includes one best next-hop and one second-best next-hop. A next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of each virtual next-hop, and a next-hop of a second-best path of all the at least one destination identity corresponding to each virtual next-hop is a second-best next-hop of the virtual next-hop.
[0050] In this block, when the route calculation starts, the virtual next-hop is created in the FIB.
[0051 ] The best route and second-best route in this block may be a route of the OSPF protocol, a route of the IS-IS protocol, or a route of the BGP.
[0052] Furthermore, in this block, a flag denoting that failure detection is to be performed for the best next-hop and may further be configured for the best next-hop of each virtual next-hop in the FIB, and a flag denoting that the second-best next-hop is taken as the backup route may further be configured for the second-best next-hop of each virtual next-hop in the FIB. [0053] At block 202 path forwarding is performed for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop.
[0054] In this block, when the route calculation is finished, all the at least one destination identity corresponding to each virtual next-hop in the FIB, and the best next-hop of each virtual next-hop is sent to the hardware layer. Therefore, the path forwarding may be performed for all the at least one destination identity corresponding to each virtual next-hop in the hardware layer using the best next-hop of each virtual next-hop. In the alternative, all the at least one destination identity corresponding to each virtual next-hop in the FIB, and the best next-hop of each virtual next-hop are saved in a software table. In this way, the CPU may query the software table, and perform the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop. [0055] At block 203 failure detection is performed for the best next-hop of each virtual next-hop.
[0056] In this block, when the route calculation is finished, the failure detection is performed for the best next-hop of each virtual next-hop in the FIB. The failure detection may be the ARP detection or BFD detection. [0057] At block 204 when it is detected that the best next-hop of any virtual next-hop is failed, the path forwarding is performed for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
[0058] In block 202, if all the at least one destination identity corresponding to each virtual next-hop in the FIB, and the best next-hop of each virtual next-hop are sent to the hardware layer, the second-best next-hop of each virtual next-hop in the FIB is sent to the hardware layer. Therefore, the switching processing may be performed in the hardware layer, to switch the path from the best next-hop of the virtual next-hop to the second-best next-hop of the next-hop, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
[0059] In block 202, if all the at least one destination identity corresponding to each virtual next-hop in the FIB, and the best next-hop of each virtual next-hop are sent to the software table, the second-best next-hop of each virtual next-hop in the FIB is sent to the software table. Therefore, the CPU may query the software table, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
[0060] After the above switching process is finished, if it is detected that the above failed best next-hop of the virtual next-hop becomes the available best next-hop through the failure detection before the newly-triggered route calculation is finished, the best next-hop of the virtual next-hop in the FIB may be sent to the hardware layer. The hardware layer switches the path from the second-best next-hop to the best next-hop and performs the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop. In the alternative, the best next-hop of the virtual next-hop in the FIB is saved in the software table. The CPU switches the route from the second-best next-hop to the best next-hop and performs the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop.
[0061 ] The above method not only applies to the unicast route, but also applies to other technologies such as the MPLS. Accordingly, the route calculation, route forwarding, route switching, route switching-back and destination identities are respectively replaced with the path calculation, path forwarding, path switching, path switching-back and destination identities of other technologies such as the MPLS. In addition, as for the other technologies, such as the MPLS, the FIB may be replaced with corresponding media.
[0062] In the above description, all the destination identities corresponding to each virtual next-hop may be all the prefixes corresponding to each virtual next-hop. [0063] The above method for implementing the transmission path switching may be implemented with a computer program. In addition, an example of the present disclosure provides a device for implementing transmission path switching. The device includes a processor and a memory. [0064] The processor communicates with the memory, executes instructions saved in the memory. For example, the memory includes a virtual creating instruction to be executed to create at least one virtual next-hop; and record at least one destination identity corresponding to each virtual next-hop; wherein each virtual next-hop includes one best next-hop and one second-best next-hop, a next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of the virtual next-hop, and a next-hop of the second-best path of all the at least one destination identity corresponding to each virtual next-hop is the second-best next-hop of each virtual next-hop; a path sending instruction to be executed to perform path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop; a failure detecting instruction to be executed to perform failure detection for the best next-hop of each virtual next-hop; and a path switching instruction to be executed to perform, after detecting that the best next-hop of a virtual next-hop is failed with the failure detection, the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
[0065] Figure 3 is a schematic diagram illustrating structure of a device for implementing transmission path switching in accordance with an example of the present disclosure. As shown in figure 3, the device for implementing the transmission path switching in this example of the present disclosure includes a processor 300 and a memory 310.
[0066] The processor 300 communicates with the memory 310, and executes instructions saved in the memory 310. The memory 310 saves a virtual creating instruction 311 , a path sending instruction 312, a failure detecting instruction 313 and a path switching instruction 314. [0067] The virtual creating instruction 311 is executed to create, after the route calculation starts, at least one virtual next-hop, and record at least one destination identity corresponding to each virtual next-hop. Each virtual next-hop includes one best next-hop and one second-best next-hop. The next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of each virtual next-hop, and the next-hop of the second-best path of all the at least one destination identity corresponding to each virtual next-hop is the second-best next-hop of each virtual next-hop.
[0068] The virtual creating instruction 311 is further executed to configure a flag denoting that failure detection is to be performed for the best next-hop for the best next-hop of each virtual next-hop, and configure a flag denoting that the second-best next-hop is taken as a backup route for the second-best next-hop of each virtual next-hop. The flag denoting that the failure detection is to be performed may further include a type of the failure detection. The type of the failure detection includes the ARP detection and the BFD detection.
[0069] The path sending instruction 312 is executed to send, after the route calculation is finished, all the at least one destination identity corresponding to each virtual next-hop in the FIB and the best next-hop of each virtual next-hop to a hardware layer, so that the hardware layer performs the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop.
[0070] The path sending instruction 312 may be executed to send each virtual next-hop to the hardware layer, so that a corresponding relationship between all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of the virtual next-hop is established in the hardware layer.
[0071 ] Accordingly, the hardware layer may be configured with a virtual next-hop table for saving each virtual next-hop, a destination identity table for saving all the at least one destination identity of each virtual next-hop, and a real next-hop table for saving the best next-hop or second-best next-hop of each virtual next-hop.
[0072] The failure detecting instruction 313 is executed to perform failure detection for the best next-hop of each virtual next-hop after the route calculation is finished. [0073] The path switching instruction 314 is executed to send, when detecting that the best next-hop of any virtual next-hop is failed with the failure detection, the second-best next-hop of the virtual next-hop in the FIB to the hardware layer, so that the hardware perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
[0074] In the device shown in figure 3, the memory 310 may further include a path switching-back instruction 315. The path switching-back instruction 315 is executed to send, when detecting that the above failed best next-hop of the virtual next-hop becomes the available route with the failure detection, the best next-hop of the virtual next-hop in the FIB to the hardware layer, so that the hardware layer switches the route from the second-best next-hop to the best next-hop, and performs the path forwarding for all the at least one destination identity of the virtual next-hop using the best next-hop of the virtual next-hop.
[0075] The transmission path mentioned in the above device shown in figure 3 is a unicast route, and the destination identity is the prefix of the route. The best path is the best route, and the second-best path is the second-best route. The best route and the second-best route of each prefix are any kind of the following dynamic routes: the static routes, the OSPF protocol route, the IS-IS protocol routes, the BGP routes and the RIP routes. [0076] In the above description, when the route calculation is finished, all the destination identities corresponding to each virtual next-hop in the FIB and the best next-hop of each virtual next-hop are sent to the hardware layer. Therefore, in the hardware layer, the path forwarding is performed for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of the virtual next-hop. In the actual application, all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop may be saved in the software table. The CPU queries the software table, and performs the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop. The FIB may be a software table. Specifically, all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop may be saved in the FIB or at least one other software table.
[0077] When it is detected that the best next-hop of any virtual next-hop is failed with the failure detection, the second-best next-hop of the virtual next-hop is saved in the software table. Therefore, the CPU queries the software table, switches the path from the best next-hop of the virtual next-hop to the second-best next-hop of the virtual next-hop, and performs the path forwarding for all the at least one destination identity corresponding to virtual next-hop using the second-best next-hop of the virtual next-hop. If all the above destination identities corresponding to each virtual next-hop and the best next-hop of each virtual next-hop are saved in the FIB, the second-best next-hop of each virtual next-hop is saved in the FIB. If all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop are saved in the at least one other software table, the second-best next-hop of the virtual next-hop is saved in the at least one other software table.
[0078] If it is detected that the failed best next-hop of the virtual next-hop becomes the available route with the failure detection before the newly-triggered route calculation is finished, the best next-hop of the virtual next-hop is saved in the software table. The CPU switches the route from the second-best next-hop to the best next-hop, and performs the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop. In the above description, all the destination identities corresponding to each virtual next-hop may be all the prefixes corresponding to each virtual next-hop. If all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop are saved in the FIB, the best next-hop of each virtual next-hop is saved in the FIB. If all the above destination identities corresponding to each virtual next-hop and the best next-hop of each virtual next-hop are saved in at least one other software table, the best next-hop of the virtual next-hop is saved in at least one other software table. [0079] Figure 4 is a hardware architecture which may be used for the device shown in figure 3. As shown in figure 4, the hardware architecture may include a main control board and at least one interface board. The main control board includes a CPU and a first storage media. The CPU is to implement various processing of the main control board, and may provide a protocol layer for implementing the route calculation. The first storage media saves the FIB. Each interface board includes a processor, a second storage media, a forwarding chip and a port. The processor is to implement the various processing of the interface board. The second storage media also saves the FIB which is maintained simultaneously as that of the FIB in the main control board. The forwarding chip as the hardware layer performs the path forwarding through the port of the interface board. Accordingly, the CPU of the main control board may be included in the device shown in figure 3. The first storage media in figure 4, acting as the memory 310 in figure 3, stores the virtual creating instruction 311 , path sending instruction 312, failure detecting instruction 313, path switching instruction 314 and the path switching-back instruction 315. The CPU in figure 4, acting as the processor 300 in figure 3, executes the above instructions.
[0080] What has been described and illustrated herein are examples of the disclosure along with some variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the scope of the disclosure, which is intended to be defined by the following claims - and their equivalents - in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

Claims

WHAT IS CLAIMED IS:
1 . A method for implementing transmission path switching, comprising:
creating at least one virtual next-hop;
recording at least one destination identity corresponding to each virtual next-hop, wherein each virtual next-hop comprises one best next-hop and one second-best next-hop, a next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of each virtual next-hop, and a next-hop of the second-best path of all the at least one destination identity corresponding to each virtual next-hop is the second-best next-hop of each virtual next-hop;
performing path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop;
performing failure detection for the best next-hop of each virtual next-hop; and
performing, after detecting that the best next-hop of a virtual next-hop is failed with the failure detection, the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
2. The method of claim 1 , wherein performing the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop comprises:
sending all the at least one destination identity corresponding to each virtual next-hop, and the best next-hop of each virtual next-hop to a hardware layer, to enable the hardware layer to perform the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop; and
performing the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop comprises: sending the second-best next-hop of the virtual next-hop to the hardware layer, to enable the hardware layer to perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
3. The method of claim 1 , wherein performing the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop comprises:
saving all the at least one destination identity corresponding to each virtual next-hop, and the best next-hop of each virtual next-hop in a software table, to enable a CPU to query the software table, and perform the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop; and
performing the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop comprises:
saving the second-best next-hop of the virtual next-hop in the software table, to enable the CPU to query the software table, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
4. The method of claim 1 , further comprising:
configuring a flag denoting that failure detection is to be performed for the best next-hop of each virtual next-hop; and
configuring a flag denoting that the second-best next-hop is taken as a backup route for the second-best next-hop of each virtual next-hop.
5. The method of claim 4, wherein the flag denoting that the failure detection is to be performed for the best next-hop comprises: a type of the failure detection; and
the type of the failure detection comprises: Address Resolution Protocol (ARP) detection and Bidirectional Forwarding Detection (BFD) detection.
6. The method of claim 2, further comprising:
sending each virtual next-hop to the hardware layer, to establish a corresponding relationship between all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop in the hardware layer.
7. The method of claim 6, wherein the hardware layer is configured with a virtual next-hop table for saving each virtual next-hop, a destination identity table for saving all the at least one destination identity corresponding to each virtual next-hop, and a real next-hop table for saving the best next-hop or the second-best next-hop of each virtual next-hop.
8. The method of claim 2, further comprising:
sending, after detecting that the failed best next-hop of the virtual next-hop becomes an available route using failure detection, the best next-hop of the virtual next-hop to the hardware layer, to enable the hardware layer to switch the route from the second-best next-hop to the best next-hop, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop.
9. A device for implementing transmission path switching, comprising: a processor and a memory; wherein
the processor communicates with the memory, and executes instructions saved in the memory; wherein
the instructions comprise:
a virtual creating instruction to create at least one virtual next-hop, and record at least one destination identity corresponding to each virtual next-hop, wherein each virtual next-hop comprises one best next-hop and one second-best next-hop, a next-hop of the best path of all the at least one destination identity corresponding to each virtual next-hop is the best next-hop of the virtual next-hop, and a next-hop of the second-best path of all the at least one destination identity corresponding to each virtual next-hop is the second-best next-hop of each virtual next-hop; a path sending instruction to perform path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop;
a failure detecting instruction to perform failure detection for the best next-hop of each virtual next-hop; and
a path switching instruction to perform, after detecting that the best next-hop of a virtual next-hop is failed with the failure detection, the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
10. The device of claim 9, wherein
the path sending instruction is to send all the at least one destination identity corresponding to each virtual next-hop, and the best next-hop of each virtual next-hop to a hardware layer, to enable the hardware layer to perform the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop; and
the path switching instruction is to send the second-best next-hop of the virtual next-hop to the hardware layer, to enable the hardware layer to perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
11 . The device of claim 9, wherein
the path sending instruction is to save all the at least one destination identity corresponding to each virtual next-hop, and the best next-hop of each virtual next-hop in a software table, to enable a CPU to query the software table, and perform the path forwarding for all the at least one destination identity corresponding to each virtual next-hop using the best next-hop of each virtual next-hop; and
the path switching instruction is to save the second-best next-hop of the virtual next-hop in the software table, to enable the CPU to query the software table, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the second-best next-hop of the virtual next-hop.
12. The device of claim 9, wherein
the virtual creating instruction is to configure a flag denoting that failure detection is to be performed for the best next-hop for the best next-hop of each virtual next-hop, and configure a flag denoting that the second-best next-hop is taken as a backup route for the second-best next-hop of each virtual next-hop.
13. The device of claim 10, wherein
the path sending instruction is to send each virtual next-hop to the hardware layer, to establish a corresponding relationship between all the at least one destination identity corresponding to each virtual next-hop and the best next-hop of each virtual next-hop in the hardware layer.
14. The device of claim 13, wherein the hardware layer is configured with a virtual next-hop table for saving each virtual next-hop, a destination identity table for saving all the at least one destination identity corresponding to each virtual next-hop, and a real next-hop table for saving the best next-hop or the second-best next-hop of each virtual next-hop.
15. The device of claim 10, wherein the memory further comprises:
a path switching-back instruction to send, after detecting that the failed best next-hop of the virtual next-hop becomes an available route using failure detection, the best next-hop of the virtual next-hop to the hardware layer, to enable the hardware layer to switch the route from the second-best next-hop to the best next-hop, and perform the path forwarding for all the at least one destination identity corresponding to the virtual next-hop using the best next-hop of the virtual next-hop.
PCT/CN2013/071715 2012-04-05 2013-02-21 Transmission path switching WO2013149520A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP13772095.9A EP2834948A4 (en) 2012-04-05 2013-02-21 Transmission path switching
US14/372,718 US20150029834A1 (en) 2012-04-05 2013-02-21 Transmission path switching
US14/923,110 US20160050142A1 (en) 2012-04-05 2015-10-26 Transmission path switching

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210097672.XA CN102611628B (en) 2012-04-05 2012-04-05 For realizing the method and apparatus that transmission path switches
CN201210097672.X 2012-04-05

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/372,718 A-371-Of-International US20150029834A1 (en) 2012-04-05 2013-02-21 Transmission path switching
US14/923,110 Continuation US20160050142A1 (en) 2012-04-05 2015-10-26 Transmission path switching

Publications (1)

Publication Number Publication Date
WO2013149520A1 true WO2013149520A1 (en) 2013-10-10

Family

ID=46528791

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/071715 WO2013149520A1 (en) 2012-04-05 2013-02-21 Transmission path switching

Country Status (4)

Country Link
US (2) US20150029834A1 (en)
EP (1) EP2834948A4 (en)
CN (1) CN102611628B (en)
WO (1) WO2013149520A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611628B (en) * 2012-04-05 2015-08-05 杭州华三通信技术有限公司 For realizing the method and apparatus that transmission path switches
EP2802105B1 (en) * 2013-03-15 2016-05-18 Huawei Technologies Co., Ltd. Method, device, and system for convergence of dual-uplink tangent ring
CN103368712A (en) * 2013-07-18 2013-10-23 华为技术有限公司 Switchover method and device for main equipment and standby equipment
CN103428085A (en) * 2013-08-12 2013-12-04 杭州华三通信技术有限公司 Method and device for rapidly switching RIP (routing information protocol) routings
CN103490951A (en) * 2013-09-09 2014-01-01 神州数码网络(北京)有限公司 Bidirectional forwarding detection method in multi-hop link on basis of BFD
CN103532840B (en) * 2013-10-11 2017-01-25 杭州华三通信技术有限公司 Link switching method and link switching device
US9253079B2 (en) * 2013-10-11 2016-02-02 Telefonaktiebolaget L M Ericsson (Publ) High performance LFA path algorithms
CN104660502B (en) * 2015-03-16 2018-03-23 新华三技术有限公司 To the method and device of outside neighborhood of border gate protocol notice route
CN107864091B (en) * 2017-10-31 2020-04-03 新华三技术有限公司 Link failure processing method and device
US10447571B2 (en) 2018-01-12 2019-10-15 Cisco Technology, Inc. Dataplane-based seamless bidirectional forwarding detection monitoring for network entities
CN110971527B (en) * 2019-11-29 2020-10-16 新华三半导体技术有限公司 Routing information determination method and device
CN112511435B (en) * 2020-12-17 2022-09-23 四川灵通电讯有限公司 Method for realizing OSPF quick convergence in internal gateway protocol
CN114157606B (en) * 2021-12-09 2024-06-18 锐捷网络股份有限公司 Virtual network element device switching method, device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1261178A2 (en) * 2001-05-24 2002-11-27 Alcatel System and method for enhancing the availability of routing systems through equal cost multipath
CN101005452A (en) * 2006-12-22 2007-07-25 华为技术有限公司 Method and system for communication between IP devices
WO2012013022A1 (en) * 2010-07-29 2012-02-02 Hangzhou H3C Technologies Co., Ltd. A network device and method of routing traffic
CN102611628A (en) * 2012-04-05 2012-07-25 杭州华三通信技术有限公司 Method and device for converting transmission routes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8911395D0 (en) * 1989-05-18 1989-07-05 British Telecomm Data communications network
CN1207878C (en) * 2002-10-14 2005-06-22 港湾网络有限公司 Routing table compression method
CN1909501A (en) * 2005-08-05 2007-02-07 华为技术有限公司 Method for end to end service rapid convergence and route device
US7765306B2 (en) * 2006-01-30 2010-07-27 Cisco Technology, Inc. Technique for enabling bidirectional forwarding detection between edge devices in a computer network
US7813265B2 (en) * 2006-03-09 2010-10-12 Cisco Technology, Inc. Backup BGP paths for non-multipath BGP fast convergence
CN1933448A (en) * 2006-08-17 2007-03-21 华为技术有限公司 Business fast convergent method and network equipment
US8121032B2 (en) * 2008-05-30 2012-02-21 Cisco Technology, Inc. Efficient convergence of grouped VPN prefixes
US7936667B2 (en) * 2009-01-05 2011-05-03 Cisco Technology, Inc. Building backup tunnels for fast reroute in communications networks
US8165121B1 (en) * 2009-06-22 2012-04-24 Juniper Networks, Inc. Fast computation of loop free alternate next hops
CN101877677B (en) * 2010-06-25 2014-08-13 中兴通讯股份有限公司 Tunnel switching method and system for multi-protocol label switching services
EP2656550B1 (en) * 2010-12-21 2016-03-30 Telefonaktiebolaget LM Ericsson (publ) Network node hosting a plurality of connectivity supervision sessions towards a plurality of router interfaces
CN102377680B (en) * 2011-12-06 2014-03-26 杭州华三通信技术有限公司 Route convergence method and device
US8861340B1 (en) * 2012-03-12 2014-10-14 Juniper Networks, Inc. Fast reroute using maximally redundant trees
US9178798B2 (en) * 2012-05-09 2015-11-03 Juniper Networks, Inc. Fast reroute using loop free alternate next hops for multipoint label switched paths

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1261178A2 (en) * 2001-05-24 2002-11-27 Alcatel System and method for enhancing the availability of routing systems through equal cost multipath
CN101005452A (en) * 2006-12-22 2007-07-25 华为技术有限公司 Method and system for communication between IP devices
WO2012013022A1 (en) * 2010-07-29 2012-02-02 Hangzhou H3C Technologies Co., Ltd. A network device and method of routing traffic
CN102611628A (en) * 2012-04-05 2012-07-25 杭州华三通信技术有限公司 Method and device for converting transmission routes

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN102611628A (en) 2012-07-25
US20150029834A1 (en) 2015-01-29
CN102611628B (en) 2015-08-05
EP2834948A1 (en) 2015-02-11
US20160050142A1 (en) 2016-02-18
EP2834948A4 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
US20160050142A1 (en) Transmission path switching
US20230353490A1 (en) Method and Apparatus for Processing Transmission Path Fault, and System
US9838246B1 (en) Micro-loop prevention using source packet routing
KR102589957B1 (en) Method for processing transmission path failure, apparatus, and system
US8989048B2 (en) Node system ID change in link state protocol network
US9401858B2 (en) Loop avoidance during network convergence in switched networks
US9369371B2 (en) Method and system for path monitoring using segment routing
US8576721B1 (en) Local forwarding bias in a multi-chassis router
CN102638389B (en) The redundancy backup method and system of a kind of TRILL network
US9344359B1 (en) Ingress protection for multipoint label switched paths
US10771380B2 (en) Fast control path and data path convergence in layer 2 overlay networks
US10469372B2 (en) Segment-routing multiprotocol label switching end-to-end dataplane continuity
US20130094357A1 (en) Fhrp optimizations for n-way gateway load balancing in fabric path switching networks
WO2016086713A1 (en) Equal-cost multi-path outbound interface update method and apparatus
WO2008083590A1 (en) Method and apparatus of rapid convergence of point-to-point service
JP5625121B2 (en) Prioritizing routing information updates
CA3104756C (en) Loop avoidance communications method, device, and system
CA3108103A1 (en) Communication method, communications device, and communications system
US11546252B2 (en) Fast flooding topology protection
JP2016508010A (en) Method and apparatus for IP / MPLS fast reroute
US9065757B2 (en) Network device and method of routing traffic
CN110430131B (en) Message forwarding method and device
WO2024001633A1 (en) Network management method and device, network element, and computer readable storage medium
US10735252B2 (en) Outside router fault detection
CN109039908B (en) Recursive routing switching method, router, switch and electronic equipment

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2013772095

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013772095

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14372718

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE