A heterogeneous route switching method and device

By constructing virtual hop blocks and pre-setting primary and backup routes, the problems of long switching time and instability of heterogeneous routes are solved, achieving fast and stable route switching and avoiding communication interruption.

CN118101558BActive Publication Date: 2026-01-13RUIJIE NETWORKS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211460084.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-17
Publication Date
2026-01-13
Estimated Expiration
2042-11-17

AI Technical Summary

Technical Problem

During heterogeneous routing switching, existing technologies suffer from time-consuming resource reallocation and unstable switching, which can easily lead to communication interruptions, especially in high-capacity scenarios.

Method used

By constructing virtual hop blocks, heterogeneous routes can be configured to have the same or higher routing level. Primary and backup routes are pre-configured in the hardware, and flags are updated to enable rapid switching when a failure occurs.

Benefits of technology

It enables fast and stable switching of heterogeneous routes, avoids the risk of switching failure and communication interruption caused by resource reallocation, and improves switching performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118101558B_ABST
    Figure CN118101558B_ABST
Patent Text Reader

Abstract

The application provides a heterogeneous route switching method and device, which is applied to at least two heterogeneous routes and comprises the following steps: obtaining route level numbers of a first route and a second route, wherein the route level number of the first route is greater than the route level number of the second route; constructing at least one virtual hop block for the second route according to the route level number of the first route, so that the route level number of the second route is the same as or one level higher than the route level number of the first route; the highest route level of the at least one virtual hop block points to the second highest route level of the virtual hop block of the second route, and points to the hop block of the first route which has the same route level as the second highest route level of the virtual hop block of the second route; and switching between the first route and the second route through the highest route level of the at least one virtual hop block. By using the above method, the quick and stable switching of the route in the heterogeneous networking scene of different bearing technologies can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, and in particular to a heterogeneous route switching method and device. BACKGROUND

[0002] With the rapid development of communication technology, network conference, online live broadcast, remote medical treatment and other services have higher and higher requirements for real-time performance. When a port of a line card in a network device fails, in order to ensure normal forwarding of a message, route switching needs to be performed, so that a route in which the failed port is located is switched to a route in which a normal port is located, and the message is forwarded through the normal port. At present, segment routing based on multi-protocol label switching (segment routing mpls, SR-MPLS) and segment routing based on an ipv6 forwarding plane (segment routing v6, SRV6) coexist, and there are many heterogeneous networking scenarios composed of different bearing technologies.

[0003] Due to different structures of routes of different bearing technologies, hardware fast switching (referred to as fast switching) cannot be used, and the performance of software fast switching is far lower than that of hardware fast switching. In addition, it takes time to reallocate and set resources, and the larger the capacity of the scene is, the greater the gap between the software fast switching and the hardware fast switching is. In addition, in the process of reallocating resources, the software fast switching in a large-capacity scene is prone to resource shortage or other situations, which can lead to switching failure. Moreover, once the resource allocation fails, communication interruption and other problems can be caused.

[0004] In summary, there is an urgent need for a heterogeneous route switching method that can realize fast and stable switching of routes in a heterogeneous networking scenario of different bearing technologies. SUMMARY

[0005] The present application provides a heterogeneous route switching method and device to solve the problem of long time consumption in reallocating and setting resources and unstable switching in a heterogeneous networking scenario of different bearing technologies.

[0006] In a first aspect, the present application provides a heterogeneous route switching method, which is applied to at least two heterogeneous routes. The method comprises the following steps:

[0007] obtaining a route level number of a first route and a route level number of a second route, wherein the first route and the second route are heterogeneous routes, and the route level number of the first route is greater than the route level number of the second route;

[0008] At least one virtual hop block is constructed for the second route based on the routing level of the first route, such that the routing level of the second route is the same as that of the first route or the routing level of the second route is one level higher than that of the first route; wherein, the virtual hop block of the highest routing level in the at least one virtual hop block points to the virtual hop block of the second highest routing level in the second route, and points to the hop block of the first route that has the same routing level as the virtual hop block of the second highest routing level in the second route;

[0009] Switching between the first route and the second route is achieved through the highest-level virtual hop block in the at least one virtual hop block.

[0010] Existing technologies for switching from a primary route to a heterogeneous secondary route involve configuring a new hardware forwarding table entry, including hop blocks, on the secondary route after a failure on the primary route, and then setting a prefix to point to this new hardware forwarding table entry. However, this method doesn't allow for direct switching between the primary and secondary routes after a failure; the secondary route must be configured first, which is time-consuming. The design described above uses hardware fast switching for heterogeneous route switching. After expanding the routing hierarchy of the heterogeneous routes, primary and backup routes are pre-configured in the hardware. During heterogeneous route switching, the switch from the primary route to the backup route can be completed directly without requiring further route configuration during the switching process, thus significantly improving the switching speed.

[0011] In one possible design, at least one virtual hop block is constructed for the second route based on the routing level of the first route, so that the routing level of the second route is the same as that of the first route, including:

