LSP loop avoiding method and device, equipment and storage medium

By obtaining route change information and adjusting the LSR route next hop, combined with the upstream and downstream session conditions of LDP neighbor sessions, LSP loops in MPLS L3VPN services are avoided, traffic backlog and packet loss problems are solved, and more stable service transmission is achieved. .

CN119341981APending Publication Date: 2025-01-21RUIJIE NETWORKS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310900376.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-21
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

MPLS L3VPN services may have LSP loops during operation, resulting in traffic backlog and service packet loss.

Method used

Obtain routing change information for the specified prefix FEC through the computing device, adjust the routing next hop of the LSR, and determine the upstream and downstream session status of the LDP neighbor session through the routing next hop. If only downstream sessions exist for the determined LSR, the LSP is created without using the label with the specified prefix FEC to avoid loops.

Benefits of technology

It effectively avoids LSP loops, prevents traffic backlog and service packet loss, and simplifies the operation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119341981A_ABST
    Figure CN119341981A_ABST
Patent Text Reader

Abstract

The invention provides an LSP loop avoiding method and device, equipment and a storage medium, and relates to the technical field of data communication, and the method comprises the following steps: obtaining routing change information for a specified prefix forwarding equivalence class (FEC); adjusting the routing next hop of the first label switching router LSR for the specified prefix FEC according to the routing change information; the first LSR is any one LSR in multi-protocol label switching (MPLS); upstream and downstream session conditions corresponding to a label distribution protocol (LDP) neighbor session are determined through a routing next hop, and the upstream and downstream session conditions comprise an upstream session or a downstream session; and if it is determined that the first LSR only has a downstream session for the specified prefix FEC, a label switched path (LSP) is created without using a label of the specified prefix FEC. According to the method, the upstream and downstream session conditions of the LSR are detected, and the strategy for creating the LSP is determined based on the upstream and downstream session conditions, so that the LSP loop condition is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] Multiprotocol label switching (MPLS) L3 virtual private network (VPN) is a network between edge devices of the service provider network. It uses the border gateway protocol (BGP) to exchange VPN routes and bound labels, and uses MPLS to forward private network messages on the public network tunnel, connecting private networks in different geographical branches to form a unified network.

[0003] Operators run MPLS on the Internet Protocol (IP) backbone network to provide VPN services for users' private networks. For VPN users, special VPN equipment is no longer needed, and VPN can be built with traditional routers. At the same time, MPLS L3VPN supports overlapping addresses of different VPNs, and the networking method is flexible and scalable. MPLS L3VPN managed by operators has a more flexible and advanced dynamic tunnel mechanism, a more reasonable networking structure, and more scalable routing control and access control, which greatly reduces the VPN construction and maintenance costs of corporate customers and becomes an important means for operators to provide value-added services.

[0004] like Figure 1 In the service networking shown in Figure 1, the customer edge device (CE) is located at the edge of the user network and logically belongs to the user's VPN. The CE is directly connected to the service provider (SP) device. The CE can be a host, router, or switch. Figure 1 CE1 and CE2 in the figure do not need to support MPLS function. The provider edge device (PE) is the edge device of the provider backbone network and logically belongs to the service provider. PE is mainly responsible for receiving VPN information sent by CE, sending VPN information to other PEs, and receiving VPN information from other PEs and distributing it to the corresponding CEs. PE is directly connected to CE, and one PE can connect to multiple different CEs. PE can be a router, ATM switch, or frame relay switch, as shown above. Figure 1 PE1 and PE2 in the figure are required to support MPLS functions. The core equipment of the operator (provider, P) is located in the core of the SP backbone network. P is responsible for routing and fast forwarding, and P is not directly connected to CE. The routing table of P contains routes to any destination in the backbone network, but does not contain routes to VPN. As a device in the MPLS core backbone network, P is required to support MPLS functions.

[0005] like Figure 2 As shown in the figure, P1 and P2 are the core equipment of the operator, PE1 and PE2 are the edge equipment of the operator, and CE1 and CE2 are the edge equipment of the user. After the link between P1 and PE2 is disconnected, for the next hop of the route corresponding to the interface address on CE2, the next hop on PE1 is P1, and the next hop on P1 changes from PE2 to PE1. That is, for these prefixes, a routing loop occurs between PE1 and P1. Considering that the MPLS L3VPN service is carried on the IP backbone network running MPLS, and the MPLS label switching path (LSP) tunnel carrying the MPLS L3VPN service also has a loop, Figure 2 In the service network shown, the L3VPN traffic from CE1 to CE2 is always accumulated between PE1 and P1 and will not be forwarded to CE2. When the next hop of the routes of these prefixes on PE1 reconverges and changes from P1 to P2, the L3VPN traffic accumulated during the loop will be forwarded immediately. At this time, the instantaneous traffic will exceed the forwarding capacity of the directly connected interface between PE1 and P2, causing service packet loss. Summary of the invention

