A method, apparatus and electronic device for multicast routing and forwarding
By adding and matching routing distinguishers (RDs) in the PE devices at both the sending and receiving ends, the problem of inaccurate multicast packet forwarding caused by the same source IP address in multicast was solved, thus achieving accurate forwarding and isolation of multicast services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-21
- Publication Date
- 2026-03-10
AI Technical Summary
In the MVPN Over G-Bier scenario, when the source IPs of multicast sources are the same and they are connected to the same edge routing device, multicast packets cannot be forwarded accurately, causing multicast services of different VPN instances to interfere with each other.
By adding the extended community attribute of the routing distinguisher RD to the multicast source in the sending PE device, and querying and selecting the multicast source route that matches RD in the receiving PE device, the target signaling message is constructed and forwarded, ensuring that the multicast message is accurately delivered to the target receiver.
It ensures accurate forwarding of multicast packets in scenarios where the source IP of the multicast source is the same under different VPN instances, and avoids mutual interference of multicast services.
Smart Images

Figure CN118282938B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus and electronic device for multicast routing and forwarding. Background Technology
[0002] When forwarding multicast messages, the multicast receiver needs to be aware of the routing information of the multicast source and then send a request to join the multicast group to the multicast source. In MVPN (Multicast Virtual Private Network) over G-Bier (Bit Index Explicit Replication) scenarios, PIM (Protocol Independent Multicast) is not running on the public network, therefore multicast signaling cannot be transmitted.
[0003] The relevant technology extends BGP (Border Gateway Protocol) to support VPNv4 (VPN-IPv4) routing. When the multicast source public network access device PE1 (Provider Edge Router) receives multicast source routing information, it publishes its MVPNID, RT (Route Target), and the unique identifier VRFID of the access VPN as extended community attributes, along with the multicast source routing information, to the public network via signaling. When the user's public network access device PE2 receives the above signaling, it determines whether the RT in the signaling matches the import RT (entry target) of its VPN instance. If they match, the multicast source routing information is imported into the VPN instance of its PE2 device.
[0004] However, when, for example, Figure 1 The application scenario shown is as follows: Multicast services are deployed under different VPN instances and are isolated from each other; two multicast sources (sender1, sender2) belong to different isolation domains (i.e., the two multicast sources belong to two different VPN instances), the source IPs of the two multicast sources are the same, and they are connected to the same edge routing device PE1; two multicast receivers (receiver1, receiver2) are simultaneously connected to the same edge routing device PE3, and the RT values of the VPN instances of the two multicast sources and the VPN instances of the two multicast receivers are configured to the same value. In this case, PE3 will import the VPN instances of the two multicast sources into the routes of the two multicast receivers respectively.
[0005] When a multicast receiver, such as user receiver2, requests multicast content, it initiates an SSM (Source-Specific Multicast) join, carrying the source IP address of the multicast source. When the joining multicast source signaling message arrives at PE3, PE3 finds two multicast source routes under the VPN2 instance. Both multicast sources have the same source IP address, MVPNID, and RT, therefore it cannot determine which one to forward. If PE3 chooses the extended community of vrfid1 for publication, the join signaling message arrives at PE1. PE1 forwards the message to the corresponding VPN1 sender1, and redirects sender1's multicast packets to PE1. When PE1 receives a multicast message from sender1, it encapsulates VPN1's encapsulation information and publishes it to the public network. When the encapsulation information reaches PE3, it decapsulates the information based on the identifier vrifid1 and finds that the encapsulation information belongs to VPN1. Therefore, it can only be forwarded to receiver1, which also belongs to VPN1. Receiver2, which is performing normal on-demand streaming, cannot receive multicast messages from sender1. Summary of the Invention
[0006] The purpose of this application is to provide a method, apparatus, and electronic device for multicast routing and forwarding, so as to achieve MVPN forwarding data isolation and non-interference in scenarios where the source IP of the multicast source of different VPN instances under the same access PE is the same, thereby improving the accuracy of multicast packet forwarding.
[0007] In a first aspect, this application provides a method for multicast routing and forwarding, the method being applied to a receiving PE device, the method being applied to a multicast routing and forwarding system, the multicast routing and forwarding system including a multicast source, a sending PE device, a receiving end, and a receiving PE device, the method comprising:
[0008] Upon receiving a specific source multicast SSM join signaling message initiated by the receiving end, the receiving end PE device queries the N unicast routes corresponding to each of the imported N multicast sources, where N is an integer greater than 1;
[0009] Select a target unicast route from the N unicast routes, wherein the route distinguisher RD in the extended community attribute information corresponding to the target unicast route is consistent with the RD in the routing information of the receiving end;
[0010] The target signaling message is constructed by carrying the target unicast route and the extended community attribute information corresponding to the target unicast route in the SSM join signaling message, and the target signaling message is published to the sending PE device;
[0011] Upon receiving a multicast message published by the target multicast source corresponding to the target unicast route, the multicast message is transmitted to the receiving end.
[0012] In one possible design, before the receiving PE device queries the N unicast routes corresponding to each of the N multicast sources in response to receiving a specific source multicast SSM join signaling message initiated by the receiving end, the method further includes: when the receiving PE device receives the N unicast routes and the extended community attribute information corresponding to each of the N unicast routes, determining whether the route target RT corresponding to each of the extended community attribute information is consistent with the import RT of the VPN instance of the receiving PE device; if so, the receiving PE device imports the N unicast routes into the VPN instance of the receiving PE device.
[0013] This application provides a method for multicast routing and forwarding, which is applied in a sending PE device and in a multicast routing and forwarding system. The multicast routing and forwarding system includes a multicast source, a sending PE device, a receiving end, and a receiving PE device. The method includes:
[0014] When receiving N unicast routes corresponding to N multicast sources, the sending PE device adds the routing identifier RD of each of the N unicast routes to the extended community attribute information corresponding to each of the N unicast routes, where N is an integer greater than 1;
[0015] The N unicast routes and their corresponding extended community attribute information are published to the receiving PE device. This allows the receiving PE device to query the N unicast routes corresponding to the N multicast sources after receiving a specific source multicast SSM join signaling message initiated by the receiving end. Here, N is an integer greater than 1. A target unicast route is selected from the N unicast routes, where the routing distinguisher RD in the extended community attribute information of the target unicast route is consistent with the RD in the routing information of the receiving end. The target unicast route and its corresponding extended community attribute information are carried in the SSM join signaling message to form a target signaling message, which is then published to the sending PE device.
[0016] In one possible design, after publishing the N unicast routes and their respective extended community attribute information to the receiving PE device, the method further includes: receiving a target signaling message published by the receiving PE device; the sending PE device finding the corresponding target unicast route based on the target signaling message; and upon receiving a multicast message sent by the target multicast source corresponding to the target unicast route, publishing the multicast message to the receiving PE device.
[0017] Secondly, this application provides a receiving device for multicast routing and forwarding, the receiving device comprising:
[0018] The routing query module receives a specific source multicast SSM join signaling message initiated by the receiving end. The receiving end PE device queries the N unicast routes corresponding to each of the N imported multicast sources, where N is an integer greater than 1.
[0019] The routing selection module selects a target unicast route from the N unicast routes, wherein the routing distinguisher RD in the extended community attribute information corresponding to the target unicast route is consistent with the RD in the routing information of the receiving end;
[0020] The signaling publishing module carries the target unicast route and the extended community attribute information corresponding to the target unicast route in the SSM joining signaling message to form a target signaling message, and publishes the target signaling message to the sending PE device;
[0021] The message delivery module receives the multicast source message published by the target multicast source corresponding to the target unicast route and passes the multicast source message to the receiving end.
[0022] In one possible design, the receiving device further includes:
[0023] The matching and judgment module determines whether the route target RT corresponding to each of the N unicast routes is consistent with the imported RT of the VPN instance of the receiving PE device when the receiving PE device receives the N unicast routes and the extended community attribute information corresponding to each of the N unicast routes.
[0024] If the route import module is present, the receiving PE device will import the N unicast routes into the VPN instance of the receiving PE device.
[0025] This application also provides a multicast routing forwarding sending apparatus, the sending apparatus comprising:
[0026] When the information adding module receives N unicast routes corresponding to each of the N multicast sources, the sending PE device adds the routing identifier RD of each of the N unicast routes to the extended community attribute information corresponding to each of the N unicast routes, where N is an integer greater than 1;
[0027] The information publishing module publishes the N unicast routes and their corresponding extended community attribute information to the receiving PE device. This allows the receiving PE device to query the N unicast routes corresponding to the N multicast sources after receiving a specific source multicast SSM join signaling message initiated by the receiving end. Here, N is an integer greater than 1. The module selects a target unicast route from the N unicast routes, where the routing identifier RD in the extended community attribute information of the target unicast route is consistent with the RD in the routing information of the receiving end. The target unicast route and its corresponding extended community attribute information are carried in the SSM join signaling message to form a target signaling message, which is then published to the sending PE device.
[0028] In one possible design, the transmitting device further includes:
[0029] The signaling receiving module receives the target signaling message published by the receiving PE device, and the sending PE device finds the corresponding target unicast route based on the target signaling message;
[0030] When the message publishing module receives a multicast message sent by the target multicast source corresponding to the target unicast route, it publishes the multicast message to the receiving PE device.
[0031] Thirdly, this application provides an electronic device, the electronic device comprising:
[0032] Memory, used to store computer programs;
[0033] When a processor executes a computer program stored in the memory, it implements the above-described method steps for multicast routing and forwarding.
[0034] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method steps for multicast routing and forwarding.
[0035] For the various aspects of the second to fourth aspects mentioned above, and the technical effects that each aspect may achieve, please refer to the above description of the technical effects that can be achieved for the first aspect or the various possible solutions in the first aspect, which will not be repeated here. Attached Figure Description
[0036] Figure 1 A schematic diagram illustrating one possible application scenario provided by this application;
[0037] Figure 2 A schematic diagram illustrating one possible application scenario provided by this application;
[0038] Figure 3 A structural diagram illustrating a possible application scenario provided in this application;
[0039] Figure 4 A flowchart of a multicast routing and forwarding method provided in this application;
[0040] Figure 5 A flowchart for importing multicast source routes into a receiving PE device provided in this application;
[0041] Figure 6 A structural diagram illustrating a possible application scenario provided in this application;
[0042] Figure 7 A schematic diagram of a receiving device for multicast routing and forwarding provided in this application;
[0043] Figure 8 A schematic diagram of a multicast routing and forwarding transmitting device provided in this application;
[0044] Figure 9 A schematic diagram of the structure of an electronic device provided in this application. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The specific operating methods in the method embodiments can also be applied to the device embodiments or system embodiments.
[0046] In the description of this application, "multiple" is understood as "at least two". "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. A connected to B can represent: A and B directly connected, or A and B connected through C. Furthermore, in the description of this application, terms such as "first" and "second" are used only for descriptive purposes and should not be construed as indicating or implying relative importance or order.
[0047] The design concept of the embodiments of this application will be briefly introduced below.
[0048] Currently, when forwarding multicast packets in an MVPN Over G-Bier scenario, PIM is not running on the public network, so multicast signaling cannot be transmitted.
[0049] Existing technologies support VPNv4 routing through BGP extensions, in order to Figure 2 Taking the following scenario as an example, when the public network access devices PE1 / PE2 of the multicast source receive multicast source routing information, they transmit the multicast source routing information and its extended community attributes to the receiving device PE3 via signaling. The extended community attributes include: the MVPNID of PE1 / PE2, the identifier of the VPN instance of the multicast source, and the RT of the multicast source. When PE3 receives the multicast source routing information and its extended community attributes, it determines whether the RT in the extended community attributes matches the import RT of its VPN instance. If the RT in the extended community attributes matches the import RT, the multicast source route is imported into PE3.
[0050] When a user receiver under the public network receiving edge device PE3 performs multicast on-demand playback, it initiates an SSM join. This SSM join signaling message carries the source IP information of the multicast source. When the SSM join signaling message arrives at PE3, PE3 queries the imported multicast source routing information, appends the extended community attribute of the multicast source route to the SSM join signaling message, and publishes it to the public network.
[0051] When PE1 and PE2 devices receive an SSM join signaling message from a user receiver, they check if the MVPNID in the attached extended community attribute matches their own MVPNID. If they match, they accept the SSM join signaling message and, based on the VRFID in the extended community attribute, announce the receiver join information to the corresponding VPN instance. The PIM component converts the receiver join information into a PIM join message and sends it to the multicast source, thereby enabling the multicast source to send service packets and redirect the service packets to the public network.
[0052] However, when the following scenarios occur, such as Figure 1 , Figure 3As shown, in this scenario: multiple multicast sources are connected to the same sending PE device, and multiple receiving ends are connected to the same receiving PE device; both the sending and receiving PE devices are connected to the public network edge; the VPN instances of each multicast source are isolated from each other, deploying different multicast services, and each multicast source has the same source IP; the RT (Responding Target) of each multicast source's VPN instance is the same as the RT of each receiving end's VPN instance. When the receiving PE device receives the unicast route for each multicast source, since the RT of each multicast source's VPN instance is the same as the RT of each receiving end's VPN instance, the receiving PE device will import the unicast route for each multicast source into the routes for each receiving end.
[0053] by Figure 1 Taking the scenario shown as an example, when receiver2 performs multicast content on demand, it initiates an SSM join, carrying the source IP of the multicast source. When the joining multicast source signaling message arrives at PE3, PE3 finds two multicast source routes under the VPN2 instance. Both multicast sources have the same source IP, MVPNID, and RT, so it cannot determine which one to forward. If PE3 chooses the extended community of VRFID1 for publication, the join signaling message arrives at PE1. PE1 forwards it to the corresponding VPN1 sender1 and redirects the sender1's multicast message to PE1. When PE1 receives the sender1's multicast message, it encapsulates VPN1's encapsulation information and publishes it to the public internet. When the encapsulation information arrives at PE3, it decapsulates it based on the identifier VRFID1 and finds that the encapsulation information belongs to VPN1. Therefore, it can only forward it to receiver1, which also belongs to VPN1. Receiver2, which is performing normal on-demand playback, cannot receive the sender1's multicast message.
[0054] To address the multicast routing and forwarding isolation issue in the aforementioned scenarios, this application provides a method for multicast routing and forwarding. When a sending PE device receives a multicast source route, it includes MVPNID, VRFID, RT, and RD information in the extended community attributes of the multicast source route when advertising them to the receiving PE device. When the receiving end initiates an SSM join, the receiving PE device queries the multicast source route and selects the multicast source route whose RD information matches the RD in the receiving VPN instance from the extended community attributes for advertising. This method effectively improves the accuracy of multicast packet forwarding in the aforementioned scenarios.
[0055] Furthermore, the technical features included in the embodiments of this application can be used in any combination. Those skilled in the art should understand that, based on actual application situations, the technical solutions obtained by reasonably combining the technical features in the embodiments of this application can also solve the same technical problems or achieve the same technical effects.
[0056] The method provided in the embodiments of this application will be further described in detail below with reference to the accompanying drawings.
[0057] See Figure 4 As shown in the figure, this application provides a method for multicast routing and forwarding. This method is applied to a multicast routing and forwarding system, which includes a multicast source, a sending PE device, a receiving end, and a receiving PE device. The specific process of this method is as follows:
[0058] Step 401: Upon receiving a specific source multicast SSM join signaling message initiated by the receiving end, the receiving end PE device queries the N unicast routes corresponding to the N imported multicast sources.
[0059] In this embodiment of the application, N is an integer greater than 1, and the receiving end can be a user carrying a routing device.
[0060] Specifically, before the receiving PE device receives the specific source multicast SSM join signaling message initiated by the receiving end, the receiving PE device needs to first import the N unicast routes corresponding to each of the N multicast sources. For details on importing the N unicast routes corresponding to each of the N multicast sources into the receiving PE device, please refer to [link to documentation]. Figure 5 The specific process is as follows:
[0061] S501, when the sending PE device receives N unicast routes corresponding to N multicast sources, the sending PE device adds the routing identifier RD of each of the N unicast routes to the extended community attribute information corresponding to each of the N unicast routes.
[0062] In this embodiment of the application, N is an integer greater than 1, N multicast sources are connected to the same sending PE device, N multicast sources belong to different isolation domains, each of the N multicast sources has a VPN instance that deploys multicast services and is isolated from each other, and the source IPs of the N multicast sources are the same.
[0063] Specifically, each multicast source's unicast route has its own route distinguisher (RD). When the sending PE device receives N unicast routes corresponding to N multicast sources, the sending PE device will obtain the extended community attributes corresponding to each of the N unicast routes and add the RD of each of the N unicast routes to the extended community attributes corresponding to each of the N unicast routes.
[0064] For example, if there are three multicast sources, multicast source 1, multicast source 2, and multicast source 3, all connected to PE1, the route delimiter for the unicast route of multicast source 1 is RD1, the route delimiter for the unicast route of multicast source 2 is RD2, and the route delimiter for the unicast route of multicast source 3 is RD3. When PE1 receives a unicast route from multicast source 1, PE1 adds RD1 to the extended community attribute of multicast source 1. When PE1 receives a unicast route from multicast source 2, PE1 adds RD2 to the extended community attribute of multicast source 2. When PE1 receives a unicast route from multicast source 3, PE1 adds RD3 to the extended community attribute of multicast source 3.
[0065] In this embodiment, the extended community attributes include, but are not limited to: the identifier of the sending PE device, the VPN instance identifier of the multicast source, and the RT and RD in the VPN instance of the multicast source as unicast routes of the multicast source. It is worth noting that the VPN instance identifier of the multicast source is configured by the sending PE device to which the multicast source is connected. For example, if three multicast sources are connected to the same sending PE device, when the sending PE device receives unicast routes from these three multicast sources, the sending PE device configures the identifiers for the VPN instances of these three multicast sources as vrfid1, vrfid2, and vrfid3, respectively. S502, the sending PE device publishes the N unicast routes and the extended community attribute information corresponding to each of the N unicast routes to the receiving PE device;
[0066] In this embodiment, after configuring VPN instance identifiers for the VPN instances of the N multicast sources, the sending PE device uses the sending PE device identifier, the VPN instance identifier of the multicast source, and the RT and RD in the VPN instance of the multicast source as extended community attributes of the unicast route of the multicast source, and publishes the N unicast routes and their corresponding extended community attributes to the receiving PE device.
[0067] For example, if Figure 1 If PE1 receives a unicast route from multicast source sender1, then PE1 will publish the unicast route from multicast source sender1 and its extended community attribute: mvpnid1+vrfid1+RT+RD(1:100) to the public network and pass it to PE3; if PE1 receives a unicast route from multicast source sender2, then PE1 will publish the unicast route from multicast source sender2 and its extended community attribute: mvpnid1+vrfid2+RT+RD(1:200) to the public network and pass it to PE3.
[0068] S503, when the receiving PE device receives N unicast routes and the extended community attribute information corresponding to each of the N unicast routes, the receiving PE device determines whether the route target RT corresponding to each of the extended community attribute information is consistent with the imported RT of the VPN instance of the receiving PE device.
[0069] Specifically, when the receiving PE device receives the extended community attributes corresponding to each of the N unicast routes, it compares the corresponding route destination RT in the extended community attribute with the imported RT in each VPN instance of the receiving PE device to determine whether the route destination RT in the extended community attribute matches the imported RT of the VPN instance of the receiving PE device. If they match, the S504 operation is executed; if they do not match, the receiving PE device discards the extended community attribute information with inconsistent RTs and the corresponding unicast routes.
[0070] For example, such as Figure 1 In the process, when PE3 receives the extended community attributes of multicast source sender1 and sender2, PE3 determines whether the RT (1234.1234) in the extended community attributes of sender1 and sender2 is consistent with the imported RT in the two VPN instances (VPN1 and VPN2) of PE3. If they are consistent, the operation of S504 is executed; if they are inconsistent, PE3 discards the extended community attribute information with inconsistent RTs and the corresponding multicast source route.
[0071] S504, The receiving PE device imports N unicast routes into the VPN instance of the receiving PE device;
[0072] Specifically, the receiving PE device imports each of the N unicast routes into a VPN instance within the receiving PE device that matches its RT. For example... Figure 6 In the configuration, the import RT (Redirect Routes) for both VPN instances (VPN1 and VPN2) on PE3 is 1234.1234. The RT in the extended community attribute of sender1 is also 1234.1234, consistent with the import RTs of the two VPN instances on PE3. Therefore, the unicast routes of sender1 are imported into both VPN instances on PE3. Similarly, the RT in the extended community attribute of sender2 is also 1234.1234, consistent with the import RTs of the two VPN instances on PE3. Therefore, the unicast routes of sender2 are also imported into both VPN instances on PE3.
[0073] After the receiving PE device imports N unicast routes corresponding to each of the N multicast sources, in response to receiving a Specific Source Multicast SSM Join signaling message initiated by the receiving end, the receiving PE device queries the N unicast routes corresponding to each of the N multicast sources.
[0074] Specifically, when one of the multiple receivers of the access receiver PE device initiates an SSM join, the receiver PE device queries the routing information of that receiver to find the N unicast routes corresponding to the N multicast sources.
[0075] For example, such as Figure 6 When receiver2 initiates SSM joining, PE3 queries the routing information of receiver2 and finds two unicast routes for the multicast source: the unicast route of sender1 and the unicast route of sender2.
[0076] Step 402: Select the target unicast route from the N unicast routes;
[0077] In this embodiment of the application, the routing distinguisher RD in the extended community attribute information corresponding to the target unicast route is consistent with the RD in the routing information of the receiving end.
[0078] Specifically, the RDs in the extended community attributes of the N unicast routes are different. The receiving PE device finds the target RD that matches the RD in the routing information of the receiving end that initiated the SSM join request from the RDs in the extended community attribute information of the N unicast routes, and uses the multicast source route corresponding to the target RD as the target unicast route.
[0079] For example, such as Figure 6 In the routing information of receiver2, the routing information and extended community attributes of multicast source sender1 and multicast source sender2 are imported. Receiver2's route belongs to the VPN2 instance, and its RD (Route Registry) is 1:200. When receiver2 initiates an SSM join request, PE3 compares the RD in the extended community attributes of multicast source sender1 with the RD in the extended community attributes of multicast source sender2, and selects the unicast route of multicast source sender2, whose RD is also 1:200, as the target unicast route.
[0080] After determining the target unicast route, perform the following step 403.
[0081] Step 403: The target signaling message is formed by carrying the target unicast route and the extended community attribute information corresponding to the target unicast route in the SSM joining signaling message, and the target signaling message is published to the sending PE device;
[0082] In this embodiment of the application, after determining the target unicast route, i.e., determining the target multicast source, the receiving PE device carries the target unicast route and the extended community attribute information corresponding to the target unicast route in the SSM joining signaling message to form a target signaling message, and publishes the target signaling message to the public network and transmits it to the sending PE device.
[0083] For example, such as Figure 6 In the process, receiver2 initiates an SSM join request. After PE3 determines that the target unicast route is the unicast route of the multicast source sender2, it carries the unicast route of the multicast source sender2 (10.1.1.1) and the extended community attributes (mvpn1+vrfid2+RD) of the multicast source sender2 into the SSM join signaling message and publishes them to PE1.
[0084] Furthermore, in this embodiment of the application, when the sending PE device receives the aforementioned target signaling message, the sending PE device finds the corresponding target unicast route based on the VPN instance identifier of the target multicast source with the extended community attribute carried in the target signaling message, and imports the routing information of the receiving end that initiated the SSM join request into the VPN instance of the target unicast route.
[0085] After importing the routing information of the receiver that initiated the SSM join request into the VPN instance of the target unicast route, the multicast packets published by the target multicast source corresponding to the target unicast route can be delivered to that receiver.
[0086] When the sending PE device receives a multicast message sent by the target multicast source corresponding to the target unicast route, it will publish the multicast message to the receiving PE device.
[0087] Specifically, when the sending PE device receives a multicast message from the target multicast source, it first encapsulates the multicast message according to the identifier of the VPN instance of the target multicast source, and then publishes the encapsulated multicast message information to the public network.
[0088] Step 404: Receive the multicast message published by the target multicast source corresponding to the target unicast route, and pass the multicast message to the receiving end.
[0089] Specifically, when the receiving PE device receives information encapsulated with a multicast message published by the target multicast source, it decapsulates the message based on the VPN instance identifier of the target multicast source and determines that the VPN to which the multicast message belongs is the same VPN as the VPN to which the receiving end that initiated the SSM join request belongs. Therefore, the receiving PE device forwards the multicast message to the receiving end that initiated the SSM join request.
[0090] For example, such as Figure 6In the process, when PE3 receives the encapsulation information of the multicast message published by sender2, it decapsulates the message based on the VPN instance identifier vrfid2 of sender2 and finds that the multicast message belongs to VPN2. Therefore, it forwards the multicast message to receiver2, which also belongs to VPN2.
[0091] Based on the multicast message forwarding method provided above, the following is based on... Figure 6 The provided scenario uses a specific example to illustrate the process of this method in detail.
[0092] like Figure 6 As shown, multicast sources sender1 and sender2 are connected to the same edge routing device PE1, and their source IPs are both 10.1.1.1. sender1 belongs to VPN1 instance on PE1, and sender2 belongs to VPN2 instance on PE1. In PE1, the RT (Retrieval Time) of both VPN1 and VPN2 instances is 1234.1234, the RD (Responsibility Time) of VPN1 instance is 1:100, and the RD of VPN2 instance is 1:200. Receivers receiver1 and receiver2 are both connected to the same edge routing device PE3. receiver1 belongs to VPN1 instance on PE3, and receiver2 belongs to VPN2 instance on PE3. In PE3, the RT (Retrieval Time) of both VPN1 and VPN2 instances is 1234.1234, the RD of VPN1 instance is 1:100, and the RD of VPN2 instance is 1:200.
[0093] When PE1 receives a unicast route from multicast source sender1, it configures the identifier vrfid1 for the VPN1 instance to which sender1 belongs, and advertises it to the public network along with sender1's unicast route 10.1.1.1 and the extended community attribute: mvpnid1+vrfid1+RT+RD(1:100). When PE1 receives a unicast route from multicast source sender2, it configures the identifier vrfid2 for the VPN2 instance to which sender2 belongs, and advertises it to the public network along with sender2's unicast route 10.1.1.1 and the extended community attribute: mvpnid1+vrfid2+RT+RD(1:200).
[0094] When PE3 receives the unicast route and extended community attributes of sender1 and sender2, it compares the RT in the two extended community attributes with the RT of VPN1 instance and VPN2 instance under this PE3 device. Since the RT is 1234.1234, the routing information of sender1 and the routing information of sender2 are imported into VPN1 instance and VPN2 instance of this PE3 device, respectively.
[0095] When the receiving end initiates an SSM join request, for example, receiver1 initiates an SSM join request, the join message will reach PE3. PE3 will find two multicast source routes in the VPN instance under its device. It will then select the multicast source route whose extended community attribute RD is the same as the RD of the VPN1 instance to which receiver1 belongs, i.e., the unicast route of sender1 with the same RD of 1:100. It will then include the extended community attribute of sender1 in the join message and advertise it to PE1.
[0096] When PE1 receives a join message carrying the extended community attributes of sender1, it finds the corresponding sender1 based on the vrfid1 in the extended community attributes and imports the routing information of receiver1 into the VPN instance of sender1. After receiving the join message, sender1 sends a multicast message to PE1. After receiving the multicast message from sender1, PE1 encapsulates the multicast message of sender1 according to the identifier vrfid1 and redirects the multicast message of sender1 to the public network.
[0097] When PE3 receives a multicast message encapsulated with sender1, it decapsulates the message based on the identifier vrfid1 and finds that the multicast message of sender1 belongs to VPN1. Therefore, it forwards the multicast message of sender1 to receiver1, which also belongs to VPN1. receiver1 successfully receives the multicast message.
[0098] In summary, when the sending PE device of a multicast source receives a multicast source route, it adds an RD field to the extended community attribute of the multicast source route when advertising it to the receiving PE device. When the receiving end initiates SSM joining, the receiving PE device queries the multicast source route and selects the multicast source route whose RD information matches the RD in the receiving VPN instance for advertising. This method enables MVPN forwarding data isolation and prevents interference in scenarios where the source IPs of multicast sources in different VPN instances under the same access PE are the same, and also improves the accuracy of multicast packet forwarding in such scenarios.
[0099] Based on the same inventive concept, this application also provides a receiving device for multicast routing and forwarding, see [link to relevant documentation]. Figure 7 The receiving device includes:
[0100] The routing query module 701 receives a specific source multicast SSM join signaling message initiated by the receiving end. The receiving end PE device queries the N unicast routes corresponding to each of the N imported multicast sources, where N is an integer greater than 1.
[0101] The routing selection module 702 selects a target unicast route from the N unicast routes, wherein the routing distinguisher RD in the extended community attribute information corresponding to the target unicast route is consistent with the RD in the routing information of the receiving end;
[0102] The signaling publishing module 703 carries the target unicast route and the extended community attribute information corresponding to the target unicast route in the SSM joining signaling message to form a target signaling message, and publishes the target signaling message to the sending PE device;
[0103] The message transmission module 704 receives the multicast source message published by the target multicast source corresponding to the target unicast route and transmits the multicast source message to the receiving end.
[0104] In one possible design, the receiving device further includes:
[0105] The matching and judgment module determines whether the route target RT corresponding to each of the N unicast routes is consistent with the imported RT of the VPN instance of the receiving PE device when the receiving PE device receives the N unicast routes and the extended community attribute information corresponding to each of the N unicast routes.
[0106] If the route import module is present, the receiving PE device will import the N unicast routes into the VPN instance of the receiving PE device.
[0107] Based on the same inventive concept, this application also provides a multicast routing and forwarding sending device, see [link to relevant documentation]. Figure 8 The transmitting device includes:
[0108] When the information adding module 801 receives N unicast routes corresponding to each of the N multicast sources, the sending PE device adds the routing identifier RD of each of the N unicast routes to the extended community attribute information corresponding to each of the N unicast routes, where N is an integer greater than 1;
[0109] The information publishing module 802 publishes the N unicast routes and their corresponding extended community attribute information to the receiving PE device. This allows the receiving PE device to query the N unicast routes corresponding to the N multicast sources after receiving a specific source multicast SSM join signaling message initiated by the receiving end. Here, N is an integer greater than 1. The receiving PE device selects a target unicast route from the N unicast routes. The route distinguisher RD in the extended community attribute information of the target unicast route is consistent with the RD in the routing information of the receiving end. The target unicast route and its corresponding extended community attribute information are carried in the SSM join signaling message to form a target signaling message, which is then published to the sending PE device.
[0110] In one possible design, the transmitting device further includes:
[0111] The signaling receiving module receives the target signaling message published by the receiving PE device. The sending PE device finds the corresponding target unicast route according to the target signaling message and imports the routing information of the receiving end into the VPN instance of the target unicast route.
[0112] When the message publishing module receives a multicast message sent by the target multicast source corresponding to the target unicast route, it publishes the multicast message to the receiving PE device. Based on the above device, MVPN forwarding data isolation and non-interference can be achieved in scenarios where the source IPs of multicast sources of different VPN instances under the same access PE are the same, thereby improving the accuracy of multicast message forwarding.
[0113] Based on the same inventive concept, this application also provides an electronic device that can implement the function of the aforementioned multicast routing and forwarding device. (Refer to...) Figure 9 The electronic device includes:
[0114] At least one processor 901 and a memory 902 connected to at least one processor 901. In this embodiment, the specific connection medium between the processor 901 and the memory 902 is not limited. Figure 9 The example shown is the connection between processor 901 and memory 902 via bus 900. Bus 900 is... Figure 9 The connections between other components are indicated by thick lines and are for illustrative purposes only, not as limiting information. The Bus 900 can be divided into address bus, data bus, control bus, etc., for ease of representation. Figure 9 The term is represented by a single thick line, but this does not imply that there is only one bus or one type of bus. Alternatively, the processor 901 can also be called a controller; there is no restriction on the name.
[0115] In this embodiment, memory 902 stores instructions executable by at least one processor 901. By executing the instructions stored in memory 902, at least one processor 901 can perform the multicast routing and forwarding method described above. Processor 901 can implement... Figure 7 The functions of each module in the device shown.
[0116] The processor 901 is the control center of the device. It can connect to various parts of the control device through various interfaces and lines. By running or executing instructions stored in memory 902 and calling data stored in memory 902, the processor can perform various functions and process data, thereby monitoring the device as a whole.
[0117] In one possible design, processor 901 may include one or more processing units. Processor 901 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into processor 901. In some embodiments, processor 901 and memory 902 may be implemented on the same chip; in some embodiments, they may also be implemented on separate chips.
[0118] The processor 901 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit, field-programmable gate array or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the multicast routing and forwarding method disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0119] Memory 902, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 902 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. Memory 902 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 902 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.
[0120] By designing and programming the processor 901, the code corresponding to the multicast routing and forwarding method described in the foregoing embodiments can be embedded into the chip, enabling the chip to execute it during runtime. Figure 4 The steps of the multicast routing and forwarding method in the illustrated embodiment are described. How to design and program the processor 901 is a technique well-known to those skilled in the art and will not be elaborated upon here.
[0121] Based on the same inventive concept, embodiments of this application also provide a storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the multicast routing and forwarding method described above.
[0122] In some possible implementations, various aspects of the multicast routing and forwarding method provided in this application can also be implemented as a program product comprising program code that, when the program product is run on a device, causes the control device to perform the steps in the multicast routing and forwarding method according to various exemplary embodiments of this application described above.
[0123] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, 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.
[0124] 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.
[0125] 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.
[0126] 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.
[0127] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for multicast routing and forwarding, the method comprising: The method is applied to a receiving PE device, the receiving PE device is applied to a multicast routing forwarding system, the multicast routing forwarding system further comprises a multicast source, a sending PE device, and a receiving end, and the method comprises the following steps: receiving a specific source multicast SSM joining signaling message initiated by the receiving end, querying N multicast sources each corresponding to N unicast routes imported by the receiving end, wherein N is an integer greater than 1; selecting a target unicast route from the N unicast routes, wherein a route discriminator RD in extended group attribute information corresponding to the target unicast route is consistent with the RD in the routing information of the receiving end; carrying the target unicast route and the extended group attribute information corresponding to the target unicast route in the SSM joining signaling message to form a target signaling message, and publishing the target signaling message to the sending PE device; receiving a multicast message published by a target multicast source corresponding to the target unicast route, and delivering the multicast message to the receiving end.
2. The method of claim 1, wherein, Before the step of receiving the specific source multicast SSM joining signaling message initiated by the receiving end, querying N multicast sources each corresponding to N unicast routes imported by the receiving end, the method further comprises the following steps: when the N unicast routes and the extended group attribute information corresponding to the N unicast routes are received, judging whether a route target RT in the extended group attribute information corresponding to each of the N unicast routes is consistent with an imported RT of a VPN instance of the receiving PE device; if yes, importing the N unicast routes into the VPN instance of the receiving PE device.
3. A method for multicast routing and forwarding, characterized by, The method is applied to a sending PE device, the sending PE device is applied to a multicast routing forwarding system, the multicast routing forwarding system further comprises a multicast source, a receiving end, and a receiving PE device, and the method comprises the following steps: when N multicast sources each corresponding to N unicast routes are received, the sending PE device adds a route discriminator RD of each of the N unicast routes to extended group attribute information corresponding to each of the N unicast routes, wherein N is an integer greater than 1; publishing the N unicast routes and the extended group attribute information corresponding to the N unicast routes to the receiving PE device; wherein the N unicast routes are used by the receiving PE device to query N multicast sources each corresponding to N unicast routes imported by the receiving PE device after receiving a specific source multicast SSM joining signaling message initiated by the receiving end, and to select a target unicast route from the N unicast routes, wherein a route discriminator RD in extended group attribute information corresponding to the target unicast route is consistent with the RD in the routing information of the receiving end, the target unicast route and the extended group attribute information corresponding to the target unicast route are used to form a target signaling message, and the target signaling message is used to publish to the sending PE device.
4. The method of claim 3, wherein, After the step of publishing the N unicast routes and the extended group attribute information corresponding to the N unicast routes to the receiving PE device, the method further comprises the following steps: Upon receiving the target signaling message issued by the receiving PE device, the sending PE device finds the corresponding target unicast route according to the target signaling message; Upon receiving the multicast message sent by the target multicast source corresponding to the target unicast route, the receiving PE device issues the multicast message to the receiving end.
5. A multicast routing and forwarding receiving device, applied to a receiving end PE device, characterized in that, The receiving device comprises: a route query module, configured to, upon receiving a specific source multicast (SSM) join signaling message initiated by a receiving end, query N unicast routes respectively corresponding to N imported multicast sources, wherein N is an integer greater than 1; a route selection module, configured to select a target unicast route from the N unicast routes, wherein a route discriminator (RD) in extended group attribute information corresponding to the target unicast route is consistent with a RD in route information of the receiving end; a signaling issuing module, configured to carry the target unicast route and the extended group attribute information corresponding to the target unicast route in the SSM join signaling message to form a target signaling message, and issue the target signaling message to a sending PE device; a message transmission module, configured to receive a multicast source message issued by a target multicast source corresponding to the target unicast route, and transmit the multicast source message to the receiving end.
6. The receiving apparatus of claim 5, wherein, The receiving device further comprises: a matching judgment module, configured to, upon receiving the N unicast routes and the extended group attribute information respectively corresponding to the N unicast routes, judge whether a respective route target (RT) in the extended group attribute information is consistent with an imported RT of a VPN instance of the receiving PE device; a route importing module, configured to, in the case that the respective RT in the extended group attribute information is consistent with the imported RT of the VPN instance of the receiving PE device, import the N unicast routes into the VPN instance of the receiving PE device.
7. A multicast routing forwarding sending device, applied to a sending end PE device, characterized in that, The sending device comprises: an information adding module, configured to, upon receiving N unicast routes respectively corresponding to N multicast sources, add a respective RD of the N unicast routes to extended group attribute information respectively corresponding to the N unicast routes, wherein N is an integer greater than 1; an information issuing module, configured to issue the N unicast routes and the extended group attribute information respectively corresponding to the N unicast routes to a receiving PE device; wherein the N unicast routes are used by the receiving PE device to, upon receiving a specific source multicast (SSM) join signaling message initiated by a receiving end, query N unicast routes respectively corresponding to N imported multicast sources, and select a target unicast route from the N unicast routes, wherein a route discriminator (RD) in extended group attribute information corresponding to the target unicast route is consistent with a RD in route information of the receiving end, and the target unicast route and the extended group attribute information corresponding to the target unicast route are used to form a target signaling message, which is used to be issued to the sending PE device.
8. The transmission apparatus of claim 7, wherein The sending device further comprises: The signaling receiving module is configured to, when receiving a target signaling message issued by the receiving PE device, find a corresponding target unicast route according to the target signaling message. The message issuing module is configured to, when receiving a multicast message sent by a target multicast source corresponding to the target unicast route, issue the multicast message to the receiving PE device.
9. An electronic device, comprising: The computer program is stored in the computer readable storage medium and is executed by the processor to implement the method steps of any one of claims 1-4. The computer program is stored in the computer readable storage medium and is executed by the processor to implement the method steps of any one of claims 1-4. The computer program is stored in the computer readable storage medium and is executed by the processor to implement the method steps of any one of claims 1-4.
10. A computer-readable storage medium, characterized in that,
Citation Information
Patent Citations
Multicast message transmitting method and routing equipment
CN102075439A
Virtual private network multicast method based on IPv6 network and electronic equipment
CN112636935A