[0012] When the routing level of the first route is equal to the preset maximum routing level, at least one virtual hop block is constructed for the second route based on the routing level of the first route, so that the routing level of the second route is the same as the routing level of the first route.

[0013] In one possible design, if the highest-level hop block in the first route includes N hops, the highest-level virtual hop block in the at least one virtual hop block includes N hops, where N is an integer greater than or equal to 2.

[0014] The N hops in the highest-level hop block of the first route point to the N hop blocks of the second-highest-level hop block of the first route.

[0015] The N hops in the highest-level virtual hop block of the at least one virtual hop block point to the N hop blocks of the second-highest-level virtual hop block in the first route, and together point to the virtual hop block of the second-highest-level virtual hop block in the second route.

[0016] With this design, service flows are allocated according to hop blocks with multipath before route switching. During route switching, there is no need to re-allocate service flows. Instead, the switch can be made directly from the primary route to the backup route, thus avoiding the risk of service flow interruption due to service flow allocation failure during the switch.

[0017] In one possible design, at least one virtual hop block is constructed for the second route based on the routing level of the first route, such that the routing level of the second route is one level higher than that of the first route, including:

[0018] When the routing level of the first route is less than the preset maximum routing level, at least one virtual hop block is constructed for the second route based on the routing level of the first route, so that the routing level of the second route is one level higher than the routing level of the first route.

[0019] In one possible design, switching between the first route and the second route via the highest-level virtual hop block in the at least one virtual hop block includes:

[0020] When the flag indicates the first route, the user switches from the second route to the first route via the highest-level virtual hop block among the at least one virtual hop blocks;

[0021] When the flag indicates the second route, the user switches from the first route to the second route via the highest-level virtual hop block among the at least one virtual hop blocks;

[0022] With the above design, in a scenario with one primary and one backup router, the primary and backup routers are pre-configured and associated with flags. In the event of a failure, updating the flags enables a quick switch to the backup router, improving switching performance and reducing the time required for switching heterogeneous routes.

[0023] In one possible design, the first route is a multi-protocol labelswitching (MPLS) cascaded route, and the second route is an Internet Protocol (IP) single-level route.

[0024] Secondly, this application provides a heterogeneous routing switching device, which is a heterogeneous routing platform or a chip for performing the functions of a heterogeneous routing platform. The device includes a processing unit and a transceiver unit.

[0025] The transceiver unit is used to obtain the routing level number of the first route and the routing level number of the second route, wherein the first route and the second route are heterogeneous routes, and the routing level number of the first route is greater than the routing level number of the second route;

[0026] The processing unit is configured to construct at least one virtual hop block for the second route based on the routing level of the first route, such that the routing level of the second route is the same as the routing level of the first route or the routing level of the second route is one level higher than the routing level of the first route; wherein, the virtual hop block of the highest routing level in the at least one virtual hop block points to the virtual hop block of the second highest routing level in the second route, and points to the hop block of the first route that has the same routing level as the virtual hop block of the second highest routing level in the second route;

[0027] Switching between the first route and the second route is achieved through the highest-level virtual hop block in the at least one virtual hop block.

[0028] In one possible design, the processing unit is configured to construct at least one virtual hop block for the second route based on the routing level of the first route, so that the routing level of the second route is the same as the routing level of the first route, and when the routing level of the first route is equal to a preset maximum routing level, construct the at least one virtual hop block for the second route based on the routing level of the first route, so that the routing level of the second route is the same as the routing level of the first route.

[0029] In one possible design, if the highest-level hop block in the first route includes N hops, the virtual hop block of the highest-level hop block in the at least one virtual hop block is N hops, where N is an integer greater than or equal to 2.

[0030] The N hops in the highest-level hop block of the first route point to the N hop blocks of the second-highest-level hop block of the first route.

[0031] The N hops in the highest-level virtual hop block of the at least one virtual hop block point to the N hop blocks of the second-highest-level virtual hop block in the first route, and together point to the virtual hop block of the second-highest-level virtual hop block in the second route.

[0032] In one possible design, the processing unit is configured to construct at least one virtual hop block for the second route based on the routing level of the first route, such that the routing level of the second route is one level higher than the routing level of the first route, and when the routing level of the first route is less than the preset maximum routing level, to construct at least one virtual hop block for the second route based on the routing level of the first route, such that the routing level of the second route is one level higher than the routing level of the first route.

[0033] In one possible design, the processing unit is configured to, when switching between the first route and the second route via the highest-level virtual hop block among the at least one virtual hop blocks, switch from the second route to the first route via the highest-level virtual hop block among the at least one virtual hop blocks when the flag indicates the first route;

[0034] When the flag indicates the second route, the user switches from the first route to the second route via the highest-level virtual hop block among the at least one virtual hop blocks.

[0035] In one possible design, the first route is an MPLS cascaded route, and the second route is an IP single-level route.