[0006] The present application provides an LSP loop avoidance method, apparatus, device and storage medium to avoid the occurrence of LSP loops.

[0007] In a first aspect, the present application provides an LSP loop avoidance method, which can be executed by a computing device, the computing device can be a switching router, or a processor in the switching router, which is not specifically limited in the present application, and is executed as follows:

[0008] Obtain route change information for a specified prefix forwarding equivalence class (FEC); adjust the route next hop of a first label switch router (LSR) for the specified prefix FEC according to the route change information; the first LSR is any LSR in MPLS; determine upstream and downstream session conditions corresponding to a label distribution protocol (LDP) neighbor session through the route next hop, the upstream and downstream session conditions include: an upstream session, or a downstream session; if it is determined that the first LSR has only a downstream session for the specified prefix FEC, then do not use the label of the specified prefix FEC to create an LSP.

[0009] The present application obtains the route change information for the specified FEC, determines the route next hop of the first LSR for the specified FEC, and determines the upstream and downstream session conditions corresponding to the LDP neighbor session through the route next hop. If it is determined that the first LSR only has a downstream session for the specified prefix FEC, the label of the specified prefix FEC is not used to create the LSP, thereby avoiding the transmission of service traffic through the label of the first LSR for the specified prefix FEC and avoiding the problem of loops. The solution to avoid LSP loops is adjusted in real time by detecting and combining the upstream and downstream session conditions of the LSR for the specified prefix FEC, and is easy to operate.

[0010] In an optional manner, determining the upstream and downstream session status corresponding to the LDP neighbor session through the routing next hop includes:

[0011] If it is determined that the first LSR obtains the address information of the next hop of the route with the specified prefix FEC through the label distribution protocol LDP neighbor session, the second LSR corresponding to the next hop of the route with the specified prefix FEC is set as the downstream session; or, if it is determined that the first LSR does not obtain the address information of the next hop of the route with the specified prefix FEC through the label distribution protocol LDP neighbor session, the second LSR corresponding to the next hop of the route with the specified prefix FEC is set as the upstream session.

[0012] Whether the route next hop address information can be obtained through the LDP neighbor session, the upstream and downstream session status of the first LSR for the specified prefix FEC is determined, which complies with the existing protocol standards (RFC3031 and RFC5036 and other protocols) and is easy to handle.

[0013] In an optional manner, if it is determined that the first LSR has only a downstream session for the specified prefix FEC, then the label of the specified prefix FEC is not used to create a label switching path LSP, including:

[0014] If it is determined that the first LSR has only a downstream session for the specified prefix FEC, determine whether an LSP has been created for the label of the specified prefix FEC; if so, delete the created LSP; if not, do not perform any operation.

[0015] This method can ensure that the first LSR does not create unnecessary LSPs, save running memory, and avoid loops.

[0016] In an optional manner, if it is determined that the first LSR has an upstream session and a downstream session for the specified prefix FEC, or only an upstream session, it is determined whether an LSP has been created for the label of the specified prefix FEC; if so, no operation is performed; if not, an LSP is created for the label of the specified prefix FEC.

[0017] This approach can ensure that when the first LSR is required to transmit service traffic for a label with a specified prefix FEC, the traffic can be transmitted normally.

[0018] In an optional manner, the route change information includes: adding an LSR in MPLS, reducing an LSR in MPLS, and disconnecting an LSR in MPLS.

[0019] In an optional manner, an LSP is created for a label of a specified prefix FEC, including: if it is determined that the first LSR has an upstream session and a downstream session, a Transit LSP and an Ingress LSP are created for the label of the specified prefix FEC; or, if it is determined that the first LSR only has an upstream session, an Egress LSP is created for the label of the specified prefix FEC.

[0020] In a second aspect, an embodiment of the present application provides an LSP loop avoidance device, including:

[0021] An acquisition unit is used to acquire route change information for a specified prefix forwarding equivalence class FEC; an adjustment unit is used to adjust the route next hop of a first label switching router LSR for the specified prefix FEC according to the route change information; the first LSR is any LSR in the multi-protocol label switching MPLS; a determination unit is used to determine the upstream and downstream session conditions corresponding to the LDP neighbor session through the route next hop, and the upstream and downstream session conditions include: an upstream session, or a downstream session; a creation unit is used to create a label switching path LSP without using the label of the specified prefix FEC if it is determined that the first LSR only has a downstream session for the specified prefix FEC.

[0022] In a third aspect, the present application further provides a computing device, comprising: a memory for storing program instructions; a processor for calling the program instructions stored in the memory, and executing any method of the above-mentioned first aspect according to the obtained program instructions.

