Multicast routing transmission method, routing node, and routing device
By reducing the types and number of signaling in multicast routing and optimizing the multicast forwarding table using PTA and multicast VPN identifiers, the problem of high signaling complexity in existing technologies is solved, achieving more efficient signaling transmission and saving bandwidth resources.
Patent Information
- Application Number
- PCT/CN2025/078238
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-21
- Filing Date
- 2025-02-20
- Publication Date
- 2025-12-26
AI Technical Summary
Existing multicast routing methods involve a large number of signaling signals, resulting in high signaling conversion complexity and low efficiency.
Multicast routing is carried out using fewer types of routing information. By switching routing policies between root nodes and border routing nodes, the types and number of signaling are reduced. Information such as PTA and multicast VPN identifiers are used to generate multicast forwarding tables and optimize signaling.
It reduces the complexity of signaling conversion, improves the efficiency of signaling transmission, reduces the forwarding of invalid multicast messages, and saves bandwidth resources.
Smart Images

Figure CN2025078238_26122025_PF_FP_ABST
Abstract
Description
A multicast route transmission method, routing node, and routing device
[0001] This application claims priority to Chinese Patent Application No. 202410813589.0, filed with the State Intellectual Property Office of China on June 21, 2024, entitled "A Multicast Routing Transmission Method, Routing Node and Routing Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more particularly to a multicast routing method, routing node, and routing device. Background Technology
[0003] One current method for multicast routing is roughly as follows: After the root node in one autonomous system sends auto-discovery (AD) routing information to the leaf node in another autonomous system through an intermediate node, the leaf node sends Type 4 (including the leaf node's IP address) and Type 7 (including the multicast source group address) of the seven types of signaling in the next-generation multicast virtual private network (NGMVPN) to the root node through the intermediate node. The root node and the leaf node establish protocol-independent multicast (PIM) entries based on the above signaling, thereby forming a multicast forwarding tree from the root node to the leaf node, and then send multicast packets according to the multicast forwarding tree.
[0004] This results in a large number of signaling messages being transmitted for multicast routing information. Summary of the Invention
[0005] This application provides a multicast routing method that enables cross-domain multicast joining using fewer types of routing information, thereby reducing the amount of signaling used in multicast routing.
[0006] The first aspect provides a multicast route transmission method applied to a network comprising multiple autonomous systems (AS). The method includes: a root node sending first routing information to a first border routing node, and then receiving second routing information from the first border routing node. The root node is directly or indirectly connected to a multicast source, and the root node and the first border routing node belong to the same AS. The first border routing node is configured with a routing policy to convert the first routing information into routing information for forwarding between different ASes. The routing policy may be, but is not limited to, a border gateway protocol (BGP) filtering policy. The first routing information is routing information forwarded within the AS, and it includes the root node's provider multicast service interface tunnel attribute (PTA) and the root node's multicast virtual private network (VPN) identifier. The second routing information is used for multicast joining, and it includes network layer reachability information, the first border routing node's PTA, and the root node's multicast VPN identifier. The network layer reachability information includes the multicast source group address and the IP addresses of the leaf nodes. The multicast source group address includes the private IP address of the multicast source and the private IP address of the multicast group.
[0007] In this implementation, the network layer reachability information in the second routing information includes the multicast source group address and the IP address of the leaf node. Compared with the prior art, which uses Type 4 signaling to carry the IP address of the leaf node and Type 7 signaling to carry the multicast source group address, this can reduce the types and number of signaling, reduce the complexity of signaling conversion, and improve the efficiency of signaling transmission.
[0008] In a first possible implementation, the multicast routing method of this application further includes: the root node determining a first source address based on first routing information, generating a multicast forwarding table including a multicast source group address, tunnel information of a first boundary routing node, and the first source address; when a multicast packet from a multicast source includes a multicast source group address, the root node determines the tunnel information of the first boundary routing node and the first source address in the multicast forwarding table based on the multicast source group address; and sends a multicast packet including the first source address to the first boundary routing node based on the tunnel information of the first boundary routing node. The tunnel information of the first boundary routing node belongs to the PTA of the first boundary routing node and is used as tunnel destination information. Optionally, the tunnel information of the first boundary routing node includes a subdomain identifier and a forwarding router identifier. Alternatively, the tunnel information of the first boundary routing node includes a first tunnel identifier. The first source address is used for longest-last-matching with the multicast forwarding tables of other nodes, enabling the forwarding of multicast packets on the public network based on the first source address.
[0009] In conjunction with the first possible implementation of the first aspect, in another possible implementation, the PTA of the root node in the first routing information includes a first tunnel identifier, and the root node determines the first source address as the first tunnel identifier in the root node's PTA. The first tunnel identifier is used to identify the tunnel between the root node and the first boundary routing node. Optionally, the tunnel corresponding to the first tunnel identifier can be any one of the following: bit index explicit replication (BIER) tunnel, ingress replication (IR) tunnel, resource reservation protocol traffic engineering (RSVP-TE) tunnel, multicast extension of label distribute protocol (MLDP) tunnel, protocol independent multicast (PIM) tunnel, segment routing (SR) v6 tunnel, segment routing multi-protocol label switching (SR-MPLS) tunnel, or software defined wide area network (SD-WAN) tunnel.
[0010] In conjunction with the first possible implementation of the first aspect, in another possible implementation, the PTA of the root node in the first routing information includes a first tunnel identifier and a tunnel node identifier of the root node, and the root node determines the first source address by including the first tunnel identifier and the tunnel node identifier of the root node. The tunnel node identifier is the identifier of the node in the tunnel. For example, for a BIER tunnel, the tunnel node identifier is the forwarding router identifier.
[0011] In conjunction with the first possible implementation of the first aspect, in another possible implementation, when the first routing information also includes a multicast service identifier, the root node determines the first source address as the multicast service identifier; when the first routing information also includes a prefix segment identifier, the root node determines the first source address as the prefix segment identifier.
[0012] In conjunction with the first possible implementation, another possible implementation of the multicast routing method of this application further includes: after the root node generates a second source address based on the flow identifier corresponding to the multicast source group address and the first source address, it generates a forwarding table entry in the multicast forwarding table that includes the multicast source group address, the tunnel information of the first boundary routing node, and the second source address. When a multicast packet from a multicast source includes the multicast source group address, the root node determines the tunnel information of the first boundary routing node and the second source address in the multicast forwarding table based on the multicast source group address, and then sends a multicast packet including the second source address to the first boundary routing node based on the tunnel information of the first boundary routing node. Since the multicast source group address, the flow identifier, and the second source address correspond one-to-one, multicast packets (i.e., multicast traffic data) can be sent on demand based on the second source address, reducing invalid multicast packet forwarding and thus saving bandwidth resources occupied by multicast packets.
[0013] In any possible implementation of the first aspect, the first routing information is either upstream multicast hop (UMH) routing information or wildcard routing information.
[0014] In any possible implementation of the first aspect, the second routing information is C-multicast routing information.
[0015] The second aspect provides a multicast route transmission method applied to a network comprising multiple Autonomous Systems (AS). The method includes: a first border routing node receiving first routing information from a root node, modifying the first routing information into third routing information according to a routing policy, and sending the third routing information to a second border routing node; receiving fourth routing information from the second border routing node, modifying the fourth routing information into second routing information according to a routing policy, and then sending the second routing information to the root node. The first border routing node and the root node belong to the same AS, while the first border routing node and the second border routing node belong to different ASs.
[0016] The first routing information includes the root node's PTA and its multicast VPN identifier. The routing policy specifically modifies the root node's PTA and multicast VPN identifier in the first routing information to the PTA and multicast VPN identifier of the first border routing node, respectively, to obtain the third routing information. In other words, the first and third routing information are the same type of routing information. The fourth routing information includes network layer reachability information, the second border routing node's PTA, and its multicast VPN identifier. The network layer reachability information includes the multicast source group address and the leaf node's IP address. The routing policy also modifies the second border routing node's PTA and the first border routing node's multicast VPN identifier in the fourth routing information to the PTA of the first border routing node and the multicast VPN identifier of the root node, respectively, to obtain the second routing information. In other words, the fourth and second routing information are the same type of routing information; both are routing information used for multicast joining.
[0017] In this way, since the fourth routing information and the second routing information are the same type of routing information, the network layer reachability information of the same type of routing information can be used to transmit the multicast source group address and the IP address of the leaf node, reducing the signaling type and the number of signaling messages used to transmit the multicast source group address and the IP address of the leaf node.
[0018] In a first possible implementation of the second aspect, the method further includes: a first border routing node determining a first source address based on first routing information and a third source address based on third routing information; generating a multicast forwarding table including the first source address, tunnel information of the second border routing node, and the third source address; when a multicast packet from the root node includes the first source address, the first border routing node determines the tunnel information of the second border routing node and the third source address in the multicast forwarding table based on the first source address; and then sends a multicast packet including the third source address to the second border routing node based on the tunnel information of the second border routing node. The tunnel information of the second border routing node belongs to the second border routing node's PTA (Private Transfer Address), and it is used as tunnel destination information, thus enabling the forwarding of multicast packets using the tunnel information of the second border routing node and the first source address.
[0019] In conjunction with the first possible implementation of the second aspect, in another possible implementation, the PTA of the root node in the first routing information includes a first tunnel identifier, and the first border routing node determines the first source address as the first tunnel identifier in the PTA of the root node. The first tunnel identifier is used to identify the tunnel between the root node and the first border routing node. Optionally, the tunnel corresponding to the first tunnel identifier is any one of a BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel.
[0020] In conjunction with the first possible implementation of the second aspect, in another possible implementation, the PTA of the root node in the first routing information includes the first tunnel identifier and the tunnel node identifier of the root node, and the first boundary routing node determines the first source address including the first tunnel identifier and the tunnel node identifier of the root node.
[0021] In conjunction with the first possible implementation of the second aspect, in another possible implementation, when the first routing information also includes a multicast service identifier, the first boundary routing node determines the first source address as the multicast service identifier in the first routing information; when the first routing information also includes a prefix segment identifier, the first boundary routing node determines the first source address as the prefix segment identifier in the first routing information.
[0022] In conjunction with the first possible implementation of the second aspect, in another possible implementation, the PTA of the first border routing node in the third routing information includes a second tunnel identifier, and the first border routing node determines the third source address as the second tunnel identifier. The second tunnel identifier is used to identify the tunnel between the first border routing node and the second border routing node. Optionally, the tunnel corresponding to the second tunnel identifier is any one of a BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel.
[0023] In conjunction with the first possible implementation of the second aspect, in another possible implementation, the PTA of the first boundary routing node in the third routing information includes the second tunnel identifier and the tunnel node identifier of the first boundary routing node, and the first boundary routing node determines the third source address by including the second tunnel identifier and the tunnel node identifier of the first boundary routing node.
[0024] In conjunction with the first possible implementation of the second aspect, in another possible implementation, when the third routing information also includes a multicast service identifier, the first boundary routing node determines the third source address as the multicast service identifier in the third routing information; when the third routing information also includes a prefix segment identifier, the first boundary routing node determines the third source address as the prefix segment identifier in the third routing information.
[0025] In conjunction with the first possible implementation, another possible implementation further includes: when a multicast packet from the root node includes a second source address, the first border routing node generates a forwarding table entry in its multicast forwarding table that includes the second source address, the tunnel information of the second border routing node, and a fourth source address. When a multicast packet from the root node includes a second source address, the first border routing node determines its tunnel information and the fourth source address in the multicast forwarding table based on the second source address, and then sends a multicast packet including the fourth source address to the second border routing node based on its tunnel information. The second source address includes a flow identifier and a first source address, and the fourth source address includes a flow identifier and a third source address. This allows the first border routing node to forward multicast packets based on the second source address and the tunnel information of the second border routing node. Since the second source address, the multicast source group address, and the flow identifier are in one-to-one correspondence, multicast packets can be sent on demand.
[0026] In any possible implementation of the second aspect, the first routing information and the third routing information are both upstream multicast node UMH routing information, or the first routing information and the third routing information are both wildcard routing information.
[0027] In any possible implementation of the second aspect, both the second routing information and the fourth routing information are C-multicast routing information.
[0028] The third aspect provides a multicast route transmission method applied to a network comprising multiple Autonomous Systems (AS). The method includes: a second boundary routing node receiving third routing information from a first boundary routing node, modifying the third routing information into fifth routing information according to a routing policy, and then sending the fifth routing information to a leaf node; and the second boundary routing node receiving sixth routing information from a leaf node, modifying the sixth routing information into fourth routing information according to a routing policy, and then sending the fourth routing information to the first boundary routing node. The first and second boundary routing nodes belong to different ASs, while the leaf node and the second boundary routing node belong to the same AS. The third routing information is routing information forwarded between autonomous systems. It includes the PTA (Plan-Do-A) of the first border routing node and its multicast VPN identifier. The fifth routing information is routing information forwarded within the autonomous system. In the fifth routing information, the PTA of the second border routing node is obtained by replacing the PTA of the first border routing node in the third routing information. Similarly, the multicast VPN identifier of the second border routing node in the fifth routing information is obtained by replacing the multicast VPN identifier of the first border routing node in the third routing information. Therefore, the third and fifth routing information are the same type of routing information. The fourth routing information includes network layer reachability information, the PTA of the second border routing node, and the first border... The multicast VPN identifier of the routing node, the sixth routing information includes network layer reachability information, the PTA of the leaf node, and the multicast VPN identifier of the second boundary routing node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The multicast source group address includes the private IP address of the multicast source and the private IP address of the multicast group. The PTA of the second boundary routing node in the fourth routing information is obtained by replacing the PTA of the leaf node in the sixth routing information. The multicast VPN identifier of the first boundary routing node in the fourth routing information is obtained by replacing the multicast VPN identifier of the second boundary routing node in the sixth routing information. The fourth routing information and the sixth routing information are the same type of routing information and are both used for multicast joining.
[0029] In this way, since the sixth routing information and the fourth routing information are the same type of routing information, the network layer reachability information of the same type of routing information can be used to transmit the multicast source group address and the IP address of the leaf node, reducing the signaling type and the number of signaling messages used to transmit the multicast source group address and the IP address of the leaf node.
[0030] In a first possible implementation of the third aspect, the method further includes: the second boundary routing node determining the third source address based on the third routing information and the fifth source address based on the fifth routing information, generating a multicast forwarding table including the third source address, the tunnel information of the leaf node, and the fifth source address; when the multicast message from the first boundary routing node includes the third source address, the second boundary routing node determines the tunnel information of the leaf node and the fifth source address in the multicast forwarding table based on the third source address, and then sends a multicast message including the fifth source address to the leaf node based on the tunnel information of the leaf node.
[0031] In conjunction with the first possible implementation of the third aspect, in another possible implementation, the PTA of the first border routing node in the third routing information includes a second tunnel identifier, and the second border routing node determines the third source address as the second tunnel identifier. The second tunnel identifier is used to identify the tunnel between the first border routing node and the second border routing node. Optionally, the tunnel corresponding to the second tunnel identifier is any one of a BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel.
[0032] In conjunction with the first possible implementation of the third aspect, in another possible implementation, the PTA of the first boundary routing node in the third routing information includes the second tunnel identifier and the tunnel node identifier of the first boundary routing node, and the second boundary routing node determines the third source address by including the second tunnel identifier and the tunnel node identifier of the first boundary routing node.
[0033] In conjunction with the first possible implementation of the third aspect, in another possible implementation, when the third routing information also includes a multicast service identifier, the first boundary routing node determines the third source address as the multicast service identifier in the third routing information; when the third routing information also includes a prefix segment identifier, the second boundary routing node determines the third source address as the prefix segment identifier in the third routing information.
[0034] In conjunction with the first possible implementation of the third aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes a third tunnel identifier, and the second boundary routing node determines the fifth source address as the third tunnel identifier. The third tunnel identifier is used to identify the tunnel between the second boundary routing node and the leaf node. Optionally, the tunnel corresponding to the third tunnel identifier is any one of the following: BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel.
[0035] In conjunction with the first possible implementation of the third aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node, and the second boundary routing node determines the fifth source address by including the third tunnel identifier and the tunnel node identifier of the second boundary routing node.
[0036] In conjunction with the first possible implementation of the third aspect, in another possible implementation, when the fifth routing information also includes a multicast service identifier, the second boundary routing node determines the fifth source address as the multicast service identifier in the fifth routing information; when the fifth routing information also includes a prefix segment identifier, the second boundary routing node determines the fifth source address as the prefix segment identifier in the fifth routing information.
[0037] In another possible implementation, the method further includes: when a multicast packet from the first border routing node includes a second source address, the second border routing node adds an entry for the tunnel destination information and the second source address to its multicast forwarding table; and when a multicast packet from the first border routing node includes a second source address, the second border routing node sends a multicast packet including the second source address to the leaf node according to the tunnel destination information. The second source address includes both the flow identifier and the first source address. This allows multicast packets to be sent according to multicast groups, reducing invalid forwarding of multicast packets and thus saving bandwidth resources occupied by multicast packets.
[0038] In another possible implementation, both the third and fifth routing information are UMH routing information, and both the third and fifth routing information include the first source address. The second boundary routing node obtains the first source address from the third routing information.
[0039] In any possible implementation of the third aspect, both the third routing information and the fifth routing information are wildcard routing information.
[0040] In any possible implementation of the third aspect, the sixth and fourth routing information are C-multicast routing information.
[0041] The fourth aspect provides a multicast routing method applied to a network comprising multiple Autonomous Systems (AS). The method includes: a leaf node receiving fifth routing information from a second boundary routing node; after a leaf node receives a multicast join message from a multicast receiving device, generating sixth routing information based on the leaf node's PTA and the multicast VPN identifier of the second boundary routing node carried in the fifth routing information, and sending the sixth routing information to the second boundary routing node. The fifth routing information includes the second boundary routing node's PTA and its multicast VPN identifier; the sixth routing information includes network layer reachability information, the leaf node's PTA, and the second boundary routing node's multicast VPN identifier. The network layer reachability information includes the multicast source group address and the leaf node's IP address; the multicast source group address includes the private IP address of the multicast source and the private IP address of the multicast group.
[0042] In this way, since the sixth routing information and the fourth routing information are the same type of routing information, the multicast source group address and the IP address of the leaf node can be transmitted using the same type of routing information, which reduces the signaling type and the number of signaling messages used to transmit the multicast source group address and the IP address of the leaf node.
[0043] In the first possible implementation of the fourth aspect, the leaf node determines the fifth source address based on the fifth routing information and generates a multicast forwarding table including the fifth source address and the VPN identifier. When a multicast packet from the second boundary routing node includes the fifth source address, the leaf node sends the multicast packet to the multicast receiver based on the VPN identifier. Specifically, the leaf node looks up the private network multicast table entry based on the VPN identifier and sends the multicast packet to the multicast receiver based on the found private network multicast table entry.
[0044] In conjunction with the first possible implementation of the fourth aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes a third tunnel identifier, and the leaf node determines the fifth source address as the third tunnel identifier. The third tunnel identifier is used to identify the tunnel between the second boundary routing node and the leaf node. Optionally, the tunnel corresponding to the third tunnel identifier is any one of the following: BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel.
[0045] In conjunction with the first possible implementation of the fourth aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node, and the leaf node determines the fifth source address by including the third tunnel identifier and the tunnel node identifier of the second boundary routing node.
[0046] In conjunction with the first possible implementation of the fourth aspect, in another possible implementation, when the fifth routing information also includes a multicast service identifier, the leaf node determines the fifth source address as the multicast service identifier in the fifth routing information; when the fifth routing information also includes a prefix segment identifier, the leaf node determines the fifth source address as the prefix segment identifier in the fifth routing information.
[0047] In conjunction with the first possible implementation, another possible implementation further includes: when a multicast packet from the second boundary routing node includes a sixth source address, the leaf node adds a forwarding entry for the VPN identifier and the sixth source address to the multicast forwarding table; and when a multicast packet from the second boundary routing node includes a sixth source address, the leaf node sends the multicast packet to the multicast receiving device based on the VPN identifier. The sixth source address includes the flow identifier and the fifth source address, thus enabling multicast packets to be sent according to multicast groups and reducing invalid forwarding of multicast packets.
[0048] In any possible implementation of the fourth aspect, the fifth routing information is either UMH routing information or wildcard routing information.
[0049] In any possible implementation of the fourth aspect, the sixth routing information is C-multicast routing information.
[0050] The fifth aspect provides a routing node for use as a root node, wherein the routing device includes a communication module for sending first routing information to a first boundary routing node and receiving second routing information from the first boundary routing node.
[0051] In the first possible implementation of the fifth aspect, the routing node further includes a processing module, which is used to determine the first source address based on the first routing information, generate a multicast forwarding table including the multicast source group address, the tunnel information of the first boundary routing node and the first source address, and when the multicast message from the multicast source includes the multicast source group address, the communication module is also used to determine the tunnel information of the first boundary routing node and the first source address in the multicast forwarding table based on the multicast source group address, and send a multicast message including the first source address to the first boundary routing node based on the tunnel information of the first boundary routing node.
[0052] In conjunction with the first possible implementation of the fifth aspect, in another possible implementation, the PTA of the root node in the first routing information includes a first tunnel identifier, which is used to identify the tunnel between the root node and the first boundary routing node. The processing module is specifically used to determine the first tunnel identifier in the PTA of the root node as the first source address.
[0053] In conjunction with the first possible implementation of the fifth aspect, in another possible implementation, the PTA of the root node in the first routing information includes the first tunnel identifier and the tunnel node identifier of the root node, and the processing module is specifically used to determine that the first source address includes the first tunnel identifier and the tunnel node identifier of the root node.
[0054] In conjunction with the first possible implementation of the fifth aspect, in another possible implementation, when the first routing information also includes a multicast service identifier, the processing module is specifically used to determine the first source address as the multicast service identifier in the first routing information; when the first routing information also includes a prefix segment identifier, the processing module is specifically used to determine the first source address as the prefix segment identifier in the first routing information.
[0055] In conjunction with the previous possible implementation, in another possible implementation, the processing module is further configured to generate a second source address, which includes the flow identifier corresponding to the multicast source group address and the first source address; generate a forwarding table entry in the multicast forwarding table that includes the multicast source group address, the tunnel information of the first boundary routing node, and the second source address; when the multicast packet from the multicast source includes the multicast source group address, the communication module is further configured to determine the tunnel information of the first boundary routing node and the second source address in the multicast forwarding table based on the multicast source group address; and send a multicast packet including the second source address to the first boundary routing node based on the tunnel information of the first boundary routing node.
[0056] For the explanation of terms, the specific steps for each module, and the beneficial effects in the fifth aspect, please refer to the description in the first aspect.
[0057] The sixth aspect provides a routing node used as a first boundary routing node. The routing node includes a communication module and a processing module. The communication module is used to receive first routing information from a root node. The processing module is also used to modify the first routing information into third routing information according to a routing policy. The communication module is also used to send the third routing information to a second boundary routing node and receive fourth routing information from the second boundary routing node. The processing module is also used to modify the fourth routing information into second routing information according to a routing policy. The communication module is also used to send the second routing information to the root node.
[0058] In a first possible implementation of the sixth aspect, the processing module is further configured to determine the first source address based on the first routing information and the third source address based on the third routing information, and generate a multicast forwarding table including the first source address, the tunnel information of the second boundary routing node, and the third source address. When the multicast message from the root node includes the first source address, the communication module is further configured to determine the tunnel information of the second boundary routing node and the third source address in the multicast forwarding table based on the first source address; and send a multicast message including the third source address to the second boundary routing node based on the tunnel information of the second boundary routing node.
[0059] In conjunction with the first possible implementation of the sixth aspect, in another possible implementation, the PTA of the first boundary routing node in the third routing information includes the second tunnel identifier, and the processing module is also used to determine the third source address as the second tunnel identifier.
[0060] In conjunction with the first possible implementation of the sixth aspect, in another possible implementation, the PTA of the first boundary routing node in the third routing information includes the second tunnel identifier and the tunnel node identifier of the first boundary routing node, and the processing module is further used to determine that the third source address includes the second tunnel identifier and the tunnel node identifier of the first boundary routing node.
[0061] In conjunction with the first possible implementation of the sixth aspect, in another possible implementation, when the third routing information also includes a multicast service identifier, the processing module is further used to determine that the third source address is a multicast service identifier; when the third routing information also includes a prefix segment identifier, the processing module is further used to determine that the third source address is a prefix segment identifier.
[0062] In conjunction with the first possible implementation, in another possible implementation, when the multicast message from the root node includes the second source address, the processing module is further configured to generate a forwarding table entry in the multicast forwarding table that includes the second source address, the tunnel information of the second boundary routing node, and the fourth source address; when the multicast message from the root node includes the second source address, the communication module is further configured to determine the tunnel information of the second boundary routing node and the fourth source address in the multicast forwarding table based on the second source address; and send a multicast message including the fourth source address to the second boundary routing node based on the tunnel information of the second boundary routing node.
[0063] In any possible implementation of the sixth aspect, both the first routing information and the third routing information are UMH routing information.
[0064] In any possible implementation of the sixth aspect, both the first routing information and the third routing information are wildcard routing information.
[0065] In any possible implementation of the sixth aspect, both the second and fourth routing information are C-multicast routing information.
[0066] For the explanation of terms, the specific steps for each module, and the beneficial effects in the sixth aspect, please refer to the description in the second aspect.
[0067] A seventh aspect provides a routing node that serves as a second boundary routing node. The routing node includes a communication module and a processing module. The communication module is used to receive third routing information from a first boundary routing node. The processing module is used to modify the third routing information into fifth routing information according to a routing policy. The communication module is also used to send the fifth routing information to leaf nodes and receive sixth routing information from leaf nodes. The processing module is also used to modify the sixth routing information into fourth routing information according to a routing policy. The communication module is also used to send the fourth routing information to the first boundary routing node.
[0068] In a first possible implementation of the seventh aspect, the processing module is used to determine the third source address based on the third routing information and the fifth source address based on the fifth routing information, and to generate a multicast forwarding table entry including the third source address, the tunnel information of the leaf node, and the fifth source address. When the multicast message from the first boundary routing node includes the third source address, the communication module is also used to determine the tunnel information of the leaf node and the fifth source address in the multicast forwarding table based on the third source address; and to send a multicast message including the fifth source address to the leaf node based on the tunnel information of the leaf node.
[0069] In conjunction with the first possible implementation of the seventh aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier, and the processing module is specifically used to determine the fifth source address as the third tunnel identifier.
[0070] In conjunction with the first possible implementation of the seventh aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node, and the processing module is specifically used to determine that the fifth source address includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node.
[0071] In conjunction with the first possible implementation of the seventh aspect, in another possible implementation, when the fifth routing information also includes a multicast service identifier, the processing module is specifically used to determine that the fifth source address is a multicast service identifier; when the fifth routing information also includes a prefix segment identifier, the processing module is specifically used to determine that the fifth source address is a prefix segment identifier.
[0072] In conjunction with the first possible implementation, in another possible implementation, when the multicast message from the first boundary routing node includes the fourth source address, the processing module is further configured to generate a forwarding table entry in the multicast forwarding table that includes the fourth source address, the tunnel information of the leaf node, and the sixth source address. When the multicast message from the first boundary routing node includes the fourth source address, the communication module is further configured to determine the tunnel information of the leaf node and the sixth source address in the multicast forwarding table based on the fourth source address, and send a multicast message including the sixth source address to the leaf node based on the tunnel information of the leaf node.
[0073] In any possible implementation of the seventh aspect, both the third and fifth routing information are UMH routing information.
[0074] In any possible implementation of the seventh aspect, both the third and fifth routing information are wildcard routing information.
[0075] In any possible implementation of the seventh aspect, the sixth and fourth routing information are C-multicast routing information.
[0076] For the explanation of terms, the specific steps for each module, and the beneficial effects in the seventh aspect, please refer to the description in the third aspect.
[0077] The eighth aspect provides a routing node used as a leaf node, which includes a communication module and a processing module. The communication module is used to receive fifth routing information from a second boundary routing node and multicast join messages from a multicast receiving device. The processing module is used to generate sixth routing information based on the PTA of the leaf node and the multicast virtual private network identifier of the second boundary routing node carried in the fifth routing information. The communication module is also used to send the sixth routing information to the second boundary routing node.
[0078] In the first possible implementation of the eighth aspect, the processing module is further configured to determine the fifth source address based on the fifth routing information, generate a multicast forwarding table including the fifth source address and the virtual private network identifier, and when the multicast message from the second boundary routing node includes the fifth source address, the communication module is configured to send the multicast message to the multicast receiver based on the virtual private network identifier.
[0079] In conjunction with the first possible implementation of the eighth aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier, and the processing module is specifically used to determine the fifth source address as the third tunnel identifier in the fifth routing information.
[0080] In conjunction with the first possible implementation of the eighth aspect, in another possible implementation, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node, and the processing module is specifically used to determine that the fifth source address includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node.
[0081] In conjunction with the first possible implementation of the eighth aspect, in another possible implementation, when the fifth routing information also includes a multicast service identifier, the processing module is specifically used to determine the fifth source address as the multicast service identifier in the fifth routing information; when the fifth routing information also includes a prefix segment identifier, the processing module is specifically used to determine the fifth source address as the prefix segment identifier in the fifth routing information.
[0082] In conjunction with the first possible implementation, in another possible implementation, when the multicast message from the first border routing node includes the sixth source address, the processing module is also used to add the forwarding table entries of the virtual private network identifier and the sixth source address to the multicast forwarding table. When the multicast message from the second border routing node includes the sixth source address, the communication module is also used to send the multicast message to the multicast receiving device according to the virtual private network identifier.
[0083] For the explanation of terms, the specific steps for each module, and the beneficial effects in the eighth aspect, please refer to the description in the fourth aspect.
[0084] A ninth aspect provides a routing device including a processor and a memory, the memory storing computer-readable instructions, the processor executing the computer-readable instructions to cause the routing device to perform a method as described in the foregoing aspects or any possible implementation thereof.
[0085] A tenth aspect provides a computer-readable storage medium, characterized in that it includes computer-readable instructions; the computer-readable instructions are used to implement the methods in the above aspects or any possible implementations of the above aspects.
[0086] The eleventh aspect provides a computer program product, characterized in that it includes computer-readable instructions; the computer-readable instructions are used to implement the methods in the above aspects or any possible implementation of the above aspects. Attached Figure Description
[0087] Figure 1 is a schematic diagram of a multicast routing transmission scenario in an embodiment of this application;
[0088] Figure 2 is a signaling interaction diagram of the multicast routing transmission method in an embodiment of this application;
[0089] Figure 3 is another signaling interaction diagram of the multicast routing transmission method in an embodiment of this application;
[0090] Figure 4 is a signaling interaction diagram for sending multicast messages in an embodiment of this application;
[0091] Figure 5A is a schematic diagram of sending multicast messages in an embodiment of this application;
[0092] Figure 5B is another schematic diagram of sending multicast messages in an embodiment of this application;
[0093] Figure 6A is a schematic diagram of a source address in an embodiment of this application;
[0094] Figure 6B is another schematic diagram of the source address in an embodiment of this application;
[0095] Figure 6C is a schematic diagram of a source address including a flow identifier in an embodiment of this application;
[0096] Figure 6D is another schematic diagram of the source address including the flow identifier in an embodiment of this application;
[0097] Figure 7 is another schematic diagram of sending multicast messages in an embodiment of this application;
[0098] Figure 8 is a structural diagram of a routing node in an embodiment of this application;
[0099] Figure 9 is a structural diagram of a routing device in an embodiment of this application. Detailed Implementation
[0100] The multicast routing method described in this application can be applied to networks comprising multiple autonomous systems. In one example, all provider edge (PE) nodes publish BIER information in the AS via the interior gateway protocol (IGP). Provider (P) nodes build BIER forwarding tables based on the received BIER information, thereby establishing BIER tunnels between PE nodes. As a novel type of multicast virtual private network (MVPN) tunnel, the BIER tunnel can achieve on-demand replication of multicast streams using a bit string lookup table, without requiring the creation of multicast stream forwarding table entries on the P nodes.
[0101] Multicast Virtual Private Network (MVPN) service is a type of multicast service that supports multiple point-to-multipoint (P2MP) multicast connections within a carrier's network. MVPN services can be applied to scenarios including live video streaming, online education, real-time data transmission, multimedia conferencing, data copying, Internet Protocol Television (IPTV), gaming, and emulation.
[0102] Referring to Figure 1, in one example, the network includes AS11, AS12, and AS13. Each AS includes PE nodes, P nodes, and area border routers (ABRs). PE1, P1, and ABR1 belong to AS11; PE2, P2, and ABR2 belong to AS12; and PE3, P3, and ABR3 belong to AS13. PE1, P1, ABR1, PE2, P2, ABR2, PE3, P3, and ABR3 are routing nodes, such as routers or switches. Routers supporting BIER technology can be called BIER forwarding routers (BFRs), which can receive and forward BIER messages. The multicast source can be a server or terminal device, and the multicast receiving device, also called a multicast receiver, can be a terminal device. Terminal equipment, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), or simply terminal, is a device that provides voice and / or data connectivity to a user, or a chip embedded within that device. Examples include handheld devices and in-vehicle devices with wireless connectivity. Currently, some examples of terminal equipment include: mobile phones, desktop computers, tablets, laptops, PDAs, mobile internet devices (MID), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in autonomous driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, and 5G-residential gateways (5G-RG) supporting 5G access.
[0103] It should be noted that PE1, ABR1, PE2, ABR2, PE3, and ABR3 are edge routing nodes, with ABR1, ABR2, and ABR3 being border routing nodes, and P1, P2, and P3 being non-edge routing nodes. PE1 can communicate with the multicast source and acts as the ingress node for AS11. ABR1 can communicate with ABR2 and ABR3; ABR1 acts as the egress node for AS11, ABR2 as the ingress node for AS12, and ABR3 as the ingress node for AS13. PE2 and PE3 can communicate with multicast receiving devices using the Internet Group Management Protocol (IGMP); PE2 acts as the egress node for AS12, and PE3 as the egress node for AS13. P nodes can forward BIER messages based on the received bit string.
[0104] It should be noted that the number of AS, PE, P, and ABR nodes in a network is not limited to the examples above. A network can include multiple autonomous systems, and the boundary routing node in an autonomous system is called an autonomous system boundary router (ASBR).
[0105] The BIER forwarding process for multicast packets is as follows:
[0106] (1) The BFR advertises the BIER information configured in the BIER layer through the IGP. The BIER information includes the forwarding router identifier (BFR ID), subdomain identifier, and bit string length (BSL).
[0107] The BFR ID serves as the identifier for edge BFRs within the AS; non-edge BFRs do not require a BFR ID for identification. The BSL is used to identify the number of BIER edge devices that can be accessed within the AS.
[0108] BIER uses a bit string of a specific length to represent a group of BIER edge devices. Starting from the rightmost bit, each bit in the bit string corresponds to a BFR ID. When the BSL (Bit String Segment) is insufficient to represent the maximum value of BFR IDs configured within an AS (Application Server), the bit string needs to be divided into different sets, each identified by a set ID (SI). For example, if the maximum value of BFR IDs within an AS is 10, and the BSL is configured to be 4, then it needs to be divided into three sets: SI0, SI1, and SI2. The maximum value of SI is the floor function of the calculation "(maximum BFR ID - 1) / BSL".
[0109] (2) Based on the flooding of these BIER information, the BFRs on the path generate BIER routing tables (BIRT), and then generate BIFT.
[0110] Each router builds a bit index routing table (BIRT) based on the shortest path from the IGP according to the received BIER information.
[0111] (3) When a multicast message with a BIER header is forwarded in the AS, the BFR looks up the BIFT based on the information in the BIER header to complete the multicast message copying and forwarding.
[0112] One or more BIFTs can exist on a BFR, and each BIFT is uniquely identified by a triple (BSL, SD, SI). Multicast messages within an AS are forwarded by querying the BIFT, which is used to establish the mapping relationship between the forwarding bit mask (FBM) and the neighbor.
[0113] In Multi-Protocol Label Switching (MPLS) encapsulation, BIFT can be a label, which may include SD, BSL, and SI. FBM represents the set of AS edge nodes reachable through a neighbor when BFR replicates and sends multicast messages to the next-hop neighbor. It is obtained by performing an OR operation on the bit strings of all AS edge nodes reachable by that neighbor.
[0114] The underlay layer is a traditional link-state routing protocol layer. It floods the BIER attribute information of the local node within the AS using the extended TLV attribute of the IGP protocol. The BFR generates routes to other BFR prefixes within its subdomain based on the IGP algorithm, that is, routes to each BFR ID, thereby establishing neighbor relationships between nodes within the AS and the optimal forwarding path between nodes. Underlay protocols include BGP, OSPF, IS-IS, and EIGRP.
[0115] The Overlay layer is primarily responsible for the exchange of control plane information for multicast services. This includes collecting join and leave information for user multicast groups between the BFIR and BFER nodes. When a multicast packet arrives at the BFIR node, it is combined with the BFER node as needed and encapsulated with the corresponding BIER header. When a multicast packet carrying a BIER header arrives at the BFER node, the BIER header is decapsulated and subsequent multicast packet forwarding is completed. Overlay protocols include, but are not limited to, MVPN.
[0116] BGP is a standardized exterior gateway protocol used to exchange routing and reachability information between Autonomous Systems (AS) on the Internet. Classified as a path-vector routing protocol, BGP makes routing decisions based on paths, network policies, or rule sets configured by the network administrator.
[0117] The PTA includes the node's tunnel type and other tunnel attributes. For a node with a BIER tunnel, its PTA may include the BIER tunnel type, BFRID, SD, and BSL. For a node with an ingress replication (IR) tunnel, its PTA includes the IR tunnel type and IR label.
[0118] Selective Provider Multicast Service Interface (SPMSI) AD routing is a crucial signaling mechanism in MVPN. "Matching and processing" SPMSI AD routes on the PE node is a step in MVPN implementation, applicable in various scenarios such as Resource Reservation Protocol Traffic Engineer (RSVP-TE) tunnels, Multicast Extension of Label Distribute Protocol (MLDP) tunnels, and BIER tunnels.
[0119] To address the complex signaling conversion issues in existing multicast routing methods, this application addresses the problem of leaf nodes sending a type of routing information to the root node via intermediate nodes. Routing nodes along the path can then exchange routing information between different ASs by changing the PTA and MVPN IDs in this routing information, effectively reducing the complexity of routing information conversion. The method is described below, referring to Figure 2. In one embodiment, the multicast routing method of this application includes the following steps:
[0120] S201. The root node sends the first routing information to the first boundary routing node. The first routing information includes the root node's PTA and the root node's MVPN ID.
[0121] In this embodiment, the root node refers to the PE acting as the root. The root node is directly or indirectly connected to the multicast source. The first border routing node is either an ABR or an ASBR. The root node and the first border routing node belong to the first autonomous system. The root node floods the first routing information within the first autonomous system, sending the first routing information to one or more border routing nodes within the first autonomous system. The first border routing node can be any one of the border routing nodes. In this application, the MVPN ID of a node is the identifier of that node in the MVPN. For example, the MVPN ID of the root node refers to the identifier of the root node in the MVPN, and the MVPN IDs of other nodes can be deduced accordingly.
[0122] S202. The first border routing node sends third routing information to the second border routing node. The third routing information includes the PTA of the first border routing node and the MVPN ID of the first border routing node.
[0123] The first border routing node is configured with a routing policy, which is used to convert the first routing information into routing information for forwarding between different autonomous systems. The first border routing node modifies the first routing information into third routing information according to the routing policy (such as a BGP filtering policy). Specifically, it modifies the PTA of the root node in the first routing information to the PTA of the first border routing node, and modifies the MVPN ID of the root node in the first routing information to the MVPN ID of the first border routing node, thus obtaining the third routing information, which is then sent to the second border routing node.
[0124] It should be noted that the first border routing node can send routing information to one or more border routing nodes of an AS, and the second border routing node can be any one of them. In the BGP filtering policy, each border routing node that receives routing information has a corresponding BGP filtering entry, which enables each border routing node to obtain the corresponding routing information.
[0125] S203. The second boundary routing node sends the fifth routing information to the leaf node. The fifth routing information includes the PTA of the second boundary routing node and the MVPN ID of the second boundary routing node.
[0126] The second boundary routing node and leaf nodes belong to the second autonomous system. The second boundary routing node is either an ABR or an ASBR, and the leaf node refers to the PE that serves as the leaf node.
[0127] The first boundary routing node is configured with a routing policy, which is used to convert third-level routing information into routing information for forwarding between different autonomous systems. Specifically, the second boundary routing node modifies the third-level routing information into fifth-level routing information according to the routing policy (such as a BGP filtering policy). Specifically, it modifies the PTA of the first boundary routing node in the third-level routing information to the PTA of the second boundary routing node, and modifies the MVPN ID of the first boundary routing node in the third-level routing information to the MVPN ID of the second boundary routing node, thus obtaining the fifth-level routing information. The second boundary routing node floods the fifth-level routing information into the second autonomous system, sending it to one or more leaf nodes in the second autonomous system.
[0128] S204. Leaf nodes receive multicast join messages sent by multicast receiving devices.
[0129] The multicast join message includes the multicast source group address, which can be denoted as (S, G), where S is the private IP address of the multicast source and G is the private IP address of the multicast group. For example, the private IP address of the multicast source is 1.1.1.1, and the private IP address of the multicast group is 255.0.0.1. Optionally, the private IP address of the multicast source may also include rendezvous point information.
[0130] S205. The leaf node sends the sixth routing information to the second border routing node. The sixth routing information includes the NLRI, the leaf node's PTA, and the second border routing node's MVPN ID.
[0131] The leaf node generates network layer reachability information (NLRI) based on the multicast source group address in the multicast join message and the leaf node's IP address. In an optional embodiment, the first, third, and fifth routing information all include a routing identifier, and the NLRIs in the sixth, fourth, and second routing information all include a routing identifier.
[0132] S206. The second border routing node sends fourth routing information to the first border routing node. The fourth routing information includes NLRI, the PTA of the second border routing node, and the MVPN ID of the first border routing node.
[0133] The second border routing node modifies the sixth routing information into the fourth routing information according to the routing policy (such as BGP filtering policy). Specifically, it modifies the PTA of the leaf nodes in the sixth routing information to the PTA of the second border routing node, and modifies the MVPN ID of the second border routing node in the sixth routing information to the MVPN ID of the first border routing node, thereby obtaining the fourth routing information, and then sends the fourth routing information to the first border routing node.
[0134] S207. The first border routing node sends second routing information to the root node. The second routing information includes NLRI, the PTA of the first border routing node, and the MVPN ID of the root node.
[0135] The first boundary routing node modifies the fourth routing information into the second routing information according to the routing policy (such as BGP filtering policy). Specifically, it modifies the PTA of the second boundary routing node in the fourth routing information to the PTA of the first boundary routing node, and modifies the MVPN ID of the first boundary routing node in the fourth routing information to the MVPN ID of the root node, thereby obtaining the second routing information, and then sends the second routing information to the root node.
[0136] It should be noted that the PTA of the first boundary routing node in the third routing information differs from that in the second routing information. The PTA of the first boundary routing node in the third routing information includes the tunnel attribute information of the first boundary routing node in the first tunnel, while the PTA of the first boundary routing node in the second routing information includes the tunnel attribute information of the first boundary routing node in the second tunnel. The first tunnel is the tunnel between the root node and the first boundary routing node, and the second tunnel is the tunnel between the first boundary routing node and the second boundary routing node. Similarly, the PTA of the second boundary routing node in the fifth routing information differs from that in the fourth routing information. The PTA of the second boundary routing node in the fifth routing information includes the tunnel attribute information of the second boundary routing node in the third tunnel, while the PTA of the second boundary routing node in the fourth routing information includes the tunnel attribute information of the second boundary routing node in the second tunnel. The third tunnel is the tunnel between the second boundary routing node and a leaf node.
[0137] In this application, the first, third, and fifth routing information are of the same type, which may be, but is not limited to, upstream multicast hop (UMH) routing information or wildcard routing information. In an optional embodiment, the MVPN ID in the first, third, and fifth routing information is located in the segmented next hop (SNH) field. Optionally, the UMH routing information may also include virtual routing and forwarding table (VRF) addition destination and source autonomous system identifiers. Optionally, the wildcard routing information belongs to SPMSI AD routing.
[0138] The sixth, fourth, and second routing information belong to the same type of routing information, which can be, but is not limited to, C-multicast routing information, also known as explicitly traceable C-multicast routing information. In one alternative embodiment, the MVPN ID in the sixth, fourth, and second routing information is located in the Virtual Routing and Forwarding Table Route Import Extended Community (IRT) field. In another alternative embodiment, the VRF import RT field information in the sixth, fourth, and second routing information includes the MVPN ID of the root node.
[0139] In this embodiment, since the sixth routing information, the fourth routing information, and the second routing information are of the same type, and the NLRI of this type of routing information includes the multicast source group address and the IP address of the leaf node, it is not necessary to transmit the multicast source group address and the IP address of the leaf node through multiple types of routing information. This reduces the types and amount of signaling used to transmit the above information. Because there are fewer signaling types, the complexity of routing information conversion can be reduced, and the transmission speed of routing information can be improved.
[0140] Secondly, since the first, third, and fifth routing information are of the same type, modifying the PTA and MVPN IDs in this type of routing information allows routing information to be transmitted across different ASs. Existing multicast methods require Type 1, Type 2, and Type 3 routing information from the seven types of NGMVPN routing information to send automatic route discovery from the root node to the leaf node. Therefore, this embodiment reduces the number of routing information types, thus reducing type conversions and improving the transmission speed of routing information.
[0141] Furthermore, since the first and second boundary routing nodes are configured with routing policies, these policies can convert routing information forwarded within an autonomous system into routing information forwarded between autonomous systems, thereby enabling the transmission of routing information between different autonomous systems.
[0142] Based on the PTA in the first to sixth routing information, a tunnel can be established from the root node to the leaf node. This tunnel includes tunnels within the first autonomous system, tunnels between the first and second autonomous systems, and tunnels within the second autonomous system.
[0143] The edge nodes of this application can obtain the source address for data forwarding based on the routing information (such as the first routing information, the third routing information, and the fifth routing information) in the embodiment shown in Figure 2. The source address can be denoted as SRC-DT. A multicast forwarding table can be established based on the source address and tunnel information. The process of establishing the multicast forwarding table is described below. Referring to Figure 3, in one embodiment, the multicast route transmission method in this application includes the following steps:
[0144] S301. The root node sends the first routing information to the first boundary routing node. The first routing information includes the root node's PTA, the first source address, and the root node's MVPN ID.
[0145] In this embodiment, the root node refers to the PE acting as the root, and the first border routing node is either an ABR or an ASBR. The root node and the first border routing node belong to the first autonomous system. The root node floods the first routing information in the first autonomous system, sending the first routing information to one or more border routing nodes in the first autonomous system. The first border routing node can be any one of the border routing nodes.
[0146] Optionally, when the first routing information also includes a multicast service identifier, the first source address is the multicast service identifier in the first routing information. Alternatively, when the first routing information also includes a prefix segment identifier, the first source address is the prefix segment identifier in the first routing information.
[0147] In other embodiments, the first routing information may not carry a multicast service identifier or a prefix segment identifier, and the root node's PTA carries a first source address. Optionally, when the root node's PTA includes a first tunnel identifier, the first source address is the first tunnel identifier. Alternatively, when the root node's PTA includes both a first tunnel identifier and a root node's tunnel node identifier, the first source address includes both the first tunnel identifier and the root node's tunnel node identifier. The tunnel corresponding to the first tunnel identifier is the tunnel between the root node and the first boundary routing node.
[0148] S302. The first border routing node sends third routing information to the second border routing node. The third routing information includes the PTA of the first border routing node, the third source address, and the MVPN ID of the first border routing node.
[0149] Optionally, when the third routing information also includes a multicast service identifier, the third source address is the multicast service identifier in the third routing information. Alternatively, when the third routing information also includes a prefix segment identifier, the third source address is the prefix segment identifier in the third routing information.
[0150] In other embodiments, the third routing information may not carry a multicast service identifier or a prefix segment identifier, and the PTA of the first border routing node carries a third source address. Optionally, when the PTA of the first border routing node includes a second tunnel identifier, the third source address is the second tunnel identifier. Optionally, when the PTA of the first border routing node includes both a second tunnel identifier and a tunnel node identifier of the first border routing node, the third source address includes both the second tunnel identifier and the tunnel node identifier of the first border routing node. The tunnel corresponding to the second tunnel identifier is the tunnel between the first border routing node and the second border routing node.
[0151] After receiving the first routing information, the first boundary routing node modifies the first routing information into the third routing information according to the routing policy (such as the BGP filtering policy). Specifically, it modifies the PTA of the root node in the first routing information to the PTA of the first boundary routing node, and modifies the MVPN ID of the root node in the first routing information to the MVPN ID of the first boundary routing node.
[0152] S303. The second boundary routing node sends the fifth routing information to the leaf node. The fifth routing information includes the PTA of the second boundary routing node, the fifth source address, and the MVPN ID of the second boundary routing node.
[0153] Optionally, when the fifth routing information also includes a multicast service identifier, the fifth source address is the multicast service identifier in the fifth routing information. Alternatively, when the fifth routing information also includes a prefix segment identifier, the fifth source address is the prefix segment identifier in the fifth routing information.
[0154] In other embodiments, the fifth routing information may not carry a multicast service identifier or a prefix segment identifier, and the PTA of the second border routing node carries the fifth source address. Optionally, when the PTA of the second border routing node includes a third tunnel identifier, the fifth source address is the third tunnel identifier in the fifth routing information. Optionally, when the PTA of the second border routing node includes a third tunnel identifier and a tunnel node identifier of the second border routing node, the fifth source address includes both the third tunnel identifier and the tunnel node identifier of the second border routing node. The tunnel corresponding to the third tunnel identifier is the tunnel between the second border routing node and the leaf node.
[0155] The second boundary routing node and leaf nodes belong to the second autonomous system. The second boundary routing node is either an ABR or an ASBR, and the leaf node refers to the PE (Presumably a Provider Interface) acting as a leaf node. After receiving the third routing information, the second boundary routing node modifies it into the fifth routing information according to a routing policy (such as a BGP filtering policy). Specifically, it modifies the PTA (Personal Tracing Authority) of the first boundary routing node in the third routing information to the PTA of the second boundary routing node, and it also modifies the MVPN ID of the first boundary routing node in the third routing information to the MVPN ID of the second boundary routing node, thus obtaining the fifth routing information. The second boundary routing node floods the fifth routing information into the second autonomous system, sending it to one or more leaf nodes within the second autonomous system.
[0156] S304, Leaf nodes receive multicast join messages sent by multicast receiving devices.
[0157] The multicast join message includes the multicast source group address, which can be denoted as (S, G), where S is the private IP address of the multicast source and G is the private IP address of the multicast group. For example, the private IP address of the multicast source is 1.1.1.1, and the private IP address of the multicast group is 255.0.0.1. Optionally, the multicast join message also includes the rendezvous point information of the multicast source.
[0158] S305, Leaf nodes generate multicast forwarding tables.
[0159] The leaf node obtains the fifth source address from the fifth routing information and generates an ingress label mapping (ILM) forwarding table based on the VPN identifier and the fifth source address. The ILM forwarding table can be considered the leaf node's multicast forwarding table. It should be noted that the leaf node also has an interface table, which includes the VPN identifier and private network multicast entries. The VPN identifier is used to identify the multicast VPN. The private network multicast entries include the multicast source group address and the private network outgoing interface, which are used to locate multicast receiving devices.
[0160] S306. The leaf node sends the sixth routing information to the second border routing node. The sixth routing information includes network layer reachability information (NLRI), the leaf node's PTA, and the second border routing node's MVPN ID.
[0161] The leaf node generates an NLRI based on the multicast source group address in the multicast join message and the leaf node's IP address. Optionally, the NLRI may also include a routing identifier.
[0162] S307, The second boundary routing node generates a multicast forwarding table.
[0163] The second boundary routing node obtains the third source address from the third routing information and the fifth source address from the fifth routing information, and generates a multicast forwarding table. The forwarding table entries include the third source address, the tunnel information of the leaf nodes, and the fifth source address. The tunnel information of the leaf nodes belongs to the leaf node's PTA.
[0164] S308. The second border routing node sends fourth routing information to the first border routing node. The fourth routing information includes NLRI, the PTA of the second border routing node, and the MVPN ID of the first border routing node.
[0165] After receiving the sixth routing information, the second boundary routing node modifies the sixth routing information into the fourth routing information according to the BGP filtering policy. Specifically, it modifies the PTA of the leaf nodes in the sixth routing information to the PTA of the second boundary routing node, and modifies the MVPN ID of the second boundary routing node in the sixth routing information to the MVPN ID of the first boundary routing node, thereby obtaining the fourth routing information.
[0166] S309. The first border routing node generates a multicast forwarding table. The multicast forwarding table entries include the first source address, the tunnel information of the second border routing node, and the third source address. The tunnel information of the second border routing node belongs to the second border routing node's PTA.
[0167] S310. The first border routing node sends second routing information to the root node. The second routing information includes NLRI, the PTA of the first border routing node, and the MVPN ID of the root node.
[0168] After receiving the fourth routing information, the first boundary routing node modifies the fourth routing information into the second routing information according to the routing policy (such as BGP filtering policy). Specifically, it modifies the PTA of the second boundary routing node in the fourth routing information to the PTA of the first boundary routing node, and modifies the MVPN ID of the first boundary routing node in the fourth routing information to the MVPN ID of the root node, thereby obtaining the second routing information.
[0169] S311, Root node generates multicast forwarding table.
[0170] The root node obtains the first source address from the first routing information and generates a local multicast forwarding table. The multicast forwarding table entries include the multicast source group address, the tunnel information of the first border routing node, and the first source address. The tunnel information of the first border routing node belongs to the first border routing node's PTA (Publicly Transfer Address). For example, the tunnel information of the first border routing node includes the subdomain identifier and the forwarding router identifier.
[0171] In this embodiment, the first routing information, the third routing information, and the fifth routing information all include the source address for forwarding multicast packets, and the second routing information, the fourth routing information, and the sixth routing information all include the PTA of the downstream routing node. Each node can generate a multicast forwarding table based on the source address and the tunnel information in the PTA of the downstream routing node, and can forward multicast packets based on the multicast forwarding table.
[0172] The method for forwarding multicast messages is described below. Referring to Figure 4, in an optional embodiment, after step 311, the multicast routing method in this application further includes the following steps:
[0173] S312. The root node receives multicast messages from the multicast source.
[0174] After receiving a multicast message from a multicast source, the root node looks up the multicast forwarding table based on the multicast source group address of the multicast message. When the multicast source group address of the multicast message is the same as the multicast source group address in the multicast forwarding table, the forwarding table entry corresponding to the multicast source group address is determined in the multicast forwarding table. This forwarding table entry includes the tunnel information of the first boundary routing node and the first source address.
[0175] S313. The root node sends a multicast message including the first source address to the first boundary routing node.
[0176] The root node sends a multicast message including the first source address to the first border routing node based on the tunnel information of the first border routing node. Optionally, the tunnel information of the first border routing node includes a subdomain identifier and a forwarding router identifier of the first border routing node. The subdomain identifier is used to identify the BIER domain to which the first border routing node belongs.
[0177] S314. The first border routing node performs the longest match between the first source address and the multicast forwarding table.
[0178] The first boundary routing node extracts the first source address from the multicast message from the root node, and performs a longest match between the first source address and the multicast forwarding table of the first boundary routing node. The forwarding table entry that matches the first source address includes the tunnel information of the second boundary routing node and the third source address.
[0179] S315. The first border routing node sends a multicast message including the third source address to the second border routing node.
[0180] S316, The second border routing node performs the longest match between the third source address and the multicast forwarding table.
[0181] The second boundary routing node extracts the third source address from the multicast packets from the first boundary routing node, and performs a longest match between the third source address and the multicast forwarding table of the second boundary routing node. The forwarding table entries that match the third source address include the tunnel information of the leaf node and the fifth source address.
[0182] S317. The second boundary routing node sends a multicast message including the fifth source address to the leaf node.
[0183] S318, the leaf node performs a longest match between the fifth source address of the multicast message and the multicast forwarding table.
[0184] S319, Leaf nodes send multicast messages to multicast receiving devices.
[0185] The leaf node extracts the fifth source address from the multicast packets from the second boundary routing node. The entry matching the fifth source address in the ILM forwarding table includes the VPN identifier. The leaf node determines the private network multicast entry in the interface table based on the VPN identifier. The private network multicast entry includes the multicast source group address and the private network outgoing interface. Based on this private network multicast entry, multicast packets can be sent to the multicast receiving device.
[0186] In this embodiment, each edge node can forward multicast messages according to its local multicast forwarding table, thereby sending multicast messages to all multicast receiving devices, thus providing a feasible method for forwarding multicast messages.
[0187] To facilitate understanding, the process of sending multicast messages in this application is described below with an example. Referring to Figures 5A and 5B, in one embodiment, the first source address, the third source address, and the fifth source address are all 11::1:0. After receiving the multicast message from the multicast source, PE1 encapsulates the multicast message with the first source address (11::1:0) and then sends the encapsulated multicast message to ABR1 through P1. When ABR1 determines that 11::1:0 has hit the multicast address... When broadcasting the forwarding table, ABR1 sends a multicast message including the third source address (11::1:0) to ABR2 and ABR3. When ABR2 determines that 11::1:0 matches the multicast forwarding table, ABR2 sends a multicast message including the fifth source address (11::1:0) to PE2. When PE2 determines that 11::1:0 matches the ILM forwarding table and finds (S, G1) according to VPN1, it sends the multicast message to the multicast receiving device at (S, G1). Since PE3's interface table does not include (S, G1), it does not find (S, G1) according to VPN1, and therefore will not send a multicast message to the multicast receiving device at (S, G1), as shown in Figure 5A.
[0188] When ABR3 determines that 11::1:0 matches the multicast forwarding table, ABR3 sends a multicast message to PE3. Since PE2's interface table does not include (S,G2), (S,G2) is not found according to VPN1, and therefore, a multicast message will not be sent to the multicast receiving device based on (S,G2). When PE3 determines that 11::1:0 matches the ILM forwarding table and finds (S,G2) according to VPN1, it sends the multicast message to the multicast receiving device with (S,G2), as shown in Figure 5B.
[0189] This application can also assign flow identifiers to different multicast groups, and generate a source address corresponding to the flow based on the flow identifier and the multicast service identifier or prefix segment identifier in the embodiments shown in Figure 3, Figure 4, or Figures 5A and 5B. Multicast packets can be sent on demand based on the source address corresponding to the flow. In another embodiment, the multicast routing method of this application further includes the following steps:
[0190] The root node generates a second source address and generates a forwarding table entry in the local multicast forwarding table that includes the multicast source group address, the tunnel information of the first boundary routing node, and the second source address. When a multicast packet from a multicast source includes the multicast source group address, the root node determines the tunnel information of the first boundary routing node and the second source address in the multicast forwarding table based on the multicast source group address, and sends a multicast packet including the second source address to the first boundary routing node based on the tunnel information of the first boundary routing node.
[0191] When a multicast message from the root node includes a second source address, the first border routing node generates a forwarding table entry in its local multicast forwarding table that includes the second source address, the tunnel information of the second border routing node, and the fourth source address. When a multicast message from the root node includes a second source address, the first border routing node determines the tunnel information of the second border routing node and the fourth source address in the multicast forwarding table based on the second source address, and sends a multicast message including the fourth source address to the second border routing node based on the tunnel information of the second border routing node.
[0192] When a multicast message from the first border routing node includes a fourth source address, the second border routing node generates a forwarding table entry in its local multicast forwarding table that includes the fourth source address, the tunnel information of the leaf node, and the sixth source address. When a multicast message from the first border routing node includes a fourth source address, the second border routing node determines the tunnel information of the leaf node and the sixth source address in its local multicast forwarding table based on the fourth source address, and sends a multicast message including the sixth source address to the leaf node based on the tunnel information of the leaf node.
[0193] In this embodiment, the second source address includes the stream identifier corresponding to the multicast source group address and the first source address; the fourth source address includes the stream identifier and the third source address; and the sixth source address includes the stream identifier and the fifth source address. For example, the first, third, and fifth source addresses are all 11::1:0, each with a length of 96 bits; the stream identifier is 1, with a length of 32 bits; and the second, fourth, and sixth source addresses are all 11::1:1, each with a length of 128 bits. It should be understood that the first, third, and fifth source addresses can take different values, and their values and lengths, as well as the value and length of the stream identifier, can be set according to actual circumstances; this application does not impose any limitations on this.
[0194] Optionally, the root node generates a forwarding table entry in its local multicast forwarding table that includes the multicast source group address, the tunnel information of the first boundary routing node, and the second source address. This involves replacing the first source address in the forwarding table entry with the second source address. Other nodes can generate forwarding table entries in the same manner.
[0195] It should be noted that when a multicast message from the root node includes a second source address, the first border routing node performs a longest-lasting match on the second source address against its multicast forwarding table. If the first source address within the second source address matches the first source address in its local multicast forwarding table, the first border routing node can then send a multicast message including the first source address to the second border routing node. Similarly, when a multicast message from the first border routing node includes a fourth source address, the second border routing node performs a longest-lasting match on the fourth source address against its multicast forwarding table. If the third source address within the fourth source address matches the third source address in its local multicast forwarding table, the second border routing node can then send a multicast message including the third source address to the leaf nodes.
[0196] In this embodiment, the multicast source group address, flow identifier, second source address, fourth source address, and sixth source address correspond one-to-one. Therefore, multicast packets (i.e., multicast traffic data) can be sent on demand based on the above source addresses, reducing the forwarding of invalid multicast packets and saving the bandwidth resources occupied by multicast packets.
[0197] The following section describes source addresses that do not include flow identifiers (such as the first source address, third source address, and fifth source address):
[0198] Referring to Figure 6A, in one embodiment, the source address includes a tunnel node identifier and a tunnel identifier, with the tunnel node identifier located in the BFIR ID field and the tunnel identifier located in the MPLS Label field. In another embodiment, the source address includes a tunnel node identifier, a tunnel identifier, and a flow identifier, with the tunnel node identifier located in the BFIR ID field, the tunnel identifier located in the MPLS Label field, and the flow identifier located in the entropy label field of the BIER header.
[0199] Referring to Figure 6B, in another embodiment, the source address includes a tunnel identifier, which is located in the MPLS Label field. In another embodiment, the source address includes a tunnel identifier, a node identifier, and a flow identifier, where the tunnel identifier is located in the MPLS Label field, the node identifier is located in the IPv4 root IP field, and the flow identifier is located in the MPLS entropy label field.
[0200] In another embodiment, the source address includes a node identifier and a VPN identifier, with the node identifier located in the MSID field and the VPN identifier located in the FUNC ID field. In yet another embodiment, the source address includes a node identifier and a VPN identifier, with the node identifier located in the Prefix SID field and the VPN identifier located in the FUNC ID field.
[0201] The following section describes source addresses that include flow identifiers (such as the second, fourth, and sixth source addresses):
[0202] Referring to Figure 6C, in another embodiment, the source address includes a node identifier, a VPN identifier, and a flow identifier, with the node identifier located in the MSID field, the VPN identifier located in the FUNC ID field, and the flow identifier located in the ARG ID field.
[0203] Referring to Figure 6D, in another embodiment, the source address includes a node identifier, a VPN identifier, and a flow identifier, with the node identifier located in the Prefix SID field, the VPN identifier located in the FUNC ID field, and the flow identifier located in the ARG ID field.
[0204] The node identifier can be, but is not limited to, 64 bits in length, the VPN identifier can be, but is not limited to, 32 bits in length, and the stream identifier can be, but is not limited to, 32 bits in length. It should be noted that the VPN identifier in the ILM forwarding table can be the VPN identifier in the source address, or it can be, but is not limited to, the VPN name.
[0205] Referring to Figure 7, in one embodiment, the second source address, the fourth source address, and the sixth source address on the multicast message forwarding path of (S, G1) are all 11::1:1, and the second source address, the fourth source address, and the sixth source address on the multicast message forwarding path of (S, G2) are all 11::1:2.
[0206] After receiving a multicast message from the multicast source, PE1 encapsulates the multicast message with 11::1:1 for (S, G1) and with 11::1:2 for (S, G2). It then sends the encapsulated multicast message to ABR1 via P1. When ABR1 determines that 11::1:1 matches its multicast forwarding table, it sends a multicast message containing 11::1:1 to ABR2. When ABR2 determines that 11::1:1 matches its multicast forwarding table, it sends a multicast message containing 11::1:1 to PE2. When PE2 determines that 11::1:1 matches its ILM forwarding table, it sends the multicast message to the multicast receiving device at (S, G1). When ABR1 determines that 11::1:2 matches the multicast forwarding table, ABR1 sends a multicast message containing 11::1:2 to ABR3. When ABR3 determines that 11::1:2 matches the multicast forwarding table, ABR3 sends a multicast message containing 11::1:2 to PE3. When PE3 determines that 11::1:2 matches the ILM forwarding table, it sends the multicast message to the multicast receiving device at (S, G2).
[0207] The tunnel type between routing nodes within the same AS can be any one of, but is not limited to, BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel. The tunnel type between routing nodes in different ASs can also be any one of, but is not limited to, BIER tunnel, IR tunnel, RSVP-TE tunnel, MLDP tunnel, PIM tunnel, SRv6 tunnel, SR-MPLS tunnel, or SD-WAN tunnel. The multicast route transmission method of this application is described below in conjunction with tunnel types:
[0208] 1. The tunnel type between routing nodes in the same AS is BIER tunnel, and the tunnel type between routing nodes in different AS is BIER tunnel.
[0209] Before transmitting routing information, tunnel-related protocols must be configured. When configuring BGP on routing nodes, the following functions must be activated: Function a. Enable the MVPN address family in the BGP configuration for transmitting MVPN signaling. Function b. Enable the VPN4 / VPN6 address family or configure the unicast address family. The VPN4 / VPN6 address family is used to establish routing, while the unicast address family is used to forward information on the public network. Function c. Configure reflectors and routing policies on border routing nodes.
[0210] In one example, the BGP information configured for the PE and ABR is shown below:
[0211] BGP information is used to establish BGP neighbors. Peer XXXX route-policy test_20export indicates that the ABR applies a routing policy.
[0212] In one example, the VPN and tunnel configurations for the root and leaf nodes are shown in Table 1:
[0213] Table 1
[0214] In one example, PE1 is configured with SRv6 network segment routing as shown below:
[0215] segment-routing IPv6
[0216] encapsulation source-address 2001:DB8:10::1
[0217] locator PE1 ipv6-prefix 11::0 64 static 32#
[0218] The routing node and VPN configuration information are shown in Table 2:
[0219] Table 2 shows the policies and MVPN IDs configured for the border routing nodes in one example, as shown in Table 3.
[0220] Table 3
[0221] The routing policy is configured only on the ABR and is used for cross-domain splicing tunnels.
[0222] In one example, the routing strategy is shown in Table 4:
[0223] Table 4
[0224] Configuring different routing policies on border routing nodes allows for various tunnel splicing methods. It should be understood that the tunnel types and splicing relationships described above are illustrative examples; specific configurations can be made according to actual circumstances, and this application does not limit the scope of these configurations.
[0225] This application may include the tunnel types shown in Table 5:
[0226] Table 5
[0227] The tunnel type numbers in Table 5 are illustrative examples. The tunnel type numbers can be set according to the actual situation, and this application does not impose any restrictions.
[0228] In one example, the BIER configuration information for the border routing node is shown in Table 6:
[0229] Table 6
[0230] The table above shows an example of BIERv6 splicing BIERv6 tunnel configuration. The BSL configuration is the same for all devices in different autonomous systems.
[0231] The following describes the first route information and the route information to the sixth route. The first route information is shown in Table 7:
[0232] Table 7
[0233] The third routing information sent by ABR1 to ABR2 is shown in Table 8:
[0234] Table 8
[0235] The third routing information sent by ABR1 to ABR3 is shown in Table 9:
[0236] Table 9
[0237] The reason why ABR1 sends different routes to ABR2 and ABR3 is that ABR1 is configured with different routing policies. After receiving the third-party routing information, ABR2 uses a BGP filtering policy to replace ABR2's PTA in the third-party routing information with ABR1's PTA, and then continues to send it to the PE2 node. After receiving the third-party routing information, ABR3 uses a BGP filtering policy to replace ABR3's PTA in the third-party routing information with ABR1's PTA, and then continues to send it to the PE3 node.
[0238] The sixth routing information sent by PE2 is shown in Table 10:
[0239] Table 10
[0240] The fourth routing information sent by ABR2 is shown in Table 11:
[0241] Table 11
[0242] The second routing information sent by ABR1 is shown in Table 12:
[0243] Table 12
[0244] Based on the first to sixth routing information and the multicast join message, the multicast forwarding tables shown in Tables 13 to 18 can be generated:
[0245] In Table 12, 11::1:0 is the first source address.
[0246] Table 13
[0247] Table 14
[0248] In Table 14, 11::1:0 is the third source address.
[0249] Table 15
[0250] In Table 15, 11::1:0 / 96 is the third source address, and 11::1:0 is the fifth source address.
[0251] Table 16
[0252] In Table 16, 11::1:0 / 96 and 11::1:0 are both fifth source addresses.
[0253] Table 17
[0254] Table 18
[0255] It should be understood that the above-mentioned spliced tunnel destination information is recorded as tunnel destination information, and the above-mentioned splicing table entry is the first source address.
[0256] After generating a multicast forwarding table, each routing node can forward multicast packets based on the table. When the multicast packet sent by the multicast source includes (1.1.1.1, 225.0.0.1), each routing node performs the following steps:
[0257] PE1 node looks up the table, encapsulates the source IP of the packet as 11::1:0, and the BIER header information as sub-domain 10, bfr-id 2. It then looks up the BIER forwarding table and forwards the multicast packet to ABR1 node based on the lookup result. Upon receiving the multicast packet, ABR1 node resolves the first source address to 11::1:0 and looks up the table using 11::1:0, finding two forwarding records. It then re-encapsulates the packet using the third source address, encapsulating the BIER header information as sub-domain 20bfr-id 5 and sub-domain 40bfr-id 7 respectively. It continues to look up the BIER forwarding table and forwards the packet to ABR2 and ABR3 respectively. Upon receiving the multicast packet, ABR2 resolves the third source address to 11::1:0 and looks up the table using 11::1:0, finding one forwarding record. It then re-encapsulates the packet using the fifth source address, encapsulating the BIER header information as sub-domain 30bfr-id. 9. Continue to check the BIER forwarding table and forward the packets to the PE2 node respectively; the ABR3 processing procedure is similar to ABR2.
[0258] When PE2 receives a multicast packet, it parses the fifth source address as 11::1:0. After matching the ILM forwarding table entry with 11::1:0, it looks up the private network multicast table entry (1.1.1.1, 225.0.0.1) using VPN1, so PE2 forwards this traffic. When PE3 receives a multicast packet, it parses the fifth source address as 11::1:0. After matching the ILM forwarding table entry with 11::1:0, it looks up the private network multicast table entry (1.1.1.1, 225.0.0.1) using VPN1, but it is empty and cannot match (1.1.1.1, 225.0.0.1), so PE3 discards this multicast packet. If PE1 sends a multicast packet with (1.1.1.1, 226.0.0.1), PE3 receives it normally, and PE2 discards the multicast packet.
[0259] The PE1 node can modify the multicast message sending mode to the exact sending mode. The PE1 node assigns a flow identifier of 1 to SG (1.1.1.1, 225.0.0.1) and generates a second source address, for example, 11::1:1 / 128.
[0260] The multicast forwarding table for PE1 node is shown in Table 19:
[0261] Table 19
[0262] In Table 19, 11::1:1 is the second source address corresponding to (1.1.1.1, 225.0.0.1), and 11::1:0 is the first source address corresponding to (1.1.1.1, 226.0.0.1).
[0263] After ABR1 receives a multicast message containing (1.1.1.1, 225.0.0.1), it parses the multicast message. The second source address is 11::1:1. However, using 11::1:1 to look up the multicast forwarding table cannot find a precise match. After ABR1's protocol plane processes the events containing (1.1.1.1, 225.0.0.1) and 11::1:1, it updates its local multicast forwarding table based on the processing result. The updated multicast forwarding table is shown in Table 20.
[0264] Table 20
[0265] In Table 20, 11::1:1 is the fourth source address, 11::1:0 is the third source address, 11::1:1 / 128 is the second source address, and 11::1:0 / 96 is the first source address.
[0266] Before updating the multicast forwarding table, the longest match method can find 11::1:0, so a multicast message including 11::1:0 is sent to ABR2. After updating the multicast forwarding table, a multicast message including 11::1:1 is sent to ABR2 according to (sub-domain 20bfr-id 5).
[0267] After ABR2 receives a multicast message containing 11::1:1, it cannot accurately match the multicast forwarding table by using the 11::1:1 carried in the multicast message. Therefore, ABR2's protocol plane processes events including (1.1.1.1, 225.0.0.1) and 11::1:1, and updates its local multicast forwarding table based on the processing result. The updated multicast forwarding table is shown in Table 21.
[0268] Table 21
[0269] In Table 21, 11::1:1 is the sixth source address, 11::1:0 is the fifth source address, 11::1:1 / 128 is the fourth source address, and 11::1:0 / 96 is the third source address.
[0270] Before updating the multicast forwarding table, the longest match method can find 11::1:0, so a multicast packet including 11::1:0 is sent to ABR2. After updating the multicast forwarding table, a multicast packet including 11::1:1 is sent to PE2 according to (sub-domain 30bfr-id 9).
[0271] After receiving a multicast message containing 11::1:1, PE2 uses the 11::1:1 carried in the multicast message to check the multicast forwarding table, but cannot find an exact match. PE2's protocol plane then processes events including (1.1.1.1, 225.0.0.1) and 11::1:1, and updates its local ILM forwarding table based on the processing result. The updated ILM forwarding table is shown in Table 22.
[0272] Table 22
[0273] Before updating the multicast forwarding table, the longest match method can match 11::1:0, and multicast packets are sent to the multicast receiving device of VPN1. After updating the ILM forwarding table, the longest match method can match 11::1:1, and multicast packets are sent to the multicast receiving device of VPN1 according to VPN1.
[0274] 2. The tunnel type between routing nodes in the same AS is BIER tunnel, and the tunnel type between routing nodes in different AS is IR MPLS tunnel.
[0275] In another embodiment, ABR1 to ABR3 are configured with a routing policy for splicing BIERv6 tunnels into IR MPLS tunnels, as detailed in the IR policy section above. The configuration of each routing node is similar to that in the previous embodiment.
[0276] The BIER information configured for each routing node is shown in Table 23:
[0277] Table 23
[0278] From the first route information to the sixth route information, the first route information and the sixth route information remain unchanged. The second route information to the fifth route information are as follows:
[0279] The third-party routing information sent by ABR1 is shown in Table 24:
[0280] Table 24
[0281] The fifth routing information sent by ABR2 and ABR3 can be found in the previous embodiment.
[0282] The fourth routing information sent by ABR2 is shown in Table 25:
[0283] Table 25
[0284] The fourth routing information sent by ABR3 is shown in Table 26:
[0285] Table 26
[0286] ABR2 and ABR3, as leaf nodes of the IR tunnel, are assigned tunnel labels (mpls label), which may be the same or different. The second routing information sent by ABR1 can be found in the corresponding description in the previous embodiment, as shown in Table 12.
[0287] Each routing node can generate a multicast forwarding table based on the first to sixth routing information and the multicast join message. The multicast forwarding tables for PE1 to PE3 are similar to those in the previous embodiment. The multicast forwarding tables for ABR1 to ABR3 are shown in Tables 27 and 28.
[0288] Table 27
[0289] Table 28
[0290] After each routing node generates a multicast forwarding table, it can forward multicast packets based on the multicast forwarding table. The method of forwarding multicast packets is similar to that in the previous embodiment, and will not be described again here.
[0291] 3. The tunnel type between routing nodes in the same AS is BIER tunnel, and the tunnel type between routing nodes in different AS is IR IPv6 tunnel.
[0292] In another embodiment, ABR1 to ABR3 are configured with routing policies for splicing BIERv6 tunnels to IR IPv6 tunnels; details can be found in the routing policies section above. The BIERv6 configuration of each routing node is similar to that in the previous embodiment.
[0293] Compared with the previous embodiment, the first and sixth routing information remain unchanged in the first to sixth routing information, while the fourth and second routing information are as follows:
[0294] The third-party routing information sent by ABR1 is shown in Table 29:
[0295] Table 29
[0296] The fifth routing information sent by ABR2 and ABR3 can be found in the previous embodiment.
[0297] The fourth routing information sent by ABR2 is shown in Table 30:
[0298] Table 30
[0299] The fourth routing information sent by ABR3 is shown in Table 31:
[0300] Table 31
[0301] ABR2 and ABR3 serve as leaf nodes of the IR tunnel, and are assigned IRv6 labels. These IP addresses may be the same or different. For example, in this embodiment, ABR2 and ABR3 have different IPv6 addresses: 50::50 and 60::60.
[0302] Each routing node can generate a forwarding table based on the first to fourth routing information and the multicast join message. The multicast forwarding tables for PE1 to PE3 are similar to those in the previous embodiment. The multicast forwarding tables for ABR1 to ABR3 are shown in Tables 32 and 33.
[0303] Table 32
[0304] Table 33
[0305] After each routing node generates a multicast forwarding table, it can forward multicast packets based on the multicast forwarding table. The method of forwarding multicast packets is similar to that in the previous embodiment, and will not be repeated here. The border routing node in the above embodiment is an ABR, but the border routing node can also be an ASBR.
[0306] The above describes a multicast routing method for two autonomous systems. This method can also be applied to networks comprising three or more autonomous systems. For two adjacent autonomous systems, the steps performed by the boundary routing node of the preceding autonomous system are similar to those performed by the first boundary routing node, and the steps performed by the boundary routing node of the following autonomous system are similar to those performed by the second boundary routing node; these will not be elaborated further here.
[0307] The hardware device of this application will be described below. Referring to FIG8, in one embodiment, this application provides a routing node 800, which includes a processing module 801 and a communication module 802.
[0308] In an optional embodiment, the routing node 800 is used as the root node, and the communication module 802 is used to send first routing information to the first boundary routing node and receive second routing information from the first boundary routing node.
[0309] In another optional embodiment, the processing module 801 is configured to determine the first source address based on the first routing information, generate a multicast forwarding table including the multicast source group address, the tunnel information of the first boundary routing node, and the first source address, and when the multicast message from the multicast source includes the multicast source group address, the communication module 802 is further configured to determine the tunnel information of the first boundary routing node and the first source address in the multicast forwarding table based on the multicast source group address, and send a multicast message including the first source address to the first boundary routing node based on the tunnel information of the first boundary routing node.
[0310] In another alternative embodiment, the PTA of the root node in the first routing information includes a first tunnel identifier, which is used to identify the tunnel between the root node and the first boundary routing node. The processing module 801 is specifically used to determine the first tunnel identifier in the PTA of the root node with the first source address as the first tunnel identifier.
[0311] In another alternative embodiment, the PTA of the root node in the first routing information includes a first tunnel identifier and a tunnel node identifier of the root node, and the processing module 801 is specifically used to determine that the first source address includes the first tunnel identifier and the tunnel node identifier of the root node.
[0312] In another optional embodiment, when the first routing information further includes a multicast service identifier, the processing module 801 is specifically used to determine that the first source address is the multicast service identifier in the first routing information; when the first routing information further includes a prefix segment identifier, the processing module 801 is specifically used to determine that the first source address is the prefix segment identifier in the first routing information.
[0313] In another optional embodiment, the processing module 801 is further configured to generate a second source address, which includes the flow identifier corresponding to the multicast source group address and the first source address; generate a forwarding table entry in the multicast forwarding table that includes the multicast source group address, the tunnel information of the first boundary routing node, and the second source address; when the multicast packet from the multicast source includes the multicast source group address, the communication module 802 is further configured to determine the tunnel information of the first boundary routing node and the second source address in the multicast forwarding table according to the multicast source group address; and send a multicast packet including the second source address to the first boundary routing node according to the tunnel information of the first boundary routing node.
[0314] In another embodiment, routing node 800 is used as a first boundary routing node, communication module 802 is used to receive first routing information from the root node, processing module 801 is used to modify the first routing information into third routing information according to the routing policy, communication module 802 is also used to send the third routing information to the second boundary routing node and receive fourth routing information from the second boundary routing node, processing module 801 is used to modify the fourth routing information into second routing information according to the routing policy, and communication module 802 is also used to send the second routing information to the root node.
[0315] In another optional embodiment, the processing module 801 is used to determine the first source address based on the first routing information and the third source address based on the third routing information, and generate a multicast forwarding table including the first source address, the tunnel information of the second boundary routing node, and the third source address. When the multicast message from the root node includes the first source address, the communication module 802 is further used to determine the tunnel information of the second boundary routing node and the third source address in the multicast forwarding table based on the first source address; and send a multicast message including the third source address to the second boundary routing node based on the tunnel information of the second boundary routing node.
[0316] In another alternative embodiment, the PTA of the first boundary routing node in the third routing information includes a second tunnel identifier, and the processing module 801 is further configured to determine the third source address as the second tunnel identifier.
[0317] In another alternative embodiment, the PTA of the first boundary routing node in the third routing information includes the second tunnel identifier and the tunnel node identifier of the first boundary routing node. The processing module 801 is also used to determine that the third source address includes the second tunnel identifier and the tunnel node identifier of the first boundary routing node.
[0318] In another optional embodiment, when the third routing information also includes a multicast service identifier, the processing module 801 is further configured to determine that the third source address is a multicast service identifier; when the third routing information also includes a prefix segment identifier, the processing module 801 is further configured to determine that the third source address is a prefix segment identifier.
[0319] In another optional embodiment, when the multicast message from the root node includes a second source address, the processing module 801 is further configured to generate a forwarding table entry in the multicast forwarding table that includes the second source address, the tunnel information of the second boundary routing node, and the fourth source address; when the multicast message from the root node includes a second source address, the communication module 802 is further configured to determine the tunnel information of the second boundary routing node and the fourth source address in the multicast forwarding table based on the second source address; and send a multicast message including the fourth source address to the second boundary routing node based on the tunnel information of the second boundary routing node.
[0320] Optionally, both the first and third routing information are UMH routing information. Optionally, both the first and third routing information are wildcard routing information. Optionally, both the second and fourth routing information are C multicast routing information.
[0321] In another embodiment, routing node 800 serves as a second boundary routing node. Communication module 802 is used to receive third routing information from the first boundary routing node. Processing module 801 is used to modify the third routing information into fifth routing information according to the routing policy. Communication module 802 is also used to send the fifth routing information to the leaf node and receive sixth routing information from the leaf node. Processing module 801 is also used to modify the sixth routing information into fourth routing information according to the routing policy. Communication module 802 is also used to send the fourth routing information to the first boundary routing node.
[0322] In an optional embodiment, the processing module 801 is further configured to determine the third source address based on the third routing information and the fifth source address based on the fifth routing information, and generate a multicast forwarding table entry including the third source address, the tunnel information of the leaf node, and the fifth source address. When the multicast message from the first boundary routing node includes the third source address, the communication module 802 is further configured to determine the tunnel information of the leaf node and the fifth source address in the multicast forwarding table based on the third source address; and send a multicast message including the fifth source address to the leaf node based on the tunnel information of the leaf node.
[0323] In another alternative embodiment, the PTA of the second boundary routing node in the fifth routing information includes a third tunnel identifier, and the processing module 801 is specifically used to determine that the fifth source address is the third tunnel identifier.
[0324] In another alternative embodiment, the PTA of the second boundary routing node in the fifth routing information includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node. The processing module 801 is specifically used to determine that the fifth source address includes the third tunnel identifier and the tunnel node identifier of the second boundary routing node.
[0325] In another optional embodiment, when the fifth routing information also includes a multicast service identifier, the processing module 801 is specifically used to determine that the fifth source address is a multicast service identifier; when the fifth routing information also includes a prefix segment identifier, the processing module 801 is specifically used to determine that the fifth source address is a prefix segment identifier.
[0326] In another optional embodiment, when the multicast message from the first boundary routing node includes a fourth source address, the processing module 801 is further configured to generate a forwarding table entry in the multicast forwarding table that includes the fourth source address, the tunnel information of the leaf node, and the sixth source address. When the multicast message from the first boundary routing node includes a fourth source address, the communication module 802 is further configured to determine the tunnel information of the leaf node and the sixth source address in the multicast forwarding table based on the fourth source address, and send a multicast message including the sixth source address to the leaf node based on the tunnel information of the leaf node.
[0327] Optionally, the third and fifth routing information are both UMH routing information. Optionally, the third and fifth routing information are both wildcard routing information. Optionally, the sixth and fourth routing information are both C-multicast routing information.
[0328] This application also provides a routing device 900. As shown in FIG9, the routing device 900 includes a bus 902, a processor 904, a memory 906, and a communication interface 908. The processor 904, the memory 906, and the communication interface 908 communicate with each other via the bus 902. It should be understood that this application does not limit the number of processors and memory in the routing device 900.
[0329] Bus 902 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 9, but this does not imply that there is only one bus or one type of bus. Bus 904 can include pathways for transmitting information between various components of routing device 900 (e.g., memory 906, processor 904, communication interface 908).
[0330] Processor 904 may include any one or more processors such as a central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP), or digital signal processor (DSP). The processor includes multiple processing cores.
[0331] The memory 906 may include volatile memory, such as random access memory (RAM). The memory 906 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD). In some embodiments, the memory 906 stores executable program code, which the processor 904 executes to implement the functions of the aforementioned processing module 801 and communication module 802, thereby implementing the multicast routing method described above.
[0332] The communication interface 908 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the routing device 900 and other devices or communication networks.
[0333] This application also provides a computer program product containing instructions. The computer program product may be software or program products containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to execute the multicast routing method of this application.
[0334] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the multicast routing method of this application.
[0335] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0336] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.
Claims
A multicast routing method, characterized in that, The network to which the method is applied includes multiple autonomous systems, and the method includes: The root node sends first routing information to the first border routing node. The first routing information includes the multicast provider service interface tunnel attribute (PTA) of the root node and the multicast virtual private network identifier of the root node. The root node and the first border routing node belong to the same autonomous system. The first border routing node is configured with a routing policy, which is used to convert the first routing information into routing information to be forwarded between different autonomous systems. The root node receives second routing information from the first border routing node. The second routing information includes network layer reachability information, the PTA of the first border routing node, and the multicast virtual private network identifier of the root node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The second routing information is used for multicast joining. The method according to claim 1, characterized in that, The method further includes: The root node determines the first source address based on the first routing information; The root node generates a multicast forwarding table, and the forwarding table entries of the multicast forwarding table include the multicast source group address, the tunnel information of the first border routing node, and the first source address. The tunnel information of the first border routing node belongs to the PTA of the first border routing node. When a multicast message from the multicast source includes the multicast source group address, the root node determines the tunnel information and the first source address of the first boundary routing node in the multicast forwarding table based on the multicast source group address. The root node sends a multicast message including the first source address to the first border routing node based on the tunnel information of the first border routing node. The method according to claim 2, characterized in that, The PTA of the root node in the first routing information includes a first tunnel identifier, which identifies the tunnel between the root node and the first boundary routing node. The root node determines the first source address based on the first routing information by: The root node determines that the first source address is the first tunnel identifier in the PTA of the root node. The method according to claim 2, characterized in that, In the first routing information, the PTA of the root node includes a first tunnel identifier and a tunnel node identifier of the root node. The root node determines the first source address based on the first routing information by: The root node determines the first source address by including the first tunnel identifier and the tunnel node identifier of the root node. The method according to claim 2, characterized in that, The root node determines the first source address based on the first routing information, including: When the first routing information also includes a multicast service identifier, the root node determines that the first source address is the multicast service identifier; When the first routing information also includes a prefix segment identifier, the root node determines that the first source address is the prefix segment identifier. The method according to claim 5, characterized in that, The method further includes: The root node generates a second source address, which includes the stream identifier corresponding to the multicast source group address and the first source address. The root node generates a forwarding table entry in the multicast forwarding table that includes the multicast source group address, the tunnel information of the first border routing node, and the second source address; When a multicast message from the multicast source includes the multicast source group address, the root node determines the tunnel information of the first boundary routing node and the second source address in the multicast forwarding table based on the multicast source group address. The root node sends a multicast message including the second source address to the first border routing node based on the tunnel information of the first border routing node. A multicast routing method, characterized in that, The network to which the method is applied includes multiple autonomous systems, and the method includes: The first boundary routing node receives first routing information from the root node, the first routing information including the multicast provider service interface tunnel attribute (PTA) of the root node and the multicast virtual private network identifier of the root node; The first border routing node modifies the first routing information into third routing information according to the routing policy. The PTA of the first border routing node in the third routing information is obtained by replacing the PTA of the root node in the first routing information. The multicast virtual private network identifier of the first border routing node in the third routing information is obtained by replacing the multicast virtual private network identifier of the root node in the first routing information. The first border routing node sends the third routing information to the second border routing node, wherein the first border routing node and the second border routing node belong to different autonomous systems; The first border routing node receives fourth routing information from the second border routing node. The fourth routing information includes network layer reachability information, the PTA of the second border routing node, and the multicast virtual private network identifier of the first border routing node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The fourth routing information is used for multicast joining. The first border routing node modifies the fourth routing information into the second routing information according to the routing policy. The PTA of the first border routing node in the second routing information is obtained by replacing the PTA of the second border routing node in the fourth routing information. The multicast virtual private network identifier of the root node in the second routing information is obtained by replacing the multicast virtual private network identifier of the first border routing node in the fourth routing information. The first boundary routing node sends the second routing information to the root node. The method according to claim 7, characterized in that, The method further includes: The first border routing node determines the first source address based on the first routing information; The first border routing node determines the third source address based on the third routing information; The first border routing node generates a multicast forwarding table, the forwarding table entries of which include the first source address, the tunnel information of the second border routing node, and the third source address, wherein the tunnel information of the second border routing node belongs to the PTA of the second border routing node; When a multicast message from the root node includes the first source address, the first border routing node determines the tunnel information of the second border routing node and the third source address in the multicast forwarding table based on the first source address; The first border routing node sends a multicast message including the third source address to the second border routing node based on the tunnel information of the second border routing node. The method according to claim 8, characterized in that, In the third routing information, the PTA of the first border routing node includes a second tunnel identifier, which is used to identify the tunnel between the first border routing node and the second border routing node; The first border routing node determines the third source address based on the third routing information, including: the first border routing node determines the third source address as the second tunnel identifier. The method according to claim 8, characterized in that, In the third routing information, the PTA of the first border routing node includes a second tunnel identifier and a tunnel node identifier of the first border routing node. The second tunnel identifier is used to identify the tunnel between the first border routing node and the second border routing node. The first border routing node determines the third source address based on the third routing information, including: the first border routing node determines the third source address by including the second tunnel identifier and the tunnel node identifier of the first border routing node. The method according to claim 8, characterized in that, The first border routing node determines the third source address based on the third routing information, including: When the third routing information also includes a multicast service identifier, the first border routing node determines the third source address as the multicast service identifier. When the third routing information also includes a prefix segment identifier, the first border routing node determines the third source address as the prefix segment identifier. The method according to claim 11, characterized in that, The method further includes: When a multicast packet from the root node includes a second source address, the first border routing node generates a forwarding table entry in the multicast forwarding table that includes the second source address, the tunnel information of the second border routing node, and a fourth source address. The second source address includes a flow identifier and the first source address, and the fourth source address includes the flow identifier and the third source address. When a multicast message from the root node includes a second source address, the first border routing node determines the tunnel information and the fourth source address of the second border routing node in the multicast forwarding table based on the second source address; The first border routing node sends a multicast message including a fourth source address to the second border routing node based on the tunnel information of the second border routing node. The method according to any one of claims 7 to 12, characterized in that, Both the first routing information and the third routing information are upstream multicast node UMH routing information, or both the first routing information and the third routing information are wildcard routing information. The method according to any one of claims 7 to 13, characterized in that, The second routing information and the fourth routing information are C-multicast routing information. A multicast routing method, characterized in that, The network to which the method is applied includes multiple autonomous systems, and the method includes: The second border routing node receives third routing information sent by the first border routing node. The third routing information includes the multicast provider service interface tunnel attribute (PTA) of the first border routing node and the multicast virtual private network identifier of the first border routing node. The second border routing node and the first border routing node belong to different autonomous systems. The second border routing node modifies the third routing information into the fifth routing information according to the routing policy. The PTA of the second border routing node in the fifth routing information is obtained by replacing the PTA of the first border routing node in the third routing information. The multicast virtual private network identifier of the second border routing node in the fifth routing information is obtained by replacing the multicast virtual private network identifier of the first border routing node in the third routing information. The second boundary routing node sends the fifth routing information to the leaf node, and the leaf node and the second boundary routing node belong to the same autonomous system; The second border routing node receives sixth routing information from the leaf node. The sixth routing information includes network layer reachability information, the PTA of the leaf node, and the multicast virtual private network identifier of the second border routing node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The sixth routing information is used for multicast joining. The second border routing node modifies the sixth routing information into the fourth routing information according to the routing policy. The PTA of the second border routing node in the fourth routing information is obtained by replacing the PTA of the leaf node in the sixth routing information. The multicast virtual private network identifier of the first border routing node in the fourth routing information is obtained by replacing the multicast virtual private network identifier of the second border routing node in the sixth routing information. The second border routing node sends the fourth routing information to the first border routing node. The method according to claim 15, characterized in that, The method further includes: The second boundary routing node determines the third source address based on the third routing information; The second boundary routing node determines the fifth source address based on the fifth routing information; The second boundary routing node generates a multicast forwarding table, the multicast forwarding table entries of which include the third source address, the tunnel information of the leaf node and the fifth source address, and the tunnel information of the leaf node belongs to the PTA of the leaf node; When a multicast packet from the first border routing node includes a third source address, the second border routing node determines the tunnel information of the leaf node and the fifth source address in the multicast forwarding table based on the third source address. The second boundary routing node sends a multicast message including the fifth source address to the leaf node based on the tunnel information of the leaf node. The method according to claim 16, characterized in that, In the fifth routing information, the PTA of the second boundary routing node includes a third tunnel identifier, which is used to identify the tunnel between the second boundary routing node and the leaf node; The second border routing node determines the fifth source address based on the fifth routing information, including: the second border routing node determines the fifth source address as the third tunnel identifier. The method according to claim 16, characterized in that, In the fifth routing information, the PTA of the second border routing node includes the third tunnel identifier and the tunnel node identifier of the second border routing node. The second border routing node determines the fifth source address based on the fifth routing information, including: The second border routing node determines that the fifth source address includes the third tunnel identifier and the tunnel node identifier of the second border routing node. The method according to claim 16, characterized in that, The second border routing node determines the fifth source address based on the fifth routing information, including: When the fifth routing information also includes a multicast service identifier, the second border routing node determines the fifth source address as the multicast service identifier. When the fifth routing information also includes a prefix segment identifier, the second border routing node determines the fifth source address as the prefix segment identifier. The method according to claim 19, characterized in that, The method further includes: When a multicast packet from the first border routing node includes a fourth source address, the second border routing node generates a forwarding table entry in the multicast forwarding table that includes the fourth source address, the tunnel information of the leaf node, and a sixth source address. The fourth source address includes the flow identifier and the third source address, and the sixth source address includes the flow identifier and the fifth source address. When a multicast packet from the first border routing node includes a fourth source address, the second border routing node determines the tunnel information and the sixth source address of the leaf node in the multicast forwarding table based on the fourth source address. The second boundary routing node sends a multicast message including the sixth source address to the leaf node based on the tunnel information of the leaf node. The method according to any one of claims 15 to 20, characterized in that, The third routing information and the fifth routing information are both upstream multicast node UMH routing information, or the third routing information and the fifth routing information are both wildcard routing information. The method according to any one of claims 15 to 21 is characterized in that, The sixth routing information and the fourth routing information are C-multicast routing information. A routing node, characterized in that, The routing device is used as a root node, and the routing node includes: The communication module is used to send first routing information to the first border routing node. The first routing information includes the multicast provider service interface tunnel attribute (PTA) of the root node and the multicast virtual private network identifier of the root node. The root node and the first border routing node belong to the same autonomous system. The first border routing node is configured with a routing policy. The routing policy is used to convert the first routing information into routing information that is forwarded between different autonomous systems. The communication module is further configured to receive second routing information from the first boundary routing node. The second routing information includes network layer reachability information, the PTA of the root node, and the multicast virtual private network identifier of the root node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The second routing information is used for multicast joining. A routing node, characterized in that, The routing device is used as a first boundary routing node, and the routing node includes: The communication module is used to receive first routing information from the root node, the first routing information including the multicast provider service interface tunnel attribute (PTA) of the root node and the multicast virtual private network identifier of the root node; The processing module is used to modify the first routing information into third routing information according to the routing policy. The PTA of the first border routing node in the third routing information is obtained by replacing the PTA of the root node in the first routing information. The multicast virtual private network identifier of the first border routing node in the third routing information is obtained by replacing the multicast virtual private network identifier of the root node in the first routing information. The first border routing node and the second border routing node belong to different autonomous systems. The communication module is also used to send the third routing information to the second boundary routing node; The communication module is further configured to receive fourth routing information from the second border routing node. The fourth routing information includes network layer reachability information, the PTA of the second border routing node, and the multicast virtual private network identifier of the first border routing node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The fourth routing information is used for multicast joining. The processing module is further configured to modify the fourth routing information into the second routing information according to the routing policy, wherein the PTA of the first border routing node in the second routing information is obtained by replacing the PTA of the second border routing node in the fourth routing information, and the multicast virtual private network identifier of the root node in the second routing information is obtained by replacing the multicast virtual private network identifier of the first border routing node in the fourth routing information. The communication module is also used to send second routing information to the root node. A routing node, characterized in that, The routing node is used as a second boundary routing node, and the routing node includes: The communication module is used to receive third routing information from the first border routing node. The third routing information includes the multicast provider service interface tunnel attribute (PTA) of the first border routing node and the multicast virtual private network identifier of the first border routing node. The second border routing node and the first border routing node belong to different autonomous systems. The processing module is used to modify the third routing information into the fifth routing information according to the routing policy. The PTA of the second border routing node in the fifth routing information is obtained by replacing the PTA of the first border routing node in the third routing information. The multicast virtual private network identifier of the second border routing node in the fifth routing information is obtained by replacing the multicast virtual private network identifier of the first border routing node in the third routing information. The communication module is also used to send the fifth routing information to the leaf node, wherein the leaf node and the second boundary routing node belong to the same autonomous system; The communication module is also used to receive sixth routing information from the leaf node. The sixth routing information includes network layer reachability information, the PTA of the leaf node, and the multicast virtual private network identifier of the second boundary routing node. The network layer reachability information includes the multicast source group address and the IP address of the leaf node. The sixth routing information is used for multicast joining. The processing module is further configured to modify the sixth routing information into the fourth routing information according to the routing policy, wherein the PTA of the second boundary routing node in the fourth routing information is obtained by replacing the PTA of the leaf node in the sixth routing information, and the multicast virtual private network identifier of the first boundary routing node in the fourth routing information is obtained by replacing the multicast virtual private network identifier of the second boundary routing node in the sixth routing information. The communication module is also used to send the fourth routing information to the first boundary routing node. A routing device, characterized in that, It includes a processor and a memory, the memory storing computer-readable instructions, the processor executing the computer-readable instructions to cause the routing device to perform the method as described in any one of claims 1 to 22. A computer-readable storage medium, characterized in that, Includes computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 22. A computer program product, characterized in that, Includes computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 22.
Citation Information
Patent Citations
Multicast cross-domain method, device and system and computer readable storage medium
CN109150730A
Message processing method and network equipment
CN115695293A
Multicast flow message forwarding method and system, computer equipment and readable medium
CN117834591A
Service-based transport classes for mapping services to tunnels
US20210273827A1