[0036] The technical effects of the device in the second aspect can be seen in the technical effects of the different implementation methods in the first aspect, and will not be repeated here.

[0037] Thirdly, this application also provides an apparatus. This apparatus can perform the above-described method design. The apparatus may be a chip or circuit capable of performing the functions corresponding to the above-described method, or a device including the chip or circuit.

[0038] In one possible implementation, the device includes: a memory for storing computer-executable program code; and a processor coupled to the memory. The program code stored in the memory includes instructions that, when executed by the processor, cause the device or a device equipped with the device to perform any of the methods described above.

[0039] The device may also include a communication interface, which may be a transceiver, or, if the device is a chip or circuit, the communication interface may be the chip's input / output interface, such as input / output pins.

[0040] In one possible design, the device includes corresponding functional units, each used to implement the steps in the above method. The functions can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the functions described above.

[0041] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when run on a device, executes the method described in any of the above possible designs.

[0042] Furthermore, the technical effects of any of the implementation methods in the third to fourth aspects can be found in the technical effects of different implementation methods in the first aspect, and will not be repeated here. Attached Figure Description

[0043] Figure 1 A flowchart of a heterogeneous routing switching method provided in an embodiment of the present invention;

[0044] Figure 2 This is a schematic diagram of a heterogeneous routing system;

[0045] Figure 3 This is a schematic diagram illustrating a route-level expansion based on heterogeneous routing, provided as an embodiment of the present invention.

[0046] Figure 4 This is a schematic diagram illustrating another method for expanding the routing level based on heterogeneous routing, as provided in an embodiment of the present invention.

[0047] Figure 5 This is a schematic diagram illustrating heterogeneous routing hardware switching as provided in an embodiment of the present invention;

[0048] Figure 6 This is a schematic diagram illustrating another heterogeneous routing hardware switching method provided in an embodiment of the present invention.

[0049] Figure 7 This is a schematic diagram illustrating heterogeneous routing software switching as provided in an embodiment of the present invention;

[0050] Figure 8 This is a schematic diagram illustrating the steps of a heterogeneous routing switching method provided in an embodiment of the present invention;

[0051] Figure 9 This invention also provides an apparatus;

[0052] Figure 10 The present invention also provides another device. Detailed Implementation

[0053] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0054] The application scenarios described in the embodiments of this invention are for the purpose of more clearly illustrating the technical solutions of the embodiments of this invention, and do not constitute a limitation on the technical solutions provided by the embodiments of this invention. Those skilled in the art will understand that with the emergence of new application scenarios, the technical solutions provided by the embodiments of this invention are also applicable to similar technical problems. In the description of this invention, unless otherwise stated, "multiple" means two or more.

[0055] In existing heterogeneous routing handover schemes, software handover is employed. For example, routing handover occurs between MPLS cascaded routing and IP single-level routing. The MPLS cascaded routing has at least one hop block, and each hop block has at least one hop. When any hop block in the MPLS cascaded routing fails, a switch to IP single-level routing is required for packet forwarding. Here, the MPLS cascaded routing and IP single-level routing are heterogeneous routes, with the MPLS cascaded routing being the primary route and the IP single-level routing being the backup route.

[0056] Specifically, the failure of any hop block in an MPLS cascaded routing structure means that at least one hop in that hop block has failed. For example, if the hop block has only one hop, then that hop has failed; if the hop block has multiple hops, then all of those hops have failed.

[0057] Currently, when switching from MPLS cascaded routing to IP single-level routing, a new hardware forwarding table entry, including hop blocks, is set on the IP single-level routing, and then a prefix is ​​set to point to the new hardware forwarding table entry. This heterogeneous routing switching method cannot directly switch between MPLS cascaded routing and IP single-level routing when a fault occurs. Instead, the IP single-level routing must be configured first, which results in a long switching time between heterogeneous routes.

[0058] This application provides a heterogeneous routing switching method and apparatus, which can realize fast and stable switching of routes in heterogeneous networking scenarios with different bearer technologies.

[0059] This heterogeneous route switching method is specifically applied to at least two heterogeneous routes.

[0060] For example, Figure 1The flowchart of a heterogeneous routing switching method provided by an embodiment of the present invention is shown.

[0061] Step S11: Obtain the routing level of the first route and the routing level of the second route, wherein the first route and the second route are heterogeneous routes, and the routing level of the first route is greater than the routing level of the second route.

[0062] For example, Figure 2 A schematic diagram of heterogeneous routing is shown.

[0063] The first route is an MPLS cascaded structure route, which is the primary route. The second route is an IP single-level structure route, which is the backup route. Figure 2 As shown, an MPLS cascaded routing structure includes hop blocks in the third routing level, hop blocks in the second routing level, and hop blocks in the first routing level. In an MPLS cascaded routing structure, the prefix is ​​set to point to the hop blocks in the third routing level, the hop blocks in the third routing level point to the hop blocks in the second routing level, and the hop blocks in the second routing level point to the hop blocks in the first routing level. An IP single-level routing structure includes hop blocks in the first routing level. In an IP single-level routing structure, the prefix is ​​directly set to point to the hop blocks in the first routing level.

[0064] in, Figure 2 The MPLS cascaded routing structure has 3 routing levels, or it can be described as consisting of hop blocks from three different routing levels: hop blocks from the third routing level, hop blocks from the second routing level, and hop blocks from the first routing level. The IP single-level routing structure has 1 routing level, or it can be described as consisting of hop blocks from only one routing level, namely, hop blocks from the first routing level.

[0065] It is understood that a jump block is also called a next-hop block, and this application does not limit this; a jump block is a set of jumps, and a jump can also be called the next hop, and a next-hop block is a set of next hops, and this application does not limit this. Among them, a jump block that includes only one hop is a single path, and a jump block that includes multiple hops is a multipath.

[0066] Step S12: Construct at least one virtual hop block for the second route based on the routing level of the first route, so that the routing level of the second route is the same as that of the first route or the routing level of the second route is one level higher than that of the first route.

[0067] For example, the original hop blocks on the first and second routes can correspond to actual routers, and this application does not limit this. For example, the constructed virtual hop block can be understood as a virtual router constructed by occupying hardware resources, and its function is the same as the original hop block.

[0068] In one possible implementation, when the routing level of the first route is equal to the preset maximum routing level, at least one virtual hop block is constructed for the second route based on the routing level of the first route, so that the routing level of the second route is the same as that of the first route.

[0069] It is understood that the preset maximum number of routing levels is not a fixed value, but is determined according to the actual application scenario. For example, the preset maximum number of routing levels can be three, and this application does not limit it.

[0070] For example, Figure 3 This diagram illustrates a method for expanding the number of routing levels based on heterogeneous routing, as provided in an embodiment of the present invention. MPLS cascaded routing typically contains two or three routing levels of hop blocks. For example, assuming the preset maximum number of routing levels in an MPLS cascaded routing structure is three, such as... Figure 3 The MPLS cascaded routing structure shown has hop blocks at the first, second, and third routing levels; that is, the number of routing levels in an MPLS cascaded routing structure equals the preset maximum number of routing levels. An IP single-level routing structure has only one routing level hop block, such as... Figure 3 The IP single-level routing structure shown only contains hop blocks at the first routing level.

[0071] Since the number of routing levels in an MPLS cascaded routing structure is the preset maximum number of routing levels, a virtual hop block is added to the second and third routing levels of the original IP single-level routing structure, so that the number of routing levels of the two heterogeneous routes is the same.

[0072] In one possible implementation, when the routing level of the first route is less than the preset maximum routing level, at least one virtual hop block is constructed for the second route based on the routing level of the first route, so that the routing level of the second route is one level higher than that of the first route.

[0073] For example, Figure 4 This diagram illustrates another method for expanding the routing level based on heterogeneous routing, as provided in an embodiment of the present invention.

[0074] like Figure 4 The MPLS cascaded routing structure shown has hop blocks at the first and second routing levels. Assuming the preset maximum number of routing levels for the MPLS cascaded routing structure is three (meaning the number of routing levels in the MPLS cascaded routing structure is less than the preset maximum), the IP single-level routing structure only has hop blocks at the first routing level. Figure 4As shown, a virtual hop block is added to and allocated to the second and third routing levels of the original IP single-level structure routing, so that the number of routing levels of the expanded IP single-level structure routing is one level higher than that of the MPLS cascaded structure routing.

[0075] The virtual hop block at the highest routing level in the expanded and allocated virtual hop block points to the virtual hop block at the second highest routing level in the second route, and points to the hop block in the first route that has the same routing level as the virtual hop block at the second highest routing level in the second route.

[0076] For example, Figure 5 This diagram illustrates a heterogeneous routing hardware switching method provided by an embodiment of the present invention.

[0077] like Figure 5 The heterogeneous routing shown has been performed as follows Figure 4 The route level expansion shown includes virtual hop blocks for IP single-level structure routes at the third route level, virtual hop blocks for IP single-level structure routes at the second route level, and hop blocks for MPLS cascade structure routes at the second route level, thus completing the construction of primary and backup routes.

[0078] For example, the route that points from a virtual hop block on the third routing level via an IP single-level structure route to a hop block on the second routing level via an MPLS cascaded structure route is the primary route, and the route that points from a virtual hop block on the third routing level via an IP single-level structure route to a virtual hop block on the second routing level via an IP single-level structure route is the backup route.

[0079] For example, Figure 6 This diagram illustrates another heterogeneous routing hardware switching method provided by an embodiment of the present invention.

[0080] like Figure 6 The heterogeneous routing shown has been performed as follows Figure 3 The routing level expansion shown is as follows: the routing level of MPLS cascaded structure routes remains three levels, while the routing level of IP single-level structure routes becomes three levels. MPLS cascaded structure routes have hop blocks at the third routing level, and these hop blocks have only one hop, i.e., they are single-path.

[0081] The virtual hop block of the IP single-level structure route on the third routing level points to the hop block of the MPLS cascaded structure route on the second routing level, replacing the function of the original hop block of the MPLS cascaded structure route on the third routing level; the virtual hop block of the IP single-level structure route on the third routing level also points to the virtual hop block of the IP single-level structure route on the second routing level, thus completing the construction of the primary and backup routes.

[0082] For example, the virtual hop block of the IP single-level structure route on the third routing level points to the hop block of the MPLS cascaded structure route on the second routing level as the primary route; the virtual hop block of the IP single-level structure route on the third routing level also points to the virtual hop block of the IP single-level structure route on the second routing level as the backup route.

[0083] Step S13: Switch between the first route and the second route via the highest-level virtual hop block in at least one virtual hop block.

[0084] In one possible implementation, when the flag indicates the first route, the user switches from the second route to the first route via the highest-level virtual hop block in at least one virtual hop block;

[0085] When the flag indicates a second route, the user switches from the first route to the second route via the highest-level virtual hop block in at least one virtual hop block.

[0086] For example, the first route is associated with the second route with a flag to complete the hardware fast switch adaptation.

[0087] Among them, the first route and the second route are associated with a flag bit, which is a flag bit for associating failover objects, such as... Figure 5 and Figure 6 The first route and the second route are associated failover objects, that is, the first route and the second route are associated flag bits.

[0088] With this design, in a scenario with one primary and one backup router, the primary and backup routers are pre-configured in the hardware and associated with a flag. After a failure occurs, updating the flag enables a quick switch to the backup path, which can shorten the time required for heterogeneous route switching.

[0089] For example, the first route is the primary route, and the second route is the backup route. Packets are forwarded by the first route. The first and second routes are pre-configured and associated with flags. When the first route fails, simply updating the flags is sufficient to switch from the first route to the second route. Similarly, if the second route is the primary route and the first route is the backup route, and packets are forwarded by the second route, when the second route fails and a switch to the first route is needed, simply updating the flags is also sufficient to switch from the second route to the first route.

[0090] In another possible scenario, if the highest-level hop block in the first route includes multiple hops, then the first route and the second route cannot perform hardware fast switching, and can only switch between heterogeneous routes by software switching.

[0091] For example, the number of routing levels in the first route is greater than the preset maximum number of routing levels. The hop block of the highest routing level in the first route includes multiple hops, that is, the hop block on the highest routing level is multi-path, and the switching between heterogeneous routes can only be carried out by software switching.

[0092] For example, when the routing level of the first route is equal to the preset maximum routing level, at least one virtual hop block is constructed for the second route based on the routing level of the first route, so that the routing level of the second route is the same as that of the first route. If the highest routing level hop block in the first route includes N hops, then only software switching can be performed between the first route and the second route.

[0093] In one possible implementation, if the highest-level hop block in the first route includes N hops, at least one virtual hop block in the highest-level hop block includes N hops, where N is an integer greater than or equal to 2.

[0094] The N hops in the highest-level hop block of the first route point to the N hop blocks of the second-highest-level hop block of the first route;

[0095] The N hops in the highest-level virtual hop block of at least one virtual hop block point to the N hop blocks of the second-highest-level virtual hop block in the first route, and together point to the virtual hop block of the second-highest-level virtual hop block in the second route.

[0096] For example, Figure 7 This diagram illustrates a heterogeneous routing software switching method provided by an embodiment of the present invention.

[0097] like Figure 7 The heterogeneous routes shown are as follows: the first route is an MPLS cascaded structure route with three routing levels, and the second route is an IP single-level structure route with one routing level.

[0098] For example, an IP single-level routing structure is the primary route, and an MPLS cascaded routing structure is the secondary route. The MPLS cascaded routing structure has a hop block at the third routing level, and this hop block has at least two hops, meaning it is a multipath hop block. Figure 7 As shown, the hops of the MPLS cascaded route at the highest routing level have two hops that point to the two hops of the MPLS cascaded route at the second routing level, and the two hops of the MPLS cascaded route at the second routing level point to the two hops of the MPLS cascaded route at the first routing level.

[0099] Using existing technology, when the IP single-level routing fails, it can switch to the MPLS cascaded routing. Since the hop block of the MPLS cascaded routing at the highest routing level is multipath, two packet forwarding service flows need to be requested for the MPLS cascaded routing during the switching process. At this time, there is the overhead of reallocating service flows and the risk that the packet service flow will be interrupted if the allocation fails.

[0100] For example Figure 7 The heterogeneous routes shown are expanded in terms of routing level. The routing level of the MPLS cascaded structure route remains three levels, while the routing level of the IP single-level structure route is expanded to three levels.