[0023] In a fourth aspect, the present application further provides a computer-readable storage medium, in which computer-readable instructions are stored. When a computer reads and executes the computer-readable instructions, any method of the above-mentioned first aspect is implemented.

[0024] In a fifth aspect, the present application provides a computer program product, comprising a computer program executable by a computer device, wherein when the program is run on the computer device, the computer device executes any method for implementing the above-mentioned first aspect.

[0025] For the technical effects that can be achieved in the above-mentioned second to fifth aspects, please refer to the description of the technical effects that can be achieved by the corresponding possible design schemes in the above-mentioned first aspect, and this application will not repeat them here.

[0026] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0028] Figure 1 A schematic diagram of a service networking is shown;

[0029] Figure 2 A schematic diagram of another service networking is shown;

[0030] Figure 3 A schematic diagram of MPLS networking is shown;

[0031] Figure 4 A schematic diagram of another MPLS networking is shown;

[0032] Figure 5 A schematic diagram of a flow chart of an LSP loop avoidance method provided in an embodiment of the present application is shown;

[0033] Figure 6 A schematic diagram of a flow chart of another LSP loop avoidance method provided in an embodiment of the present application is shown;

[0034] Figure 7 A schematic diagram of the structure of an LSP loop avoidance device provided in an embodiment of the present application is shown;

[0035] Figure 8 A schematic diagram of the structure of a computing device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0036] To make the purpose, technical solution and advantages of the embodiments of the present invention more clear, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0037] In the following embodiments of the present application, "and / or" describes the association relationship of the associated objects, indicating that there may be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " is generally used to indicate that the associated objects before and after are in an "or" relationship. "At least one of the following (individuals) or similar expressions refer to any combination of these items, including any combination of single items (individuals) or plural items (individuals). For example, at least one of a, b or c (individuals) can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. The singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include expressions such as "one or more", unless there is a clear indication to the contrary in the context. And, unless otherwise indicated, the ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects.

[0038] In order to better illustrate the solution of this application, the following briefly introduces the technical concepts involved in this application:

[0039] FEC construction:

[0040] In traditional IP networks, when forwarding a message, each router needs to use the destination address carried in the message header to select the next hop for the forwarding route according to the network layer routing algorithm. Each router needs to recalculate and select the next hop of the route when receiving a message, which will cause the problem of low efficiency in calculating the message forwarding path.

[0041] When a message enters the MPLS network, MPLS can map the destination address carried in the message header to an FEC based on its longest matching prefix, and then bind a field called a label to the FEC. When forwarding the message, the label value is carried in the message and forwarded to the next hop of the route. When the LSR subsequently forwards the message, it no longer searches for the message header information, but directly uses the label carried by the message to determine the next hop of the route.

[0042] The MPLS forwarding process is as follows Figure 3 As shown, Figure 3In the MPLS network shown, the LDP LSP information established by LSR1, LSR2 and LSR3 for FEC10.0.2.0 / 24 is shown in the following label forwarding table Table 1, Table 2 and Table 3, wherein Table 1 shows the LDP LSP information established by LSR1 for FEC 10.0.2.0 / 24, wherein the inbound interface for FEC 10.0.2.0 / 24 is 1, the inbound label does not exist, the outbound label is 10, the outbound interface is 2, and the address of the next hop of the route is 192.168.2.2; Table 2 shows the LDP LSP information established by LSR2 for FEC 10.0.2.0 / 24, wherein the inbound interface for FEC 10.0.2.0 / 24 is 1, the inbound label is 10, the outbound label is 20, the outbound interface is 2, and the address of the next hop of the route is 192.168.3.2; Table 3 shows the LDP LSP information established by LSR3 for FEC LDP LSP information established for FEC 10.0.2.0 / 24. The inbound interface for FEC 10.0.2.0 / 24 is 1, the inbound label is 20, the outbound label does not exist, the outbound interface is 2, and the next hop address is 192.168.4.2.

[0043] Table 1

[0044]

[0045] Table 2

[0046]

[0047] Table 3

[0048]

[0049] On top Figure 3 In the MPLS network shown in the figure, the process of forwarding a packet with a destination network segment of 10.0.2.0 / 24 from LSR1 into the MPLS network is as follows:

[0050] 1) LSR1 (Ingress LSR) receives the packet, analyzes the destination address in the packet IP header and maps it to FEC10.0.2.0 / 24, then pushes label 10 into the packet, and sends the message with the pushed label to the corresponding outbound interface 2 according to the information in label forwarding table 1. This is also called forwarding after selecting the next hop and the corresponding outbound label for the message based on the Ingress LSP (entry label forwarding table).

