Method, device, electronic device and storage medium for adding an exit device to a tunnel
Patent Information
- Application Number
- CN202410311508.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2044-03-19
AI Technical Summary
[0005]本申请实施例提供一种为隧道添加出口设备的方法、装置、电子设备及存储介质,用以解决相关技术中当为组播流对应的S-PMSI隧道新增出口PE时,新增出口PE所服务的用户点播组播流后组播流响应速度慢的问题
[0045]本申请实施例中,预先以指定VPN的入口PE为根、指定VPN所属MVPN中的至少部分PE为叶子,构建组播无状态TE参考分发树,并将参考分发树保存在通信设备中。后续,当需将参考分发树中目标叶子对应的目标PE添加为指定VPN上一条组播流对应的S-PMSI隧道的出口PE时,触发控制器对组播流进行组播无状态TE分发树计算,并将参考分发树中根到目标叶子间的分支,添加到S-PMSI隧道对应的组播无状态TE目标分发树中,从而触发入口PE将目标PE添加为S-PMSI隧道的出口PE,在获取到控制器重新计算的分发树后,基于参考分发树与重新计算的分发树中根到目标叶子间的分支是否相同,确定是否触发入口PE更新S-PMSI隧道中入口PE到目标PE间的路径。这样,预先构建全量的参考分发树,当需要为组播流对应的S-PMSI隧道,新增参考分发树中一个叶子对应的PE为出口PE时,可依据参考分发树拼接S-PMSI隧道对应的目标分发树,触发入口PE将目标PE添加为S-PMSI隧道的出口PE,使得在控制器重新计算出分发树之前,目标PE所服务用户就可以接收到组播流,因此,可减少目标PE所服务用户点播组播流后的等待时间,从而提升用户体验。
Smart Images