[0101] The virtual hop block, which extends the third routing level of an IP single-level routing architecture, has the same number of hops as the hop block in the third routing level of an MPLS cascaded routing architecture, such as... Figure 7 As shown, the virtual hop block extended on the third routing level of the IP single-level routing structure has two hops.

[0102] like Figure 7 As shown, the virtual hop block on the third routing level of the IP single-level structure route has two hops. These two hops point to two hop blocks on the second routing level of the MPLS cascaded structure route, respectively, replacing the function of the original hop block on the third routing level of the MPLS cascaded structure route. The two hops of the virtual hop block on the third routing level of the IP single-level structure route also jointly point to the virtual hop block on the second routing level of the IP single-level structure route.

[0103] With this design, before a fault occurs, because the IP single-level structure route with expanded routing levels has two hops in the hop block at the third routing level, during the packet forwarding process by the IP single-level structure route, both hops at the third routing level participate in packet forwarding. The two hops both point to a virtual hop block at the second routing level of the IP single-level structure route. At this time, the packet service flows that each hop participates in forwarding are merged on a virtual hop block at the second routing level of the IP single-level structure route, and then the packet forwarding is completed sequentially along the IP single-level structure route.

[0104] When a fault occurs, the IP single-level routing is switched to MPLS cascaded routing, changing packet forwarding from IP single-level routing to MPLS cascaded routing. After two hops in the third routing level of the IP single-level routing, packets are transmitted to the two-hop blocks of the MPLS cascaded routing in the second routing level. Since the two hops in the third routing level of the IP single-level routing participated in the service flow transmission process during the IP single-level routing, there is no need to re-allocate service flows during the route switch. Because the two hops in the third routing level of the IP single-level routing point to the two hop blocks of the MPLS cascaded routing in the second routing level, the service flows transmitted by the two hops in the third routing level of the IP single-level routing are respectively transmitted to the hop blocks pointed to by the MPLS cascaded routing in the second routing level. Afterward, the service flow transmission is completed along the MPLS cascaded routing path.

[0105] With this design, service flows are allocated according to hop blocks with multipath before route switching. During route switching, there is no need to re-allocate service flows. Instead, the switch can be made directly from the primary route to the backup route, thus avoiding the risk of service flow interruption due to service flow allocation failure during the switch.

[0106] Figure 8 An exemplary schematic diagram of the steps of a heterogeneous routing switching method provided by an embodiment of the present invention is shown.

[0107] like Figure 8 The method shown includes:

[0108] Step S21: Obtain the routing level of the first route and the routing level of the second route, wherein the first route and the second route are heterogeneous routes, and the routing level of the first route is greater than the routing level of the second route.

[0109] Step S22: Determine if the routing level of the first route is less than or equal to the preset maximum routing level. Specifically, if the routing level of the first route is equal to the preset maximum routing level, proceed to step S24; if the routing level of the first route is less than the preset maximum routing level, proceed to step S23.

[0110] Step S23: Construct at least one hop block for the second route based on the routing level of the first route, so that the routing level of the second route is one level higher than that of the first route. Specifically, the highest-level hop block in the at least one hop block constructed for the second route points to the second-highest-level hop block in the second route level, and also points to a hop block in the first route level that has the same routing level as the second-highest-level hop block in the second route level.

[0111] Step 23 is followed by step 27.

[0112] Step S24: Determine whether the hop block of the first route at the highest routing level is multipath.

[0113] Specifically, if the first route's hop block at the highest routing level is multipath, proceed to step S25; if the first route's hop block at the highest routing level is singlepath, proceed to step S26.

[0114] Step S25: Construct at least one hop block for the second route based on the routing level of the first route, so that the routing level of the second route is the same as that of the first route. When the highest routing level hop block in the first route includes N hops, the highest routing level hop block in the at least one hop block constructed in the second route also includes N hops.

[0115] The N hops in the highest-level hop block of the first route point to the N hop blocks of the second-highest-level hop block of the first route;

[0116] The N hops in the highest-level hop block of at least one hop block in the second route construction point to the N hop blocks of the second-highest-level hop block in the first route, and together point to the hop block of the second-highest-level hop block in the second route.

[0117] Step 25 is followed by step 28.

[0118] Step S26: Construct at least one hop block for the second route based on the routing level of the first route, so that the routing level of the second route is the same as that of the first route. Specifically, the highest-level hop block in the at least one hop block constructed for the second route points to the second-highest-level hop block in the second route level, and also points to a hop block in the first route level that has the same routing level as the second-highest-level hop block in the second route level.

[0119] Step 26 is followed by step 27.

[0120] Step S27: After the primary route in the first route and the second route fails, perform hardware fast switching between the first route and the second route.

[0121] Step S28: After the primary route in the first route and the second route fails, perform a software switch between the first route and the second route.

