WO2024255629A1 - Procédé de communication en multidiffusion et appareil associé - Google Patents

Procédé de communication en multidiffusion et appareil associé Download PDF

Info

Publication number
WO2024255629A1
WO2024255629A1 PCT/CN2024/096987 CN2024096987W WO2024255629A1 WO 2024255629 A1 WO2024255629 A1 WO 2024255629A1 CN 2024096987 W CN2024096987 W CN 2024096987W WO 2024255629 A1 WO2024255629 A1 WO 2024255629A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
communication device
node
information
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2024/096987
Other languages
English (en)
Chinese (zh)
Inventor
李凤凯
孟锐
张君逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2024255629A1 publication Critical patent/WO2024255629A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Definitions

  • the present application relates to the field of communication technology, and in particular to a multicast communication method and related devices.
  • Multicast technology provides a point-to-multiple point (P2MP) data communication method, which realizes an efficient data transmission method in which one source end (or source node) sends and multiple destination ends (or destination nodes) receive in the network.
  • Multicast technology can save a lot of network bandwidth and reduce network load.
  • Multicast technology includes two key technologies: first, multicast member management protocol technology; second, multicast routing protocol technology.
  • the multicast member management protocol is a protocol that acts between the multicast host and the communication device connected to the multicast host, and is used to construct member information in the multicast group and network information of the members in the multicast group.
  • the multicast routing protocol is a protocol that acts between the communication devices in the multicast group, and is used to construct a multicast distribution tree (MDT) based on the relationship information of the members in the multicast group.
  • MDT multicast distribution tree
  • the multicast routing protocol establishes a multicast routing state in the communication device, and the communication device forwards multicast data packets according to the multicast routing state.
  • Typical multicast routing protocols include: Protocol Independent Multicast Dense Mode (PIM-DM) and Protocol Independent Multicast Sparse Mode (PIM-SM), which are respectively applied to scenarios where multicast members are densely distributed or sparsely distributed.
  • PIM-DM Protocol Independent Multicast Dense Mode
  • PIM-SM Protocol Independent Multicast Sparse Mode
  • the communication device located in the MDT will construct a multicast group forwarding table entry. Therefore, the communication device forwards the received multicast data message based on the multicast group forwarding table entry.
  • the construction process of the multicast distribution tree MDT is usually as follows: the multicast destination node sends an Internet Group Management Protocol (IGMP) join message to the communication device (the communication device is regarded as the designated router (DR) device of the multicast destination node), and informs the communication device through the IGMP join message that the multicast destination node wants to join a multicast group.
  • the communication device will send a Protocol Independent Multicast (PIM) protocol join message to other upstream communication devices, and inform the upstream communication device through the PIN join message that the multicast destination node wants to join a multicast group.
  • PIM Protocol Independent Multicast
  • the hop-by-hop communication device performs a similar processing flow to complete the construction of the multicast MDT.
  • the current multicast routing protocol requires a large number of message interactions in the process of building MDT.
  • a large number of messages that need to be interacted with place high demands on the performance of the communication device.
  • it also causes a high occupancy rate of network bandwidth resources, affecting communication efficiency.
  • a large number of messages that need to be interacted with often leads to slow convergence of MDT construction and inability to quickly build MDT.
  • the embodiment of the present application proposes a multicast communication method, which realizes efficient construction of a multicast distribution tree MDT by carrying a first message of first multicast information.
  • the performance requirements for communication devices can be effectively reduced.
  • the occupancy rate of network bandwidth resources is reduced, and communication efficiency is improved.
  • the construction convergence rate of MDT is improved, and MDT can be quickly constructed.
  • an embodiment of the present application proposes a multicast communication method, comprising: first, a first communication device constructs a first message, the first message carries first multicast information, the first multicast information indicates the communication devices included in the first multicast group, and the first communication device is a multicast source node in the first multicast group; then, the first communication device sends the first message to a second communication device, the first message indicates that the second communication device constructs a first multicast distribution tree MDT, and the multicast data in the first multicast group is forwarded along the multicast forwarding path indicated by the first multicast distribution tree MDT.
  • the second communication device belongs to a forwarding node in the multicast forwarding path indicated by the first MDT or a multicast destination node included in the first multicast group.
  • the first communication device constructs and forwards the first message, so that the second communication device belonging to the first multicast distribution tree MDT constructs the first MDT. Since the first message carries the first multicast information, the first multicast information indicates the communication devices included in the first multicast group. Therefore, the first message can be forwarded along the multicast forwarding path indicated by the first MDT, so that all communication devices on the multicast forwarding path can be forwarded.
  • the first MDT is constructed according to the first message.
  • the first message carrying the first multicast information realizes efficient construction of the MDT. Compared with the current method for constructing the MDT, the performance requirements for the communication device can be effectively reduced. The occupancy rate of network bandwidth resources is reduced, and the communication efficiency is improved. In addition, the construction convergence rate of the MDT is improved, and the MDT is quickly constructed.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the multicast source node refers to the multicast source node in the first multicast group.
  • the address information of the multicast source node may also be identification information of the multicast source node.
  • the address information of the first multicast group may also be identification information of the first multicast group.
  • the address information of the multicast destination node may also be identification information of the multicast destination node.
  • the address information of the multicast source node is the Internet Protocol IP address of the multicast source node
  • the address information of the first multicast group is a Class D multicast IP address
  • the address information of the multicast destination node is the IP address of the multicast destination node.
  • the address information of the multicast source node is "192.168.100.1”
  • the address information of the first multicast group is "224.12.1.1”
  • the address information of the multicast destination node includes "192.168.3.1", "192.168.6.1”, “192.168.7.1”, “192.168.9.1” and "192.168.10.1”.
  • the first multicast information may also include other information, such as: the number of multicast destination nodes in the first multicast group, which is not limited in the embodiments of the present application.
  • the first multicast information is carried in the payload portion of the first message. It is understandable that the first multicast information may also be carried in other portions of the first message, which is not limited in the embodiment of the present application.
  • the first message carries a first identifier
  • the first identifier indicates that the first message is used to construct the first MDT.
  • the next hop node determines that the MDT needs to be constructed according to the first message according to the first identifier.
  • the efficiency of the second communication device in identifying and processing the first message is improved through the first identifier.
  • the first identifier is a User Datagram Protocol (UDP) destination port number.
  • the special UDP destination port number indicates that the first message is used to construct the first MDT.
  • the UDP destination port number is 4799.
  • the first identifier may also be carried in an IP header.
  • a first communication device obtains a node information set, the node information set including node information of multiple nodes, wherein the multiple nodes belong to the first multicast group, and the address information of the multicast destination node belongs to the node information set; then, the first communication device constructs the first message according to the node information set.
  • the first communication device obtains the node information set, including: after the first communication device creates the communication domain corresponding to the first multicast group, the node information set is obtained; or, the first communication device obtains a configuration file of the node information in the first multicast group, and the configuration file of the node information in the first multicast group includes the node information set.
  • the first communication device can obtain the node information set after creating the communication domain corresponding to the first multicast group; it can also obtain the configuration information of the nodes in the first multicast group, and then obtain the node information set included in the configuration file, which improves the implementation flexibility of the solution.
  • the first communication device determines the address information of the second communication device from the routing table of the first communication device according to the first multicast information, and the address information of the second communication device is used as the destination address of the first message.
  • the first communication device may also use the gateway address of the first communication device as the destination address of the first message, and the gateway connected to the first communication device forwards the first message to the second communication device.
  • the first communication device determines the address information of the second communication device from a routing table of the first communication device according to the address information of the multicast destination node.
  • the first communication device after the first communication device creates the communication domain corresponding to the first multicast group, it obtains the address information of the first multicast group; or, the first communication device determines the address information of the first multicast group according to a configuration file of the node information in the first multicast group. Specifically, the first communication device can also obtain the address information of the first multicast group in multiple ways to improve the implementation flexibility of the solution.
  • the method further includes: the first communication device determines that the multicast destination node included in the first multicast group changes; in response to the change in the multicast destination node included in the first multicast group, the first communication device modifies the first message, and the first multicast information carried by the modified first message corresponds to the changed first multicast group.
  • the first communication device modifies the first message, and the first multicast information carried by the modified first message corresponds to the changed first multicast group, including: in response to a first node going offline, the first communication device modifies the first message, and the first multicast information carried by the modified first message does not include address information of the first node, wherein the first node belongs to the first multicast group; or, in response to a second node going online, the first communication device modifies the first message, and the first multicast information carried by the modified first message includes address information of the second node, wherein before the second node goes online, the second node does not belong to the first multicast group.
  • an embodiment of the present application proposes a multicast communication method, comprising: first, a second communication device receives a first message from a previous hop node, the first message carries first multicast information, the first multicast information indicates the communication devices included in the first multicast group, the multicast data in the first multicast group is forwarded along a multicast forwarding path indicated by a first multicast distribution tree MDT, and the first communication device is a multicast source node in the first multicast group; then, the second communication device determines the multicast forwarding path indicated by the first MDT according to the first multicast information; finally, the second communication device sends the first message to a third communication device according to the multicast forwarding path corresponding to the first MDT, wherein the third communication device is the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT, and the first message instructs the third communication device to construct the first MDT.
  • the second communication device after receiving the first message from the previous hop node, determines the multicast forwarding path indicated by the first multicast distribution tree MDT according to the first message. Then, the second communication device forwards the first message to the next hop node (third communication device) according to the multicast forwarding path indicated by the first MDT, and the first message instructs the third communication device to build the first MDT.
  • the second communication device constructs the first MDT by processing and forwarding the first message, thereby obtaining the multicast forwarding path indicated by the first MDT.
  • the previous hop node can be the n-1th second communication device, where n is a positive integer.
  • the previous hop node is the first communication device.
  • the third communication device may be a forwarding node, and the third communication device may also be a multicast destination node.
  • the third communication device may be the n+1th second communication device, that is, the nth second communication device forwards the first message to the n+1th second communication device (the third communication device).
  • the third communication device receives the first message, the related method of the second aspect is executed.
  • the third communication device is a multicast destination node, then after the third communication device receives the first message, it terminates the first message.
  • the first multicast information includes: the address information of the multicast source node, the address information of the first multicast group, and the address information of the multicast destination node in the first multicast group.
  • the multicast source node refers to the multicast source node in the first multicast group.
  • the address information of the multicast source node may also be the identification information of the multicast source node.
  • the address information of the first multicast group may also be the identification information of the first multicast group.
  • the address information of the multicast destination node may also be the identification information of the multicast destination node.
  • the address information of the multicast source node is "192.168.100.1”
  • the address information of the first multicast group is "224.12.1.1”
  • the address information of the multicast destination node includes "192.168.3.1”, “192.168.6.1”, “192.168.7.1”, “192.168.9.1” and "192.168.10.1”.
  • the first multicast information may further include other information, such as: the number of multicast destination nodes in the first multicast group, which is not limited in the embodiment of the present application.
  • the second communication device determines the multicast forwarding path indicated by the first MDT based on the first multicast information, specifically including: the second communication device determines a first multicast forwarding table based on the first multicast information, the first multicast forwarding table includes a target outbound interface, the target outbound interface can reach the multicast host node included in the first multicast group, and the first multicast forwarding table indicates the multicast forwarding path corresponding to the first MDT.
  • the multicast distribution tree reflected on each multicast router is actually the relevant table entries in the multicast forwarding table (also called multicast routing table).
  • Each multicast router maintains a multicast forwarding table, which is used to guide the forwarding of multicast traffic.
  • the multicast forwarding table may contain multiple entries, each of which has four key information: multicast source address, multicast group address, upstream interface (or inbound interface), downstream interface (or outbound interface), timer and flag, etc.
  • the multicast forwarding table related to the first multicast group is referred to as the first multicast forwarding table.
  • the first message needs to be forwarded according to the multicast forwarding path indicated by the first MDT so that the network
  • the first MDT is constructed for each node in the communication device.
  • the second communication device may also include other multicast forwarding tables, each of which corresponds to the multicast forwarding path of a multicast group.
  • the multicast forwarding table includes: a key and a value, and the key and value constitute a key-value pair.
  • the key value has a unique corresponding relationship with the multicast group.
  • the corresponding key-value pair is determined by the key value, and then the outgoing interface of the multicast message in this node (for example, the second communication device) is determined according to the value included in the key-value pair.
  • the outgoing interface may also be the address of the next hop node.
  • the multicast message is forwarded to the node corresponding to the outgoing interface (for example, the third communication device).
  • the target outgoing interface is determined in the routing table of the second communication device according to the first multicast information.
  • the second communication device updates the first multicast forwarding table according to the determined target outgoing interface, and the updated first multicast forwarding table includes the target outgoing interface.
  • the second communication device determines the first multicast forwarding table based on the first multicast information, including: the second communication device determines a first key value from the first multicast information, and the first key value includes part of the first multicast information; the second communication device searches the second communication device for the first key value based on the first key value to determine whether the first multicast forwarding table associated with the first key value exists; if not, the first multicast forwarding table is created; if so, the first multicast forwarding table is determined.
  • the first key value includes the address information of the multicast source node and the address information of the multicast group; in another example, the first key value includes the address information of the multicast group. This embodiment of the application is not limited to this.
  • the second communication device locally stores one or more multicast forwarding tables, each of which indicates a multicast group at an outbound interface of the second communication device. Since the multicast forwarding table is composed of key-value pairs, it is possible to find out whether the second communication device has a first multicast forwarding table associated with the first key value according to the first key value, and the first multicast forwarding table includes the first key value.
  • the second communication device may query whether there is a first multicast forwarding table associated with the first key value locally.
  • the second communication device sends a query request to a third-party device, and the query request carries a first key value.
  • the third-party device queries whether there is a first multicast forwarding table related to the second communication device and associated with the first key value according to the query request.
  • the third-party device includes but is not limited to: a network manager that manages the second communication device, or a cloud server that manages the second communication device.
  • the multicast forwarding table involved in the embodiment of the present application may also have other implementation methods, and the embodiment of the present application does not limit this.
  • it is an index and data corresponding to the index, wherein the index is composed of data associated with the multicast group, and the data corresponding to the index includes the outbound interface of the multicast group in this jump.
  • the second communication device determines the target outbound interface in the routing table of the second communication device according to the first multicast information, including: the second communication device determines a first outbound interface set from the routing table of the second communication device according to the first multicast information, the outbound interfaces included in the first outbound interface set can reach the multicast host node, and the first outbound interface set includes at least one outbound interface; the second communication device detects whether there is a third outbound interface set, the third outbound interface set is the intersection of the first outbound interface set and the second outbound interface set, the third outbound interface set includes at least one outbound interface, and the second outbound interface set is the outbound interface included in the first multicast forwarding table; if the third outbound interface set exists, the target outbound interface is determined from the third outbound interface set; if the third outbound interface set does not exist, the target outbound interface is determined from the first outbound interface set.
  • the second communication device performs a table lookup in the routing table of the second communication device according to the address information of the multicast destination node included in the first multicast information, and determines the outbound interface of the second communication device that can reach the multicast destination node (the multicast destination node is indicated by the first multicast information).
  • the outbound interface of the second communication device that can reach the multicast destination node is called the first outbound interface set, and the first outbound interface set includes one or more outbound interfaces.
  • the second communication device uses the one or more outbound interfaces included in the first multicast forwarding table as the second outbound interface set.
  • the second communication device determines whether there is an intersection between the first outbound interface set and the second outbound interface set, and the intersection is called the third outbound interface set. If there is, the target outbound interface is determined from the third outbound interface set; if not, the target outbound interface is determined from the first outbound interface set.
  • the target outbound interface is determined to be the outbound interface that can reach the multicast destination node, so as to ensure that the first message can be forwarded according to the multicast forwarding path indicated by the first MDT, and ensure that the first MDT can be successfully constructed.
  • the second communication device sending the first message to the third communication device according to the multicast forwarding path corresponding to the first MDT includes: the second communication device sending the first message to the third communication device according to the multicast forwarding path corresponding to the first MDT
  • the method comprises the steps of: classifying the plurality of multicast destination nodes included in the first multicast group according to the multicast forwarding path corresponding to the first multicast group to obtain a first classification result, wherein the first classification result indicates one or more groups of the multicast destination nodes, wherein the same group of the multicast destination nodes corresponds to the same target outbound interface in the second communication device; the second communication device updates the first message according to the first classification result, wherein the updated first message carries second multicast information, and the second multicast information includes address information of the same group of the multicast destination nodes indicated by the first classification result; and the second communication device forwards the updated first message to the third communication device, wherein the third communication device is the next hop node
  • the multiple multicast destination nodes included in the first multicast group can also be classified according to the target outbound interface corresponding to the multicast destination node to obtain a first classification result.
  • the first classification result indicates one or more types of multicast destination nodes, and the same group of multicast destination nodes corresponds to the same target outbound interface in the second communication device.
  • the second communication device determines the first classification result, it copies the first message on the target outbound interface corresponding to the same group, and then updates the copied first message. Specifically, the address information of the multicast destination node carried by the first message is updated, and the multicast information carried by the updated first message is called the second multicast information.
  • the address information of the multicast destination node included in the second multicast information is only the address information of the multicast destination node corresponding to the group. So that the updated first message is forwarded to the multicast destination node of the group along the multicast forwarding path indicated by the first MDT. According to the second multicast information carried by the updated first message, the next hop node indicated by the second multicast information is determined, that is, the third communication device is determined. Then, the updated first message is forwarded to the third communication device. All forwarding nodes on the forwarding path indicated by the first MDT receive the first message and construct a first multicast forwarding table according to the first message. The first MDT is constructed by the above method. It should be noted that the second multicast information also includes: the address information of the multicast source node and the address information of the first multicast group.
  • the second communication device classifies the multiple multicast destination nodes included in the first multicast group according to the multicast forwarding path corresponding to the first MDT, and obtains the first classification result, including: the second communication device determines the multiple outbound interface information corresponding to the multicast destination node in the second communication device according to the multicast forwarding path corresponding to the first MDT; the second communication device determines the target outbound interface corresponding to the multicast destination node according to the multiple outbound interface information corresponding to the multicast destination node, wherein, when the forwarding path of the second communication device to reach the multicast destination node includes multiple equal-cost paths, the forwarding path corresponding to the target outbound interface is determined from the multiple equal-cost paths according to a preset rule.
  • the second communication device can reach multiple multicast destination nodes included in the first multicast group through multiple forwarding nodes, and there are multiple forwarding paths for the second communication device to reach the multiple multicast destination nodes included in the first multicast group.
  • the second communication device selects a path with the smallest path cost based on the multiple outbound interface information, and then uses the outbound interface information corresponding to the path with the smallest path cost as the target outbound interface.
  • a forwarding path can be randomly selected from the multiple equivalent paths as the target path, and the output interface corresponding to the target path on the second communication device is used as the target output interface. It is also possible to select a path from the multiple equivalent paths as the target path according to a preset rule, and determine the target output interface.
  • the preset rule includes but is not limited to: determining the forwarding path corresponding to the target output interface according to a modulo 2 operation, determining the forwarding path corresponding to the target output interface according to a hash process, or randomly selecting a path from multiple equivalent paths as the target path, etc.
  • an embodiment of the present application provides a communication device, which is used as a first communication device, and includes:
  • a processing module configured to construct a first message, wherein the first message carries first multicast information, the first multicast information indicates a communication device included in a first multicast group, and the first communication device is a multicast source node in the first multicast group;
  • the transceiver module is used to send the first message to the second communication device, wherein the first message instructs the second communication device to build a first multicast distribution tree MDT, and the multicast data in the first multicast group is forwarded along the multicast forwarding path indicated by the first multicast distribution tree MDT.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the address information of the multicast source node is the Internet Protocol IP address of the multicast source node
  • the address information of the first multicast group is a Class D multicast IP address
  • the address information of the multicast destination node is the IP address of the multicast destination node.
  • the first message carries a first identifier, and the first identifier indicates that the first message is used to construct the first MDT.
  • the first identifier is a User Datagram Protocol UDP destination port number.
  • the transceiver module is further used to obtain a node information set, wherein the node information set includes node information of multiple nodes, wherein the multiple nodes belong to the first multicast group, and the address information of the multicast sink node belongs to the node information set;
  • the processing module is further used to construct the first message according to the node information set.
  • the processing module is further configured to obtain the node information set after creating the communication domain corresponding to the first multicast group;
  • the processing module is further configured to obtain a configuration file of node information in the first multicast group, wherein the configuration file of node information in the first multicast group includes the node information set.
  • the processing module is further used to determine the address information of the second communication device from the routing table of the first communication device according to the first multicast information, and the address information of the second communication device is used as the destination address of the first message.
  • the processing module is further used to determine the address information of the second communication device from the routing table of the first communication device according to the address information of the multicast destination node.
  • the transceiver module is further configured to obtain the address information of the first multicast group after creating the communication domain corresponding to the first multicast group;
  • the processing module is further configured to determine the address information of the first multicast group according to a configuration file of the node information in the first multicast group.
  • the processing module is further configured to determine that the multicast destination node included in the first multicast group changes
  • the processing module is further configured to modify the first message in response to a change in a multicast destination node included in the first multicast group, wherein the first multicast information carried by the modified first message corresponds to the changed first multicast group.
  • the processing module is further configured to modify the first message in response to the first node going offline, wherein the first multicast information carried by the modified first message does not include the address information of the first node, wherein the first node belongs to the first multicast group;
  • the processing module is further used to modify the first message in response to the second node coming online, and the first multicast information carried by the modified first message includes the address information of the second node, wherein before the second node comes online, the second node does not belong to the first multicast group.
  • an embodiment of the present application provides a communication device, which is used as a second communication device, and includes:
  • a transceiver module configured to receive a first message from a previous hop node, wherein the first message carries first multicast information, the first multicast information indicates a communication device included in a first multicast group, multicast data in the first multicast group is forwarded along a multicast forwarding path indicated by a first multicast distribution tree MDT, and the first communication device is a multicast source node in the first multicast group;
  • a processing module configured to determine a multicast forwarding path indicated by the first MDT according to the first multicast information
  • the transceiver module is also used to send the first message to a third communication device according to the multicast forwarding path corresponding to the first MDT, wherein the third communication device is the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT, and the first message instructs the third communication device to construct the first MDT.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the processing module is further used to determine a first multicast forwarding table according to the first multicast information, wherein the first multicast forwarding table includes a target outbound interface, the target outbound interface can reach the multicast destination node included in the first multicast group, and the first multicast forwarding table indicates a multicast forwarding path corresponding to the first MDT.
  • the processing module is further used to determine the first multicast forwarding table according to the first multicast information
  • the processing module is further used to determine the target outbound interface in the routing table of the second communication device according to the first multicast information
  • the processing module is further configured to update the first multicast forwarding table according to the target outbound interface, wherein the updated first multicast forwarding table includes the target outbound interface.
  • the processing module is further configured to determine a first key value from the first multicast information, where the first key value includes a portion of the first multicast information;
  • the processing module is further used to search, according to the first key value, whether the second communication device has the first multicast forwarding table associated with the first key value;
  • the processing module is further configured to create the first multicast forwarding table if it does not exist;
  • the processing module is further configured to determine the first multicast forwarding table if it exists.
  • the processing module is further configured to determine a first outbound interface set from a routing table of the second communication device according to the first multicast information, wherein the outbound interfaces included in the first outbound interface set can reach the multicast destination node, and the first outbound interface set includes at least one outbound interface;
  • the processing module is further used to detect whether there is a third outbound interface set, the third outbound interface set is the intersection of the first outbound interface set and the second outbound interface set, the third outbound interface set includes at least one outbound interface, and the second outbound interface set is the outbound interface included in the first multicast forwarding table;
  • the processing module is further configured to determine the target outbound interface from the third outbound interface set if the third outbound interface set exists;
  • the processing module is further configured to determine the target outbound interface from the first outbound interface set if the third outbound interface set does not exist.
  • the processing module is further configured to classify the plurality of multicast sink nodes included in the first multicast group according to the multicast forwarding path corresponding to the first MDT, to obtain a first classification result, wherein the first classification result indicates one or more groups of the multicast sink nodes, wherein the same group of the multicast sink nodes corresponds to the same target outbound interface in the second communication device;
  • the processing module is further configured to update the first message according to the first classification result, wherein the updated first message carries second multicast information, and the second multicast information includes address information of the same group of multicast sink nodes indicated by the first classification result;
  • the transceiver module is further used to forward the updated first message to the third communication device, wherein the third communication device is the next hop node indicated by the second multicast information.
  • the processing module is further configured to determine, according to the multicast forwarding path corresponding to the first MDT, information of multiple outbound interfaces corresponding to the multicast sink node in the second communication device;
  • the processing module is further used to determine the target outbound interface corresponding to the multicast destination node according to the multiple outbound interface information corresponding to the multicast destination node, wherein, when the forwarding path for the second communication device to reach the multicast destination node includes multiple equal-cost paths, the forwarding path corresponding to the target outbound interface is determined from the multiple equal-cost paths according to a preset rule.
  • an embodiment of the present application provides a communication device, which is used as a first communication device, and includes:
  • a processor configured to construct a first message, wherein the first message carries first multicast information, the first multicast information indicates a communication device included in a first multicast group, and the first communication device is a multicast source node in the first multicast group;
  • the communication interface is used to send the first message to the second communication device, wherein the first message instructs the second communication device to build a first multicast distribution tree MDT, and the multicast data in the first multicast group is forwarded along the multicast forwarding path indicated by the first multicast distribution tree MDT.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the address information of the multicast source node is the Internet Protocol IP address of the multicast source node
  • the address information of the first multicast group is a Class D multicast IP address
  • the address information of the multicast destination node is the IP address of the multicast destination node.
  • the first message carries a first identifier, and the first identifier indicates that the first message is used to construct the first MDT.
  • the first identifier is a User Datagram Protocol UDP destination port number.
  • the communication interface is further used to obtain a node information set, wherein the node information set includes node information of multiple nodes, wherein the multiple nodes belong to the first multicast group, and the address information of the multicast sink node belongs to the node information set;
  • the processor is further configured to construct the first message according to the node information set.
  • the processor is further configured to obtain the node information set after creating the communication domain corresponding to the first multicast group;
  • the processor is further configured to obtain a configuration file of node information in the first multicast group, where the configuration file of node information in the first multicast group includes the node information set.
  • the processor is further configured to determine, according to the first multicast information, address information of the second communication device from a routing table of the first communication device, and use the address information of the second communication device as a destination address of the first message.
  • the processor is further configured to determine the address information of the second communication device from a routing table of the first communication device according to the address information of the multicast destination node.
  • the communication interface is further used to obtain the address information of the first multicast group after creating the communication domain corresponding to the first multicast group;
  • the processor is further configured to determine the address information of the first multicast group according to a configuration file of the node information in the first multicast group.
  • the processor is further configured to determine that the multicast destination node included in the first multicast group changes
  • the processor is further configured to modify the first message in response to a change in a multicast destination node included in the first multicast group, wherein the first multicast information carried by the modified first message corresponds to the changed first multicast group.
  • the processor is further configured to modify the first message in response to the first node going offline, wherein the first multicast information carried by the modified first message does not include the address information of the first node, wherein the first node belongs to the first multicast group;
  • the processor is further used to modify the first message in response to the second node coming online, wherein the first multicast information carried by the modified first message includes the address information of the second node, wherein before the second node comes online, the second node does not belong to the first multicast group.
  • an embodiment of the present application provides a communication device, which is used as a second communication device, and includes:
  • a communication interface configured to receive a first message from a previous hop node, wherein the first message carries first multicast information, the first multicast information indicates a communication device included in a first multicast group, multicast data in the first multicast group is forwarded along a multicast forwarding path indicated by a first multicast distribution tree MDT, and the first communication device is a multicast source node in the first multicast group;
  • a processor configured to determine, according to the first multicast information, a multicast forwarding path indicated by the first MDT;
  • the communication interface is also used to send the first message to a third communication device according to the multicast forwarding path corresponding to the first MDT, wherein the third communication device is the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT, and the first message instructs the third communication device to construct the first MDT.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the processor is further configured to determine a first multicast forwarding table according to the first multicast information, wherein the first multicast forwarding table includes a target outbound interface, the target outbound interface can reach a multicast destination node included in the first multicast group, and the first multicast forwarding table indicates a multicast forwarding path corresponding to the first MDT.
  • the processor is further configured to determine the first multicast forwarding table according to the first multicast information
  • the processor is further configured to determine the target outbound interface in a routing table of the second communication device according to the first multicast information
  • the processor is further configured to update the first multicast forwarding table according to the target outbound interface, wherein the updated first multicast forwarding table contains The target output interface is included.
  • the processor is further configured to determine a first key value from the first multicast information, where the first key value includes a portion of the first multicast information;
  • the processor is further configured to search, according to the first key value, whether the second communication device has the first multicast forwarding table associated with the first key value;
  • the processor is further configured to create the first multicast forwarding table if it does not exist;
  • the processor is further configured to determine the first multicast forwarding table if it exists.
  • the processor is further configured to determine a first outbound interface set from a routing table of the second communication device according to the first multicast information, wherein the outbound interfaces included in the first outbound interface set can reach the multicast destination node, and the first outbound interface set includes at least one outbound interface;
  • the processor is further used to detect whether there is a third outbound interface set, where the third outbound interface set is the intersection of the first outbound interface set and the second outbound interface set, the third outbound interface set includes at least one outbound interface, and the second outbound interface set is the outbound interface included in the first multicast forwarding table;
  • the processor is further configured to determine the target outbound interface from the third outbound interface set if the third outbound interface set exists;
  • the processor is further configured to determine the target outbound interface from the first outbound interface set if the third outbound interface set does not exist.
  • the processor is further configured to classify the plurality of multicast sink nodes included in the first multicast group according to the multicast forwarding path corresponding to the first MDT, to obtain a first classification result, wherein the first classification result indicates one or more groups of the multicast sink nodes, wherein the same group of the multicast sink nodes corresponds to the same target outbound interface in the second communication device;
  • the processor is further configured to update the first message according to the first classification result, where the updated first message carries second multicast information, where the second multicast information includes address information of the same group of multicast sink nodes indicated by the first classification result;
  • the communication interface is further used to forward the updated first message to the third communication device, wherein the third communication device is the next hop node indicated by the second multicast information.
  • the processor is further configured to determine, according to the multicast forwarding path corresponding to the first MDT, information of multiple outbound interfaces corresponding to the multicast sink node in the second communication device;
  • the processor is further used to determine the target outbound interface corresponding to the multicast destination node based on multiple outbound interface information corresponding to the multicast destination node, wherein when the forwarding path for the second communication device to reach the multicast destination node includes multiple equal-cost paths, the forwarding path corresponding to the target outbound interface is determined from the multiple equal-cost paths according to a preset rule.
  • an embodiment of the present application provides a computer-readable storage medium storing one or more computer-executable instructions.
  • the processor executes any possible implementation method as described in the first aspect above.
  • an embodiment of the present application provides a computer program product (or computer program) storing one or more computer execution instructions.
  • the processor executes any possible implementation method of the aforementioned first aspect.
  • the present application provides a chip system, which includes a processor for supporting a computer device to implement the functions involved in the above aspects.
  • the chip system also includes a memory, which is used to store program instructions and data necessary for the computer device.
  • the chip system can be composed of a chip, or it can include a chip and other discrete devices.
  • an embodiment of the present application provides a chip system, which includes at least one processor and a communication interface, the communication interface and at least one processor are interconnected through lines, and the at least one processor is used to run computer programs or instructions to perform the method of the first aspect.
  • the communication interface in the chip system can be an input/output interface, a pin or a circuit, etc.
  • FIG1 is a schematic diagram of a multicast communication scenario
  • FIG2 is a schematic diagram of a multicast communication scenario
  • FIG3 is a schematic diagram of a communication domain scenario
  • FIG4 is a schematic diagram of a multicast communication scenario
  • FIG5 is a schematic diagram of a communication scenario involved in an embodiment of the present application.
  • FIG6 is a schematic diagram of an embodiment of a multicast communication method in an embodiment of the present application.
  • FIG7 is a schematic diagram of the structure of a first message in an embodiment of the present application.
  • FIG8 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • FIG9 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • FIG10 is a schematic diagram of a multicast forwarding table involved in an embodiment of the present application.
  • FIG11 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • FIG12 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • FIG13 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • FIG14 is a schematic diagram of a communication scenario involved in an embodiment of the present application.
  • FIG15 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • FIG16 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • FIG17 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • FIG18 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • FIG19 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • FIG20 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • FIG21 is a schematic diagram of the structure of a communication device 2100 provided in an embodiment of the present application.
  • FIG22 is a schematic diagram of the structure of a communication device 2200 provided in an embodiment of the present application.
  • FIG. 23 is a schematic diagram of the structure of a communication device 2300 provided in an embodiment of the present application.
  • the naming or numbering of the steps that appear in the present application does not mean that the steps in the method flow must be executed in the time/logical sequence indicated by the naming or numbering.
  • the process steps that have been named or numbered can change the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.
  • the division of units in this application is a logical division. There may be other division methods when it is implemented in actual applications. For example, multiple units can be combined or integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection between units can be electrical or other similar forms, which are not limited in this application.
  • the units or sub-units described as separate components may or may not be physically separated, may or may not be physical units, or may be distributed in multiple circuit units, and some or all of the units may be selected according to actual needs to achieve the purpose of the present application.
  • Multicast is a one-to-many communication mode between hosts.
  • Multicast is a technology that allows one or more multicast sources (or multicast source nodes, or source nodes) to send the same message to multiple multicast destinations (or multicast destination nodes, or destination nodes).
  • Multicast means that a message is sent from a multicast and forwarded to a specific group of receivers. The same message can only be sent to one copy on each link.
  • the multicast source sends a message to a specific multicast address.
  • the multicast address is different from the unicast address. It does not belong to a specific host, but to a group of hosts.
  • a multicast group address represents a group. All receivers who need to receive multicast messages join this group.
  • FIG. 1 is a schematic diagram of a multicast communication scenario
  • FIG. 2 is a schematic diagram of a multicast communication scenario.
  • multicast can effectively save network bandwidth and reduce network load, so it is widely used in network services such as interactive Internet Protocol TV or Interactive Personal TV (IPTV), real-time data transmission and multimedia conferencing.
  • a typical application of multicast is high performance computing (HPC) or artificial intelligence (AI) business scenarios.
  • HPC/AI applications create communication domains and specify communication member information within the communication domain by calling the message passing interface (MPI) "MPI_Comm_create()" based on business processing requirements.
  • MPI message passing interface
  • Any communication member/node/instance within the communication domain can be used as a data source to send multicast data to other nodes within the communication domain by calling the MPI_Bcast() interface.
  • Figure 3 is a schematic diagram of a communication domain scenario. In Figure 3, nodes 1, 2, 5 and 6 belong to communication domain 1; nodes A, B, 7 and 8 belong to communication domain 2.
  • the sender does not care about the location of the receiver. As long as the data is sent to the agreed destination address, the rest of the work is left to the network.
  • the multicast devices in the network must collect the receiver's information and forward and replicate the multicast message along the correct path. In the development of multicast, a complete set of protocols has been formed to complete this task.
  • IGMP Internet Group Management Protocol
  • PIM Protocol Independent Multicast
  • IGMP is a protocol responsible for IPv4 multicast member management. It runs in the last segment of the multicast network, that is, the segment where the Layer 3 network device connects to the user host.
  • the IGMP protocol implements the joining and leaving of multicast group members on the host side, and implements the maintenance and management of group membership in the upstream Layer 3 device. It also supports information exchange with the upper-layer multicast routing protocol.
  • PIM is a multicast routing protocol in IPv4 networks. It is mainly used to send multicast data streams in the network to multicast devices connected to group members with multicast data requests, thereby realizing routing search and forwarding of multicast data.
  • the PIM protocol includes Protocol Independent Multicast Sparse Mode (PIM-SM) and Protocol Independent Multicast Dense Mode (PIM-DM).
  • PIM-SM is suitable for large-scale networks with relatively dispersed group members;
  • PIM-DM is suitable for small-scale networks with relatively concentrated multicast group members.
  • the PIM-DM protocol uses the following assumption: When a multicast source starts to send multicast data, all nodes in the domain need to receive the data, so the "diffusion/pruning" method is used to forward multicast data packets. When the multicast source starts to send data, the nodes along the way forward the multicast data packets to all interfaces except the Reverse Path Forwarding (RPF) interface corresponding to the multicast source. In this way, all nodes in the PIM-DM domain will receive these multicast data packets.
  • RPF Reverse Path Forwarding
  • the nodes in the area will send a prune message to prune the forwarding interface leading to the area and establish a pruning state.
  • the pruning state corresponds to the timeout timer. When the timer times out, the pruning state changes back to the forwarding state, and multicast data can flow down along these branches again.
  • the pruning state contains information about the multicast source and multicast group. When a multicast group member appears in the pruning area, in order to reduce the reaction time, the protocol does not have to wait for the upstream pruning state to time out, but actively sends a graft message to the upstream to change the pruning state to the forwarding state.
  • multicast routing protocol In a multicast network, one of the most important tasks of the multicast routing protocol is to generate a loop-free tree for the multicast network. This tree is also the transmission path of multicast traffic in the network (or the forwarding path of multicast data in the network). This tree is called the multicast distribution tree (MDT), or multicast tree for short.
  • MDT multicast distribution tree
  • SPT shortest-path tree
  • RPT shared tree
  • SPT is also called source tree because it is a multicast distribution tree with the multicast source as the root, and the receivers of the multicast group can be regarded as the leaves of the tree.
  • Multicast traffic starts from the root (multicast source), propagates along the branches, and finally reaches the leaves, which are the terminal networks where the receivers are located.
  • the multicast distribution tree is reflected on each multicast router as the relevant table entries in the multicast forwarding table (also called the multicast routing table).
  • Each multicast router maintains a multicast forwarding table, which is used to guide the forwarding of multicast traffic.
  • a multicast forwarding table may contain multiple entries, each of which contains four key information: multicast source address, multicast group address, upstream interface (or inbound interface), downstream interface (or outbound interface), timer, and flag.
  • the (S, G) multicast forwarding table entry is used, where "S" is the address information of the multicast source node (referred to as the multicast source) and "G" is the multicast group address information.
  • S is the IP address of the multicast source (10.1.1.1).
  • the (S, G) entry maintained by the router is (10.1.1.1, 239.1.1.13).
  • Each router's (10.1.1.1, 239.1.1.13) entry contains upstream and downstream interface information.
  • the upstream interface is the interface of the device facing the multicast source.
  • multicast traffic takes the shortest path from the source to the receiver, which is why the multicast distribution tree is called the shortest path tree.
  • RPT Shared tree
  • RPT is different from SPT. It does not take the multicast source as the root, but the RP (Rendezvous Point) as the root. RP can be understood as the concept of a convergence point. In a typical multicast network, it is usually a network device with good performance. Multiple multicast groups can share one RP.
  • the router that expects to receive multicast traffic (connected to the multicast receiving terminal) establishes a branch of RPT between itself and RP through the multicast routing protocol. Multicast traffic first needs to be sent from the source to RP, and then RP distributes the multicast traffic. The multicast traffic follows the RPT and finally reaches the terminal network where each receiver is located.
  • IGMP Internet Group Management Protocol
  • the multicast source node builds the members of the multicast group by sending IGMP messages such as joining the multicast group or leaving the multicast group.
  • IGMPv2 IGMP processing flow is introduced: 3.1.
  • Querier election When there are multiple multicast routers (or multicast nodes) in the same network segment, IGMPv2 elects a unique querier from them through the querier election mechanism.
  • Multicast group member query The querier periodically sends a general group query message to query the membership relationship; the multicast node sends a report message to respond to the query.
  • Member query message suppression The time when the multicast node sends a report message is random.
  • Member joining If a new multicast node wants to join the multicast group, it does not have to wait for the query message from the querier, but actively sends a report message.
  • Member leaving When a multicast group member (multicast node) leaves the multicast group, the multicast node sends a leave group message; after receiving the leave group message, the querier sends a specific group query message to determine whether all group members have left.
  • the process of constructing MDT using the IGMP protocol is as follows: the multicast destination node sends an Internet Group Management Protocol (IGMP) join message to the communication device (the communication device is regarded as the designated router (DR) device of the multicast destination node), and informs the communication device through the IGMP join message that the multicast destination node wishes to join a certain multicast group.
  • the communication device will send a Protocol Independent Multicast (PIM) protocol join message to other upstream communication devices, and inform the upstream communication device through the PIN join message that the multicast destination node wishes to join a certain multicast group.
  • PIM Protocol Independent Multicast
  • the hop-by-hop communication device performs a similar processing flow to complete the construction of the multicast MDT.
  • FIG4, is a schematic diagram of a multicast communication scenario.
  • the communication scenario includes: multicast source node (referred to as source node) 0, multicast sink node (referred to as sink node) 1, multicast sink node 2, multicast sink node 3, multicast sink node 4, multicast sink node 5, multicast sink node 6, multicast sink node 7, multicast sink node 8, multicast sink node 9, multicast sink node A and multicast sink node B, forwarding node 0, forwarding node 1, forwarding node 2, forwarding node 3, forwarding node 4, forwarding node 5, forwarding node 6, forwarding node 7, forwarding node 8, forwarding node 9, forwarding node A and forwarding node B.
  • multicast source node 0, multicast sink node 3, multicast sink node 6, multicast sink node 7, multicast sink node 9 and multicast sink node A join a multicast group.
  • PIM-DM or PIM-SM is used to construct the multicast distribution tree MDT corresponding to the multicast group
  • a large number of protocol messages need to be exchanged between various nodes.
  • the sink node 3, the sink node 6, the sink node 7, the sink node 9 and the sink node A join a multicast group of the source node 0.
  • the above sink nodes 3, 6, 7, 9 and A send IGMP join messages to join the multicast group.
  • the forwarding nodes (such as forwarding nodes 3, forwarding nodes 9, forwarding nodes A and forwarding nodes B) send PIM join messages to the upper hop forwarding nodes hop by hop to construct the MDT.
  • forwarding node 9 sends a PIM join message to the upper hop node, and can choose to send it to forwarding node 4 or forwarding node 5.
  • each node randomly selects an equal-cost path to send an IGMP join/PIM join message.
  • the MDT forwarding path finally constructed is shown in Figure 4.
  • the multicast distribution tree needs to copy the multicast data as far away from the multicast source node as possible to realize the "forked" forwarding of multicast data.
  • the MDT forwarding path shown in Figure 4 is not an optimal MDT.
  • the multicast traffic from source node 0 to destination node A passes through the forwarding path: forwarding node 6-forwarding node 2-forwarding node 1-forwarding node 4-forwarding node B is the optimal path.
  • a non-optimal MDT may be constructed, for example: forwarding node 6-forwarding node 2-forwarding node 1-forwarding node 5-forwarding node B, resulting in a waste of network bandwidth.
  • the applicant found that in the current process of constructing MDT, a large number of messages that need to be interacted with put forward high requirements on the performance of the communication device. In addition, it also causes the problem of high occupancy rate of network bandwidth resources, affecting communication efficiency. A large number of messages that need to be interacted with often lead to slow convergence of MDT construction and inability to quickly construct MDT.
  • the embodiment of the present application proposes a multicast communication method, in which the first communication device constructs and forwards the first message so that The first MDT is constructed on the second communication device of the first multicast distribution tree MDT. Since the first message carries the first multicast information, the first multicast information indicates the communication devices included in the first multicast group. Therefore, the first message can be forwarded along the multicast forwarding path indicated by the first MDT, so that all the communication devices on the multicast forwarding path can construct the first MDT according to the first message.
  • efficient construction of MDT is achieved. Compared with the current method for constructing MDT, the performance requirements for communication devices can be effectively reduced. The occupancy rate of network bandwidth resources is reduced, and communication efficiency is improved. In addition, the construction convergence rate of MDT is improved, and rapid construction of MDT is achieved.
  • a communication scenario proposed in the embodiments of the present application includes: a first communication device, a second communication device, and a third communication device.
  • the first communication device is a multicast source node in a multicast group
  • the second communication device is a forwarding node (or intermediate node) in the multicast group
  • the third communication device is a forwarding node (or intermediate node) in the multicast group
  • the next hop node of the first communication device is the second communication device
  • the next hop of the second communication device is the third communication device.
  • the communication scenario includes multiple second communication devices. Taking the communication scenario including N second communication devices as an example, N is a positive integer greater than 1. For the nth second communication device, there is a previous hop node, the previous hop node is the n-1th second communication device, and n is a positive integer less than or equal to N.
  • the communication device in the embodiment of the present application includes but is not limited to: a tablet computer (pad) or a folding screen mobile phone, a non-folding screen mobile phone, a smart watch, a smart headset, a smart speaker, a smart home appliance terminal, a smart car, a smart street lamp, a smart glasses, a smart bracelet, a portable game console, a personal digital assistant (PDA), a laptop computer, an ultra mobile personal computer (UMPC), a handheld computer, a netbook, a car media player, a wearable electronic device (for example: a watch, a bracelet, glasses), a virtual reality (VR) terminal device, or an augmented reality (AR) terminal device.
  • PDA personal digital assistant
  • UMPC ultra mobile personal computer
  • a wearable electronic device for example: a watch, a bracelet, glasses
  • VR virtual reality
  • AR augmented reality
  • the communication device in the embodiment of the present application may also be: a switch, a router, a server, or other equipment or network element that supports forwarding messages or data.
  • the communication device may be a physical entity in a network or a device in a physical entity (for example, a chip or a functional module).
  • the communication device may be a virtual device (such as a virtual machine or a container) running in a physical entity.
  • the virtual device may be a virtual router or a virtual switch, etc.
  • FIG. 6 is a schematic diagram of an embodiment of the multicast communication method in the embodiment of the present application.
  • a multicast communication method proposed in the embodiment of the present application includes:
  • a first communication device constructs a first message, where the first message carries first multicast information, and the first multicast information indicates communication devices included in a first multicast group.
  • step S1 the first communication device obtains information related to the first multicast group, and then constructs a first message according to the information related to the first multicast group.
  • the information related to the first multicast group includes node information of multiple nodes in the first multicast group.
  • the node information of multiple nodes in the first multicast group is referred to as a node information set.
  • the first communication device after the first communication device creates a communication domain corresponding to the first multicast group, it obtains the address information of the first multicast group.
  • the first communication device creates a communication domain and specifies the communication member information in the communication domain by calling the message passing interface (MPI) "MPI_Comm_create()", and the multicast corresponding to the communication domain is called the first multicast group.
  • the communication domain includes a multicast source node (the multicast source node includes the first communication device) and a multicast destination node (the multicast destination node includes the second communication device).
  • the first communication device After the first communication device creates a communication domain through the interface "MPI_Comm_create()", the first communication device obtains the node information of all nodes in the communication domain.
  • All nodes included in the communication domain are regarded as all nodes included in the first multicast group, and the node information of all nodes in the communication domain is called a node information set.
  • the node information set includes the node information of the multicast destination node in the first multicast group.
  • the first communication device obtains a configuration file of node information in the first multicast group, and then determines the node information of each node included in the first multicast group based on the configuration file of node information in the first multicast group.
  • the node information of multiple nodes included in the first multicast group is called a node information set.
  • the node information set includes the node information of the multicast host node in the first multicast group.
  • the configuration file of the node information can be constructed by a network manager that manages the first multicast group based on business demand information, and can also be constructed by a business platform that manages the first multicast group based on business demand, and the embodiments of the present application do not limit this.
  • the first communication device After the first communication device obtains the configuration file of the node information in the first multicast group, it can also obtain the address information of the first multicast group from the configuration file.
  • the first communication device constructs a first message according to information related to the first multicast group.
  • the first message carries first multicast information.
  • the first multicast information indicates the communication devices included in the first multicast group (i.e., the nodes included in the first multicast group).
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the multicast source node refers to the multicast source node in the first multicast group.
  • the address information of the multicast source node may also be the identification information of the multicast source node.
  • the address information of the first multicast group may also be the identification information of the first multicast group.
  • the address information of the multicast sink node may also be the identification information of the multicast sink node.
  • the address information of the multicast source node is the Internet Protocol (IP) address of the multicast source node
  • the address information of the first multicast group is a Class D multicast IP address
  • the address information of the multicast destination node is the IP address of the multicast destination node.
  • IP Internet Protocol
  • the address information of the multicast source node is "192.168.100.1”
  • the address information of the first multicast group is "224.12.1.1”
  • the address information of the multicast destination node includes "192.168.3.1", "192.168.6.1”, “192.168.7.1”, “192.168.9.1” and "192.168.10.1”.
  • the first multicast information may also include other information, such as: the number of multicast destination nodes in the first multicast group, which is not limited in the embodiments of the present application.
  • the first multicast information is carried in the payload portion of the first message. It is understandable that the first multicast information may also be carried in other portions of the first message, which is not limited in the embodiment of the present application.
  • the first message also carries a first identifier, which indicates that the first message is used to construct a first MDT.
  • the first identifier may be a destination port number in the first message, such as a destination port number of a user datagram protocol (UDP). Through a special UDP destination port number, it is indicated that the first message is used to construct a first MDT. Exemplarily, the UDP destination port number is 4799.
  • the first identifier may also be carried in an IP header. Through the first identifier, the efficiency of the second communication device in identifying and processing the first message is improved.
  • the destination address of the first message is a gateway address, and the gateway assists in forwarding the first message.
  • the destination address of the first message is the address of the next-hop communication device (for example, the address of the second communication device).
  • the next-hop communication device may also be referred to as an intermediate node, a transit node, an access network device, or a network device.
  • the source address of the first message is the address of the first communication device.
  • the first message includes: destination address: address information of the next hop node; source address: address information of the current node; first multicast information: address information of the multicast source node, address information of the multicast group, and address information of the multicast destination node.
  • the first communication device sends a first message to the second communication device.
  • step S2 after the first communication device completes constructing the first message, the first communication device sends the first message to the second communication device.
  • the communication scenario includes: multicast source node (referred to as source node) 0, multicast destination node (referred to as destination node) 1, multicast destination node 2, multicast destination node 3, multicast destination node 4, multicast destination node 5, multicast destination node 6, multicast destination node 7, multicast destination node 8, multicast destination node 9, multicast destination node A and multicast destination node B, forwarding node 0, forwarding node 1, forwarding node 2, forwarding node 3, forwarding node 4, forwarding node 5, forwarding node 6, forwarding node 7, forwarding node 8, forwarding node 9, forwarding node A and forwarding node B.
  • the multicast source node 0 (first communication device) generates the first message
  • the first multicast information carried by the first message includes: the address information of the multicast source node 0, the address information of the first multicast group, the address information of the multicast sink node 3, the address information of the multicast sink node 6, the address information of the multicast sink node 7, the address information of the multicast sink node 9 and the address information of the multicast sink node A.
  • the access network device of the multicast source node is the forwarding node 6 (the forwarding node 6 is regarded as the second communication device)
  • the destination address of the first message is determined to be the address of the forwarding node 6. Then, the first communication device sends the first message to the forwarding node 6.
  • the second communication device constructs a first multicast distribution tree MDT according to the first message.
  • step S3 after receiving the first message, the second communication device constructs a multicast distribution tree related to the first multicast group according to the first multicast information carried in the first message.
  • the multicast distribution tree related to the first multicast group is referred to as a first multicast distribution tree (first MDT).
  • FIG. 8 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • a multicast communication method proposed in the embodiment of the present application also includes:
  • the second communication device determines a multicast forwarding path indicated by a first multicast distribution tree MDT according to a first message from the first communication device.
  • step D1 after receiving the first message from the first communication device, the second communication device determines the multicast forwarding path indicated by the first MDT according to the first multicast information carried in the first message. path.
  • FIG. 9 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • the multicast communication method in the embodiment of the present application further includes:
  • the second communication device determines the first multicast forwarding table according to the first multicast information.
  • the multicast forwarding table related to the first multicast group is referred to as the first multicast forwarding table.
  • the first message needs to be forwarded according to the multicast forwarding path indicated by the first MDT so that each node in the network builds the first MDT.
  • it is necessary to determine the forwarding path of the first message according to the first multicast forwarding table.
  • the second communication device may also include other multicast forwarding tables, each of which corresponds to the multicast forwarding path of a multicast group.
  • FIG 10 is a schematic diagram of the multicast forwarding table involved in the embodiment of the present application.
  • the multicast forwarding table includes: a key and a value, and the key and value form a key-value pair.
  • the key value has a unique corresponding relationship with the multicast group.
  • the corresponding key-value pair is determined by the key value, and then the outgoing interface of the multicast message at this node (for example, the second communication device) is determined according to the value included in the key-value pair.
  • the outgoing interface can also be the address of the next hop node.
  • the multicast message is forwarded to the node corresponding to the outgoing interface (for example, the third communication device).
  • the key includes: the address information of the multicast source node (referred to as the multicast source address), and the multicast source address is represented by "S”; the address information of the multicast group (referred to as the multicast group address), and the multicast group address is represented by "G”.
  • the key ⁇ S1, G1> corresponds to the multicast group "G1”
  • the multicast source address of the multicast group "G1” is "S1”
  • the outbound interfaces of the multicast group "G1" at this node (or called this hop) include: outbound interface 1, outbound interface 4, and outbound interface 6.
  • the key ⁇ S2, G2> corresponds to the multicast group "G2”
  • the multicast source address of the multicast group "G2” is "S2”
  • the outbound interfaces of the multicast group "G2" at this node include: outbound interface 2 and outbound interface 5.
  • FIG. 11 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • the multicast communication method in the embodiment of the present application also includes:
  • G1 Determine a first key value from the first multicast information, where the first key value includes part of the first multicast information.
  • the second communication device determines a first key value from the first multicast information, and the first key value includes part of the first multicast information.
  • the first key value includes address information of the multicast source node and address information of the multicast group; in another example, the first key value includes address information of the multicast group. This embodiment of the application is not limited to this.
  • the second communication device locally stores one or more multicast forwarding tables, each of which indicates an outbound interface of a multicast group on the second communication device. Since the multicast forwarding table is composed of key-value pairs, it is possible to find out whether the second communication device has a first multicast forwarding table associated with the first key value according to the first key value, and the first multicast forwarding table includes the first key value.
  • the second communication device may query whether there is a first multicast forwarding table associated with the first key value locally.
  • the second communication device sends a query request to a third-party device, and the query request carries a first key value.
  • the third-party device queries whether there is a first multicast forwarding table related to the second communication device and associated with the first key value according to the query request.
  • the third-party device includes but is not limited to: a network manager that manages the second communication device, or a cloud server that manages the second communication device.
  • the multicast forwarding table involved in the embodiment of the present application may also have other implementation methods, and the embodiment of the present application does not limit this.
  • it is an index and data corresponding to the index, wherein the index is composed of data associated with the multicast group, and the data corresponding to the index includes the outbound interface of the multicast group in this jump.
  • step G3 If the second communication device has a first multicast forwarding table associated with the first key value, the process proceeds to step G3; if the second communication device does not have a first multicast forwarding table associated with the first key value, the process proceeds to step G4.
  • G3. Determine the first multicast forwarding table.
  • step G3 when it is determined that the second communication device has a multicast forwarding table associated with the first key value, the multicast forwarding table is used as the first multicast forwarding table.
  • step G4 when it is determined that the second communication device does not have a multicast forwarding table associated with the first key value, the second communication device (or a third-party device) creates a first multicast forwarding table, the outbound interface included in the first multicast forwarding table is empty, and the key of the first multicast forwarding table is the first key value.
  • F2 Determine a target outbound interface in a routing table of the second communication device according to the first multicast information.
  • step F2 the first multicast forwarding table has been determined through the aforementioned step F1 (including steps G1 to G4), and the outbound interface included in the first multicast forwarding table needs to be updated. Specifically, in step F2, according to the first multicast information, the target outbound interface corresponding to the first multicast information is determined in the routing table of the second communication device.
  • FIG. 12 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • the multicast communication method in the embodiment of the present application also includes:
  • H1 Determine a first outbound interface set from a routing table of the second communication device according to the first multicast information, where the outbound interfaces included in the first outbound interface set can reach the multicast destination node.
  • step H1 the second communication device performs a table lookup in a routing table of the second communication device according to the address information of the multicast destination node included in the first multicast information, and determines an outbound interface of the outbound interface of the second communication device that can reach the multicast destination node (the multicast destination node is indicated by the first multicast information).
  • the outbound interface of the outbound interface of the second communication device that can reach the multicast destination node is referred to as a first outbound interface set, and the first outbound interface set includes one or more outbound interfaces.
  • the scenario shown in FIG14 is taken as an example:
  • the first multicast group includes: multicast source node 0, multicast destination node 3, multicast destination node 6, multicast destination node 7, multicast destination node 9, and multicast destination node A.
  • the next hop nodes that can reach multicast destination node 3, multicast destination node 6, multicast destination node 7, multicast destination node 9, and multicast destination node A include forwarding node 2 and forwarding node 3, so the outbound interface in forwarding node 6 pointing to forwarding node 2 and the outbound interface in forwarding node 6 pointing to forwarding node 3 are taken as the first outbound interface set.
  • step H2 the second communication device uses one or more outbound interfaces included in the first multicast forwarding table as the second outbound interface set. Then, the second communication device detects whether there is an intersection between the first outbound interface set and the second outbound interface set determined in step H1, and the intersection is called the third outbound interface set. If there is, proceed to step H3; if not, proceed to step H4.
  • step H3 if there is a third outbound interface set, the target outbound interface is determined from the third outbound interface set.
  • the specific method is as follows:
  • the second communication device can reach multiple multicast destination nodes included in the first multicast group through multiple forwarding nodes, and there are multiple forwarding paths for the second communication device to reach the multiple multicast destination nodes included in the first multicast group.
  • the second communication device selects a path with the smallest path cost based on the multiple outbound interface information, and then uses the outbound interface information corresponding to the path with the smallest path cost as the target outbound interface.
  • a forwarding path can be randomly selected from the multiple equal-cost paths as the target path, and the output interface corresponding to the target path on the second communication device is used as the target output interface.
  • a path can be selected from the multiple equal-cost paths as the target path according to a preset rule, and the target output interface can be determined.
  • the preset rule includes, but is not limited to: determining the forwarding path corresponding to the target output interface according to a modulo 2 operation.
  • FIG. 15 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • the second communication device as forwarding node 2 as an example, there are two equivalent paths for forwarding node 2 to reach the multicast destination node of the first multicast group (including multicast destination node 6, multicast destination node 7, multicast destination node 9 and multicast destination node A): forwarding node 2-forwarding node 0, and forwarding node 2-forwarding node 1.
  • These two equivalent paths correspond to two outgoing interfaces in forwarding node 2 respectively.
  • the forwarding path corresponding to the target outgoing interface is selected as: forwarding node 2-forwarding node 1.
  • the outgoing interface in forwarding node 2 that reaches forwarding node 1 is determined as the target outgoing interface.
  • step H4 if the third outbound interface set does not exist, the target outbound interface is determined from the first outbound interface set.
  • the specific method of determining the target outbound interface is similar to the method of determining the target outbound interface in step H3, and will not be described in detail here.
  • the updated first multicast forwarding table includes the target outbound interface.
  • step F3 after the target outgoing interface is determined through the above steps H1 to H4, the first multicast forwarding table is updated according to the target outgoing interface.
  • the updated first multicast forwarding table includes the target outgoing interface.
  • the second communication device sends the first message to the third communication device according to the multicast forwarding path corresponding to the first MDT, and the third communication device The node is set as the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT.
  • step D2 after the second communication device determines the multicast forwarding path corresponding to the first MDT through the above method, it sends the first message to the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT.
  • the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT is referred to as a third communication device, and the third communication device can be a forwarding node in the network, or a multicast sink node.
  • Figure 13 is a schematic diagram of another embodiment of the multicast communication method in the embodiment of the present application.
  • the multicast communication method in the embodiment of the present application also includes:
  • K1 Classify multiple multicast destination nodes included in the first multicast group according to the target outbound interface corresponding to the multicast destination node to obtain a first classification result, where the first classification result indicates one or more types of multicast destination nodes, and the same group of multicast destination nodes corresponds to the same target outbound interface in the second communication device.
  • the plurality of multicast destination nodes included in the first multicast group may be classified according to the target outbound interface corresponding to the multicast destination node to obtain a first classification result.
  • the first classification result indicates one or more types of multicast destination nodes, and the same group of multicast destination nodes corresponds to the same target outbound interface in the second communication device.
  • FIG. 15 is as follows: when the second communication device is forwarding node 2, the multicast sink node 3 belongs to group #1, and the target outbound interface corresponding to the group #1 points to forwarding node 7; the groupcast sink node 6, the groupcast sink node 7, the groupcast sink node 9 and the groupcast sink node A belong to group #2, and the target outbound interface corresponding to the group #2 points to forwarding node 1.
  • the groupcast sink node 6 and the groupcast sink node 7 belong to group #1, and the target outbound interface corresponding to the group #1 points to forwarding node 9;
  • the groupcast sink node #9 belongs to group #2, and the target outbound interface corresponding to the group #2 points to forwarding node A;
  • the groupcast sink node #A belongs to group #3, and the target outbound interface corresponding to the group #3 points to forwarding node B.
  • the updated first message carries second multicast information
  • the second multicast information includes address information of the same group of multicast destination nodes indicated by the first classification result.
  • step K2 after the second communication device determines the first classification result, it copies the first message on the target outbound interface corresponding to the same group, and then updates the copied first message. Specifically, the address information of the multicast host node carried by the first message is updated, and the multicast information carried by the updated first message is called the second multicast information.
  • the address information of the multicast host node included in the second multicast information is only the address information of the multicast host node corresponding to the group. So that the updated first message is forwarded to the multicast host node of the group along the multicast forwarding path indicated by the first MDT.
  • the second multicast information also includes: the address information of the multicast source node and the address information of the first multicast group.
  • the second multicast information carried by the first message (updated first message) sent to packet #1 includes the address information of multicast host node 3;
  • the second multicast information carried by the first message sent to packet #2 (the outgoing interface points to forwarding node 1) includes the address information of multicast host node 6, the address information of multicast host node 7, the address information of multicast host node 9 and the address information of multicast host node A, and so on.
  • step K3 according to the second multicast information carried by the updated first message, the next hop node indicated by the second multicast information is determined, that is, the third communication device is determined. Then, the updated first message is forwarded to the third communication device. All forwarding nodes on the forwarding path indicated by the first MDT receive the first message, and a first multicast forwarding table is constructed according to the first message. Through the above method, the construction of the first MDT is completed. On the first MDT, from the first message sent by the multicast source node 0 to the first message sent by each forwarding node, the information of the above multiple first messages is shown in Table 1.
  • FIG. 16 is a schematic diagram of another communication scenario involved in the embodiment of the present application. Taking the first multicast group shown in Fig. 15 as an example, after the first MDT is constructed, the forwarding path indicated by the first MDT is shown in Fig. 16 .
  • the embodiment of the present application proposes a multicast communication method, in which a first communication device constructs and forwards a first message, so that a second communication device belonging to the first multicast distribution tree MDT constructs a first MDT. Since the first message carries the first multicast information, the first multicast information indicates the communication devices included in the first multicast group. Therefore, the first message can be forwarded along the multicast forwarding path indicated by the first MDT, so that all communication devices on the multicast forwarding path can construct the first MDT according to the first message. After receiving the first message from the first communication device, the second communication device determines the multicast forwarding path indicated by the first multicast distribution tree MDT according to the first message.
  • the second communication device forwards the first message to the next hop node (third communication device) according to the multicast forwarding path indicated by the first MDT, and the first message instructs the third communication device to construct the first MDT.
  • the second communication device constructs the first MDT by processing and forwarding the first message, thereby obtaining the multicast forwarding path indicated by the first MDT.
  • the first multicast information carried by the first message may also change accordingly. Specifically, when a new multicast destination node is added to the first multicast group, the multicast source node adds the address information of the new multicast destination node in the first multicast information; when a multicast destination node is reduced in the first multicast group, the multicast source node deletes the address information of the reduced multicast destination node in the first multicast information.
  • Figure 17 is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • the multicast source node 0 senses that the multicast destination node 5 has joined the first multicast group through a routing protocol or other means.
  • the multicast source node 0 triggers a refresh of the first MDT.
  • the specific method is as follows: the multicast source node 0 constructs a first message, and the first multicast information included in the first message carries the address information of the multicast destination node 5.
  • the multicast source node 0 sends the first message to the next hop node (forwarding node 6), and the specific processing flow is consistent with the aforementioned embodiment and is not repeated here.
  • the first message is forwarded along the forwarding path indicated by the refreshed first MDT, so that each node on the refreshed first MDT constructs the refreshed first MDT.
  • the refreshed first MDT is shown in Figure 18, which is a schematic diagram of another communication scenario involved in an embodiment of the present application.
  • Figure 19 is a schematic diagram of another communication scenario involved in the embodiment of the present application.
  • the multicast source node 0 perceives that the multicast destination node 3 exits the first multicast group through a routing protocol or other means.
  • the multicast source node 0 triggers a refresh of the first MDT.
  • the specific method is as follows: the multicast source node 0 constructs a first message, and the address information of the multicast destination node 3 is deleted from the first multicast information included in the first message.
  • the multicast source node 0 sends the first message to the next hop node (forwarding node 6), and the specific processing flow is consistent with the aforementioned embodiment and is not repeated here.
  • the first message is forwarded along the forwarding path indicated by the refreshed first MDT, so that each node on the refreshed first MDT constructs the refreshed first MDT.
  • the refreshed first MDT is shown in Figure 20, which is a schematic diagram of another communication scenario involved in the embodiment of the present application.
  • the MDT when the multicast destination node in the multicast group changes, the MDT can be efficiently constructed. Compared with the current method for constructing the MDT, the performance requirements for the communication device can be effectively reduced, the occupancy rate of the network bandwidth resources can be reduced, and the communication efficiency can be improved.
  • the following describes a communication device according to an embodiment of the present application.
  • the communication device described below has any function of the first communication device or the second communication device in the above method embodiment.
  • FIG21 is a schematic diagram of the structure of a communication device 2100 provided in an embodiment of the present application.
  • the communication device 2100 includes: a transceiver module 2102 and a processing module 2101 .
  • the communication device 2100 can correspond to the first communication device or the second communication device in the above-mentioned method embodiment.
  • the various units in the communication device 2100 and the above-mentioned other operations and/or functions are respectively for implementing the various steps and methods implemented by the first communication device or the second communication device in the method embodiment.
  • the specific details can be found in the above-mentioned method embodiment. For the sake of brevity, they will not be repeated here.
  • the communication device 2100 is used as a first communication device, and the communication device 2100 includes:
  • the processing module 2101 is configured to construct a first message, where the first message carries first multicast information, where the first multicast information indicates a communication device included in a first multicast group, and the first communication device is a multicast source node in the first multicast group;
  • the transceiver module 2102 is configured to send the first message to the second communication device, wherein the first message instructs the second communication device to build a first multicast distribution tree MDT, and multicast data in the first multicast group is forwarded along the multicast forwarding path indicated by the first multicast distribution tree MDT.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the address information of the multicast source node is the Internet Protocol IP address of the multicast source node
  • the address information of the first multicast group is a Class D multicast IP address
  • the address information of the multicast destination node is the IP address of the multicast destination node.
  • the first message carries a first identifier, and the first identifier indicates that the first message is used to construct the first MDT.
  • the first identifier is a User Datagram Protocol UDP destination port number.
  • the transceiver module 2102 is further configured to obtain a node information set, wherein the node information set includes node information of a plurality of nodes, wherein the plurality of nodes belong to the first multicast group, and the address information of the multicast sink node belongs to the node information set;
  • the processing module 2101 is further configured to construct the first message according to the node information set.
  • the processing module 2101 is further configured to obtain the node information set after creating the communication domain corresponding to the first multicast group;
  • the processing module 2101 is further configured to obtain a configuration file of node information in the first multicast group, where the configuration file of node information in the first multicast group includes the node information set.
  • the processing module 2101 is further configured to determine, according to the first multicast information, the address information of the second communication device from the routing table of the first communication device, and use the address information of the second communication device as the destination address of the first message.
  • the processing module 2101 is further configured to determine the address information of the second communication device from the routing table of the first communication device according to the address information of the multicast destination node.
  • the transceiver module 2102 is further configured to obtain address information of the first multicast group after creating the communication domain corresponding to the first multicast group;
  • the processing module 2101 is further configured to determine the address information of the first multicast group according to a configuration file of the node information in the first multicast group.
  • the processing module 2101 is further configured to determine that the multicast destination node included in the first multicast group changes
  • the processing module 2101 is further configured to modify the first message in response to a change in a multicast destination node included in the first multicast group, wherein the first multicast information carried by the modified first message corresponds to the changed first multicast group.
  • the processing module 2101 is further configured to modify the first message in response to the first node going offline, wherein the first multicast information carried by the modified first message does not include the address information of the first node, wherein the first node belongs to the first multicast group;
  • the processing module 2101 is further used to modify the first message in response to the second node coming online, and the first multicast information carried by the modified first message includes the address information of the second node, wherein before the second node comes online, the second node does not belong to the first multicast group.
  • the communication device 2100 is used as a second communication device, and the communication device 2100 includes:
  • the transceiver module 2102 is configured to receive a first message from a previous hop node, where the first message carries first multicast information, where the first multicast information indicates a communication device included in a first multicast group, where multicast data in the first multicast group is forwarded along a multicast forwarding path indicated by a first multicast distribution tree MDT, and where the first communication device is a multicast source node in the first multicast group;
  • the processing module 2101 is configured to determine a multicast forwarding path indicated by the first MDT according to the first multicast information
  • the transceiver module 2102 is further used to send the first message to a third communication device according to the multicast forwarding path corresponding to the first MDT, wherein the third communication device is the next hop node of the second communication device in the multicast forwarding path indicated by the first MDT, and the first message instructs the third communication device to construct the first MDT.
  • the first multicast information includes: address information of the multicast source node, address information of the first multicast group, and address information of the multicast destination node in the first multicast group.
  • the processing module 2101 is further configured to determine a first multicast forwarding table according to the first multicast information, wherein the first multicast forwarding table includes a target outbound interface, the target outbound interface can reach the multicast destination node included in the first multicast group, and the first multicast forwarding table indicates a multicast forwarding path corresponding to the first MDT.
  • the processing module 2101 is further configured to determine the first multicast forwarding table according to the first multicast information
  • the processing module 2101 is further configured to determine the target outgoing interface in the routing table of the second communication device according to the first multicast information
  • the processing module 2101 is further configured to update the first multicast forwarding table according to the target outbound interface, wherein the updated first multicast forwarding table includes the target outbound interface.
  • the processing module 2101 is further configured to determine a first key value from the first multicast information, where the first key value includes part of the first multicast information;
  • the processing module 2101 is further configured to search, according to the first key value, whether the second communication device has the first multicast forwarding table associated with the first key value;
  • the processing module 2101 is further configured to create the first multicast forwarding table if it does not exist;
  • the processing module 2101 is further configured to determine the first multicast forwarding table if it exists.
  • the processing module 2101 is further configured to determine a first outbound interface set from a routing table of the second communication device according to the first multicast information, wherein the outbound interfaces included in the first outbound interface set can reach the multicast destination node, and the first outbound interface set includes at least one outbound interface;
  • the processing module 2101 is further used to detect whether there is a third outbound interface set, where the third outbound interface set is the intersection of the first outbound interface set and the second outbound interface set, the third outbound interface set includes at least one outbound interface, and the second outbound interface set is the outbound interface included in the first multicast forwarding table;
  • the processing module 2101 is further configured to determine the target outbound interface from the third outbound interface set if the third outbound interface set exists;
  • the processing module 2101 is further configured to determine the target outbound interface from the first outbound interface set if the third outbound interface set does not exist.
  • the processing module 2101 is further configured to classify the plurality of multicast sink nodes included in the first multicast group according to the multicast forwarding path corresponding to the first MDT, to obtain a first classification result, wherein the first classification result indicates one or more groups of the multicast sink nodes, wherein the same group of the multicast sink nodes corresponds to the same target outbound interface in the second communication device;
  • the processing module 2101 is further configured to update the first message according to the first classification result, where the updated first message carries second multicast information, where the second multicast information includes address information of the same group of multicast sink nodes indicated by the first classification result;
  • the transceiver module 2102 is further configured to forward the updated first message to the third communication device, wherein the third communication device is the next hop node indicated by the second multicast information.
  • the processing module 2101 is further configured to determine, according to the multicast forwarding path corresponding to the first MDT, information of multiple outbound interfaces corresponding to the multicast sink node in the second communication device;
  • the processing module 2101 is also used to determine the target outbound interface corresponding to the multicast destination node based on the multiple outbound interface information corresponding to the multicast destination node, wherein, when the forwarding path for the second communication device to reach the multicast destination node includes multiple equal-cost paths, the forwarding path corresponding to the target outbound interface is determined from the multiple equal-cost paths according to a preset rule.
  • the communication device 2100 executes the above method embodiment, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the communication device 2100 is divided into different functional modules to complete all or part of the functions described above.
  • the communication device 2100 provided in the above embodiment and the embodiment method corresponding to Figures 6 to 20 above belong to the same concept, and the specific implementation process is detailed in the above method embodiment, which will not be repeated here.
  • the present application further provides a communication device.
  • Figure 22 is a schematic diagram of the structure of a communication device 2200 provided in an embodiment of the present application.
  • the communication device 2200 shown in Figure 22 shows certain specific features, those skilled in the art will realize from the embodiments of the present application that, for the sake of brevity, various other features are not shown in Figure 22 to avoid confusing more relevant aspects of the embodiments disclosed in the embodiments of the present application.
  • the communication device 2200 includes one or more processing units (such as CPU) 2201, a network interface 2202, a programming interface 2203, a memory 2204 and one or more communication buses 2205 for interconnecting various components.
  • the communication device 2200 can also omit or increase some functional components or units based on the above examples.
  • the network interface 2202 is used to connect to one or more other communication devices/servers in the network system.
  • the communication bus 2205 includes circuits for interconnecting and controlling communication between system components.
  • the memory 2204 may include non-volatile memory, such as read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), or flash memory.
  • the memory 2204 may also include volatile memory, which may be random access memory (RAM), which is used as an external cache.
  • memory 2204 or a non-temporary computer-readable storage medium of memory 2204 stores the following programs, modules, and data structures, or a subset thereof, including, for example, a transceiver unit (not shown), an acquisition unit 22041 , and a processing unit 22042 .
  • the communication device 2200 may have any functions of the first communication device or the second communication device in the method embodiments corresponding to FIG. 6 to FIG. 20 above.
  • the communication device 2200 corresponds to the first communication device or the second communication device in the above-mentioned method embodiment, and the various modules in the communication device 2200 and the above-mentioned other operations and/or functions are respectively for realizing the various steps and methods implemented by the first communication device or the second communication device in the above-mentioned method embodiment.
  • the various modules in the communication device 2200 and the above-mentioned other operations and/or functions are respectively for realizing the various steps and methods implemented by the first communication device or the second communication device in the above-mentioned method embodiment.
  • the data sending and receiving operations can be completed by the network interface 2202 on the communication device 2200, or the processor can call the program code in the memory and cooperate with the network interface 2202 to implement the functions of the transceiver unit when necessary.
  • the communication device 2200 is used to execute the multicast communication method provided in the embodiments of the present application, for example, to execute the multicast communication method corresponding to the embodiments shown in Figures 6 to 20 above.
  • FIG. 23 is a schematic diagram of the structure of a communication device 2300 provided in an embodiment of the present application.
  • the communication device 2300 includes: a main control board 2310 and an interface board 2330 .
  • the main control board 2310 is also called a main processing unit (MPU) or a route processor.
  • the main control board 2310 is used to control and manage various components in the communication device 2300, including routing calculation, device management, device maintenance, and protocol processing functions.
  • the main control board 2310 includes: a central processing unit 2311 and a memory 2312.
  • the interface board 2330 is also called a line processing unit (LPU), a line card or a service board.
  • the interface board 2330 is used to provide various service interfaces and realize the forwarding of data packets.
  • the service interfaces include but are not limited to Ethernet interfaces, POS (Packet over SONET/SDH) interfaces, etc.
  • the interface board 2330 includes: a central processing unit 2331, a network processor 2332, a forwarding table entry memory 2334 and a physical interface card (PIC) 2333.
  • PIC physical interface card
  • the central processor 2331 on the interface board 2330 is used to control and manage the interface board 2330 and communicate with the central processor 2311 on the main control board 2310 .
  • the physical interface card 2333 is used to implement the docking function of the physical layer, and the original traffic enters the interface board 2330 from it, and the processed message is sent from the physical interface card 2333.
  • the physical interface card 2333 includes at least one physical interface, which is also called a physical port.
  • the physical interface can be a Flexible Ethernet (FlexE) physical interface.
  • the physical interface card 2333 is also called a daughter card, which can be installed on the interface board 2330 and is responsible for converting the optical signal into a message and forwarding the message to the network processor 2332 for processing after checking the legitimacy of the message.
  • the central processor 2331 of the interface board 2330 can also perform the functions of the network processor 2332, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 2332 is not required in the interface board 2330.
  • the communication device 2300 includes multiple interface boards.
  • the communication device 2300 also includes an interface board 2340 .
  • the interface board 2340 includes: a central processor 2341 , a network processor 2342 , a forwarding table entry memory 2344 , and a physical interface card 2343 .
  • the communication device 2300 further includes a switching fabric board 2320.
  • the switching fabric board 2320 may also be referred to as a switch fabric unit (SFU).
  • SFU switch fabric unit
  • the switching fabric board 2320 is used to complete data exchange between the interface boards.
  • the interface board 2330 and the interface board 2340 may communicate via the switching fabric board 2320.
  • the main control board 2310 is coupled to the interface board.
  • the main control board 2310, the interface board 2330, the interface board 2340, and the switching network board 2320 are interconnected through a system bus and/or a system backplane.
  • an inter-process communication (IPC) channel is established between the main control board 2310 and the interface board 2330, and the main control board 2310 and the interface board 2330 communicate through the IPC channel.
  • IPC inter-process communication
  • the communication device 2300 includes a control plane and a forwarding plane.
  • the control plane includes a main control board 2310 and a central processing unit 2331.
  • the forwarding plane includes various components for performing forwarding, such as a forwarding table entry memory 2334, a physical interface card 2333, and a network processor 2332.
  • the control plane performs functions such as publishing routes, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the status of the device.
  • the control plane sends the generated forwarding table to the forwarding plane.
  • the network processor 2332 forwards the message received by the physical interface card 2333 based on the forwarding table sent by the control plane.
  • the forwarding table sent by the control plane can be stored in the forwarding table entry memory 2334. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.
  • the transceiver module in the communication device 2100 can be equivalent to the physical interface card 2333 or the physical interface card 2343 in the communication device 2300; the acquisition unit 22041 and the processing unit 22042 in the communication device 2200 can be equivalent to the central processor 2311 or the central processor 2331 in the communication device 2300, and can also be equivalent to the program code or instructions stored in the memory 2312.
  • the operation on the interface board 2340 in the embodiment of the present application is consistent with the operation of the interface board 2330, and for the sake of brevity, it will not be repeated.
  • the communication device 2300 of this embodiment can correspond to the first communication device or the second communication device in the above-mentioned various method embodiments, and the main control board 2310, the interface board 2330 and/or the interface board 2340 in the communication device 2300 can implement the functions and/or various steps of the first communication device or the second communication device in the above-mentioned various method embodiments, and for the sake of brevity, it will not be repeated here.
  • the communication device may have at least one switching network board, and the data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities.
  • the form of the communication device may also be only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on the board.
  • the central processor on the interface board and the central processor on the main control board can be merged into one central processor on the board to perform the functions of the two superimposed. Which architecture is adopted depends on the specific networking deployment scenario, and it is not limited here.
  • the first communication device or the second communication device may be implemented as a virtualized device.
  • the virtualized device may be a virtual machine (VM), a virtual router or a virtual switch running a program for sending a message.
  • the virtualized device is deployed on a hardware device (e.g., a physical server).
  • a hardware device e.g., a physical server.
  • the first communication device or the second communication device may be implemented based on a general physical server in combination with network functions virtualization (NFV) technology.
  • NFV network functions virtualization
  • the embodiment of the present application also provides a computer-readable storage medium, including instructions, which, when executed on a computer, enables the computer to control a terminal device to execute any one of the implementation methods shown in the aforementioned method embodiments.
  • the embodiments of the present application also provide a computer program product, which includes a computer program code.
  • the computer program code runs on a computer, the computer executes any one of the implementation methods shown in the aforementioned method embodiments.
  • the embodiment of the present application further provides a chip system, including a processor and an interface circuit, wherein the interface circuit is used to receive instructions and transmit them to the processor.
  • the processor is used to implement the method in any of the above method embodiments.
  • the chip system further includes a memory
  • the processor in the chip system may be one or more.
  • the processor may be implemented by hardware or software.
  • the processor may be a logic circuit, an integrated circuit, etc.
  • the processor may be a general-purpose processor that implements the method in any of the above method embodiments by reading the software code stored in the memory.
  • the memory in the chip system may be one or more.
  • the memory may be integrated with the processor or may be separately provided with the processor, which is not limited in the present application.
  • the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be provided on different chips.
  • the present application does not specifically limit the type of memory and the arrangement of the memory and the processor.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean determining B only according to A, and B can also be determined according to A and/or other information.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of units is only a logical function division. There may be other division methods in actual implementation.
  • multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Sont divulgués dans les modes de réalisation de la présente demande un procédé de communication en multidiffusion et un appareil associé. Un premier appareil de communication construit et transfère un premier message de telle sorte qu'un second appareil de communication faisant également partie d'un premier arbre de distribution de multidiffusion (MDT) construit le premier MDT. Le premier message transporte des premières informations de multidiffusion. Les premières informations de multidiffusion indiquent un appareil de communication intégré dans un premier groupe de multidiffusion. Par conséquent, le premier message peut être transféré suivant un trajet de transfert de multidiffusion indiqué par le premier MDT, de sorte que tous les appareils de communication sur le trajet de transfert de multidiffusion peuvent construire le premier MDT en fonction du premier message. La construction efficace d'un MDT est réalisée au moyen du premier message transportant les premières informations de multidiffusion. Par rapport au procédé actuel de construction de MDT, les exigences de performances relatives aux appareils de communication peuvent être efficacement réduites. Le taux d'occupation des ressources de bande passante de réseau est réduit. L'efficacité de communication est accrue. Par conséquent, le taux de convergence de construction du MDT est amélioré et une construction rapide du MDT est exécutée.