[0051] 2) LSR2 (Transit LSR) receives the packet with label 10, analyzes only the label stack of the packet, searches for the corresponding forwarding entry in the label forwarding table according to label 10, replaces the label with 20, and sends the packet to the corresponding outbound interface 2. This is also called forwarding based on the Transit LSP (Transmission Label Forwarding Table) after selecting the next hop and the corresponding outbound label for the packet.

[0052] 3) When LSR3 (Egress LSR) receives a packet with label 20, it only analyzes the label stack of the packet, searches for the corresponding forwarding entry in the label forwarding table according to label 20, pops the label in the label stack, analyzes the destination address in the packet IP header, searches label forwarding table 3 according to the destination address, and sends the packet to the corresponding outbound interface 2. This is also called forwarding after selecting the next hop and the corresponding outbound label for the packet based on the Egress LSP (egress label forwarding table).

[0053] LDP Introduction:

[0054] A basic concept in MPLS is that two LSRs must reach a consensus on the meaning of the labels used to transmit traffic between them. This consensus can be achieved through a series of processes called LDP. The most common label distribution protocol currently is the LDP protocol defined in RFC3036, which is generally used in IP unicast routing environments.

[0055] The main function of the LDP protocol is to use the IP unicast route as FEC, establish LSP for it, and associate FEC with LSP. When LDP is working, it first sends Hello messages through UDP to discover potential LDP peers. After discovering potential LDP peers, it establishes an LDP session based on TCP connection with this peer. After the session negotiation is successfully established, LDP label messages can be transmitted through the session, so that LDP LSP can be established based on LDP label messages.

[0056] LDP LSP is established as follows Figure 4 As shown, Figure 4 In the MPLS network shown in the figure, LSR1, LSR2, and LSR3 establish LDP LSP for FEC10.0.2.0 / 24. Routing protocols such as open shortest path first (OSPF) are run between all devices. After the topology is stable, the routes on these three devices can be determined as follows:

[0057] LSR1: FEC 10.0.2.0 / 24 outbound interface 2 route next hop address 192.168.2.2;

[0058] LSR2: FEC 10.0.2.0 / 24 outbound interface 2 route next hop address 192.168.3.2;

[0059] LSR3: FEC 10.0.2.0 / 24 outbound interface 2 route next hop address 192.168.4.2.

[0060] Enable the MPLS function of LSR1, LSR2, and LSR3, and enable the LDP protocol. At this time, LSR1, LSR2, and LSR3 will bind a label to FEC 10.0.2.0 / 24 respectively and distribute it to the directly connected devices with the LDP protocol enabled. Assume that the labels bound to the FEC by these three devices are as follows:

[0061] LSR1: FEC (10.0.2.0 / 24) is bound to label value (10).

[0062] LSR2: FEC (10.0.2.0 / 24) bound label value (20);

[0063] LSR3: FEC (10.0.2.0 / 24) is bound to label value (30).

[0064] The LDP LSP established by LSR1, LSR2, and LSR3 based on the current route and the label binding information received from the LDP neighbor session associated with the next hop of the route is as follows:

[0065] LSR1:

[0066] IngressLSP

[0067] The packet ingress is prefix 10.0.2.0 / 24, the packet routing next hop outbound interface is Eth2, the routing next hop address is 192.168.2.2, and the outbound label is 20.

[0068] LSR2:

[0069] IngressLSP

[0070] The packet ingress is prefix 10.0.2.0 / 24, the packet routing next hop outbound interface is Eth2, the routing next hop address is 192.168.3.2, and the outbound label is 30;

[0071] Transit LSP

[0072] The packet ingress label is 20, the packet routing next hop outbound interface is Eth2, the routing next hop address is 192.168.3.2, and the outbound label is 30.

[0073] LSR3:

[0074] EgressLSP

[0075] The message inlet is label 30, the message routing next hop outbound interface is Eth2, and the routing next hop address is 192.168.4.2.

[0076] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0077] Related technologies use path vectors, hop counts, and split horizon to avoid LDP LSP loops, as follows:

[0078] A method for implementing a path vector: When an LSR sends a label message to an LDP neighbor session, the LSR carries the identifier of the LSR itself. If the message is triggered by receiving a label message sent by other LDP neighbor sessions, the LSR needs to carry all LSR identifiers carried in the label message sent by other LDP neighbor sessions. If the label message received from other LDP neighbor sessions carries the identifier of the LSR itself, the LDP neighbor session needs to be notified that a label information loop occurs and the information carried by the label message is not used to create an LDP LSP.

[0079] Another way to implement the hop count: When the LSR acts as an egress LSR or ingress LSR of a FEC, it considers the hop count of the current LDP LSP of the FEC to be 0 when sending a label message to the LDP neighbor session. When receiving the label message, if the label message carries the hop count, when sending the label message triggered by the label message, the hop count is increased by one and sent together with the message. If the hop count carried in the received label message exceeds the locally configured maximum hop count, it is considered that a loop has occurred, and it is necessary to notify the LDP neighbor session of the occurrence of a label loop and not use the information carried in the label message to create the LDP LSP.