[0122] Existing heterogeneous route switching methods cannot utilize hardware fast switching, and software switching performance is inherently inferior to hardware fast switching. Due to the different routing structures, reallocating and configuring resources requires significant time. The above design pre-configures primary and backup forwarding paths in the hardware and associates them with failover objects. When a route fails and a route switchover is needed, only a flag bit needs to be updated to initiate the pre-configured switch between primary and backup routes, achieving fast and stable switching. This design optimizes software switching for heterogeneous routes. Before the switchover, packet forwarding on the primary route allocates packet traffic based on the hop block with the most paths. During the switchover, there is no need to reallocate packet traffic; the switchover can directly proceed to the backup route, ensuring that there is no risk of traffic interruption due to allocation failure during the switchover.

[0123] The division of units in the embodiments of this invention is illustrative and represents only one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this invention can be integrated into a single processor, exist as separate physical units, or be integrated into a single unit. The integrated units described above can be implemented in hardware or as software functional units.

[0124] This invention also provides a device 300, see [link to device 300]. Figure 9 As shown, it includes: a processing module 310 and a transceiver module 320.

[0125] The transceiver module 320 may include a receiving unit and a transmitting unit. The processing module 310 is used to control and manage the operation of the device 300. The transceiver module 320 is used to support communication between the device 300 and other devices. Optionally, the device 300 may also include a storage unit for storing the program code and data of the device 300.

[0126] Optionally, each module in the device 300 can be implemented by software.

[0127] Optionally, the processing module 310 may be a processor or controller, such as a general-purpose central processing unit (CPU), a general-purpose processor, a digital signal processing unit (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The transceiver module 320 may be a communication interface, a transceiver, or a transceiver circuit, etc., wherein the communication interface is a general term, and in a specific implementation, the communication interface may include multiple interfaces, and the storage unit may be a memory.

[0128] The processing module 310 is configured to construct at least one virtual hop block for the second route based on the routing level of the first route, such that the routing level of the second route is the same as that of the first route or the routing level of the second route is one level higher than that of the first route; wherein, the virtual hop block of the highest routing level in the at least one virtual hop block points to the virtual hop block of the second highest routing level in the second route, and points to the hop block of the first route that has the same routing level as the virtual hop block of the second highest routing level in the second route.

[0129] The transceiver module 320 is used to obtain the routing level number of the first route and the routing level number of the second route, wherein the first route and the second route are heterogeneous routes, and the routing level number of the first route is greater than the routing level number of the second route.

[0130] This invention also provides another device 400, see [link to previous document]. Figure 10 As shown, it includes:

[0131] Communication interface 401, memory 402 and processor 403;

[0132] The communication device 400 communicates with other devices through the communication interface 401, such as sending and receiving messages; the memory 402 is used to store program instructions; and the processor 403 is used to call the program instructions stored in the memory 402 and execute them according to the obtained program.

[0133] The processor 403 executes the program instructions stored in the communication interface 401 and the memory 402: obtain the routing level number of the first route and the routing level number of the second route, wherein the first route and the second route are heterogeneous routes, and the routing level number of the first route is greater than the routing level number of the second route;

[0134] Based on the routing level of the first route, at least one virtual hop block is constructed for the second route, such that the routing level of the second route is the same as that of the first route or the routing level of the second route is one level higher than that of the first route; wherein, the virtual hop block of the highest routing level in at least one virtual hop block points to the virtual hop block of the second highest routing level in the second route, and points to the hop block of the first route that has the same routing level as the virtual hop block of the second highest routing level in the second route;

[0135] Switching between the first and second routes is achieved by using the highest-level virtual hop block in at least one virtual hop block.

[0136] In this embodiment of the invention, the specific connection medium between the communication interface 401, the memory 402 and the processor 403 is not limited, such as a bus. A bus can be divided into an address bus, a data bus, a control bus, etc.

[0137] In this embodiment of the invention, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in this embodiment of the invention. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in this embodiment of the invention can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0138] In embodiments of the present invention, the memory can be non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or it can be volatile memory, such as random-access memory (RAM). The memory can also be any other medium capable of carrying or storing desired program code having an instruction or data structure form and accessible by a computer, but is not limited thereto. The memory in embodiments of the present invention can also be a circuit or any other device capable of implementing a storage function for storing program instructions and / or data.

[0139] This invention also provides a computer-readable storage medium including program code. When the program code is run on a computer, the program code is used to cause the computer to perform the steps of the method provided in the above embodiments of this invention.

[0140] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0141] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0142] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0143] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0144] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A heterogeneous route handover method, characterized by, The method is applied to at least two heterogeneous routes, and the method comprises: obtaining a route level number of a first route and a route level number of a second route, wherein the first route and the second route are heterogeneous routes, and the route level number of the first route is greater than the route level number of the second route; constructing at least one virtual hop block for the second route according to the route level number of the first route, so that the route level number of the second route is the same as the route level number of the first route or the route level number of the second route is one higher than the route level number of the first route; wherein a highest route level virtual hop block in the at least one virtual hop block points to a second highest route level virtual hop block in the second route and points to a hop block in the first route which has the same route level as the second highest route level virtual hop block in the second route; switching between the first route and the second route through the highest route level virtual hop block in the at least one virtual hop block.