PCT/CN2024/096987 2023-06-13 2024-06-03 Procédé de communication en multidiffusion et appareil associé Ceased WO2024255629A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310699905.1A CN119135597A (zh) 2023-06-13 2023-06-13 一种组播通信方法以及相关装置
CN202310699905.1 2023-06-13

Publications (1)

Publication Number Publication Date
WO2024255629A1 true WO2024255629A1 (fr) 2024-12-19

Family

ID=93747019

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/096987 Ceased WO2024255629A1 (fr) 2023-06-13 2024-06-03 Procédé de communication en multidiffusion et appareil associé

Country Status (2)

Country Link
CN (1) CN119135597A (fr)
WO (1) WO2024255629A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8908686B1 (en) * 2010-12-08 2014-12-09 Juniper Networks, Inc. Distributed generation of hierarchical multicast forwarding structures
CN115134289A (zh) * 2021-03-22 2022-09-30 华为技术有限公司 组播报文发送方法及装置
CN115801663A (zh) * 2022-11-28 2023-03-14 中国联合网络通信集团有限公司 一种路由生成方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8908686B1 (en) * 2010-12-08 2014-12-09 Juniper Networks, Inc. Distributed generation of hierarchical multicast forwarding structures
CN115134289A (zh) * 2021-03-22 2022-09-30 华为技术有限公司 组播报文发送方法及装置
CN115801663A (zh) * 2022-11-28 2023-03-14 中国联合网络通信集团有限公司 一种路由生成方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NOKIA, NOKIA SHANGHAI BELL: "KI #1, new Solution Integrated Multicast and Unicast Transport with multicast distribution tree established by RAN nodes", 3GPP DRAFT; S2-2004279, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG2, no. Electronic meeting; 20200601 - 20200612, 22 May 2020 (2020-05-22), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051890280 *