[0080] In the above method, when the LSR supports loop detection capability in the LDP neighbor session negotiation, it can automatically identify the presence of loops in the label information according to the loop detection parameters when receiving the label message from the LDP neighbor session, thereby ensuring that no loop occurs in the LDPLSP. However, loop detection needs to be configured on all devices where MPLS LDP is deployed, and loop detection parameters need to be manually specified. After the configuration takes effect, the session needs to be restarted to make the loop detection function effective. For networks with a large number of routing switches, restarting has a great impact on the network, and data cannot be sent out in time.

[0081] The LDP protocol supports the split horizon function, which enables an LSR A to not distribute labels to the session associated with the next hop of the prefix FEC when distributing label packets for a prefix FEC to the LDP neighbor session. At this time, there is no LDP LSP with the label distributed by LSR A as the egress label on LSR B where the next hop of the prefix FEC is located. When the next hop of the prefix FEC on LSR B points to LSR A, traffic will not be forwarded from LSR B to LSR A, thereby ensuring that there will be no traffic loop problem when the next hop of the prefix FEC on LSR B is LSR A and the next hop of the prefix FEC on LSR A still points to LSR B. In this way, it is not necessary to enable the split horizon function on all LSRs. You only need to enable the split horizon on the device where the loop occurs to automatically prevent the LDP LSP from looping. However, after the split horizon is enabled, the establishment of the LDP LSP in the MPLS network will be slow, resulting in poor LDP LSP convergence performance.

[0082] Based on this, the present application proposes a LSP loop avoidance method such as Figure 5 As shown, the method can be executed by a computing device, which can be a switching router, or a processor in a switching router, etc. The method can be applied to the creation of LSR in MPLS, which is not specifically limited in this application, and is executed as follows:

[0083] Step 501: Obtain routing change information for a specified FEC.

[0084] It should be noted that the specified FEC is set according to business needs, as mentioned above Figure 3 As shown, the designated FEC may be FEC 10.0.2.0 / 24. Of course, it may be other FECs in actual applications, which is not specifically limited in this application. For example, the route change information may be actively reported by the switching router when the route of the designated FEC changes, or it may be monitored in real time by the computing device. This application does not specifically limit how to obtain the route change information. Optionally, the route change information may include: adding LSRs in MPLS (such as Figure 3 As shown, adding a new LSR4 requires reporting routing change information), reducing LSRs in MPLS (such as Figure 3 As shown, if LSR3 is reduced, it is necessary to report the route change information), the connection of LSR in MPLS is interrupted (such as Figure 2 As shown, the connection between P1 (equivalent to LSR) and PE2 is interrupted), which is only an example and does not specifically limit the route change information.

[0085] Step 502: adjust the next hop of the route of the first LSR for the specified prefix FEC according to the route change information; the first LSR is any LSR in MPLS.

[0086] For example, Figure 2 As shown, after the connection between P1 and PE2 is disconnected, the next hop of P1 for CE2 becomes PE1. This is only an example and does not specifically limit the next hop of LSR.

[0087] Step 503: determine the upstream and downstream session status corresponding to the LDP neighbor session through the routing next hop, where the upstream and downstream session status includes: an upstream session or a downstream session.

[0088] It should be noted that the computing device can determine the upstream and downstream session situations corresponding to the LDP neighbor session based on the routing next hop, for example, determine that the LDP neighbor session is a downstream session based on the address information of the routing next hop, or determine the upstream and downstream session situations corresponding to the LDP neighbor session with reference to the address information of the routing next hop, for example, refer to the LDP neighbor session established between the first LSR and the second LSR, and the second LSR has sent its address information to the first LSR, and determine that the second LSR is the downstream session of the first LSR. The present application does not specifically limit this.

[0089] Specifically, when executing step 503, if the first LSR obtains the address information of the next hop of the route with the specified prefix FEC through the LDP neighbor session, the second LSR corresponding to the next hop of the route with the specified prefix FEC is set as the downstream session; or, if it is determined that the first LSR has not obtained the address information of the next hop of the route with the specified prefix FEC through the label distribution protocol LDP neighbor session, the second LSR corresponding to the next hop of the route with the specified prefix FEC is set as the upstream session. Whether the address information of the next hop of the route can be obtained through the LDP neighbor session, the upstream and downstream session status of the first LSR for the specified prefix FEC is determined, which complies with the existing protocol standards (RFC3031 and RFC5036 and other protocols), and is easy to handle.

[0090] For example, Figure 2In the MPLS network shown, if the connection between P1 and PE2 is not disconnected, the next hop of the route for the prefix FEC of the interface address on CE2 on P1 is PE2, and an LDP direct neighbor session is established between P1 and PE2. PE2 sends its local interface address to P1 through the LDP session, and this address is the next hop address of the route described above. Therefore, at this time, for the prefix FEC of the interface address on CE2 on P1, PE2 is its downstream session. P1 and PE1 also establish an LDP direct neighbor session, and PE1 also sends its local interface address to P1, but because the next hop of the route for the prefix FEC described above on P1 is not PE1, at this time, for these prefix FECs, PE1 is its upstream session.

[0091] If the connection between P1 and PE2 is disconnected, the next hop of the routing of the prefix FEC mentioned above on P1 becomes PE1. At this time, only the downstream session PE1 exists for these prefix FECs on P1.

[0092] Step 504: If it is determined that the first LSR has only a downstream session for the specified prefix FEC, the label of the specified prefix FEC is not used to create an LSP.

[0093] Step 505: If it is determined that the first LSR does not have only a downstream session for the specified prefix FEC, a label of the specified prefix FEC is used to create an LSP.

[0094] It should be noted that when executing step 504 and step 505, the RFC3031 protocol and RFC5036 protocol can be used to determine how to create an LSP and which path to choose for traffic forwarding. An LSR is an Egress LSR only for the prefix FEC corresponding to the local address. In actual application, for the same LSR, step 504 and step 505 can be executed one by one, so Figure 2 In this case, P1 is definitely not the egress LSR of these prefix FECs, and therefore, it cannot create an egress LSP for the local labels of these prefix FECs. In addition, at this time, there is no LSR in the MPLS network whose next hop is P1, which means that P1 is definitely not the transit LSR of these prefix FECs, so it is not necessary to create a transit LSP for the local labels of these prefix FECs on P1. Based on this, P1 does not create an LSP for the labels of these prefix FECs at this time.

[0095] The present application obtains the route change information for the specified FEC, determines the route next hop of the first LSR for the specified FEC, and determines the upstream and downstream session conditions corresponding to the LDP neighbor session through the route next hop. If it is determined that the first LSR only has a downstream session for the specified prefix FEC, the label of the specified prefix FEC is not used to create the LSP, thereby avoiding the transmission of service traffic through the label of the first LSR for the specified prefix FEC and avoiding the problem of loops. The solution to avoid LSP loops is adjusted in real time by detecting and combining the upstream and downstream session conditions of the LSR for the specified prefix FEC, and is easy to operate.

[0096] Optionally, if it is determined that the first LSR has only a downstream session for the specified prefix FEC, determine whether an LSP has been created for the label of the specified prefix FEC; if so, delete the created LSP; if not, do not perform the operation. If it is determined that the first LSR has an upstream session and a downstream session for the specified prefix FEC, or only an upstream session (there may be only an upstream session, or there may be both an upstream session and a downstream session), determine whether an LSP has been created for the label of the specified prefix FEC; if so, do not perform the operation; if not, create an LSP for the label of the specified prefix FEC.

[0097] In addition, creating an LSP for the label of the specified prefix FEC includes: if it is determined that the first LSR has an upstream session and a downstream session, creating a Transit LSP and an Ingress LSP for the label of the specified prefix FEC; or, if it is determined that the first LSR only has an upstream session, creating an Egress LSP for the label of the specified prefix FEC.

[0098] like Figure 2 When the connection between P1 and PE2 is disconnected, the next hop of the routing of the prefix FEC mentioned above on PE1 is still P1, and there are upstream sessions (CE1) and downstream sessions (P1), so Transit LSP and Ingress LSP can be created, and the export labels are all local labels of these prefix FECs on P1. Since P1 does not use the local labels of these prefix FECs to create LSPs for traffic forwarding at this time, when the L3VPN traffic from CE1 to CE2 is forwarded from PE1 to P1, since P1 does not use the inbound labels carried by these traffic for forwarding, these traffic are directly discarded. Therefore, the situation of L3VPN traffic forwarding back to PE1 will not occur, avoiding the occurrence of loops in LDP LSP.

[0099] For specific implementation, refer to the LSP loop avoidance method. Figure 6 To execute, the process can be executed by a computing device as follows:

[0100] Step 601: Obtain routing change information for a specified FEC.

[0101] This can be understood by referring to step 501 and will not be described in detail here.

[0102] Step 602: adjust the next hop of the route of the first LSR for the specified prefix FEC according to the route change information, and save the next hop of the route into the FEC.

[0103] Step 603, determine whether the LDP neighbor session has received the address information of the next hop of the route, if yes, execute step 604, if not, execute step 605.

[0104] Step 604: Determine that the next hop of the route is a downstream session.

[0105] Step 605: Determine that the next hop of the route is the upstream session.

[0106] Among them, step 604 and step 605 need to be executed for all LDP sessions. After executing step 604 and step 605, step 606 is executed.