Figure CN120675928B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, electronic device and storage medium for adding exit equipment to a tunnel. Background Technology
[0002] When performing multicast stateless traffic engineering (TE) path planning, a controller is introduced to support programming of TE paths and cross-domain scenarios. The controller is specifically responsible for calculating the multicast stateless TE distribution tree.
[0003] In related technologies, when a target operator edge device (ProviderEdge, 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, after receiving the Network Layer Reachability Information (NLRI) route from the target PE, must notify the controller to recalculate the stateless multicast distribution tree (TE) corresponding to the multicast stream and add the corresponding leaf to the target PE. The controller comprehensively considers the flow forwarding information (such as load, rate, etc.) of all devices in the Multi-Point Virtual Private Network (MVPN) to which the specified VPN belongs, recalculates the stateless multicast TE distribution tree corresponding to the multicast stream, and sends the recalculated TE distribution tree to the ingress PE. The ingress PE device updates the S-PMSI tunnel corresponding to the multicast stream according to the recalculated TE distribution tree, and then sends the multicast stream to the user corresponding to the target PE (the newly added egress PE) and the user corresponding to the original egress PE through the updated S-PMSI tunnel.
[0004] Because the controller needs time 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, there will be a delay after users of the target PE service request the multicast stream before they can obtain it, and the waiting time will affect the user experience. Summary of the Invention
[0005] This application provides a method, apparatus, electronic device, and storage medium for adding an exit device to a tunnel, in order to solve the problem in the related art that when a new exit 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 exit PE plays the multicast stream.
[0006] In a first aspect, embodiments of this application provide a method for adding an exit device to a tunnel, applied to a communication device, wherein 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 the ingress operator edge device (PE) of a specified virtual private network (VPN), and the leaves correspond to at least some of the PEs in a multipoint virtual private network (MVPN) to which the specified VPN belongs, the method comprising:
[0007] Receive a request to add the target PE as the egress PE of the Selective Carrier Multicast Service Interface (S-PMSI) tunnel corresponding to a multicast stream on the specified VPN.
[0008] The controller is triggered to perform multicast stateless TE distribution tree calculation on 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, so as to trigger the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, and 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 from the root to the target leaf in the distribution tree recalculated by the controller, 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.
[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 from the root to the target leaf in the recalculated distribution tree, the ingress PE is triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel;
[0012] If the branch is the same as the branch from the root to the target leaf in the recalculated distribution tree, then it is determined that the ingress PE should not be triggered to update the path from the ingress PE to 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 specified VPN corresponds to a fully inclusive carrier 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 specified VPN corresponds to a wildcard (*, *)S-PMSI tunnel, the controller calculates the reference distribution tree by using the ingress PE as the root and all PEs in the PE set as leaves, according to the unicast topology information customized for the specified VPN. The PE set is sent to the controller by the ingress PE, or the PE set is configured on the controller.
[0016] In some embodiments, when the PE set is sent to the controller by the ingress PE, the ingress PE determines the PE set in the following manner:
[0017] The already added exit PEs and the pre-added exit PEs of the (*,*)S-PMSI tunnel are determined as the PE set; or,
[0018] The set of PEs is defined as all the egress PEs configured for the specified VPN on the ingress PE.
[0019] In some embodiments, the inlet PE is determined by the pre-added outlet PE in the following manner:
[0020] Upon receiving a leaf NLRI signaling message with a pre-join identifier (*, *)S-PMSI from any PE, that PE is identified as a pre-joining egress PE; or,
[0021] The PEs in the MVPN that have received multicast streams from the specified VPN within a specified time period but have not yet joined the (*, *)S-PMSI tunnel are identified as pre-joining egress PEs.
[0022] In some embodiments, it also includes:
[0023] After 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, if it is determined that the reference distribution tree has been updated before the distribution tree recalculated by the controller is obtained, 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 exit PE in the S-PMSI tunnel.
[0024] Secondly, embodiments of this application provide an apparatus for adding an exit device to a tunnel, 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 the ingress operator edge device (PE) of a specified virtual private network (VPN), and the leaves correspond to at least a portion of the PEs in a multipoint virtual private network (MVPN) to which the specified VPN belongs. The apparatus includes:
[0025] The receiving module is used to receive a request to add the target PE as the egress PE of the Selective Carrier Multicast Service Interface (S-PMSI) tunnel corresponding to a multicast stream on the specified VPN.
[0026] The processing module is used to trigger the controller to perform multicast stateless TE distribution tree calculation on the multicast stream; and to 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, so as to trigger the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, wherein the target leaf is the leaf corresponding to the target PE in the reference distribution tree;
[0027] The update control module is used to determine 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.
[0028] In some embodiments, the update control module is specifically used for:
[0029] If the branch is different from the branch from the root to the target leaf in the recalculated distribution tree, the ingress PE is triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel;
[0030] If the branch is the same as the branch from the root to the target leaf in the recalculated distribution tree, then it is determined that the ingress PE should not be triggered to update the path from the ingress PE to 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 specified VPN corresponds to a fully inclusive carrier 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 specified VPN corresponds to a wildcard (*, *)S-PMSI tunnel, the controller calculates the reference distribution tree by using the ingress PE as the root and all PEs in the PE set as leaves, according to the unicast topology information customized for the specified VPN. The PE set is sent to the controller by the ingress PE, or the PE set is configured on the controller.
[0034] In some embodiments, when the PE set is sent to the controller by the ingress PE, the ingress PE determines the PE set in the following manner:
[0035] The already added exit PEs and the pre-added exit PEs of the (*,*)S-PMSI tunnel are determined as the PE set; or,
[0036] The set of PEs is defined as all the egress PEs configured for the specified VPN on the ingress PE.
[0037] In some embodiments, the inlet PE is determined by the pre-added outlet PE in the following manner:
[0038] Upon receiving a leaf NLRI signaling message with a pre-join identifier (*, *)S-PMSI from any PE, that PE is identified as a pre-joining egress PE; or,
[0039] The PEs in the MVPN that have received multicast streams from the specified VPN within a specified time period but have not yet joined the (*, *)S-PMSI tunnel are identified as pre-joining egress PEs.
[0040] In some embodiments, the update control module is further configured to:
[0041] After 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, if it is determined that the reference distribution tree has been updated before the distribution tree recalculated by the controller is obtained, 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 exit PE in the S-PMSI tunnel.
[0042] Thirdly, embodiments of this application provide an electronic device, including: 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 to enable the at least one processor to perform the method described above for adding an exit device to the tunnel.
[0044] Fourthly, embodiments of this application provide a storage medium in which, when a computer program in the storage medium is executed by a processor of an electronic device, the electronic device is able to perform the above-described method for adding an exit device to a tunnel.
[0045] In this embodiment, a multicast stateless TE reference distribution tree is pre-constructed 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 an 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 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 the egress PE of the S-PMSI tunnel. After obtaining 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 based on whether the branch from the root to the target leaf in the reference distribution tree and the recalculated distribution tree are the same. In this way, by pre-constructing the full reference distribution tree, when it is necessary to add a leaf PE corresponding to a leaf in the reference distribution tree as the exit PE for the S-PMSI tunnel corresponding to the multicast stream, the target distribution tree corresponding to the S-PMSI tunnel can be spliced according to the reference distribution tree. This triggers the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, so that the users served by the target PE can receive the multicast stream before the controller recalculates the distribution tree. Therefore, the waiting time of the users served by the target PE after receiving the multicast stream can be reduced, thereby improving the user experience. Attached Figure Description
[0046] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0047] Figure 1 An application scenario diagram provided for an embodiment of this application;
[0048] Figure 2 A flowchart illustrating a method for adding an exit device to a tunnel, as provided in this application embodiment;
[0049] Figure 3A schematic diagram of a reference distribution tree provided for an embodiment of this application;
[0050] Figure 4 A schematic diagram of a distribution tree provided for an embodiment of this application;
[0051] Figure 5 A schematic diagram of yet another distribution tree provided in an embodiment of this application;
[0052] Figure 6 An interactive flowchart illustrating a method for adding an exit device to a tunnel, as provided in an embodiment of this application;
[0053] Figure 7 An interactive flowchart illustrating yet another method for adding an exit device to a tunnel, as provided in an embodiment of this application;
[0054] Figure 8 This is a schematic diagram of a device for adding an exit device to a tunnel, provided in an embodiment of this application.
[0055] Figure 9 This is a schematic diagram of the hardware structure of an electronic device for implementing a method of adding an exit device to a tunnel, as provided in an embodiment of this application. Detailed Implementation
[0056] To address the issue in related technologies where the multicast stream response speed is slow after users served by the newly added exit PE are allowed to play the multicast stream when a new exit PE is added to the S-PMSI tunnel corresponding to the multicast stream, embodiments of this application provide a method, apparatus, electronic device, and storage medium for adding an exit device to a tunnel.
[0057] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.
[0058] For ease of understanding, the technical terms used in this application are as follows:
[0059] An Inclusive-Provider Multicast Service Interface (I-PMSI) tunnel is a VPN-level tunnel that can be established regardless of whether there is a multicast stream on the VPN. The I-PMSI tunnel is connected to all PEs belonging to the same VPN. Regardless of whether the exit PE of the I-PMSI tunnel is receiving a multicast stream, the ingress PE of the VPN will send the multicast stream to the exit PE. Since not all exit PEs have receivers, there will be redundant data traffic.
[0060] An S-PMSI tunnel can be at the multicast stream level and is connected to a specific egress PE belonging to the same VPN. When a multicast stream is switched from an I-PMSI tunnel to an 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 an S-PMSI tunnel.
[0061] Wildcard (*, *)S-PMSI tunnels are used when neither a multicast source nor a multicast receiver group is specified. Similar to I-PMSI tunnels, they are VPN-level and generally not used simultaneously with I-PMSI tunnels. The establishment of (*, *)S-PMSI tunnels relies on multicast streams and supports pre-joining egress PEs. The actual egress PE joined is the true egress PE of the (*, *)S-PMSI tunnel. Pre-joining egress PEs, not yet becoming the true egress PEs of the (*, *)S-PMSI tunnel, will not receive multicast streams. When a pre-joining egress PE needs to redirect traffic, it can apply to become the true egress PE of the (*, *)S-PMSI tunnel and then begin receiving multicast streams. Therefore, an egress PE of a (*, *)S-PMSI tunnel will not receive multicast streams unless it requests them.
[0062] In practice, there are two options for pre-adding export PE:
[0063] Option 1: Configure pre-addition capability on the PE that can serve as a reference distribution tree leaf.
[0064] 1) LeafNLRI signaling with pre-joining identifiers (*, *)S-PMSI can be extended, where the pre-joining identifiers 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 does not need to receive any multicast streams from the ingress PE for the time being. The PE joins (*)S-PMSI in the pre-join method. Specifically, it sends leafNLRI signaling with the pre-join identifier (*)S-PMSI.
[0066] 3) Pre-addition processing of ingress PE: After receiving leafNLRI signaling with pre-addition identifier (*, *)S-PMSI sent by any PE, the ingress PE only counts the pre-addition PE information and does not add the PE as a leaf of the reference distribution tree corresponding to the (*, *)S-PMSI tunnel.
[0067] 4) Exiting pre-joining and entering formal joining: When a pre-joining PE needs to receive multicast streams from an ingress PE, it formally joins the (**)S-PMSI tunnel. Only then does the ingress PE add the pre-joining 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 enabling MVPN or pre-join.
[0069] Option 2: The entry PE identifies PEs that may serve as reference distribution leaves based on valid historical information and uses them as pre-added PEs, and the validity period can be set.
[0070] For example, the ingress PE periodically identifies PEs in the MVPN that have received multicast streams from a specified VPN within a specified time period (such as the past week or month) but have not yet joined the (*, *)S-PMSI tunnel as potential egress PEs.
[0071] With a stateless multicast distribution tree, after the controller establishes a stateless multicast distribution tree for any multicast stream, it only needs to send the stateless multicast 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 stateless multicast distribution tree, without having to send the stateless multicast distribution tree to any other PE besides the ingress PE.
[0072] refer to Figure 1 , Figure 1 This application provides an example of an application scenario diagram, where CE1-CE3 are customer network edge devices (CE), and PE1-PE3 are provider edge devices (PE). PE1-PE3 correspond one-to-one with CE1-CE3. The provider (P) is a backbone router in the provider network, not directly connected to the CE, and only needs to have flow forwarding capabilities; it 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 MVPN scenarios, if the multicast stream forwarding rate exceeds a set threshold for a set duration, the connection is switched from an I-PMSI tunnel to an S-PMSI tunnel. Unlike the I-PMSI tunnel, which distributes multicast streams to all egress PEs, the S-PMSI tunnel only distributes multicast streams to the selected egress PEs. Adding a new egress PE requires updating the corresponding tunnel information and adding the egress PE as a leaf PE. Taking PE1 as the designated VPN's ingress PE and PE3 as the newly added egress PE as an example, the relevant technologies follow these steps to add egress PE3:
[0074] ① The ingress PE1 receives the NLRI route sent by PE3, which adds PE3 as the exit PE of the S-PMSI tunnel corresponding to a multicast stream on the specified VPN.
[0075] ② The entry PE1 notifies the controller to recalculate the multicast stateless TE distribution tree corresponding to the multicast stream and add the leaf corresponding to PE3;
[0076] ③ The controller comprehensively considers the flow forwarding information (such as load, rate, etc.) 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] ④ The ingress PE1 updates the S-PMSI tunnel based on the received TE distribution tree, and sends the multicast stream to the user corresponding to the newly added egress PE3 and the user corresponding to the original egress PE2 through the updated S-PMSI tunnel.
[0078] Because the controller needs time to recalculate the distribution tree, users of the PE3 service can only obtain the multicast stream after the distribution tree is updated and the S-PMSI tunnel is updated. Therefore, when a new PE3 exit is added, there will be a problem that users of the PE3 service will experience a delay before they can obtain the multicast stream after requesting it, which affects the user experience.
[0079] To improve the above situation, this application provides a method for adding an exit device to a tunnel. In this method, a multicast stateless TE reference distribution tree is constructed in advance, 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. This reference distribution tree is then 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 exit PE of an S-PMSI tunnel corresponding to a multicast stream on a specified VPN, the controller is triggered to calculate the multicast stateless TE distribution tree for the multicast stream. The branches from the root to the target leaf in the reference distribution tree are 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 exit PE of the S-PMSI tunnel. After obtaining the recalculated distribution tree from 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 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. In this way, by pre-constructing the full reference distribution tree, when a new PE corresponding to a leaf in the reference distribution tree is added as the exit PE for the S-PMSI tunnel corresponding to the multicast stream, the target distribution tree corresponding to the S-PMSI tunnel can be spliced according to the reference distribution tree. This triggers the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, so that the users served by the target PE can receive the multicast stream before the controller recalculates the distribution tree. Therefore, the waiting time of the users served by the target PE after receiving the multicast stream can be reduced, thereby improving the user experience.
[0080] After introducing the application scenarios of the embodiments of this application, the method for adding exit equipment to a tunnel proposed in this application will be described below with specific embodiments.
[0081] Figure 2 This application provides a flowchart of a method for adding an exit device to a tunnel, which is applied in a communication device. 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 can correspond to some PEs in the MVPN or all PEs in the MVPN. The aforementioned communication device can be... Figure 1 The method involves the controller or the designated VPN entry PE. The method includes the following steps.
[0082] In step 201, a request is received to add the target PE as the egress PE of the S-PMSI tunnel corresponding to a multicast stream on the specified VPN.
[0083] Generally, a specified VPN can transmit one, two, or more multicast streams within a certain time period, and each multicast stream can have its own S-PMSI tunnel. Therefore, it is necessary to specify which multicast stream on the specified VPN corresponds to the S-PMSI tunnel for which the exit PE is added. Here, the target PE can be the PE corresponding to any leaf in the reference distribution tree.
[0084] When this method is applied Figure 1 When a VPN is specified as an ingress PE, the ingress PE receives an NLRI route that adds the target PE as the egress PE of the S-PMSI tunnel corresponding to the multicast stream 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 stream on the specified VPN.
[0085] When this method is applied Figure 1 When the controller receives a request from the ingress PE to recalculate the stateless multicast TE distribution tree corresponding to the multicast stream and add the target PE as a leaf node, it can be considered as receiving a request to add the target PE as the egress PE of the S-PMSI tunnel corresponding to the specified multicast stream 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 controller is triggered to perform multicast stateless TE distribution tree calculation on the multicast stream.
[0087] It should be noted that although it only adds an exit PE to the S-PMSI tunnel corresponding to a multicast stream 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 stream in order to obtain a more suitable distribution tree.
[0088] In step 203, 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 to trigger the ingress PE to add the target PE as the exit 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 transmission information of the multicast stream from the ingress PE to all egress PEs.
[0090] Generally, there are two situations in which the controller establishes a reference distribution tree.
[0091] Scenario 1: The specified 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] Scenario 2: The current 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, and calculate the distribution tree according to the unicast topology information customized for the specified VPN to obtain the reference distribution tree. Here, the PE set is sent to the controller by the ingress PE, or the PE set is configured on the controller.
[0093] Here, when the PE set is sent to the controller by the ingress PE, 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. Furthermore, when this method is applied... Figure 1 When the controller is in the middle, the controller can directly save the reference distribution tree locally. When this method is applied to Figure 1 When specifying the ingress PE of the VPN, the reference distribution tree on the ingress PE's local side is sent to the ingress PE by the controller.
[0094] The following section describes how the PE set is determined at the entry point.
[0095] Method 1: Determine the already added exit PEs and the pre-added exit PEs of the (*,*)S-PMSI tunnel as the PE set.
[0096] Any PE can pre-notify its joining (i.e., send a LeafNLRI with pre-joining flag information in advance) to become a pre-joining PE in the (*, *)S-PMSI tunnel. Subsequently, when the pre-joining PE actually has a traffic demand, it will then formally join (i.e., send a LeafNLRI to reset the pre-joining flag information) to become a pre-joining PE in the (*, *)S-PMSI tunnel. Therefore, the set of all joined exit PEs and all pre-joining exit PEs in the (*, *)S-PMSI tunnel can be defined as the PE set.
[0097] In this case, when the specified VPN has a formally joined egress PE for the (**)S-PMSI tunnel, the multicast stream can be directly distributed to the egress PE based on the flow forwarding path when the egress PE was pre-joined to the (**)S-PMSI tunnel. This can also solve the problem of slow traffic redirection in the (**)S-PMSI tunnel.
[0098] In specific implementation, the method for determining the pre-joining exit PE is as follows: when any PE sends a leafNLRI signaling with a pre-joining identifier (*, *)S-PMSI, the PE is determined as the pre-joining exit PE; or, at regular intervals, PEs in the MVPN that have received multicast streams on the specified VPN within a specified time period but have not yet joined the (*, *)S-PMSI tunnel are determined as pre-joining exit PEs.
[0099] Method 2: Determine all outgoing PEs configured for the specified VPN on the inbound PE as a PE set.
[0100] See Figure 3 , Figure 3 This is a schematic diagram of a reference distribution tree provided in an embodiment of this application, wherein the root ① represents the entry PE of the specified VPN, the leaves ④, ⑤, ⑥, and ⑦ are some PEs in the MVPN, representing the set of PEs {PE4, PE5, PE6, PE7} that can be used as the exit of the specified VPN, and ② and ③ can represent the backbone routers in the MVPN.
[0101] See Figure 4 , Figure 4 This is a schematic diagram of a distribution tree provided in an embodiment of this application, where the circled area represents the target distribution tree. That is, the current exit PE of the S-PMSI tunnel is PE4, and assuming the target PE is PE7, a leaf 7 is added to the target distribution tree {1, 2, 4}. By searching, the position of leaf 7 is found in the target distribution tree. Then, tracing back from leaf 7 to the root, the branch containing leaf 7 is {1, 3, 7}. Figure 4 After adding the branch containing leaf 7 to the target distribution tree, the target distribution tree becomes {1, 2, 3, 4, 7}. See [link to relevant documentation]. Figure 5 , Figure 5 The black area in the middle shows the target distribution tree after adding branches; the circled part is the newly added branch.
[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, generally, the unicast topology information corresponding to a specified VPN is customizable. The distribution tree corresponding to the I-PMSI tunnel of the specified VPN and the distribution tree corresponding to the S-PMSI tunnel of any multicast stream on the specified VPN have 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 the S-PMSI tunnel, the specified VPN can still forward multicast streams normally with the help of 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 the users served by the target PE can watch the multicast stream normally.
[0104] In step 204, based on whether the branches from the root to the target leaf in the reference distribution tree and 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 from the root to the target leaf in the reference distribution tree is different from the branch from the root to the target leaf in the recalculated distribution tree, the ingress PE can be triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel. In this case, the path from the ingress PE to the target PE is different before and after the controller calculation. If the branch from the root to the target leaf in the reference distribution tree is the same as the branch from the root to the target leaf in the recalculated distribution tree, the ingress PE can be not triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel. In this case, the path from the ingress PE to the target PE is the same before and after the controller calculation.
[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 can be either the same or different. In other words, after adding the target PE as the exit PE according to the above process, not only will the path from the entrance PE to the target PE in the S-PMSI tunnel change or remain unchanged, but the path from the entrance PE to any exit PE other than the target PE in the S-PMSI tunnel will also change or remain unchanged.
[0107] Furthermore, changes in the PE set or unicast topology information transmission will trigger the controller to recalculate the reference distribution tree. If, after 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, the reference distribution tree is updated before the controller recalculates the distribution tree, the updated reference distribution tree can be used to update the target distribution tree. This will trigger the ingress PE to update the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel, thus ensuring that the ingress PE distributes multicast streams according to the latest path.
[0108] It should be noted that there is no strict sequential relationship between steps 202 and 203 in the above process.
[0109] When the execution entity in this application embodiment is the entry PE of the designated VNP, see [link to relevant documentation]. Figure 6 , Figure 6 An interactive flowchart of a method for adding an exit device to a tunnel, provided as an embodiment of this 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 the entry PE of the specified VPN, and the leaves correspond to at least some of the 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 an NLRI route that adds the target PE as the egress PE of the S-PMSI tunnel corresponding to a multicast stream 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 branches 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 exit PE of the S-PMSI tunnel according to the target distribution tree after adding branches.
[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 adding the egress PE.
[0117] In step 608, the inlet PE requests the controller to add the target PE as the outlet PE of the corresponding S-PMSI tunnel.
[0118] In step 609, the controller performs multicast stateless TE distribution tree calculation on the multicast stream.
[0119] In step 610, the controller sends the recalculated distribution tree to the ingress PE.
[0120] In step 611, the entry PE determines whether the branches from the root to the target leaf are the same in the reference distribution tree and the recalculated distribution tree. If yes, proceed to step 612; otherwise, proceed to step 613.
[0121] In step 612, the ingress PE determines not to update the path from itself to the target PE in the S-PMSI tunnel.
[0122] In step 613, the ingress PE updates the path from itself to the target PE in the S-PMSI tunnel.
[0123] In this scenario, the ingress PE can update the target distribution tree using the recalculated distribution tree. Then, based on the updated target distribution tree, it updates the path from itself to the corresponding exit PE within the S-PMSI tunnel. The corresponding exit PE includes at least the target PE. Here, when the corresponding exit PE also includes other exit PEs, it indicates that adding exit PEs in the above manner not only changes the path from the ingress PE to the target PE but also changes the path from the ingress PE to other exit PEs.
[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, before the controller recalculates the distribution tree, if the ingress PE determines that the reference distribution tree has been updated, such as due to changes in unicast topology information or failure of the egress PE, 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, so as to ensure that the ingress PE distributes the multicast stream according to the latest path.
[0126] It should be noted that steps 604-607 and step 608 in the above process are not sequential. Steps 604-606 are relatively simple and take less time to execute 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. Thus, before the controller recalculates the distribution tree, the users served by the target PE can receive the multicast stream, thereby reducing the waiting time for users served by the target PE after receiving the multicast stream and improving the user experience.
[0127] When the executing entity in this application embodiment is a controller, see [link to relevant documentation]. Figure 7 , Figure 7 An interactive flowchart of another method for adding an exit device to a tunnel, provided as an embodiment of this 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 the entry PE of the specified VPN, and the leaves correspond to at least some of the 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 stream on the specified VPN.
[0130] In step 703, the inlet PE requests the controller to add the target PE as the outlet PE of the S-PMSI tunnel.
[0131] In step 704, the controller searches for the target leaf corresponding to the target PE from the locally stored reference distribution tree.
[0132] In step 705, the controller adds the branches 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 exit 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 adding the egress PE.
[0136] In step 709, the controller performs multicast stateless TE distribution tree calculation on the multicast stream.
[0137] In step 710, the controller sends the recalculated distribution tree to the ingress PE.
[0138] In step 711, the entry PE determines whether the branches from the root to the target leaf are the same in the reference distribution tree and the recalculated distribution tree. If yes, proceed to step 712; otherwise, proceed to step 713.
[0139] In step 712, the ingress PE determines not to update the path from itself to the target PE in the S-PMSI tunnel.
[0140] In step 713, the ingress PE utilizes the updated path from itself to the target PE in the S-PMSI tunnel.
[0141] The implementation of this step can be found in step 613, and will not be repeated 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, before the controller recalculates the distribution tree, if the controller determines that the reference distribution tree has been updated, such as due to changes in unicast topology information or failure of the egress PE, the updated reference distribution tree can be used to update the target distribution tree. The updated target distribution tree is then sent to the ingress PE, which updates the path between the ingress PE and the corresponding egress PE in the S-PMSI tunnel according to the updated target distribution tree. The multicast stream is then sent to the target PE and the original egress PE through the S-PMSI tunnel with the updated path, ensuring that the ingress PE distributes the multicast stream according to the latest path.
[0144] It should be noted that steps 704-706 and step 709 in the above process can be executed in parallel. However, steps 704-706 are simpler and take less time to execute 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, thus reducing the waiting time for users served by the target PE after receiving the multicast stream and improving the user experience.
[0145] Based on the same technical concept, this application also provides an apparatus for adding an exit device to a tunnel. The principle of the apparatus for adding an exit device to a tunnel is similar to that of the method for adding an exit device to a tunnel described above. Therefore, the implementation of the apparatus for adding an exit device to a tunnel can be referred to the implementation of the method for adding an exit device to a tunnel, and the repeated parts will not be described again.
[0146] Figure 8 This application provides a schematic diagram of a device for adding an exit device to a tunnel. The device is applied to a communication device, which stores a multicast stateless traffic engineering (TE) reference distribution tree generated by a controller. The root of the reference distribution tree corresponds to the ingress operator edge device (PE) of a specified virtual private network (VPN), and the leaves correspond to at least some of the PEs in the multipoint virtual private network (MVPN) to which the specified VPN belongs. The device includes...
[0147] The receiving module 801 is used to receive a request to add the target PE as the egress PE of the Selective Carrier Multicast Service Interface (S-PMSI) tunnel corresponding to a multicast stream on the specified VPN.
[0148] Processing module 802 is used to trigger the controller to perform multicast stateless TE distribution tree calculation on 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, so as to trigger the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, wherein 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 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.
[0150] In some embodiments, the update control module 803 is specifically used for:
[0151] If the branch is different from the branch from the root to the target leaf in the recalculated distribution tree, the ingress PE is triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel;
[0152] If the branch is the same as the branch from the root to the target leaf in the recalculated distribution tree, then it is determined that the ingress PE should not be triggered to update the path from the ingress PE to 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 specified VPN corresponds to a fully inclusive carrier 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 specified VPN corresponds to a wildcard (*, *)S-PMSI tunnel, the controller calculates the reference distribution tree by using the ingress PE as the root and all PEs in the PE set as leaves, according to the unicast topology information customized for the specified VPN. The PE set is sent to the controller by the ingress PE, or the PE set is configured on the controller.
[0156] In some embodiments, when the PE set is sent to the controller by the ingress PE, the ingress PE determines the PE set in the following manner:
[0157] The already added exit PEs and the pre-added exit PEs of the (*,*)S-PMSI tunnel are determined as the PE set; or,
[0158] The set of PEs is defined as all the egress PEs configured for the specified VPN on the ingress PE.
[0159] In some embodiments, the inlet PE is determined by the pre-added outlet PE in the following manner:
[0160] Upon receiving a leaf NLRI signaling message with a pre-join identifier (*, *)S-PMSI from any PE, that PE is identified as a pre-joining egress PE; or,
[0161] The PEs in the MVPN that have received multicast streams from the specified VPN within a specified time period but have not yet joined the (*, *)S-PMSI tunnel are identified as pre-joining egress PEs.
[0162] In some embodiments, the update control module 803 is further configured to:
[0163] After 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, if it is determined that the reference distribution tree has been updated before the distribution tree recalculated by the controller is obtained, 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 exit PE in the S-PMSI tunnel.
[0164] The module division in this embodiment is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in each embodiment can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. Coupling between modules can be achieved through interfaces, typically electrical communication interfaces, but mechanical interfaces or other types of interfaces are also possible. Therefore, modules described as separate components may or may not be physically separate; they can be located in one place or distributed across different locations on the same or different devices. The integrated modules described above can be implemented in hardware or as software functional modules.
[0165] Having described the method and apparatus for adding an exit device to a tunnel according to exemplary embodiments of this application, we will now describe an electronic device according to another exemplary embodiment of this application.
[0166] The following reference Figure 9 To describe an electronic device 130 implemented according to this embodiment of the present application. Figure 9 The electronic device 130 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0167] like Figure 9 As shown, the electronic device 130 is presented in the form of a general-purpose electronic device. The components of the electronic 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 memory 132 and processor 131).
[0168] Bus 133 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the various bus structures.
[0169] The memory 132 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1321 and / or cache memory 1322, and may further include 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, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0171] Electronic device 130 can also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), and with one or more devices that enable a user to interact with electronic device 130, and / or with any device that enables electronic device 130 to communicate with one or more other electronic devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 135. Furthermore, electronic device 130 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 136. As shown, network adapter 136 communicates with other modules used in electronic device 130 via bus 133. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with 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, which, when executed by a processor of an electronic device, enables the electronic device to perform the method described above for adding an exit device to a tunnel. Optionally, the storage medium may be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.
[0173] In an exemplary embodiment, the electronic device of this 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 executable by the at least one processor, and when the computer program is executed by the at least one processor, it enables the at least one processor to perform the steps of any of the methods for adding an exit device to a tunnel provided in the embodiments of this application.
[0174] In an exemplary embodiment, a computer program product is also provided, which, when executed by an electronic device, enables the electronic device to implement any of the exemplary methods provided in this application.
[0175] Furthermore, computer program products may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, RAM, ROM, erasable programmable read-only memory (EPROM), flash memory, optical fiber, compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0176] The program product for adding an exit device to a tunnel in the embodiments of this application may be a CD-ROM and include program code, and may run on a computing device. However, the program product of this application is not limited thereto. In this document, the readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0177] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take various 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, capable of sending, propagating, or transmitting 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 suitable medium, including but not limited to wireless, wired, optical fiber, radio frequency (RF), or any suitable combination thereof.
[0179] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, such as a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0180] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this 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 and embodied by multiple units.
[0181] Furthermore, although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.
[0182] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0183] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0184] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0185] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0186] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0187] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, then this application also includes such modifications and variations.
Claims
1. A method of adding an egress 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 the controller. The root of the reference distribution tree corresponds to the ingress operator edge device (PE) of the specified virtual private network (VPN), and the leaves correspond to at least some of the PEs in the multipoint virtual private network (MVPN) to which the specified VPN belongs. The method includes: Receive a request to add the target PE as the egress PE of the Selective Carrier Multicast Service Interface (S-PMSI) tunnel corresponding to a multicast stream on the specified VPN. The controller is triggered to perform multicast stateless TE distribution tree calculation on 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, so as to trigger the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, and 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 from the root to the target leaf in the distribution tree recalculated by the controller, 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.
2. The method as described in claim 1, characterized in that, Based on whether the branch is the same as the branch from the root to the target leaf in the distribution tree recalculated by the controller, determine whether to trigger the ingress PE to update the path from the ingress PE to the target PE in the S-PMSI tunnel, including: If the branch is different from the branch from the root to the target leaf in the recalculated distribution tree, the ingress PE is triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel; If the branch is the same as the branch from the root to the target leaf in the recalculated distribution tree, then it is determined that the ingress PE should not be triggered to update the path from the ingress PE to the target PE in the S-PMSI tunnel.
3. The method as described in claim 1, characterized in that, The communication device is either the ingress PE or the controller.
4. The method according to any one of claims 1 to 3, characterized in that, If the specified VPN corresponds to a fully inclusive carrier multicast service interface (I-PMSI) tunnel, the controller will use 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 specified VPN corresponds to a wildcard (*, *)S-PMSI tunnel, the controller calculates the reference distribution tree using the ingress PE as the root and all PEs in the PE set as leaves, according to the unicast topology information customized for the specified VPN. The PE set is sent to the controller by the ingress PE, or the PE set is configured on the controller.
6. The method as described in claim 5, characterized in that, When the PE set is sent to the controller by the ingress PE, the ingress PE determines the PE set in the following way: The already added exit PEs and the pre-added exit PEs of the (*,*)S-PMSI tunnel are determined as the PE set; or, The set of PEs is defined as all the egress PEs configured for the specified VPN on the ingress PE.
7. The method as described in claim 6, characterized in that, The inlet PE is determined by the pre-added outlet PE in the following manner: Upon receiving a leaf NLRI signaling message with a pre-join identifier (*, *)S-PMSI from any PE, that PE is identified as a pre-joining egress PE; or, The PEs in the MVPN that have received multicast streams from the specified VPN within a specified time period but have not yet joined the (*,*)S-PMSI tunnel are identified as pre-joining egress PEs.
8. An apparatus for adding an exit device to a tunnel, characterized in that, Applied to communication equipment, the communication equipment 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 ingress operator edge device (PE) of a specified virtual private network (VPN), and the leaves correspond to at least a portion of the PEs in a multipoint virtual private network (MVPN) to which the specified VPN belongs. The device includes: The receiving module is used to receive a request to add the target PE as the egress PE of the Selective Carrier Multicast Service Interface (S-PMSI) tunnel corresponding to a multicast stream on the specified VPN. The processing module is used to trigger the controller to perform multicast stateless TE distribution tree calculation on the multicast stream; and to 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, so as to trigger the ingress PE to add the target PE as the exit PE of the S-PMSI tunnel, wherein the target leaf is the leaf corresponding to the target PE in the reference distribution tree; The update control module is used to determine 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.
9. An electronic device, characterized in that, include: At least one processor, and a memory communicatively connected to said at least one processor, wherein: The memory stores a computer program that can be executed by the at least one processor to enable the at least one processor to perform the method as described in any one of claims 1-7.
10. A storage medium, characterized in that, When the computer program in the storage medium is executed by the processor of the electronic device, the electronic device is able to perform the method as described in any one of claims 1-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