Also Published As

Publication number Publication date
CN119135597A (zh) 2024-12-13

Similar Documents

Publication Publication Date Title
US8009671B2 (en) Multicast method and multicast routing method
US7839850B2 (en) Forming equal cost multipath multicast distribution structures
US8429296B2 (en) Method and apparatus for distributing routing instructions over multiple interfaces of a data router
Li et al. ESM: Efficient and scalable data center multicast routing
CN101035057B (zh) 建立组播共享树的方法和数据传送的方法、通信网络
US11190367B2 (en) Multicast forwarding method and multicast router
Jia A scalable multicast source routing architecture for data center networks
EP3965368B1 (fr) Selection de mode de replication pour multidiffusion dans un evpn
CN109981308B (zh) 报文传输方法及装置
US8270395B2 (en) Forming multicast distribution structures using exchanged multicast optimization data
US10389618B2 (en) Distributing network path information in a network environment
CN119172187B (zh) 一种基于组播树的服装设计消息收发方法及系统
US11018886B1 (en) Methods and apparatus for selectively filtering an IP multicast data stream for selected group members of a multicast group
CN102077508A (zh) 在多节点间通过网络对数据进行接收和转发的组播通信方法及装置
CN100417141C (zh) 一种组播业务实现方法
EP2892196A1 (fr) Procédé, noeud de réseau et système pour mettre en uvre une diffusion groupée point à multipoint
US20160043878A1 (en) Multicast communications method and aggregation switch
CN100477635C (zh) 一种域间组播的传输方法及边缘设备
US11329907B2 (en) Establishing a multicast flow path through a network using multicast resources currently associated with a different multicast flow path
CN110324247B (zh) 三层组播网络中的组播转发方法、设备及存储介质
WO2024255629A1 (fr) Procédé de communication en multidiffusion et appareil associé
CN101013948A (zh) 构建等耗多径多播分发结构
CN115102806B (zh) 组播数据传输方法、装置、系统及存储介质
WO2012103748A1 (fr) Procédé de commande de multidiffusion, dispositif de routage et système de multidiffusion
Liao et al. Prototype for customized multicast services in software defined networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24822581

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE