Method and device for adding exit equipment for tunnel, electronic equipment and storage medium
By pre-building a multicast stateless TE reference distribution tree and triggering the controller to calculate the distribution tree, the problem of slow user response when a new tunnel egress device is added is solved, achieving faster multicast stream response and improving user experience.
Patent Information
- Application Number
- CN202410311508.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-03-19
AI Technical Summary
In multicast stateless traffic engineering TE path planning, when a new egress device is added to a tunnel, the response time after users request multicast streams is slow, affecting user experience.
A multicast stateless TE reference distribution tree is pre-built. When a target PE is added as a tunnel egress, the controller is triggered to calculate the multicast stateless TE distribution tree. Based on whether the reference distribution tree is identical to the recalculated branch, the controller determines whether to update the tunnel path, thus reducing user waiting time.
By pre-building the reference distribution tree, the waiting time after users order multicast streams is reduced, improving user experience.
Smart Images

Figure CN120675928A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, device, electronic device, and storage medium for adding an exit device to a tunnel. Background Art
[0002] When planning multicast stateless Traffic Engineering (TE) paths, a controller is introduced to support programming of TE paths and cross-domain scenarios. The controller specifically calculates the multicast stateless TE distribution tree.
[0003] In related technologies, when a target provider edge (PE) is added as the egress PE of a Selective-PMSI (S-PMSI) tunnel corresponding to a multicast stream on a specified virtual private network (VPN), the ingress PE of the specified VPN, upon receiving the Network Layer Reachability Information (NLRI) route of the target PE, notifies a controller to recalculate the multicast stateless TE distribution tree corresponding to the multicast stream and add a leaf corresponding to the target PE. The controller then comprehensively considers the flow forwarding information (such as load and rate) of all devices in the multi-point virtual private network (MVPN) to which the specified VPN belongs, recalculates the multicast stateless TE distribution tree corresponding to the multicast stream, and sends the recalculated TE distribution tree to the ingress PE. The ingress PE then updates the S-PMSI tunnel corresponding to the multicast stream based on the recalculated TE distribution tree. The ingress PE then sends the multicast stream to users corresponding to the target PE (the newly added egress PE) and to users corresponding to the original egress PE through the updated S-PMSI tunnel.
[0004] Because it takes a certain amount of time for the controller to recalculate the TE distribution tree, users of the target PE service can only obtain the multicast stream after the distribution tree is updated and the corresponding S-PMSI tunnel is updated. Therefore, users of the target PE service may experience a delay in obtaining the multicast stream after requesting it, and this waiting time affects the user experience. Summary of the Invention
[0005] The embodiments of the present application provide a method, apparatus, electronic device, and storage medium for adding an egress device to a tunnel, to address the problem in the related art of slow multicast stream response after a user served by the newly added egress PE orders a multicast stream when the user orders the multicast stream.
[0006] In a first aspect, an embodiment of the present application provides a method for adding an egress device to a tunnel, which is applied to a communication device, wherein the communication device stores a multicast stateless traffic engineering (TE) reference distribution tree generated by a controller, wherein the root of the reference distribution tree corresponds to an ingress provider edge (PE) of a specified virtual private network (VPN), and the leaves correspond to at least some PEs in a multipoint virtual private network (MVPN) to which the specified VPN belongs. The method includes:
[0007] receiving a request to add a target PE as an egress PE of a selective operator multicast service interface S-PMSI tunnel corresponding to a multicast stream on the designated VPN;
[0008] Triggering the controller to calculate a multicast stateless TE distribution tree for the multicast stream; and adding the branch from the root to the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, thereby triggering the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel, where the target leaf is the leaf corresponding to the target PE in the reference distribution tree;
[0009] Based on whether the branch is the same as the branch between the root and the target leaf in the distribution tree recalculated by the controller, it is determined whether to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
[0010] In some embodiments, determining whether to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel based on whether the branch is the same as the branch between the root and the target leaf in the distribution tree recalculated by the controller includes:
[0011] If the branch is different from the branch between the root and the target leaf in the recalculated distribution tree, triggering the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel;
[0012] If the branch is the same as the branch between the root and the target leaf in the recalculated distribution tree, it is determined not to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
[0013] In some embodiments, the communication device is the ingress PE or the controller.
[0014] In some embodiments, if the currently designated VPN corresponds to a fully inclusive operator multicast service interface I-PMSI tunnel, the controller uses the distribution tree corresponding to the I-PMSI tunnel as the reference distribution tree.
[0015] In some embodiments, if the current designated VPN corresponds to a wildcard (*, *) S-PMSI tunnel, the controller uses the ingress PE as the root and all PEs in the PE set as leaves, and calculates the distribution tree according to the unicast topology information customized for the designated VPN to obtain the reference distribution tree. The PE set is sent by the ingress PE to the controller, or the PE set is configured on the controller.
[0016] In some embodiments, when the PE set is sent by the ingress PE to the controller, the ingress PE determines the PE set in the following manner:
[0017] Determine the PEs that have joined the egress and the PEs that are to be joined in advance of the (*, *) S-PMSI tunnel as the PE set; or,
[0018] All egress PEs configured for the designated VPN on the ingress PE are determined as the PE set.
[0019] In some embodiments, the ingress PE determines the pre-added egress PE by:
[0020] Upon receiving a leaf network layer reachability information leaf NLRI signaling with a pre-join identifier (*, *) S-PMSI sent by any PE, the any PE is determined as a pre-join egress PE; or,
[0021] The PEs in the MVPN that have received the multicast stream on the specified VPN within a specified time period but are not currently added to the (*, *)S-PMSI tunnel are periodically determined as pre-added egress PEs.
[0022] In some embodiments, further comprising:
[0023] After adding the branch between the root and the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, before obtaining the distribution tree recalculated by the controller, if it is determined that the reference distribution tree is updated, the target distribution tree is updated using the updated reference distribution tree to trigger the ingress PE to update the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel.
[0024] In a second aspect, an embodiment of the present application provides an apparatus for adding an egress device to a tunnel, which is applied to a communication device, wherein the communication device stores a multicast stateless traffic engineering TE reference distribution tree generated by a controller, wherein the root of the reference distribution tree corresponds to an ingress provider edge device (PE) of a specified virtual private network (VPN), and the leaves correspond to at least some PEs in a multipoint virtual private network (MVPN) to which the specified VPN belongs. The apparatus includes:
[0025] A receiving module, configured to receive a request to add a target PE as an egress PE of a selective operator multicast service interface S-PMSI tunnel corresponding to a multicast stream on the designated VPN;
[0026] a processing module, configured to trigger the controller to calculate a multicast stateless TE distribution tree for the multicast stream; and add the branch between the root and the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, so as to trigger the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel, where the target leaf is the leaf corresponding to the target PE in the reference distribution tree;
[0027] An update control module is used to determine whether to trigger the entry PE to update the path between the entry PE and the target PE in the S-PMSI tunnel based on whether the branch is the same as the branch between the root and the target leaf in the distribution tree recalculated by the controller.
[0028] In some embodiments, the update control module is specifically configured to:
[0029] If the branch is different from the branch between the root and the target leaf in the recalculated distribution tree, triggering the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel;
[0030] If the branch is the same as the branch between the root and the target leaf in the recalculated distribution tree, it is determined not to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
[0031] In some embodiments, the communication device is the ingress PE or the controller.
[0032] In some embodiments, if the currently designated VPN corresponds to a fully inclusive operator multicast service interface I-PMSI tunnel, the controller uses the distribution tree corresponding to the I-PMSI tunnel as the reference distribution tree.
[0033] In some embodiments, if the current designated VPN corresponds to a wildcard (*, *) S-PMSI tunnel, the controller uses the ingress PE as the root and all PEs in the PE set as leaves, and calculates the distribution tree according to the unicast topology information customized for the designated VPN to obtain the reference distribution tree. The PE set is sent by the ingress PE to the controller, or the PE set is configured on the controller.
[0034] In some embodiments, when the PE set is sent by the ingress PE to the controller, the ingress PE determines the PE set in the following manner:
[0035] Determine the PEs that have joined the egress and the PEs that are to be joined in advance of the (*, *) S-PMSI tunnel as the PE set; or,
[0036] All egress PEs configured for the designated VPN on the ingress PE are determined as the PE set.
[0037] In some embodiments, the ingress PE determines the pre-added egress PE by:
[0038] Upon receiving a leaf network layer reachability information leaf NLRI signaling with a pre-join identifier (*, *) S-PMSI sent by any PE, the any PE is determined as a pre-join egress PE; or,
[0039] The PEs in the MVPN that have received the multicast stream on the specified VPN within a specified time period but are not currently added to the (*, *)S-PMSI tunnel are periodically determined as pre-added egress PEs.
[0040] In some embodiments, the update control module is further configured to:
[0041] After adding the branch between the root and the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, before obtaining the distribution tree recalculated by the controller, if it is determined that the reference distribution tree is updated, the target distribution tree is updated using the updated reference distribution tree to trigger the ingress PE to update the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel.
[0042] In a third aspect, an embodiment of the present application provides an electronic device, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein:
[0043] The memory stores a computer program that can be executed by at least one processor. The computer program is executed by the at least one processor to enable the at least one processor to perform the above method of adding an exit device to a tunnel.
[0044] In a fourth aspect, an embodiment of the present application provides a storage medium. When a computer program in the storage medium is executed by a processor of an electronic device, the electronic device can execute the above-mentioned method of adding an exit device to a tunnel.
[0045] In an embodiment of the present application, a multicast stateless TE reference distribution tree is pre-constructed with the ingress PE of a designated VPN as the root and at least some of the PEs in the MVPN to which the designated VPN belongs as leaves, and the reference distribution tree is stored in a communication device. Subsequently, when it is necessary to add the target PE corresponding to the target leaf in the reference distribution tree as the egress PE of the S-PMSI tunnel corresponding to a multicast stream on the designated VPN, the controller is triggered to calculate the multicast stateless TE distribution tree for the multicast stream, and the branch from the root to the target leaf in the reference distribution tree is added to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, thereby triggering the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel. After obtaining the distribution tree recalculated by the controller, based on whether the branches from the root to the target leaf in the reference distribution tree and the recalculated distribution tree are the same, it is determined whether to trigger the ingress PE to update the path from the ingress PE to the target PE in the S-PMSI tunnel. In this way, a full reference distribution tree is pre-built. When a PE corresponding to a leaf in the reference distribution tree is added as an egress PE for the S-PMSI tunnel corresponding to the multicast stream, the target distribution tree corresponding to the S-PMSI tunnel can be spliced based on the reference distribution tree, triggering the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel. This allows the users served by the target PE to receive the multicast stream before the controller recalculates the distribution tree. Therefore, the waiting time after the users served by the target PE order the multicast stream can be reduced, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0047] Figure 1 An application scenario diagram provided for an embodiment of the present application;
[0048] Figure 2 A flowchart of a method for adding an exit device to a tunnel provided in an embodiment of the present application;
[0049] Figure 3A schematic diagram of a reference distribution tree provided in an embodiment of the present application;
[0050] Figure 4 A schematic diagram of a distribution tree provided in an embodiment of the present application;
[0051] Figure 5 A schematic diagram of another distribution tree provided in an embodiment of the present application;
[0052] Figure 6 An interactive flow chart of a method for adding an exit device to a tunnel provided in an embodiment of the present application;
[0053] Figure 7 An interactive flow chart of another method for adding an exit device to a tunnel provided in an embodiment of the present application;
[0054] Figure 8 A schematic diagram of the structure of an apparatus for adding an exit device to a tunnel provided in an embodiment of the present application;
[0055] Figure 9 A schematic diagram of the hardware structure of an electronic device for implementing a method for adding an exit device to a tunnel provided in an embodiment of the present application. DETAILED DESCRIPTION
[0056] In order to solve the problem in the related art that when a new egress PE is added to an S-PMSI tunnel corresponding to a multicast stream, the multicast stream response speed is slow after the user served by the newly added egress PE orders the multicast stream on demand, the embodiments of the present application provide a method, apparatus, electronic device and storage medium for adding an egress device to a tunnel.
[0057] The preferred embodiments of the present application are described below in conjunction with the drawings in the specification. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application and are not used to limit the present application. In addition, the embodiments and features in the embodiments of the present application can be combined with each other if there is no conflict.
[0058] To facilitate understanding of this application, the technical terms involved in this application are:
[0059] The fully inclusive provider multicast service interface (I-PMSI) tunnel, at the VPN level, can be established regardless of whether there is a multicast stream on the VPN. The I-PMSI tunnel connects all PEs belonging to the same VPN. Regardless of whether the egress PE of the I-PMSI tunnel requests the multicast stream, the VPN ingress PE will send the multicast stream to the egress PE. Since not all egress PEs have receivers, there will be redundant data traffic.
[0060] The S-PMSI tunnel can be at the multicast stream level and is connected to a specific egress PE belonging to the same VPN. When the multicast stream is switched from the I-PMSI tunnel to the S-PMSI tunnel, only the egress PE that needs the multicast stream will receive the multicast stream. Therefore, there is no redundant data traffic in the S-PMSI tunnel.
[0061] Wildcard (*, *) S-PMSI tunnels are used when neither a multicast source nor a multicast receiving group is specified. Similar to I-PMSI tunnels, they operate at the VPN level and are generally not used simultaneously with I-PMSI tunnels. (*, *) S-PMSI tunnels rely on multicast streams for establishment and support pre-joining the egress PE. The egress PE that actually joins is the (*, *) S-PMSI tunnel's actual egress PE. A pre-joined egress PE has not yet become the (*, *) S-PMSI tunnel's actual egress PE and therefore will not receive multicast streams. When a pre-joined egress PE needs to divert traffic, it can apply to become the (*, *) S-PMSI tunnel's actual egress PE and begin receiving multicast streams. Therefore, if the (*, *) S-PMSI tunnel's egress PE does not request multicast streams, it will not receive them.
[0062] In specific implementation, there are two solutions for pre-adding egress PE:
[0063] Solution 1: Configure the pre-join capability on the PE that can serve as a reference distribution tree leaf.
[0064] 1) Leaf NLRI signaling of S-PMSI with pre-join identifier (*, *) can be extended, where the pre-join identifier can be marked by routing attributes or tunnel attributes.
[0065] 2) Pre-join timing and processing: The PE locally enables MVPN and is configured to support pre-join. When the PE receives the (*, *) S-PMSI NLRI route from the ingress PE of the specified VPN, it temporarily does not need to receive any multicast streams from the ingress PE. The PE joins the (*, *) S-PMSI using the pre-join method. Specifically, it sends leaf NLRI signaling with the (*, *) S-PMSI containing the pre-join flag.
[0066] 3) Ingress PE processing pre-joining: After the ingress PE receives the leaf NLRI signaling of the S-PMSI with the pre-joining identifier (*, *) from any PE, it only counts the pre-joining PE information and does not add the PE as a leaf of the reference distribution tree corresponding to the (*, *) S-PMSI tunnel.
[0067] 4) Exit pre-join and enter formal join: When the pre-join PE needs to receive multicast streams from the ingress PE, it formally joins the (*, *)S-PMSI tunnel. The ingress PE then adds the pre-join PE as a leaf of the reference distribution tree corresponding to the (*, *)S-PMSI tunnel.
[0068] 5) Exit pre-join: You can exit pre-join by disabling MVPN or pre-join.
[0069] Solution 2: The ingress PE identifies the PE that may serve as a reference for distributing tree leaves as a pre-joining PE based on valid historical information, and can set a valid time.
[0070] For example, the ingress PE periodically identifies PEs in the MVPN that have received multicast streams on a specified VPN within a specified time period (such as the past week or month) but are not currently joined to the (*, *) S-PMSI tunnel as pre-joined egress PEs.
[0071] After establishing a multicast stateless TE distribution tree for any multicast stream, the controller only needs to send the multicast stateless TE distribution tree to the ingress PE corresponding to the multicast stream. The ingress PE can then send the multicast stream to the correct egress PE based on the multicast stateless TE distribution tree without having to send the multicast stateless TE distribution tree to other PEs except the ingress PE.
[0072] refer to Figure 1 , Figure 1 This application scenario diagram provides an example embodiment of the present application, in which CE1-CE3 are customer edge devices (CE), PE1-PE3 are provider edge devices (PE), and PE1-PE3 corresponds one-to-one with CE1-CE3. P (Provider) is a backbone router in the provider network that is not directly connected to CE. It only needs to have stream forwarding capabilities and does not maintain VPN-related information. When planning multicast stateless TE paths, a controller is introduced to support programming of TE paths and cross-domain scenarios. The controller specifically calculates the multicast stateless TE distribution tree.
[0073] In an MVPN scenario, if the multicast forwarding rate exceeds a set threshold for a specified period of time, the I-PMSI tunnel switches to the S-PMSI tunnel. Unlike the I-PMSI tunnel, which distributes multicast streams to all egress PEs, the S-PMSI tunnel distributes multicast streams only to selected egress PEs. If a new egress PE is added, the corresponding tunnel information must be updated, adding the egress PE as a leaf. For example, PE1 is the ingress PE of a designated VPN, and the newly added egress PE is PE3. In related technologies, the following steps are performed to add egress PE3:
[0074] ① Ingress PE1 receives the NLRI route from PE3, which adds PE3 as the egress PE of the S-PMSI tunnel corresponding to a multicast flow on the specified VPN.
[0075] ② Ingress PE1 notifies the controller to recalculate the multicast stateless TE distribution tree corresponding to the multicast flow and add the leaf corresponding to PE3;
[0076] ③ The controller comprehensively considers the flow forwarding information (such as load and rate) of all devices in the MVPN to which the specified VPN belongs, recalculates the multicast stateless TE distribution tree corresponding to the multicast flow, and sends the recalculated multicast stateless TE distribution tree to the ingress PE1;
[0077] ④ Ingress PE1 updates the S-PMSI tunnel based on the received TE distribution tree and sends the multicast stream to the users corresponding to the newly added egress PE3 and the users corresponding to the original egress PE2 through the updated S-PMSI tunnel.
[0078] Because it takes a certain amount of time for the controller to recalculate the distribution tree, users served by PE3 can only obtain multicast streams after the distribution tree and S-PMSI tunnel are updated. Therefore, when a new egress PE3 is added, users served by PE3 may experience a delay in obtaining multicast streams after requesting them, affecting user experience.
[0079] In order to improve the above situation, an embodiment of the present application provides a method for adding an egress device to a tunnel, in which a multicast stateless TE reference distribution tree is pre-built with the ingress PE of a specified VPN as the root and at least some PEs in the MVPN to which the specified VPN belongs as leaves, and the reference distribution tree is stored in the communication device. Subsequently, when it is necessary to add the target PE corresponding to the target leaf in the reference distribution tree as the egress PE of the S-PMSI tunnel corresponding to a multicast stream on the specified VPN, the controller is triggered to calculate the multicast stateless TE distribution tree for the multicast stream, and the branch between the root and the target leaf in the reference distribution tree is added to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, thereby triggering the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel. After obtaining the distribution tree recalculated by the controller, based on whether the branches between the root and the target leaf in the reference distribution tree and the recalculated distribution tree are the same, it is determined whether to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel. In this way, a full reference distribution tree is pre-built. When a PE corresponding to a leaf in the reference distribution tree is added as an egress PE for the S-PMSI tunnel corresponding to the multicast stream, the target distribution tree corresponding to the S-PMSI tunnel can be spliced based on the reference distribution tree, triggering the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel. This allows the users served by the target PE to receive the multicast stream before the controller recalculates the distribution tree. Therefore, the waiting time after the users served by the target PE order the multicast stream can be reduced, thereby improving the user experience.
[0080] After introducing the application scenarios of the embodiments of the present application, the method for adding an exit device to a tunnel proposed in the present application is described below with specific embodiments.
[0081] Figure 2 A flowchart of a method for adding an egress device to a tunnel provided in an embodiment of the present application is provided. The method is applied to a communication device, wherein the communication device stores a multicast stateless TE reference distribution tree generated by a controller. The root of the reference distribution tree corresponds to the ingress PE of a specified VPN, and the leaves correspond to at least some PEs in the MVPN to which the specified VPN belongs. In practical applications, the specified VPN is any VPN in the MVPN, and the leaves of the reference distribution tree may correspond to some PEs in the MVPN or to all PEs in the MVPN. The above-mentioned communication device may be Figure 1 The method includes the following steps:
[0082] In step 201, a request is received to add a target PE as an egress PE of an S-PMSI tunnel corresponding to a multicast stream on a specified VPN.
[0083] Typically, a given VPN can transmit one, two, or more multicast streams within a given period, and each multicast stream can have its own S-PMSI tunnel. Therefore, it is necessary to specify the S-PMSI tunnel for which the egress PE is to be added on the given VPN. The target PE can be any leaf PE in the reference distribution tree.
[0084] When this method is applied to Figure 1 When the ingress PE of a specified VPN is received, the ingress PE receives the NLRI route for adding the target PE as the egress PE of the S-PMSI tunnel corresponding to the corresponding multicast flow on the specified VPN. This can be considered as receiving a request to add the target PE as the egress PE of the S-PMSI tunnel corresponding to the multicast flow on the specified VPN.
[0085] When this method is applied to Figure 1 When the controller receives a request from the ingress PE to recalculate the multicast stateless TE distribution tree for a multicast flow and add the target PE as a leaf, it is considered to have received a request to add the target PE as the egress PE for the S-PMSI tunnel corresponding to the multicast flow on the specified VPN. In this case, the request is sent by the ingress PE after receiving the NLRI route of the target PE.
[0086] In step 202, the trigger controller calculates a multicast stateless TE distribution tree for the multicast stream.
[0087] It should be noted that although only an egress PE is added for the S-PMSI tunnel corresponding to a multicast flow on a specified VPN, the controller will still comprehensively consider the flow forwarding information (such as load, rate, etc.) of all devices in the MVPN to which the specified VPN belongs, and recalculate the multicast stateless TE distribution tree corresponding to the multicast flow to obtain a more appropriate distribution tree.
[0088] In step 203, the branch between the root and the target leaf in the reference distribution tree is added to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel to trigger the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel. The target leaf is the leaf corresponding to the target PE in the reference distribution tree.
[0089] The target distribution tree stores the path information of the multicast stream from the ingress PE to all egress PEs.
[0090] Generally, there are two situations in which a controller establishes a reference distribution tree.
[0091] Case 1: The currently designated VPN corresponds to an I-PMSI tunnel. In this case, the controller can directly use the distribution tree corresponding to the I-PMSI tunnel as the reference distribution tree.
[0092] Case 2: The currently specified VPN corresponds to the (*, *)S-PMSI tunnel. In this case, the controller can use the ingress PE as the root and all PEs in the PE set as leaves. It can calculate the distribution tree according to the unicast topology information customized for the specified VPN to obtain a reference distribution tree. The PE set is sent by the ingress PE to the controller, or the PE set is configured on the controller.
[0093] Here, when the PE set is sent by the ingress PE to the controller, the reference distribution tree is established by the ingress PE requesting the controller to establish it. When the PE set is configured on the controller, the reference distribution tree is actively established by the controller based on the ingress PE and the PE set. Figure 1 When the controller in the , the controller can directly save the reference distribution tree locally. When this method is applied to Figure 1 When the ingress PE of a VPN is specified, the reference distribution tree local to the ingress PE is sent to the ingress PE by the controller.
[0094] The following describes how the ingress PE determines the PE set.
[0095] Method 1: The egress PEs that have joined and the egress PEs that are to be joined of (*, *) S-PMSI tunnels are determined as a PE set.
[0096] Any PE can pre-notify its membership in an S-PMSI tunnel (i.e., send a Leaf NLRI with the pre-join flag in advance) (*, *) to become a pre-joined PE. Subsequently, when the pre-joined PE actually needs to divert traffic, it can notify its formal membership in the S-PMSI tunnel (i.e., send a Leaf NLRI to reset the pre-join flag) (*, *). Therefore, the set of all egress PEs that have joined an S-PMSI tunnel and all pre-joined egress PEs can be defined as the PE set.
[0097] In this case, when the (*, *)S-PMSI tunnel corresponding to the specified VPN has an officially joined egress PE, the multicast stream can be directly distributed to the egress PE based on the flow forwarding path when the egress PE pre-joins the (*, *)S-PMSI tunnel. This can also solve the problem of slow traffic diversion in the (*, *)S-PMSI tunnel.
[0098] In a specific implementation, the method for determining the pre-joined egress PE is as follows: upon receiving leaf NLRI signaling with a pre-join identifier (*, *) S-PMSI sent by any PE, any PE is determined as a pre-joined egress PE, or PEs in the MVPN that have received multicast flows on a specified VPN within a specified time period but are not currently joined to the (*, *) S-PMSI tunnel are periodically determined as pre-joined egress PEs.
[0099] Method 2: All egress PEs configured for a specified VPN on the ingress PE are determined as a PE set.
[0100] See also Figure 3 , Figure 3 A schematic diagram of a reference distribution tree provided for an embodiment of the present application, wherein the root ① represents the ingress PE of a specified VPN, leaves ④, ⑤, ⑥, and ⑦ are some PEs in the MVPN, representing the set of PEs {PE4, PE5, PE6, PE7} that can serve as the egress of the specified VPN, and ② and ③ can represent backbone routers in the MVPN.
[0101] See also Figure 4 , Figure 4 A schematic diagram of a distribution tree provided in an embodiment of the present application, wherein the circled one is the target distribution tree. That is, the egress PE of the current S-PMSI tunnel is PE4, and assuming the target PE is PE7, leaf 7 is added to the target distribution tree {1, 2, 4}. By searching, the location of leaf 7 is found in the target distribution tree, and then, tracing back from leaf 7 to the root, the branch where leaf 7 is located is {1, 3, 7}. Figure 4 The target distribution tree after adding the branch where leaf 7 is located is {1, 2, 3, 4, 7}, see Figure 5 , Figure 5 The black part in the middle shows the target distribution tree after adding branches, and the circled ones are the newly added branches.
[0102] Here, the target distribution tree stores the distribution path information of the multicast stream from the ingress PE to all egress PEs. Once the target distribution tree is updated, the ingress PE will be triggered to update the corresponding S-PMSI tunnel according to the updated target distribution tree.
[0103] It should be noted that the unicast topology information corresponding to a designated VPN is generally customizable. The distribution tree corresponding to the I-PMSI tunnel of a designated VPN and the distribution tree corresponding to the S-PMSI tunnel for any multicast stream on the designated VPN share the same customized unicast topology information and underlay forwarding table. Therefore, after splicing a branch of the distribution tree corresponding to the I-PMSI tunnel into the distribution tree corresponding to an S-PMSI tunnel, the designated VPN can still forward multicast streams normally using the spliced S-PMSI tunnel. Because of this, when the ingress PE adds the target PE as the egress PE of the S-PMSI tunnel, the ingress PE can send the multicast stream to the target PE, and users served by the target PE can view the multicast stream normally.
[0104] In step 204, based on whether the reference distribution tree and the branches between the root and the target leaf in the distribution tree recalculated by the controller are the same, it is determined whether to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
[0105] Generally, if the branch between the root and the target leaf in the reference distribution tree is different from the branch between the root and the target leaf in the recalculated distribution tree, the ingress PE may be triggered to update the path between the ingress PE and the target PE in the S-PMSI tunnel. In this case, the paths between the ingress PE and the target PE before and after the controller calculation are different; if the branch between the root and the target leaf in the reference distribution tree is the same as the branch between the root and the target leaf in the recalculated distribution tree, the ingress PE may not be triggered to update the path between the ingress PE and the target PE in the S-PMSI tunnel. In this case, the paths between the ingress PE and the target PE before and after the controller calculation are the same.
[0106] It should be noted that for both the reference distribution tree and the recalculated distribution tree, the branches from the root to any leaf other than the target leaf may be the same or different. That is, after adding the target PE as an egress PE according to the above process, not only will the path from the ingress PE to the target PE in the S-PMSI tunnel change or remain unchanged, but the path from the ingress PE to any egress PE other than the target PE in the S-PMSI tunnel may also change or remain unchanged.
[0107] Additionally, changes to the PE set or unicast topology information transmission trigger the controller to recalculate the reference distribution tree. If the reference distribution tree is updated after the branch from the root to the target leaf in the reference distribution tree is added to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel but before the controller receives the recalculated distribution tree, the updated reference distribution tree can be used to update the target distribution tree, triggering the ingress PE to update the path from the ingress PE to the corresponding egress PE in the S-PMSI tunnel. This ensures that the ingress PE distributes multicast streams based on the latest path.
[0108] It should be noted that in the above process, there is no strict order between steps 202 and 203.
[0109] When the execution subject of the embodiment of the present application is the ingress PE of the designated VNP, see Figure 6 , Figure 6 An interactive flowchart of a method for adding an exit device to a tunnel provided in an embodiment of the present application includes the following steps.
[0110] In step 601, the controller generates a multicast stateless TE reference distribution tree, where the root of the reference distribution tree corresponds to an ingress PE of a specified VPN, and the leaves correspond to at least some PEs in the MVPN to which the specified VPN belongs.
[0111] In step 602, the controller sends the reference distribution tree to the ingress PE for storage.
[0112] In step 603, the ingress PE receives the NLRI route for adding the target PE as the egress PE of the S-PMSI tunnel corresponding to a multicast flow on the specified VPN.
[0113] In step 604, the entry PE searches for the target leaf corresponding to the target PE from the locally stored reference distribution tree.
[0114] In step 605, the ingress PE adds the branch from the root to the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel.
[0115] In step 606, the ingress PE adds the target PE as the egress PE of the S-PMSI tunnel according to the target distribution tree after adding the branch.
[0116] In step 607, the ingress PE sends the multicast stream to the target PE and the original egress PE through the S-PMSI tunnel after the egress PE is added.
[0117] In step 608, the ingress PE applies to the controller to add the target PE as the egress PE of the corresponding S-PMSI tunnel.
[0118] In step 609, the controller calculates a multicast stateless TE distribution tree for the multicast stream.
[0119] In step 610 , the controller sends the recalculated distribution tree to the ingress PE.
[0120] In step 611 , the ingress PE determines whether the branches from the root to the target leaf in the reference distribution tree and the recalculated distribution tree are the same. If so, the process proceeds to step 612 ; otherwise, the process proceeds to step 613 .
[0121] In step 612, the ingress PE determines not to update the path between itself and the target PE in the S-PMSI tunnel.
[0122] In step 613, the ingress PE updates the path between itself and the target PE in the S-PMSI tunnel.
[0123] In this case, the ingress PE can use the recalculated distribution tree to update the target distribution tree. Then, based on the updated target distribution tree, it updates the path between itself and the corresponding egress PE in the S-PMSI tunnel. The corresponding egress PE includes at least the target PE. Here, when the corresponding egress PE also includes other egress PEs, this indicates that after adding egress PEs in the above manner, not only the path between the ingress PE and the target PE has changed, but also the paths between the ingress PE and other egress PEs have changed.
[0124] In step 614, the ingress PE sends the multicast stream to the target PE and the original egress PE through the S-PMSI tunnel with the updated path.
[0125] In addition, after the ingress PE adds a branch to the target distribution tree and before the controller recalculates the distribution tree, if the ingress PE determines that the reference distribution tree has been updated, such as due to a change in unicast topology information or an egress PE failure, the updated reference distribution tree can be used to update the target distribution tree. Based on the updated target distribution tree, the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel is updated. Then, the multicast stream is sent to the target PE and the original egress PE through the S-PMSI tunnel with the updated path to ensure that the ingress PE distributes the multicast stream according to the latest path.
[0126] It should be noted that in the above process, steps 604-607 and step 608 are not sequentially ordered. However, steps 604-606 are relatively simple and require less execution time than step 609. Once the ingress PE adds the target PE as the egress PE of the S-PMSI tunnel, the users served by the target PE can receive the multicast stream. This allows users served by the target PE to receive the multicast stream before the controller recalculates the distribution tree. This reduces the waiting time after users served by the target PE request the multicast stream, thereby improving the user experience.
[0127] When the execution subject of the embodiment of the present application is a controller, see Figure 7 , Figure 7 An interactive flowchart of another method for adding an exit device to a tunnel provided in an embodiment of the present application includes the following steps.
[0128] In step 701, the controller generates a multicast stateless TE reference distribution tree, where the root of the reference distribution tree corresponds to an ingress PE of a specified VPN, and the leaves correspond to at least some PEs in the MVPN to which the specified VPN belongs.
[0129] In step 702, the ingress PE receives an NLRI route that adds the target PE as the egress PE of the S-PMSI tunnel corresponding to a multicast flow on a specified VPN.
[0130] In step 703, the ingress PE applies to the controller to add the target PE as the egress PE of the S-PMSI tunnel.
[0131] In step 704, the controller searches for a target leaf corresponding to the target PE from the locally stored reference distribution tree.
[0132] In step 705, the controller adds the branch from the root to the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel.
[0133] In step 706 , the controller sends the target distribution tree to the ingress PE.
[0134] In step 707, the ingress PE adds the target PE as the egress PE of the S-PMSI tunnel according to the target distribution tree.
[0135] In step 708, the ingress PE sends the multicast stream to the target PE and the original egress PE through the S-PMSI tunnel after the egress PE is added.
[0136] In step 709, the controller calculates a multicast stateless TE distribution tree for the multicast stream.
[0137] In step 710 , the controller sends the recalculated distribution tree to the ingress PE.
[0138] In step 711 , the ingress PE determines whether the branches from the root to the target leaf in the reference distribution tree and the recalculated distribution tree are the same. If so, the process proceeds to step 712 ; otherwise, the process proceeds to step 713 .
[0139] In step 712, the ingress PE determines not to update the path between itself and the target PE in the S-PMSI tunnel.
[0140] In step 713, the ingress PE updates the path from itself to the target PE in the S-PMSI tunnel.
[0141] The implementation of this step can be referred to step 613 and will not be described in detail here.
[0142] In step 714, the ingress PE sends the multicast stream to the target PE and the original egress PE through the S-PMSI tunnel with the updated path.
[0143] In addition, after the ingress PE adds a branch to the target distribution tree and before the controller recalculates the distribution tree, if the controller determines that the reference distribution tree has been updated, such as due to a change in unicast topology information or an egress PE failure, the updated reference distribution tree can be used to update the target distribution tree and send the updated target distribution tree to the ingress PE. The ingress PE then updates the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel based on the updated target distribution tree, and sends the multicast stream to the target PE and the original egress PE through the S-PMSI tunnel with the updated path, to ensure that the ingress PE distributes the multicast stream based on the latest path.
[0144] It should be noted that in the above process, steps 704-706 and step 709 can be executed in parallel. However, steps 704-706 are relatively simple and require less execution time than step 709. Once the ingress PE adds the target PE as the egress PE of the S-PMSI tunnel, the users served by the target PE can receive the multicast stream. Therefore, before the controller recalculates the distribution tree, the users served by the target PE can receive the multicast stream. This reduces the waiting time after the users served by the target PE request the multicast stream, thereby improving the user experience.
[0145] Based on the same technical concept, an embodiment of the present application also provides a device for adding an exit device to a tunnel. The principle of solving the problem by the device for adding an exit device to a tunnel is similar to the above-mentioned method for adding an exit device to a tunnel. Therefore, the implementation of the device for adding an exit device to a tunnel can refer to the implementation of the method for adding an exit device to a tunnel, and the repeated parts will not be repeated.
[0146] Figure 8 A structural schematic diagram of a device for adding an exit device to a tunnel provided in an embodiment of the present application, wherein the device is applied to a communication device, and the communication device stores a multicast stateless traffic engineering TE reference distribution tree generated by a controller, wherein the root of the reference distribution tree corresponds to the entry operator edge device PE of a specified virtual private network VPN, and the leaves correspond to at least part of the PEs in the multi-point virtual private network MVPN to which the specified VPN belongs, and the device includes.
[0147] The receiving module 801 is configured to receive a request for adding a target PE as an egress PE of a selective operator multicast service interface S-PMSI tunnel corresponding to a multicast stream on the specified VPN;
[0148] Processing module 802 is configured to trigger the controller to calculate a multicast stateless TE distribution tree for the multicast stream; and add the branch from the root to the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, thereby triggering the ingress PE to add the target PE as an egress PE of the S-PMSI tunnel, where the target leaf is the leaf corresponding to the target PE in the reference distribution tree.
[0149] The update control module 803 is used to determine whether to trigger the entry PE to update the path between the entry PE and the target PE in the S-PMSI tunnel based on whether the branch is the same as the branch between the root and the target leaf in the distribution tree recalculated by the controller.
[0150] In some embodiments, the update control module 803 is specifically configured to:
[0151] If the branch is different from the branch between the root and the target leaf in the recalculated distribution tree, triggering the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel;
[0152] If the branch is the same as the branch between the root and the target leaf in the recalculated distribution tree, it is determined not to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
[0153] In some embodiments, the communication device is the ingress PE or the controller.
[0154] In some embodiments, if the currently designated VPN corresponds to a fully inclusive operator multicast service interface I-PMSI tunnel, the controller uses the distribution tree corresponding to the I-PMSI tunnel as the reference distribution tree.
[0155] In some embodiments, if the current designated VPN corresponds to a wildcard (*, *) S-PMSI tunnel, the controller uses the ingress PE as the root and all PEs in the PE set as leaves, and calculates the distribution tree according to the unicast topology information customized for the designated VPN to obtain the reference distribution tree. The PE set is sent by the ingress PE to the controller, or the PE set is configured on the controller.
[0156] In some embodiments, when the PE set is sent by the ingress PE to the controller, the ingress PE determines the PE set in the following manner:
[0157] Determine the PEs that have joined the egress and the PEs that are to be joined in advance of the (*, *) S-PMSI tunnel as the PE set; or,
[0158] All egress PEs configured for the designated VPN on the ingress PE are determined as the PE set.
[0159] In some embodiments, the ingress PE determines the pre-added egress PE by:
[0160] Upon receiving a leaf network layer reachability information leaf NLRI signaling with a pre-join identifier (*, *) S-PMSI sent by any PE, the any PE is determined as a pre-join egress PE; or,
[0161] The PEs in the MVPN that have received the multicast stream on the specified VPN within a specified time period but are not currently added to the (*, *)S-PMSI tunnel are periodically determined as pre-added egress PEs.
[0162] In some embodiments, the update control module 803 is further configured to:
[0163] After adding the branch between the root and the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, before obtaining the distribution tree recalculated by the controller, if it is determined that the reference distribution tree is updated, the target distribution tree is updated using the updated reference distribution tree to trigger the ingress PE to update the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel.
[0164] The division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, the functional modules in the embodiments of the present application may be integrated into one processor, or may exist physically separately, or two or more modules may be integrated into one module. The coupling between the modules can be achieved through some interfaces, which are usually electrical communication interfaces, but it is not ruled out that they may be mechanical interfaces or other forms of interfaces. Therefore, the modules described as separate components may or may not be physically separated, and may be located in one place or distributed to different locations of the same or different devices. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules.
[0165] After introducing the method and apparatus for adding an exit device to a tunnel according to an exemplary embodiment of the present application, an electronic device according to another exemplary embodiment of the present application is introduced next.
[0166] Refer to the following Figure 9 The electronic device 130 implemented according to this embodiment of the present application is described. Figure 9 The electronic device 130 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0167] like Figure 9 As shown, the electronic device 130 is a general electronic device. Components of the electronic device 130 may include, but are not limited to, the at least one processor 131, the at least one memory 132, and a bus 133 connecting different system components (including the memory 132 and the processor 131).
[0168] Bus 133 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a processor or local bus using any of a variety of bus architectures.
[0169] The 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 .
[0170] The memory 132 may also include a program / utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 including, but 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 an implementation of a network environment.
[0171] The electronic device 130 may also communicate with one or more external devices 134 (e.g., a keyboard, pointing device, etc.), one or more devices that enable a user to interact with the electronic device 130, and / or any device that enables the electronic device 130 to communicate with one or more other electronic devices (e.g., a router, a modem, etc.). Such communication may occur via an input / output (I / O) interface 135. Furthermore, the electronic device 130 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 136. As shown, the network adapter 136 communicates with other modules of the electronic device 130 via a bus 133. It should be understood that, although not shown, other hardware and / or software modules may be used in conjunction with the electronic 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.
[0172] In an exemplary embodiment, a storage medium is also provided. When a computer program stored in the storage medium is executed by a processor of an electronic device, the electronic device can perform the above-described method for adding an exit device to a tunnel. Optionally, the storage medium can be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, or optical data storage device.
[0173] In an exemplary embodiment, the electronic device of the present application may include at least one processor and a memory communicatively connected to the at least one processor, wherein the memory stores a computer program that can be executed by the at least one processor, and when the computer program is executed by the at least one processor, the at least one processor can execute any step of the method for adding an exit device to a tunnel provided in the embodiment of the present application.
[0174] In an exemplary embodiment, a computer program product is further provided. When the computer program product is executed by an electronic device, the electronic device can implement any exemplary method provided in this application.
[0175] Furthermore, the computer 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 component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, RAM, ROM, an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0176] In embodiments of the present application, the program product for adding an exit device to a tunnel may be implemented as a CD-ROM and include program code, which can be executed on a computing device. 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 that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0177] A readable signal medium may include a data signal transmitted in baseband or as part of a carrier wave, which carries readable program code. Such a transmitted data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. 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.
[0178] The program code contained on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
[0179] The program code for performing the operations of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also conventional procedural programming languages such as "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network such as a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect via the Internet).
[0180] It should be noted that although several units or subunits of the device are mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, depending on the embodiment of the application, the features and functions of two or more units described above can be embodied in a single unit. Conversely, the features and functions of a single unit described above can be further divided and embodied by multiple units.
[0181] Furthermore, although the operations of the method of the present application are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in this particular order, or that all illustrated operations 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.
[0182] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0183] The present application is described with reference to the flowcharts and / or block diagrams of the methods, apparatus (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 data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. 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.
[0184] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0185] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0186] 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 that fall within the scope of the present application.
[0187] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application also includes these modifications and variations.
Claims
1. A method for adding an exit device to a tunnel, applied to a communication device, characterized in that: The communication device stores a multicast stateless traffic engineering (TE) reference distribution tree generated by a controller, wherein the root of the reference distribution tree corresponds to an ingress provider edge (PE) of a designated virtual private network (VPN), and the leaves correspond to at least some PEs in a multipoint virtual private network (MVPN) to which the designated VPN belongs. The method includes: receiving a request to add a target PE as an egress PE of a selective operator multicast service interface S-PMSI tunnel corresponding to a multicast stream on the designated VPN; Triggering the controller to calculate a multicast stateless TE distribution tree for the multicast stream; and adding the branch from the root to the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, thereby triggering the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel, where the target leaf is the leaf corresponding to the target PE in the reference distribution tree; Based on whether the branch is the same as the branch between the root and the target leaf in the distribution tree recalculated by the controller, it is determined whether to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
2. The method according to claim 1, wherein Determining whether to trigger the ingress PE to update a path between the ingress PE and the target PE in the S-PMSI tunnel based on whether the branch is the same as the acquired branch between the root and the target leaf in the distribution tree recalculated by the controller includes: If the branch is different from the branch between the root and the target leaf in the recalculated distribution tree, triggering the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel; If the branch is the same as the branch between the root and the target leaf in the recalculated distribution tree, it is determined not to trigger the ingress PE to update the path between the ingress PE and the target PE in the S-PMSI tunnel.
3. The method according to claim 1, wherein The communication device is the ingress PE or the controller.
4. The method according to any one of claims 1 to 3, characterized in that: If the currently designated VPN corresponds to a fully inclusive operator multicast service interface I-PMSI tunnel, the controller uses the distribution tree corresponding to the I-PMSI tunnel as the reference distribution tree.
5. The method according to any one of claims 1 to 3, characterized in that: If the current designated VPN corresponds to a wildcard (*, *) S-PMSI tunnel, the controller uses the ingress PE as the root and all PEs in the PE set as leaves, and calculates the distribution tree according to the unicast topology information customized for the designated VPN to obtain the reference distribution tree. The PE set is sent to the controller by the ingress PE, or the PE set is configured on the controller.
6. The method according to claim 5, wherein When the PE set is sent by the ingress PE to the controller, the ingress PE determines the PE set in the following manner: Determine the PEs that have joined the egress and the PEs that are to be joined in advance of the (*, *) S-PMSI tunnel as the PE set; or, All egress PEs configured for the designated VPN on the ingress PE are determined as the PE set.
7. The method according to claim 6, wherein The ingress PE determines the pre-added egress PE in the following manner: Upon receiving a leaf network layer reachability information leaf NLRI signaling with a pre-join identifier (*, *) S-PMSI sent by any PE, the any PE is determined as a pre-join egress PE; or, The PEs in the MVPN that have received the multicast stream on the specified VPN within a specified time period but are not currently added to the (*, *)S-PMSI tunnel are periodically determined as pre-added egress PEs.
8. A device for adding exit equipment to a tunnel, characterized in that: Applied to a communication device, the communication device stores a multicast stateless traffic engineering (TE) reference distribution tree generated by a controller, the root of the reference distribution tree corresponds to an ingress provider edge (PE) of a designated virtual private network (VPN), and the leaves correspond to at least some PEs in a multipoint virtual private network (MVPN) to which the designated VPN belongs. The device includes: A receiving module, configured to receive a request to add a target PE as an egress PE of a selective operator multicast service interface S-PMSI tunnel corresponding to a multicast stream on the designated VPN; a processing module, configured to trigger the controller to calculate a multicast stateless TE distribution tree for the multicast stream; and add the branch between the root and the target leaf in the reference distribution tree to the multicast stateless TE target distribution tree corresponding to the S-PMSI tunnel, so as to trigger the ingress PE to add the target PE as the egress PE of the S-PMSI tunnel, where the target leaf is the leaf corresponding to the target PE in the reference distribution tree; An update control module is used to determine whether to trigger the entry PE to update the path between the entry PE and the target PE in the S-PMSI tunnel based on whether the branch is the same as the branch between the root and the target leaf in the distribution tree recalculated by the controller.
9. An electronic device, characterized in that: include: at least one processor, and a memory communicatively coupled to the at least one processor, wherein: The memory stores a computer program executable by the at least one processor. The computer program is executed by the at least one processor so that the at least one processor can perform the method according to any one of claims 1 to 7.
10. A storage medium, characterized in that: When the computer program in the storage medium is executed by a processor of an electronic device, the electronic device can perform the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
A method, apparatus and network device for implementing cross-VPN multicast
CN102291307A
Providing pim-sm support for mrsvp-te based multicast virtual private networks
CN104662837A
Method and device for establishing tunnel protection group in next generation multicast virtual private network
CN104702480A
Method Of Distributing Multicast Services And Network Device
CN107276904A
Tunnel switching method and leaf A-D (auto-discovery) route sending method and device
CN107547337A