2. The method of claim 1, wherein, constructing at least one virtual hop block for the second route according to the route level number of the first route, so that the route level number of the second route is the same as the route level number of the first route, comprises: when the route level number of the first route is equal to a preset maximum route level number, constructing the at least one virtual hop block for the second route according to the route level number of the first route, so that the route level number of the second route is the same as the route level number of the first route.

3. The method of claim 2, wherein, if a highest route level hop block in the first route comprises N hops, a highest route level virtual hop block in the at least one virtual hop block comprises N hops, N being an integer greater than or equal to 2; the N hops in the highest route level hop block in the first route respectively point to N hop blocks in a second highest route level in the first route; the N hops in the highest route level virtual hop block in the at least one virtual hop block respectively point to the N hop blocks in the second highest route level in the first route and jointly point to a virtual hop block in a third highest route level in the second route.

4. The method of claim 1, wherein, constructing at least one virtual hop block for the second route according to the route level number of the first route, so that the route level number of the second route is one higher than the route level number of the first route, comprises: when the route level number of the first route is less than a preset maximum route level number, constructing the at least one virtual hop block for the second route according to the route level number of the first route, so that the route level number of the second route is one higher than the route level number of the first route.

5. The method according to any one of claims 1 to 4, wherein switching between the first route and the second route through the highest route level virtual hop block in the at least one virtual hop block, comprises: when a flag bit indicates the first route, switching from the second route to the first route through the highest route level virtual hop block in the at least one virtual hop block; when the flag bit indicates the second route, switching from the first route to the second route through the highest route level virtual hop block in the at least one virtual hop block.

6. The method according to any one of claims 1 to 4, wherein The first route is a multi-protocol label switching (MPLS) cascade structure route, and the second route is an Internet protocol (IP) single-level structure route.

7. A heterogeneous route switching apparatus, characterized by comprising: The device is a heterogeneous routing platform or a chip for performing functions of the heterogeneous routing platform, and the device includes a processing unit and a transceiver unit: The transceiver unit is configured to obtain a routing level number of the first route and a routing level number of the second route, where the first route and the second route are heterogeneous routes, and the routing level number of the first route is greater than the routing level number of the second route. The processing unit is configured to construct at least one virtual hop block for the second route according to the routing level number of the first route, so that the routing level number of the second route is the same as or one level higher than the routing level number of the first route, where a highest routing level virtual hop block in the at least one virtual hop block points to a next highest routing level virtual hop block in the second route and points to a hop block in the first route that has the same routing level as the next highest routing level virtual hop block in the second route. The highest routing level virtual hop block in the at least one virtual hop block is switched between the first route and the second route.

8. The apparatus of claim 7, wherein, The processing unit is configured to, when the routing level number of the first route is equal to a preset maximum routing level number, construct the at least one virtual hop block for the second route according to the routing level number of the first route, so that the routing level number of the second route is the same as the routing level number of the first route.

9. The apparatus of claim 8, wherein, If a highest routing level hop block in the first route includes N hops, a highest routing level virtual hop block in the at least one virtual hop block includes N hops, where N is an integer greater than or equal to 2. The N hops in the highest routing level hop block in the first route respectively point to N hop blocks in a next highest routing level in the first route. The N hops in the highest routing level virtual hop block in the at least one virtual hop block respectively point to the N hop blocks in the next highest routing level in the first route and collectively point to a virtual hop block in a next highest routing level in the second route.

10. The apparatus of claim 7, wherein, The processing unit is configured to, when the routing level number of the first route is less than the preset maximum routing level number, construct the at least one virtual hop block for the second route according to the routing level number of the first route, so that the routing level number of the second route is one level higher than the routing level number of the first route.

11. The device of any one of claims 7-10, wherein, The processing unit is configured to switch from the second route to the first route by the highest level of the at least one virtual hop block when the flag indicates the first route; and switch from the first route to the second route by the highest level of the at least one virtual hop block when the flag indicates the second route. The processing unit is configured to switch from the second route to the first route by the highest level of the at least one virtual hop block when the flag indicates the first route; and switch from the first route to the second route by the highest level of the at least one virtual hop block when the flag indicates the second route.

12. The apparatus of any one of claims 7-10, wherein, The first route is an MPLS cascade structure route, and the second route is an IP single-level structure route.

13. A heterogeneous route switching apparatus, characterized by comprising: The apparatus comprises a processor and an interface circuit, the interface circuit is configured to receive a signal from another apparatus outside the apparatus and transmit the signal to the processor or send a signal from the processor to another apparatus outside the apparatus, and the processor is configured to implement the method according to any one of claims 1 to 6 by means of a logic circuit or executing code instructions.

14. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions, when the computer instructions run on the computer, make the computer execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Scalable routing policy construction using dynamic redefinition of routing preference value

    CN101888334A

  • Method and device for preventing routing loop

    CN104935508A