[0107] Step 606 , determining whether the LSR has only a downstream session for the specified FEC, if so, executing step 607 , if not, executing step 608 .

[0108] Step 607 , determining whether an LSP has been created for the label of the specified prefix FEC, if so, executing step 609 , if not, executing step 610 .

[0109] Step 609: Delete the created LSP.

[0110] Step 610, no operation is performed.

[0111] Step 608 , determining whether an LSP has been created for the label of the specified prefix FEC, if so, executing step 610 , if not, executing step 611 .

[0112] Step 611: Create an LSP for the label of the specified prefix FEC.

[0113] This application is based on the LDP protocol standard and introduces the concept of upstream and downstream sessions. Based on this, the strategy of creating LSPs for local labels of prefix FECs by the LDP protocol is adaptively adjusted, thereby avoiding the problem of traffic loops in the LDP LSPs that rely on these routes when loops occur in IGP routes.

[0114] Based on the same concept, the embodiment of the present application provides an LSP loop avoidance device, such as Figure 7 As shown, it includes: an acquisition unit 701, an adjustment unit 702, a determination unit 703 and a creation unit 704.

[0115] Among them, the acquisition unit 701 is used to obtain the route change information for the specified prefix forwarding equivalence class FEC; the adjustment unit 702 is used to adjust the route next hop of the first label switching router LSR for the specified prefix FEC according to the route change information; the first LSR is any LSR in the multi-protocol label switching MPLS; the determination unit 703 is used to determine the upstream and downstream session conditions corresponding to the LDP neighbor session through the route next hop, and the upstream and downstream session conditions include: upstream session, or, downstream session; the creation unit 704 is used to create a label switching path LSP without using the label of the specified prefix FEC if it is determined that the first LSR only has a downstream session for the specified prefix FEC.

[0116] In an optional embodiment, the determination unit 703 is used to set the second LSR corresponding to the routing next hop of the specified prefix FEC as a downstream session if it is determined that the first LSR obtains the address information of the routing next hop with the specified prefix FEC through the label distribution protocol LDP neighbor session; or, if it is determined that the first LSR does not obtain the address information of the routing next hop with the specified prefix FEC through the label distribution protocol LDP neighbor session, set the second LSR corresponding to the routing next hop of the specified prefix FEC as an upstream session.

[0117] In an optional implementation, the creation unit 704 is used to determine whether an LSP has been created for the label of the specified prefix FEC if it is determined that the first LSR has only a downstream session for the specified prefix FEC; if so, delete the created LSP; if not, do not perform the operation.

[0118] In an optional embodiment, the creation unit 704 is also used to determine whether an LSP has been created for the label of the specified prefix FEC if it is determined that the first LSR has an upstream session and a downstream session for the specified prefix FEC, or only an upstream session exists; if so, no operation is performed; if not, an LSP is created for the label of the specified prefix FEC.

[0119] In an optional implementation manner, the route change information includes: adding an LSR in MPLS, reducing an LSR in MPLS, and disconnecting an LSR in MPLS.

[0120] In an optional implementation, the creation unit 704 is further used to create a Transit LSP and an Ingress LSP for a label of a specified prefix FEC if it is determined that the first LSR has an upstream session and a downstream session; or, if it is determined that the first LSR only has an upstream session, create an Egress LSP for a label of a specified prefix FEC.

[0121] After introducing the LSP loop avoiding device in the exemplary embodiment of the present application, next, a computing device in another exemplary embodiment of the present application is introduced.

[0122] Those skilled in the art will appreciate that various aspects of the present application may be implemented as a system, method or program product. Therefore, various aspects of the present application may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to as "circuit", "module" or "system" herein.

[0123] In some possible implementations, the computing device according to the present application may include at least one processor and at least one memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the antenna fault detection method according to various exemplary implementations of the present application described above in this specification.

[0124] Refer to the following Figure 8 hereinafter, a computing device 130 according to this embodiment of the present application is described. Figure 8 The computing device 130 shown is only an example and should not limit the functionality and scope of use of the embodiments of the present application. Figure 8 As shown, the computing device 130 is in the form of a general intelligent terminal (or a Bluetooth headset). The components of the computing device 130 may include but are not limited to: at least one processor 131, at least one memory 132, and a bus 133 connecting different system components (including the memory 132 and the processor 131).

[0125] Bus 133 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus structures. Memory 132 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 1321 and / or a cache memory 1322, and may further include a read-only memory (ROM) 1323. Memory 132 may also include a program / utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 include but are not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include the implementation of a network environment.

[0126] The computing device 130 may also communicate with one or more external devices 134 (e.g., keyboards, pointing devices, etc.), and / or communicate with any device (e.g., routers, modems, etc.) that enables the computing device 130 to communicate with one or more other intelligent terminals. Such communication may be performed through an input / output (I / O) interface 135. In addition, the computing device 130 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) through a network adapter 136. As shown, the network adapter 136 communicates with other modules for the computing device 130 through a bus 133. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the computing device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0127] In some possible implementations, various aspects of the antenna fault detection method provided in the present application may also be implemented in the form of a program product, which includes a computer program. When the program product is run on a computer device, the computer program is used to enable the computer device to execute the steps of the antenna fault detection method according to various exemplary embodiments of the present application described above in this specification.

[0128] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0129] The program product for time domain noise processing of the embodiment of the present application may adopt a portable compact disk read-only memory (CD-ROM) and include a computer program, and can be run on an intelligent terminal. However, the program product of the present application is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device.

[0130] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, in which a readable computer program is carried. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0131] It should be noted that, although several units or subunits of the device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into multiple units to be embodied.

[0132] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0133] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable access frequency prediction device to produce a machine, so that the instructions executed by the processor of the computer or other programmable access frequency prediction device generate instructions for implementing the process in the flowchart. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0134] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable access frequency prediction device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0135] These computer program instructions may also be loaded onto a computer or other programmable device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0136] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0137] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A method for avoiding LSP loops, characterized in that: include: Get the route change information for the specified prefix forwarding equivalence class FEC; According to the routing change information, the first label switching router LSR is adjusted to the next hop of the routing for the specified prefix FEC; the first LSR is any LSR in the multi-protocol label switching MPLS; Determine the upstream and downstream session status corresponding to the label distribution protocol LDP neighbor session through the routing next hop, wherein the upstream and downstream session status includes: an upstream session or a downstream session; If it is determined that the first LSR has only a downstream session for the designated prefix FEC, the label of the designated prefix FEC is not used to create a label switched path LSP.

2. The method according to claim 1, characterized in that Determining the upstream and downstream session status corresponding to the LDP neighbor session through the routing next hop includes: If it is determined that the first LSR obtains the address information of the next hop of the route with the specified prefix FEC through the label distribution protocol LDP neighbor session, then the second LSR corresponding to the next hop of the route with the specified prefix FEC is set as a downstream session; or, If it is determined that the first LSR has not obtained the address information of the next hop of the route of the specified prefix FEC through the label distribution protocol LDP neighbor session, the second LSR corresponding to the next hop of the route of the specified prefix FEC is set as the upstream session.

3. The method according to claim 1 or 2, characterized in that: If it is determined that the first LSR has only a downstream session for the specified prefix FEC, then not using the label of the specified prefix FEC to create a label switching path LSP, including: If it is determined that the first LSR has only a downstream session for the specified prefix FEC, determine whether an LSP has been created for the label of the specified prefix FEC; If yes, delete the created LSP; If not, no action is performed.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: If it is determined that the first LSR has an upstream session and a downstream session for the specified prefix FEC, or only an upstream session, determining whether an LSP has been created for the label of the specified prefix FEC; If so, no action is performed; If not, create an LSP for the label of the specified prefix FEC.

5. The method according to claim 3, characterized in that: The route change information includes: adding LSR in the MPLS, reducing LSR in the MPLS, and disconnection of LSR in the MPLS.

6. The method according to claim 4, characterized in that The step of creating an LSP for the label of the specified prefix FEC includes: If it is determined that the first LSR has an upstream session and a downstream session, create a Transit LSP and an Ingress LSP for the label of the specified prefix FEC; or, If it is determined that the first LSR only has an upstream session, an Egress LSP is created for the label of the specified prefix FEC.

7. An LSP loop avoidance device, characterized in that: include: An acquisition unit, used for acquiring route change information for a specified prefix forwarding equivalence class FEC; An adjusting unit, configured to adjust a route next hop of a first label switching router LSR for the specified prefix FEC according to the route change information; the first LSR is any LSR in a multi-protocol label switching MPLS; A determination unit, configured to determine, through a routing next hop, an upstream and downstream session status corresponding to a label distribution protocol LDP neighbor session, wherein the upstream and downstream session status includes: an upstream session, or a downstream session; The creating unit is configured to create a label switched path LSP without using a label of the designated prefix FEC if it is determined that the first LSR has only a downstream session for the designated prefix FEC.

8. A computing device, characterized in that include: A memory for storing program instructions; A processor is used to call the program instructions stored in the memory, and execute the method according to any one of claims 1 to 6 according to the obtained program instructions.

9. A computer-readable storage medium, characterized in that: The method comprises computer-readable instructions, and when a computer reads and executes the computer-readable instructions, the method according to any one of claims 1 to 6 is implemented.

10. A computer program product, characterized in that The invention comprises a computer program executable by a computer device, and when the program is run on the computer device, the computer device is caused to execute the steps of the method according to any one of claims 1 to 6.