Nothing Special   »   [go: up one dir, main page]

CN118337792A - Reliable transmission method and device for P2MP data - Google Patents

Reliable transmission method and device for P2MP data Download PDF

Info

Publication number
CN118337792A
CN118337792A CN202310037879.6A CN202310037879A CN118337792A CN 118337792 A CN118337792 A CN 118337792A CN 202310037879 A CN202310037879 A CN 202310037879A CN 118337792 A CN118337792 A CN 118337792A
Authority
CN
China
Prior art keywords
node
nodes
p2mp
data
identification information
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.)
Pending
Application number
CN202310037879.6A
Other languages
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
Priority to CN202310037879.6A priority Critical patent/CN118337792A/en
Priority to PCT/CN2023/140662 priority patent/WO2024149043A1/en
Publication of CN118337792A publication Critical patent/CN118337792A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Landscapes

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

Abstract

A reliable transmission method of P2MP data is applied to a first node, wherein the first node is a node in a P2MP communication domain, the P2MP communication domain comprises a plurality of nodes, the first node is one of the plurality of nodes, and a logic interconnection network is built among the plurality of nodes, and the method comprises the following steps: receiving a P2MP data packet sent by a second node in a P2MP communication domain, wherein the P2MP data packet at least comprises P2MP data, and the second node is one of a plurality of nodes; determining a neighbor node in the logical interconnection network according to the forwarding table of the first node; and sending a response message to one neighbor node according to the state of receiving the P2MP data, and executing a reliable transmission processing task related to the P2MP data received by the first node by the one neighbor node. Therefore, by establishing a logic interconnection network among a plurality of nodes in the P2MP communication domain, the tasks of reliable transmission processing of the P2MP data are executed only by the source node, and the tasks are distributed to the plurality of nodes in the P2MP communication domain, so that single-point processing pressure can be effectively reduced.

Description

Reliable transmission method and device for P2MP data
Technical Field
The present application relates to the field of communications networks, and in particular, to a method and apparatus for reliably transmitting P2MP data.
Background
Point-to-multipoint (point to multiple point, P2 MP) communication refers to communication between a source node that sends multicast data and a series of receiving nodes that receive the multicast data.
At present, a reliable guarantee mechanism for transmitting/receiving P2MP data generally establishes a unicast reliable transmission connection of a transmission layer between a source node and each receiving node of the P2MP data, and guarantees reliable transmission through the reliable transmission connection, or establishes a reliable transmission mechanism at an application layer based on unreliable datagram connection of the transmission layer. However, when the communication node in the P2MP communication domain has a large scale, the resource consumption required by the source node to independently maintain the reliable transmission mechanism may be serious; or when frequent switching of multicast sources occurs in the P2MP communication domain, the overhead of establishing reliable P2MP data transmission connection on the control plane may be too large, which eventually results in that the reliability of multicast data transmission cannot be guaranteed. Therefore, an efficient reliable P2MP data transmission guarantee mechanism needs to be established.
Disclosure of Invention
The application provides a reliable transmission method, a reliable transmission device, electronic equipment, a computer readable storage medium and a computer program product of P2MP data, which can efficiently ensure the reliable transmission of the P2MP data when the communication node scale in the P2MP communication domain is large and the multicast source switching frequency occurs in the P2MP communication domain.
In a first aspect, the present application provides a method for reliably transmitting P2MP data, applied to a first node, where the first node is a node in a P2MP communication domain, and the P2MP communication domain includes a plurality of nodes, the first node is one of the plurality of nodes, and a logical interconnection network is built between the plurality of nodes, and each node has respective identification information, where the method includes: receiving a P2MP data packet sent by a second node in a P2MP communication domain; the P2MP data packet at least comprises P2MP data, and the second node is one of a plurality of nodes; determining the identification information of a third node according to the forwarding table of the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; and sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node.
Therefore, by establishing a logic interconnection network for a plurality of nodes in the P2MP communication domain, the tasks of reliable transmission processing of P2MP data are executed only by the source node, and the tasks are distributed to the plurality of nodes in the P2MP communication domain, so that single-point processing pressure can be effectively reduced.
In one possible implementation, the P2MP data packet includes at least P2MP data, a sequence number of the P2MP data; according to the state of receiving the P2MP data and the identification information of the third node, sending a response message to the third node, wherein the response message comprises the following components: when the state of receiving the P2MP data is in error, sending a response message to the third node; the response message at least comprises identification information of the first node, a serial number of the P2MP data and a state flag of the received P2MP data, the state flag of the received P2MP data is set as NAK, and NAK indicates that the received P2MP data is wrong; the method further comprises the steps of: and receiving the correct P2MP data packet retransmitted by the third node.
In one possible implementation manner, the P2MP data packet includes at least P2MP data and identification information of the second node; determining the identification information of the third node according to the forwarding table of the first node, including: determining the identification information of a third node according to the forwarding table of the first node and the identification information of the second node; wherein the forwarding table of the first node comprises at least one field { key: value, the key in the field is the identification information or wild card of the second node, and the value in the field is the identification information of the third node.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: each of the plurality of nodes has at least one neighbor node, each of the plurality of nodes establishes a direct connection with the neighbor node, and the neighbor nodes of each of the plurality of nodes do not establish a direct connection therebetween.
In one possible implementation, the logical interconnection network is established by a connection between a plurality of nodes, where the connection between the plurality of nodes includes: the plurality of nodes are divided into a plurality of node groups, each node group comprises a first node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the first nodes in the plurality of node groups are connected.
In a second aspect, the present application provides a reliable transmission method of P2MP data, applied to a third node, where the third node is a node in a P2MP communication domain, and the P2MP communication domain includes a plurality of nodes, the third node is one of the plurality of nodes, a logical interconnection network is built between the plurality of nodes, and each node has respective identification information, and the method includes: receiving a response message from the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; the response message at least comprises identification information of the first node and a state mark of the first node for receiving P2MP data; the P2MP data is contained in a P2MP data packet, the P2MP data packet is sent by a second node in a P2MP communication domain, and the second node is one of a plurality of nodes; updating a management table of the third node according to the response message of the first node; the management table includes at least a state in which the first node receives P2MP data.
Therefore, by establishing a logic interconnection network for a plurality of nodes in the P2MP communication domain, the tasks of reliable transmission processing of P2MP data are executed only by the source node, and the tasks are distributed to the plurality of nodes in the P2MP communication domain, so that single-point processing pressure can be effectively reduced.
In one possible implementation, after receiving the reply message from the first node, the method further includes: judging whether a state mark of the P2MP data received by the first node in the response message of the first node is NAK, if so, retransmitting a correct P2MP data packet to the first node, and starting a timer; wherein NAK indicates that P2MP data received by the first node is erroneous; a reply message is received from the first node, and the timer is closed.
In one possible implementation manner, the P2MP data packet includes at least P2MP data and identification information of the second node; updating the management table of the third node according to the response message of the first node, including: updating the state mark of the P2MP data received by the first node in the management table of the third node according to the identification information of the first node and the state mark of the P2MP data received by the first node; wherein the management table of the second node comprises at least one field { key: value: state }, the key in the field is the identification information or wild card of the second node, the value in the field is the identification information of the first node, and the state in the field is the state flag of the first node receiving the P2MP data.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: each of the plurality of nodes has at least one neighbor node, each of the plurality of nodes establishes a direct connection with the neighbor node, and the neighbor nodes of each of the plurality of nodes do not establish a direct connection therebetween.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: the plurality of nodes are divided into a plurality of node groups, each node group comprises a third node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the third nodes in the plurality of node groups are connected.
In a third aspect, the present application provides a reliable transmission device for P2MP data, deployed in a first node, where the first node is a node in a P2MP communication domain, and the P2MP communication domain includes a plurality of nodes, the first node is one of the plurality of nodes, and a logical interconnection network is built between the plurality of nodes, and each node has respective identification information, where the device includes: the communication module is used for receiving a P2MP data packet sent by the second node in a P2MP communication domain; the P2MP data packet at least comprises P2MP data, and the second node is one of a plurality of nodes; the processing module is used for determining the identification information of the third node according to the forwarding table of the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; and the processing module is also used for sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node.
In one possible implementation, the P2MP data packet includes at least P2MP data, and a sequence number of the P2MP data; the processing module is used for sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node, and the response message is used for: when the state of receiving the P2MP data is in error, sending a response message to the third node; the response message at least comprises identification information of the first node, a serial number of the P2MP data and a state flag of the received P2MP data, the state flag of the received P2MP data is set as NAK, and NAK indicates that the received P2MP data is wrong; the communication module is also for: and receiving the correct P2MP data packet retransmitted by the third node.
In one possible implementation manner, the P2MP data packet includes at least P2MP data and identification information of the second node; when the processing module determines the identification information of the third node according to the forwarding table of the first node, the processing module is configured to: determining the identification information of a third node according to the forwarding table of the first node and the identification information of the second node; wherein the forwarding table of the first node comprises at least one field { key: value, the key in the field is the identification information or wild card of the second node, and the value in the field is the identification information of the third node.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: each of the plurality of nodes has at least one neighbor node, each of the plurality of nodes establishes a direct connection with the neighbor node, and the neighbor nodes of each of the plurality of nodes do not establish a direct connection therebetween.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: the plurality of nodes are divided into a plurality of node groups, each node group comprises a first node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the first nodes in the plurality of node groups are connected.
In a fourth aspect, the present application provides a reliable transmission device for P2MP data, deployed at a third node, where the third node is a node in a P2MP communication domain, and the P2MP communication domain includes a plurality of nodes, the third node is one of the plurality of nodes, a logical interconnection network is built between the plurality of nodes, and each node has respective identification information, and the device includes: the communication module is used for receiving the response message from the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; the response message at least comprises identification information of the first node and a state mark of the first node for receiving P2MP data; the P2MP data is contained in a P2MP data packet, the P2MP data packet is sent by a second node in a P2MP communication domain, and the second node is one of a plurality of nodes; the processing module is used for updating the management table of the third node according to the response message of the first node; the management table includes at least a state in which the first node receives P2MP data.
In one possible implementation, after the processing module receives the response message from the first node, the processing module is further configured to: judging whether a state mark of the P2MP data received by the first node in the response message of the first node is NAK, if so, retransmitting a correct P2MP data packet to the first node, and starting a timer; wherein NAK indicates that P2MP data received by the first node is erroneous; the communication module is also for: a reply message is received from the first node, and the timer is closed.
In one possible implementation manner, the P2MP data packet includes at least P2MP data and identification information of the second node; the processing module is used for updating the management table of the second node according to the response message of the first node when: updating the state mark of the first node for receiving the P2MP data in the management table of the second node according to the identification information of the first node and the state mark of the first node for receiving the P2MP data; wherein the management table of the second node comprises at least one field { key: value: state }, the key in the field is the identification information or wild card of the second node, the value in the field is the identification information of the first node, and the state in the field is the state flag of the first node receiving the P2MP data.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: each of the plurality of nodes has at least one neighbor node, each of the plurality of nodes establishes a direct connection with the neighbor node, and the neighbor nodes of each of the plurality of nodes do not establish a direct connection therebetween.
In one possible implementation manner, the connection establishment between the plurality of nodes is performed by the logic interconnection network, and the connection between the plurality of nodes includes: the plurality of nodes are divided into a plurality of node groups, each node group comprises a third node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the third nodes in the plurality of node groups are connected.
In a fifth aspect, the present application provides an electronic device, comprising: at least one memory for storing a program; at least one processor for executing programs stored in the memory; wherein the processor is adapted to perform the method described in the first aspect or any one of the possible implementations of the first aspect or to perform the method described in the second aspect or any one of the possible implementations of the second aspect when the program stored in the memory is executed.
In a sixth aspect, the present application provides a computer readable storage medium storing a computer program which, when run on a processor, causes the processor to perform the method described in the first aspect or any one of the possible implementations of the first aspect or the method described in the second aspect or any one of the possible implementations of the second aspect.
In a seventh aspect, the present application provides a computer program product which, when run on a processor, causes the processor to perform the method described in the first aspect or any one of the possible implementations of the first aspect or to perform the method described in the second aspect or any one of the possible implementations of the second aspect.
It will be appreciated that the advantages of the third to seventh aspects may be found in the relevant description of the first to second aspects, and are not described here again.
Drawings
Fig. 1 is a schematic diagram of an encoding process for establishing an MPI communication domain;
FIG. 2 is a schematic diagram of a typical MPI interface using the P2MP communication model;
Fig. 3 is a flow chart of network layer multicast forwarding and application layer multicast forwarding of P2MP data;
fig. 4 is a schematic diagram showing significant features of P2MP data forwarding in a P2MP communication domain;
FIG. 5 is a schematic diagram illustrating a problem description of reliable forwarding of P2MP data;
fig. 6a is a physical interconnection network established between nodes in a P2MP communication domain according to an embodiment of the present application;
fig. 6b is a forwarding path of P2MP data in a physical interconnection network according to an embodiment of the present application;
fig. 7a is a logical interconnection network established between nodes in a P2MP communication domain according to an embodiment of the present application;
fig. 7b is a reliable transmission confirmation relationship of P2MP data in a logical interconnection network according to an embodiment of the present application;
FIG. 8 is a logical Internet established based on a quick response strategy according to an embodiment of the present application;
Fig. 9 is a flowchart of a reliable transmission method of P2MP data according to an embodiment of the present application;
Fig. 10 is a flowchart of a reliable transmission method of P2MP data according to an embodiment of the present application;
FIG. 11 is a logical interconnection network and forwarding representation intent provided by an embodiment of the present application;
fig. 12 is a flowchart of a reliable transmission method of P2MP data according to an embodiment of the present application;
fig. 13a is a network layer packet resource allocation diagram based on RC connection in a P2MP communication domain according to an embodiment of the present application;
fig. 13b is a schematic diagram of a logical connection based on a data plane in a P2MP communication domain according to an embodiment of the present application;
fig. 13c is a schematic diagram of a control plane-based logical connection in a P2MP communication domain according to an embodiment of the present application;
fig. 14 is a schematic diagram of a reliable transmission device for P2MP data according to an embodiment of the present application;
Fig. 15 is a schematic diagram of a reliable P2MP data transmission device according to an embodiment of the present application.
Detailed Description
The term "and/or" herein is an association relationship describing an associated object, and means that there may be three relationships, for example, a and/or B may mean: a exists alone, A and B exist together, and B exists alone. The symbol "/" herein indicates that the associated object is or is a relationship, e.g., A/B indicates A or B.
The terms "first" and "second" and the like in the description and in the claims are used for distinguishing between different objects and not for describing a particular sequential order of objects. For example, the first response message and the second response message, etc. are used to distinguish between different response messages, and are not used to describe a particular order of response messages.
In embodiments of the application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the embodiments of the present application, unless otherwise specified, the meaning of "plurality" means two or more, for example, the meaning of a plurality of processing units means two or more, or the like; the plurality of elements means two or more elements and the like.
Parallel computing is largely used in traffic scenarios such as high performance computing (high performance computing, HPC), artificial intelligence (ARTIFICIAL INTELLIGENCE, AI), etc., while message passing interfaces (MESSAGE PASSING INTERFACE, MPI) are a set of specifications or interfaces for message passing between nodes such as CPUs, servers, etc. participating in parallel computing, MPI supporting point-to-point (P2P) communication mode and group communication (collective communication, CC) mode. The peer-to-peer communication supports communication between a pair of processes, and group communication is carried out by setting a designated process group, wherein all processes in the group participate in global data processing and communication operation, and one process is carried on a node such as a CPU or a server. MPI builds a plurality of different application program interfaces (application program interface, APIs) based on different parallel computing demand models, and the MPI interfaces complete data movement, aggregation or synchronization through different communication modes.
In the group communication mode, typically, a related set of processes is designated to establish an MPI communication domain, and the processes in the communication domain together implement all or part of the application functions of the HPC or AI.
Fig. 1 shows a coding process for setting up an MPI communication domain. As shown in fig. 1, the code establishment communication fields comm1 and comm2 are divided into the following steps: the first step, appointing the communication domain member, wherein the communication domain member comprises all or self-appointing partial processes of the system, for example, the process positioned in the Group1 is appointed in the system by calling the function MPI_group_in (), or the process positioned in the Group2 is excluded in the system by calling the function MPI_group_ excl (); secondly, creating a communication domain, which is realized by calling a function MPI_Comm_create (); third, multicast data transmission/reception is achieved by calling an MPI interface mpi_bcast ().
By way of example, commonly used MPI interfaces include MPI_Bcast (), MPI_Allreduce (), MPI_Scater (), MPI_reduce_scan (), and the like. Among these typical MPI APIs, P2MP mode is largely used for communication.
Fig. 2 shows a typical MPI interface using the P2MP communication model. As shown in fig. 2, the execution system constructs an MPI communication domain containing four processes according to the request of the application program. The four processes are respectively run on the hardware devices GPU0-GPU 3. Next, four corresponding members in the communication domain, or referred to as nodes, or processes, are referred to as "GPU0-GPU3" for illustration.
As shown in fig. 2 (a), the application execution device uses the mpi_bcast interface to implement data movement in the MPI communication domain using a P2MP communication model of single-shot multi-receive (1sender n receivers,1SnR). For example, one communication member GPU0 in the communication domain is selected as a source node for data forwarding, and the other three communication members GPU1-GPU3 are selected as receiving nodes. The source node GPU0 sends the received and stored data "A" to three receiving nodes GPU0-GPU3 in a P2MP mode, and the receiving nodes GPU1-GPU3 store the received data "A". So far, the hardware devices GPU0 to GPU3 can execute different processes according to the allocation instruction of the execution device based on the received data "a" so as to complete the calculation task of the data "a" in parallel.
As shown in fig. 2 (b), the application program execution system uses the mpi_allreduce () interface to implement data aggregation and movement using a model of multiple-input multiple-output (NSENDERS N RECEIVERS, nSnR), and can be decomposed into two steps: firstly, collecting data by a single node, and adopting a model of multiple single receipts (n senders receiver, nS 1R); and secondly, the single node processes the collected data and transmits the data to a plurality of receiving nodes in a communication domain in a group mode, and a P2MP communication model of 1SnR is adopted. Specifically, the communication members GPU0/GPU1/GPU2/GPU3 respectively receive or establish different data A/B/C/D, and firstly, an nS1R model is adopted to sequentially select the communication members GPU1/GPU2/GPU3 in a communication domain as a source node for data forwarding, and data of multiple groups of communication members are collected to the communication member GPU0. For example, first, the communication node GPU1 is selected as the source node, the communication member GPU0 is selected as the receiving node, at this time, the source node GPU1 sends the stored data "B" to the GPU0 in the P2P communication mode, and the process of sending data by the GPU2 and the GPU3 is similar. And secondly, when the communication member GPU0 completes the summarization of the data A, the data B, the data C and the data D and carries out related processing, the data A+B+C+D is obtained, and then the data A+B+C+D is sent by using a P2MP mode. Specifically, the communication member GPU0 is selected as a source node, and data "a+b+c+d" is sent to all other communication members GPU1-GPU3 in the P2MP communication domain in a P2MP manner. Thus, the hardware devices GPU0-GPU3 may execute different processes according to the allocation instruction of the system based on the same data "a+b+c+d" so as to complete the computing tasks of the data "a+b+c+d" in parallel.
By way of example, fig. 3 shows a flow chart of network layer multicast forwarding and application layer multicast forwarding of P2MP data. There are a number of implementations for the transmission of P2MP data, typical implementations being implemented using network layer multicast or application layer multicast forwarding. As shown in fig. 3 (a), when forwarding is performed using the network layer, the multicast distribution network constructs a multicast distribution tree (multicast distribution tree, MDT) for each node in the P2MP domain that is a multicast source, and the network device in each MDT is responsible for forwarding P2MP data from the source node to each receiving node, that is, the sink node. As shown in fig. 3 (b), when using application layer multicast forwarding, P2MP data is disassembled into a plurality of P2P data, and the source node 1 performs P2P data transmission a plurality of times, and the P2P data is unicast forwarded to each of the receiving nodes 2-5. In application layer multicast forwarding, there may be some receiving nodes involved in forwarding, for example, after receiving P2P data, the receiving node 2 forwards the P2P data to other receiving nodes 2-3 again.
It can be understood that in the communication domain using the P2MP communication model, no matter the transmission method of (a) or (b) in fig. 3 is adopted, for traffic scenarios such as HPC or AI, P2MP data needs to be reliably transmitted by the source node to reach the relevant receiving node, that is, a reliable transmission guarantee mechanism needs to be established to manage the transmission/reception of P2MP data.
Fig. 4 shows the salient features of P2MP data forwarding in the P2MP communication domain. As shown in fig. 4 (a), (b), and (c), during different periods of the life cycle of the P2MP communication domain, different nodes may be selected as the transmission sources of the P2MP data, that is, there is frequent multicast source switching in the P2MP communication domain; in addition, the P2MP data transmitted in the P2MP communication domain needs to be received by all nodes except the source node.
Fig. 5 shows a problem description of reliable forwarding of P2MP data. When the reliable transport mechanism is established, each receiving node in the P2MP communication domain will send an ACK/NAK response message to the source node to indicate whether the receiving node correctly receives P2MP data, so that the source node in the P2MP communication domain needs to maintain a connection with each receiving node at the control plane, and also needs to manage the receiving state of each receiving node, and retransmit the P2MP data to the receiving node sending the NAK response message. When the node size in the P2MP communication domain increases, the resource consumption for the source node is very large. As shown in fig. 5 (a) and (b), at time 1 and time 2 of the life cycle of the P2MP communication domain, the multicast data source in the P2MP communication domain is switched, and it is understood that any node in the P2MP communication domain may be used as the P2MP source node, and the resource consumption problem of the source node may be extended to any node in the P2MP communication domain.
In the following description of the present application, a communication flow in which a remote direct data access (remote direct memory access, RDMA) technology is adopted between nodes when each node in a distributed system performs parallel operation processing is taken as an example, and a hardware configuration, a software design, etc. for performing parallel operation processing in the distributed system are described. It will be appreciated that if other data access techniques (e.g., conventional direct connection storage, etc.) are used to exchange data between nodes in the distributed system, similar hardware configuration, software design, etc. are also required in the distributed system to implement parallel operation processing of the service program. In practice, RDMA technology transfers data directly into a storage area of a computer through a network, and moves the data from a system to a remote system memory, and the basic communication unit of RDMA is a Queue Pair (QP), and these QPs may be deployed on a smart network card, a channel adapter, etc., and the service types based on QP have reliable transmission connections (reliable connection, RC), unreliable datagram connections (unreliable datagram, UD), etc.
In one possible scheme, a service model is established based on service scenes such as HPC or AI, and a P2MP communication model is used between MPI interfaces of parallel processing nodes such as CPU and server, so that in order to ensure the reliability of P2MP data forwarding, different reliability guarantee mechanisms can be adopted according to the scale of aggregate communication in a service system. For example, in a small-scale aggregate communication scenario, the system establishes an RC connection of the transport layer between the source node and each of the receiving nodes of the P2MP data. The RC connection is similar to the TCP connection, at the moment, the P2MP data uses an application layer multicast technology to forward unicast data on the RC connection, and meanwhile, the RC connection of the transmission layer realizes packet loss retransmission, thereby ensuring the reliable transmission of the P2MP data; or in a large-scale collective communication scenario, the system establishes UD connection of the transport layer between the source node and each receiving node of the P2MP data to save QP resources. The UD connection is very similar to the UDP connection, and at this time, the P2MP uses network layer multicast or application layer multicast technology to multicast/unicast forward the data packet on the UD connection, and reliable transmission of the P2MP data needs to be completed by performing operations such as packet loss identification and retransmission request by the application layer of the receiving node, and packet loss retransmission by the source node.
It can be seen that, in the communication domain adopting the P2MP communication model, for the reliable guarantee mechanism adopting the RC or UD connection, a response mechanism, a data check mechanism and a sequence preserving mechanism of the source node and each receiving node need to be established by the control plane at the transport layer or the application layer, so as to ensure the correct forwarding of the P2MP data.
For example, in order to solve the problem of expandability caused by a large scale of communication nodes in the P2MP communication domain or frequent switching of P2MP data sources, the following scheme may be adopted: establishing RC connection as required, namely establishing connection between a source node communication member and a receiving node communication member when P2MP communication is required, so that QP resources of hardware equipment are saved, but the scheme greatly influences the transmission efficiency of P2MP data because the RC connection is time-consuming to establish; or in order to ensure low delay expenditure of RC connection establishment after source node switching, RC connection is established in advance, because source nodes which can send P2MP data cannot be determined, if a Full-Mesh connection form is adopted for P2MP communication domains containing N nodes, N x (N-1)/(2 RC connections need to be established in advance, the RC connection uses limited hardware resources on hardware equipment, member processes of a communication domain may be concentrated on a certain PC host or server, thus the RC connection is enriched on a certain physical terminal, resources are exhausted, and finally reliability cannot be ensured.
In view of this, an embodiment of the present application provides a reliable transmission method for P2MP data, based on the characteristic that each receiving node in a P2MP communication domain receives the same data, a logical interconnection network is established between a plurality of nodes in the P2MP communication domain, and a part of tasks of reliable transmission processing is performed by a source node, and the tasks are distributed and deployed to a plurality of nodes in the P2MP communication domain, so that single-point resource pressure can be effectively reduced and single-point processing bottlenecks can be avoided. In addition, a mode of jointly maintaining reliable transmission by multiple nodes is adopted, and Full-Mesh connection is not required to be established among all nodes in the P2MP communication domain, so that the overhead of reliable transmission guarantee of a control plane caused by frequent switching of source nodes is saved.
When an effective response mechanism, a data checking mechanism and a sequence preserving mechanism are realized, reliable transmission of P2MP data in a P2MP domain can be ensured, and in a P2MP communication domain, data received by each receiving node are the same, so that effective connection among the nodes can be established only at a signaling layer, and a reliable transmission scheme is designed, thereby realizing the response mechanism (comprising sending response information), the data checking mechanism and the sequence preserving mechanism (comprising packet loss request and data retransmission). The reliable transmission method provided by the embodiment of the application decouples the P2MP data forwarding and the reliable transmission confirmation of the P2MP data. And establishing a physical interconnection network among all nodes in the P2MP communication domain, namely, establishing an interconnection network by network equipment, realizing the forwarding of P2MP data, establishing a logical interconnection network among all nodes in the P2MP communication domain, and determining the reliable transmission confirmation relation of the P2MP data.
Fig. 6a illustrates an example of a physical interconnection network established between nodes in a P2MP communication domain according to an embodiment of the present application, specifically, the P2MP communication domain includes eight nodes, each node has respective identification information, and is identified as nodes 1 to 8, a physical interconnection network of a secondary network topology structure is established between the eight nodes based on a Spine-to-Spine network architecture, and P2MP data sent by any node may be forwarded in the Spine-to-Leaf network to reach other seven nodes in the P2MP communication domain. Fig. 6b shows a forwarding path of P2MP data in a physical interconnection network according to an embodiment of the present application, based on the physical interconnection network shown in fig. 6a, fig. 6b shows a P2MP data forwarding path using a node 1 as a multicast source, where the node 1 may use network layer multicast (source node sends P2MP data once) to send data, and forward along the forwarding path of fig. 6 b.
Fig. 7a illustrates a logical interconnection network established between nodes in a P2MP communication domain according to an embodiment of the present application, specifically, based on the P2MP communication domain and the physical interconnection network illustrated in fig. 6a, a logical interconnection network is established between eight nodes, in the logical interconnection network, all nodes except for a first node and a last node are directly connected to two other nodes, two nodes with a direct connection relationship are neighboring nodes, and each node may have multiple neighboring nodes. In the P2MP communication domain, if the receiving node correctly receives the P2MP data, it needs to send an ACK response message to its neighboring node to confirm that the P2MP data has been correctly received; if the receiving node recognizes that the received P2MP data is wrong, a NAK response message needs to be sent to the neighbor node, and the neighbor node is required to retransmit the P2MP data after informing that the P2MP data is not correctly received. Fig. 7b shows a reliable transmission confirmation relationship of P2MP data in a logical interconnection network according to the embodiment of the present application, based on the logical interconnection network shown in fig. 7a, fig. 7b shows a neighbor node that needs to send a response message after each receiving node correctly receives P2MP data or recognizes that P2MP data is wrong after node 1 sends P2MP data as a multicast source. For example, after the node 6 recognizes that the P2MP data is erroneous, a NAK response message needs to be sent to the node 5, and the node 5 completes retransmission of the P2MP data to the node 6. Therefore, tasks which are originally responsible for the reliable transmission management of the P2MP data by the receiving node 6 by the source node 1 are distributed to the node 5, so that single-point resource pressure can be effectively reduced, and single-point processing bottlenecks can be avoided. It will be appreciated that since the P2MP data received by each receiving node is identical within the P2MP communication domain, node 5 may implement retransmission of the P2MP data to receiving node 6 instead of source node 1. In addition, in the logical interconnection network shown in fig. 7a, it is not necessary to establish a connection with the source node 1 for all the receiving nodes 2-7 in the P2MP communication domain, so that the overhead of reliable transmission guarantee of the control plane caused by frequent switching of the source node is saved.
In this embodiment, the system establishes a parallel operation demand model according to the execution requirement of the application program, and allocates different CPUs, or server nodes participate in parallel operation. The MPI is based on different demand models, a communication domain based on a P2MP communication model is built for all or part of tasks in the communication domain, each node is loaded in a certain computing processing unit, the computing processing units can be located in the same or different computers, servers, clusters and storage devices, the computing processing units comprise an intelligent network card, a channel adapter and the like, and the computing processing units loaded by the communication members can realize physical links through a gateway, a router and the like, namely, physical interconnection networks are built among the members in the P2MP communication domain, so that the P2MP data is forwarded. On the basis, in order to realize a reliable transmission guarantee mechanism of the P2MP data, a logic interconnection network needs to be established among all members in the P2MP communication domain, and a reliable transmission confirmation relation of the P2MP data is determined.
In the P2MP communication domain, P2MP data sent by any multicast source may be forwarded to all other receiving nodes through the physical interconnection network. The forwarding of P2MP data by the physical interconnection network may use a network layer multicast mechanism, or an application layer multicast mechanism, and may be selected based on different application scenario requirements. The logic interconnection network establishes an adjacency relation among nodes in the P2MP communication domain, and according to the adjacency relation, each node in the P2MP domain performs reliable transmission confirmation to a neighbor node in the logic interconnection network of the node for receiving the P2MP data from the physical interconnection network, and the neighbor node is responsible for retransmission of the P2MP data.
In one example, as shown in fig. 6a, there are eight nodes in the P2MP communication domain, and it is understood that the logical interconnection network between the eight nodes may have a plurality of different networking manners besides the networking manner shown in fig. 7a, so that different connections between the eight nodes may be formed. The connection between multiple nodes in the P2MP communication domain may have different policy constraints, for example, the number of connections between all nodes is required to be minimized to save resources required for connection establishment, and the physical distance of the connection is required to be minimized to enable rapid notification and response between nodes that are neighbors of each other, so that a logical interconnection network between multiple nodes in the P2MP communication domain needs to be constructed based on different policies and targets.
If the logical interconnection network is built based on the quick response strategy, the nodes can be divided into a plurality of node groups according to the distance of the physical distance, the physical distance between the nodes in each node group is smaller than or equal to the preset distance, the connection between the nodes in each node group is built, and the connection between one node in one node group and one node in the other node group is built, so that the interconnection of the nodes is realized. Fig. 8 shows a logical interconnection network established based on a quick response policy according to an embodiment of the present application, where it is assumed that certain physical neighbor relationships exist between some nodes, where the physical neighbor relationships may be relationships between nodes in a basic physical design unit (point of delivery, poD) of a data center, the PoD includes a server, an access network, a convergence network cabinet, and their supporting facilities, and is an area of the entire network, where the entire network includes a plurality of pods, for example, nodes 1-3 are disposed in the same PoD, nodes 4-6 are disposed in a second PoD, and nodes 7-8 are disposed in a third PoD. Based on a quick response strategy, the nodes positioned in the same PoD are respectively connected, then one node, such as nodes 3, 6 and 7, is selected from each PoD, and the connection is established among the three PoDs, so that the physical adjacency deployment characteristics of the nodes are utilized to the greatest extent, the control signaling can be reliably transmitted, the processing is nearby, the response is quick, but the connection of the specific nodes 3, 6 and 7 responsible for the connection among the PoDs is increased, and therefore, the role that one node bears more connections in a plurality of P2MP communication domains is avoided, and the connection quantity requirement is avoided to be enriched on a certain node. For example, if there is a fourth PoD in the P2MP communication domain, including nodes 9-12, whose connection relationships are shown in fig. 8, when the node 10 is selected to connect with a node in another PoD, the node 10 is connected to the nodes 3 and 7, instead of being connected to the node 6, so as to avoid a single point processing bottleneck caused by aggregating too many connection tasks on the node 6.
If the logical interconnection network is established based on the control connection number policy, each node in the P2MP communication domain establishes a direct connection with a neighboring node, and the neighboring nodes of each node in the plurality of nodes do not establish a direct connection, for example, all nodes in the P2MP communication domain may be connected by a chained topology, so that each node needs to establish a connection with 2 neighboring nodes respectively at most, the total connection number is minimum, and the total connection number in the P2MP communication domain is distributed evenly, as shown in fig. 7a, the logical interconnection network is established between eight nodes based on the control connection number policy, and the total connection number between eight nodes reaches the minimum, which is not described herein.
To this end, in the logically interconnected network, a communication connection (communication connection, CC) is established between two nodes, which are neighboring nodes, for the transmission of reliable transmission reply messages between neighboring nodes. The communication connection between the neighbor nodes is established at the beginning of the establishment of the logic interconnection network and is used in the whole life cycle of the P2MP communication domain.
Based on the descriptions shown in fig. 6-8, a reliable P2MP data transmission method provided by the embodiments of the present application is described, and it is understood that the method may be implemented by any apparatus, device, platform, or cluster of devices having computing and processing capabilities.
Fig. 9 is a flowchart illustrating a reliable transmission method of P2MP data provided by the embodiment of the present application, where it is assumed that a P2MP communication domain includes at least a first node, a second node, and a third node, and a logical interconnection network is built among a plurality of nodes in the P2MP communication domain, where the first node and the third node are neighboring nodes, and the second node and the third node are neighboring nodes, as shown in fig. 9, a confirmation flow of reliable transmission of P2MP data is performed in the P2MP communication domain by using the first node and the third node as receiving nodes when the second node is a source node for transmitting P2MP data in a life cycle of the P2MP communication domain, and includes steps S901 to S905:
In step S901, the second node transmits a P2MP packet in the P2MP communication domain, where the P2MP packet includes at least P2MP data, a sequence number of the P2MP data, and identification information (source node) of the second node.
In step S902, the first node receives the P2MP packet sent by the second node, determines the identification information of the third node according to the forwarding table of the first node, and here, it is assumed that the first node determines that the received P2MP data is wrong, sends a response message to the third node, where the response message includes at least a sequence number of the P2MP data, a status of the received P2MP data, the identification information of the first node, and the identification information of the second node (source node), and at this time, a status flag of the received P2MP data is set to NAK, which indicates that the received P2MP data is wrong.
In step S903, the third node receives the P2MP data sent by the second node, determines the identification information of the second node according to the forwarding table of the third node, and here, it is assumed that the third node determines that the received P2MP data is correct, sends a response message to the second node, where the response message includes at least a sequence number of the P2MP data, a status of the received P2MP data, the identification information of the third node, and the identification information of the second node (source node), and at this time, a status flag of the received P2MP data is set to ACK, which indicates that the P2MP data is correctly received.
It should be noted that, there is no precedence relationship between step S902 and step S903, and the actual transmission situation depends on the physical interconnection network established by the multiple nodes in the P2MP communication domain.
In step S904, the third node receives the NAK reply message sent by the first node, updates the state of the management table regarding the reception of the P2MP data by the first node, and retransmits the correct P2MP data to the first node.
In step S905, the first node receives the P2MP data retransmitted by the third node, determines the identification information of the third node according to the forwarding table of the first node, and here, it is assumed that the first node determines that the received P2MP data is correct, sends a response message to the third node, where the response message includes at least a sequence number of the P2MP data, a status of the received P2MP data, the identification information of the first node, and the identification information of the second node (source node), and at this time, a status flag of the received P2MP data is set to ACK, which indicates that the P2MP data is correctly received.
In the above steps S901 to S905, each node in the P2MP communication domain has a forwarding table and a management table, where the forwarding table is used to confirm that a neighbor node that sends a response message after receiving a P2MP packet sent by a source node, and the management table is used to record and update state information of the managed receiving node that receives P2MP data after receiving a response message sent by the managed receiving node.
It will be appreciated that the acknowledgement flow of P2MP data shown in fig. 9 is merely illustrative of one possible reliable transmission process, and that there are many other possible reliable transmission processes within the P2MP communication domain.
Fig. 10 is a flowchart of a reliable transmission method of P2MP data according to an embodiment of the present application, where the first node is a node in a P2MP communication domain, and the P2MP communication domain includes a plurality of nodes, the first node is one of the plurality of nodes, and a logical interconnection network is built between the plurality of nodes, and each node has respective identification information.
As shown in fig. 10, the reliable transmission method of P2MP data includes the following steps S1010-S1030.
Step S1010, receiving a P2MP data packet sent by a second node in a P2MP communication domain; the P2MP data packet includes at least P2MP data, and the second node is one of the plurality of nodes.
Step S1020, determining the identification information of the third node according to the forwarding table of the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes having a direct connection relationship in the logical internetwork.
Step S1030, a response message is sent to the third node according to the status of the received P2MP data and the identification information of the third node. The response message includes ACK and NAK messages, where ACK indicates that P2MP data is received correctly, and NAK indicates that received P2MP data is erroneous.
In one example, the P2MP data packet includes at least P2MP data, a sequence number of the P2MP data; according to the state of receiving the P2MP data and the identification information of the third node, sending a response message to the third node, wherein the response message comprises the following components: when the state of receiving the P2MP data is in error, sending a response message to the third node; the response message at least comprises identification information of the first node, a serial number of the P2MP data and a state flag of the received P2MP data, the state flag of the received P2MP data is set as NAK, and NAK indicates that the received P2MP data is wrong; the method further comprises the steps of: and receiving the correct P2MP data packet retransmitted by the third node.
In one example, as shown in fig. 7b, the P2MP communication domain includes eight nodes, where a logical interconnection network is built between the eight nodes, each node has respective identification information, for convenience of description, node 1 is regarded as a second node, node 5 is regarded as a first node, and node 6 is regarded as a third node, and a reliable transmission method of P2MP data is described. At a specific moment in the life cycle of the P2MP communication domain, node 1 is selected as a multicast source for transmitting P2MP data in the P2MP communication domain, and nodes 2-8 are selected as receiving nodes for receiving P2MP data, it being understood that any one of the eight nodes may be a source node for transmitting P2MP data in the P2MP communication domain. In order to establish a reliable transmission mechanism, some additional information needs to be added to form a P2MP data packet before sending the P2MP data, for example, identification information of a source node, a sequence number of the P2MP data, and the like.
In the logical interconnection network as shown in fig. 7b, the node 6 has two neighboring nodes, namely, node 5 and node 7, and when the node 6 receives the P2MP data packet sent by the node 1 in the P2MP communication domain, the node 6 determines the identification information of the node 5 according to the forwarding table, and then sends a response message to the node 5 according to the state of receiving the P2MP data. The response message includes at least the sequence number of the P2MP data, the status of the received P2MP data, the identification information of the node 6, the identification information of the node 1, etc., and at this time, the status flag of the received P2MP data is set to ACK, which indicates that the P2MP data was received correctly, or NAK, which indicates that the received P2MP data was received in error. When the transmitted acknowledgement message is a NAK, the correct P2MP data retransmitted by the receiving node 5 is also required.
In practical application, for the first node, after receiving all the P2MP packets forwarded by the second node, a response message may be sent to the third node once, or after the second node receives the P2MP packets once or for a fixed number of times, a response message may be sent to the third node once, where the above selection of the transmission mode of the response message is set in the control plane of the system, and it is understood that a fixed transmission mode of the response message may be set in the whole life cycle of the P2MP communication domain, or the switching of the transmission modes of the response message may be performed in real time according to the network congestion condition, for convenience of description, the application is described by sending a response message once every time the second node receives the P2MP packets, and other implementation modes of the transmission modes of the response message are similar and are not repeated herein.
Fig. 11 shows a logical interconnection network and a forwarding table provided by the embodiment of the present application, as shown in fig. 11 (a), the P2MP communication domain includes eight nodes, a logical interconnection network is established between the nodes, and one node may have multiple neighbor nodes, so after the logical interconnection network is established, a forwarding table needs to be established for each node, and a neighbor node is selected according to the forwarding table, so as to perform transmission and retransmission processing of reliable transmission control signaling (ACK/NAK response message).
In one example, the establishment of the forwarding table mainly considers two aspects:
in the first aspect, since source nodes forwarding P2MP data frequently switch in the life cycle of the P2MP communication domain, the forwarding table may be built by taking the identification information of the source nodes as index items in consideration of the influence of source node switching, and corresponding neighbor nodes may be selected according to different source nodes. Wherein, again, two cases are divided: for example, for the node 8 in the logically interconnected network shown in fig. 11 (a), there is only one neighbor node 7, so that no matter any one of the nodes 1-7 is used as a source node, the node 7 needs to be selected as a neighbor node for performing reliable transmission signaling interaction, and in other cases, for example, for the node 6, there are two neighbor nodes 5 and 7, a forwarding table can be built according to the identification information of different source nodes as index items.
Of course, it is also possible to designate a fixed neighbor node for reliable signaling transmission interaction when setting up the forwarding table of the node without considering the influence of source node switching. It can be understood that, for all nodes in the P2MP communication domain, the influence of source node switching may be considered when a forwarding table is established for a part of the nodes, the identification information of the source node may be used as a part of the forwarding table, the influence of source node switching may not be considered when a forwarding table is established for another part of the nodes, a fixed neighbor node may be designated for the nodes to perform interaction of reliable transmission signaling, and the influence of source node switching may be considered or not considered for all the nodes.
In either case, for any node in P2MP, its forwarding table may use the field { key: value) is established, wherein the key in the field is the identification information of the source node or the wild card, the value in the field is the identification information of the neighbor node performing reliable transmission signaling interaction, and the wild card indicates that the identification information of any source node hits the wild card without considering the influence of source node switching.
In the second aspect, after the logical interconnection network is established between the multiple nodes in the P2MP communication domain, the establishment of the forwarding table needs to ensure that the effective connection on the reply message sending path can be implemented between the neighboring nodes (including the source nodes) that perform reliable transmission signaling interaction.
As shown in fig. 11 (b), forwarding tables of the node 2 and the node 3 are given, the influence of source node switching is considered in the setting of both forwarding tables, in the forwarding table of the node 2, the neighbor node identification information of the node 2 for selecting to send the response message when the source node is the node 1 is enumerated, in general, in the forwarding table of one node, if the influence of source node switching is considered in the selection, all nodes in the P2MP communication domain need to be exhausted in a key item, and the corresponding neighbor node is selected to be filled in a value item. Fig. 11 (b) shows a schematic diagram of reliable transmission signaling interaction performed by the receiving node 2-8 when the node 1 is used as a source node, and as can be seen from fig. 11 (b), all the neighboring nodes of the node 1-7 as other receiving nodes have tasks of processing signaling interaction, and the node 1-7 can implement effective connection on the response message sending path based on the neighboring information of the configuration of the forwarding table, so that the node 1-7 can correctly receive the P2MP data, thereby implementing retransmission of the P2MP data to the corresponding receiving node instead of the source node 1.
As shown in fig. 11 (c), a forwarding table of a node 2 and a node 3 is given, where the setting of the two forwarding tables considers the influence of source node switching, fig. 11 (c) shows a schematic diagram of reliable transmission signaling interaction performed by a receiving node 2-8 when a node 1 is used as a source node, as can be seen from fig. 11 (c), nodes 1 and 3-7 are used as neighboring nodes of other receiving nodes, and the node 1 and the node 3-7 do not implement an effective connection on a response message sending path under the configuration of the forwarding table, so that independent islands in two logical interconnection networks are formed, and therefore, when the nodes 3 and 4 do not correctly receive P2MP data sent by the node 1 because of network failure, a correct P2MP packet for retransmission cannot be obtained, and correct P2MP data cannot be retransmitted to the receiving node managed by the receiving node, so that each receiving node in the P2MP communication domain cannot be guaranteed to correctly receive the P2MP data.
As shown in fig. 11 (d), a forwarding table of the node 2 and the node 3 is given, the setting of the forwarding table of the node 3 considers the influence of source node switching, the setting of the forwarding table of the node 2 does not consider the influence of source node switching, the neighbor node of the node 2 sending the response message is configured in a generic manner, fig. 11 (d) shows a schematic diagram of reliable transmission signaling interaction performed by the receiving node 2-8 when the node 1 is taken as a source node, it can be seen from fig. 11 (c), the neighbor nodes of the other receiving nodes of the node 2-7 have tasks of processing the signaling interaction, and the node 2-7 is not connected with the node 1 on the response message path under the configuration of the forwarding table, so that independent islands in two logical interconnection networks are formed, and therefore, when the nodes 2 and 3 do not correctly receive the P2MP data sent by the node 1 because of network faults, a correct P2MP packet cannot be obtained for retransmission, and correct P2MP data cannot be retransmitted to the receiving node managed by the receiving node, so that each receiving node in the P2MP communication domain cannot be guaranteed to correctly receive P2MP data.
Therefore, the forwarding tables of the nodes 2 and 3 shown in fig. 11 (c) and 11 (d) cannot meet the requirements of the forwarding table setting in the present application, and corresponding modifications are required.
Therefore, by establishing a logic interconnection network for a plurality of nodes in the P2MP communication domain, the tasks of reliable transmission processing of P2MP data are executed only by the source node, and the tasks are distributed to the plurality of nodes in the P2MP communication domain, so that single-point processing pressure can be effectively reduced.
Fig. 12 is a flowchart of a reliable transmission method of P2MP data according to an embodiment of the present application, where the third node is a node in a P2MP communication domain, and the P2MP communication domain includes a plurality of nodes, and the third node is one of the plurality of nodes, and a logical interconnection network is built between the plurality of nodes, and each node has respective identification information.
As shown in fig. 12, the reliable transmission method of P2MP data includes the following steps S1210-S1220.
Step S1210, receiving a response message from the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; the response message at least comprises identification information of the first node and a state mark of the first node for receiving P2MP data; the P2MP data is contained in a P2MP data packet, the P2MP data packet being transmitted by a second node within a P2MP communication domain, the second node being one of a plurality of nodes.
Step S1220, updating the management table of the third node according to the response message of the first node; the management table includes at least a state in which the first node receives P2MP data.
In one example, the third node updates a state in the management table regarding the first node's receipt of the P2MP data according to the response message of the first node.
In one example, after receiving the reply message from the first node, the reliable transmission method of P2MP data further includes: judging whether a state mark of the P2MP data received by the first node in the response message of the first node is NAK, if so, retransmitting a correct P2MP data packet to the first node, and starting a timer; wherein NAK indicates that P2MP data received by the first node is erroneous; the reply message from the first node is again received, and the timer is closed. Similarly, when the third node receives the reply message from the first node again, it is also necessary to update the state of the management table regarding the reception of the P2MP data by the first node.
In one example, in the P2MP communication domain, a third node (a receiving node) and a second node (a source node) both have tasks of processing signaling interaction as neighbor nodes of other receiving nodes, for the second node, after P2MP data is sent, each timer needs to be started for all receiving nodes that need to send response messages to the second node, after receiving response messages from each receiving node corresponding to the timer, the timer started for the receiving node is closed, and if the timer is overtime, correct P2MP data is retransmitted for the receiving node; for the third node, similar operations need to be performed for all receiving nodes that need to send the response message to the third node after receiving the P2MP data, which is not described herein.
After the logical interconnection network is established for the plurality of nodes in the P2MP communication domain, a management table needs to be established for each node, usually, the influence of source node switching needs to be considered, the management table is established by taking the identification information of the source node as an index entry, or the influence of source node switching may be omitted, and it is understood that the establishment principle is similar to the description of the "first aspect" in the establishment process of the forwarding table in step S1030, and will not be repeated herein.
For any node in P2MP, such as the third node, the management table may use the field { key: value: state) is established, the key in the field is the identification information or wild card of the source node sending the P2MP data, the value in the field is the identification information of the corresponding receiving node, and the state in the field is the state mark of the corresponding receiving node receiving the P2MP data.
For any node in the P2MP, a forwarding table and a management table need to be maintained, and the two tables may be two independent tables or may be combined into one table, and when only table lookup needs to be ensured, the two tables can be acquired respectively: the neighbor node sending the response message and the receiving node receiving the response message can only send the identification information of the receiving node sending the response message.
Therefore, by establishing a logic interconnection network among communication nodes in the P2MP communication domain, a mechanism for reliably transmitting multicast data is realized, and the mechanism is distributed to a plurality of communication nodes in the P2MP communication domain, so that the pressure of reliably transmitting state processing to a plurality of receiving nodes by a source node can be effectively relieved, and single-point processing bottleneck is avoided.
Fig. 13a illustrates a network layer multicast resource configuration diagram based on RC connection in a P2MP communication domain, where seven communication nodes are included in one P2MP communication domain, and each communication node may be carried in the same or different computers, servers, clusters, and storage devices, and include computing processing units such as an intelligent network card and a channel adapter, and these computing processing units may implement physical layer linking through a gateway, a router, and the like. At some point in the life cycle of the P2MP communication domain, node 1 is selected as the source node for transmitting P2MP data. Based on the logical interconnection network established in fig. 13a by each node in the P2MP communication domain, the network layer multicast resource configuration based on RC connection is set between the source node 1 and each of the receiving nodes 2-7 through the control plane, as can be seen from fig. 13a, the number of RC connections to be established is 6, wherein node 1 establishes 1 RC connection with the receiving nodes 2, 3 and 4, node 2,4 and 5 establishes 1 RC connection with the receiving nodes 5, 7 and 6, and the number of RC connections to be established is 7×7-1 +.2=21, which saves the overhead of reliable transmission guarantee of the control plane caused by frequent switching of the source node.
Fig. 13b is a schematic diagram illustrating a logical connection based on a data plane in a P2MP communication domain according to an embodiment of the present application, where, as shown in fig. 13b, a source node 1 copies P2MP data in multiple copies in a multicast network, and then sends the P2MP data to a receiving node 2-7 at one time.
Fig. 13c illustrates a schematic diagram of control plane-based logical connection in a P2MP communication domain according to an embodiment of the present application, where, as shown in fig. 13c, there are several types of nodes in the P2MP communication domain, for example, node 1 (multicast source) →node 2 (multicast sink 1, receiving node managed by the multicast source, neighbor node of multicast sink 2) →node 5 (multicast sink 2, receiving node managed by the multicast sink 1, neighbor node of multicast sink 3) →node 6 (multicast sink 3, receiving node managed by the multicast sink 2), and in each reliable transmission acknowledgement domain, node 2 (multicast sink 1): firstly, determining that a neighbor node in a reliable transmission control domain is a node 1 according to a forwarding table, secondly, whether the node reliably receives P2MP data needs to be sent to a multicast source, whether a multicast source managed receiving node multicast sink 2 reliably receives the P2MP data does not need to be informed, and node 5 (multicast sink 2): firstly, determining that a neighbor node in a reliable transmission control domain is a node 2 according to a forwarding table, secondly, informing a neighbor node multicast sink 1 of the neighbor node of whether to reliably receive P2MP data, not sending a multicast source of whether to reliably receive P2MP data of the node, not informing a receiving node multicast sink 3 managed by the multicast source of whether to reliably receive P2MP data, and node 6 (multicast sink 3): firstly, determining that the neighbor node in the reliable transmission control domain is the node 5 according to the forwarding table, secondly, informing the own neighbor node multicast sink 2 whether to reliably receive the P2MP data or not, and not sending the multicast source whether to reliably receive the P2MP data or not. The working principle of the reliable transmission guarantee mechanism of the other nodes 3,4, 7 is similar and will not be described again. In the logical interconnection network, the multicast sink 1 can correctly receive the P2MP data sent by the multicast source, or can retransmit the correct P2MP data when the multicast sink 2 sends a NAK response message, and any node only needs to feed back information to its own neighbor node, which may be the multicast source or the multicast sink. Therefore, single-point pressure can be effectively reduced and single-point processing bottlenecks can be avoided through distributed reliable transmission control domain division.
Based on the method in the foregoing embodiment, exemplary, fig. 14 shows a schematic diagram of a reliable transmission device for P2MP data provided by the embodiment of the present application, where the device may be deployed at a first node, the first node is a node in a P2MP communication domain, the P2MP communication domain includes a plurality of nodes, the first node is one of the plurality of nodes, a logical interconnection network is built between the plurality of nodes, each node has respective identification information, and as shown in fig. 14, the acknowledgement device 1400 includes: a communication module 1410 and a processing module 1420.
The communication module 1410 may receive a P2MP packet sent by the second node in a P2MP communication domain; the P2MP data packet includes at least P2MP data, and the second node is one of the plurality of nodes.
The processing module 1420 may determine, from the forwarding table of the first node, identification information of the third node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; the processing module 1420 may also send a response message to the third node according to the status of receiving the P2MP data and the identification information of the third node.
In some embodiments, the P2MP data packet includes at least P2MP data, a sequence number of the P2MP data; the processing module 1420 may send a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node, and specifically, send the response message to the third node when the state of receiving the P2MP data is in error; the response message at least comprises identification information of the first node, a serial number of the P2MP data and a state flag of the received P2MP data, the state flag of the received P2MP data is set as NAK, and NAK indicates that the received P2MP data is wrong; the communication module 1410 may also receive the correct P2MP packet retransmitted by the third node.
In some embodiments, the P2MP data packet includes at least P2MP data, identification information of the second node; the processing module 1420 may determine, according to the forwarding table of the first node, identification information of the third node, and specifically, determine, according to the forwarding table of the first node and the identification information of the second node, identification information of the third node; wherein the forwarding table of the first node comprises at least one field { key: value, the key in the field is the identification information or wild card of the second node, and the value in the field is the identification information of the third node.
In some embodiments, the logical interconnection network is established by connection among a plurality of nodes, the connection among the plurality of nodes comprises: each of the plurality of nodes has at least one neighbor node, each of the plurality of nodes establishes a direct connection with the neighbor node, and the neighbor nodes of each of the plurality of nodes do not establish a direct connection therebetween.
In some embodiments, the logical interconnection network is established by connection among a plurality of nodes, the connection among the plurality of nodes comprises: the plurality of nodes are divided into a plurality of node groups, each node group comprises a first node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the first nodes in the plurality of node groups are connected.
Fig. 15 is a schematic diagram of a reliable P2MP data transmission device according to an embodiment of the present application, where the device may be deployed on a third node, the third node is a node in a P2MP communication domain, the P2MP communication domain includes a plurality of nodes, the third node is one of the plurality of nodes, a logical interconnection network is built between the plurality of nodes, and each node has respective identification information, as shown in fig. 15, and the confirmation device 1500 includes: a communication module 1510 and a processing module 1520.
The communication module 1510 may receive a reply message from the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in the logic interconnection network; the response message at least comprises identification information of the first node and a state mark of the first node for receiving P2MP data; the P2MP data is contained in a P2MP data packet, the P2MP data packet being transmitted by a second node within a P2MP communication domain, the second node being one of a plurality of nodes.
The processing module 1520 may update the management table of the third node according to the response message of the first node; the management table includes at least a state in which the first node receives P2MP data.
In some embodiments, after receiving the response message from the first node, the processing module 1520 may determine whether the status flag of the first node receiving the P2MP data in the response message of the first node is NAK, and if yes, retransmit the correct P2MP data packet to the first node, and start the timer; wherein NAK indicates that P2MP data received by the first node is erroneous; the communication module 1510 is also for: a reply message is received from the first node, and the timer is closed.
In some embodiments, the P2MP data packet includes at least P2MP data, identification information of the second node; the processing module 1520 may update the management table of the second node according to the response message of the first node, specifically, update the state flag of the first node in the management table of the second node for receiving the P2MP data according to the identification information of the first node and the state flag of the first node for receiving the P2MP data; wherein the management table of the second node comprises at least one field { key: value: state }, the key in the field is the identification information or wild card of the second node, the value in the field is the identification information of the first node, and the state in the field is the state flag of the first node receiving the P2MP data.
In some embodiments, the logical interconnection network is established by connection among a plurality of nodes, the connection among the plurality of nodes comprises: each of the plurality of nodes has at least one neighbor node, each of the plurality of nodes establishes a direct connection with the neighbor node, and the neighbor nodes of each of the plurality of nodes do not establish a direct connection therebetween.
In some embodiments, the logical interconnection network is established by connection among a plurality of nodes, the connection among the plurality of nodes comprises: the plurality of nodes are divided into a plurality of node groups, each node group comprises a third node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the third nodes in the plurality of node groups are connected.
Based on the method in the above embodiment, the embodiment of the application provides an electronic device. The electronic device may include: a display screen; at least one memory for storing a program; at least one processor for executing the programs stored in the memory. Wherein the processor is adapted to perform the method described in the above embodiments when the program stored in the memory is executed. By way of example, the electronic device may be a cell phone, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, server, ultra-mobile personal computer, UMPC, netbook, as well as a cellular telephone, personal Digital Assistant (PDA), augmented reality (augmented reality, AR) device, virtual Reality (VR) device, artificial intelligence (ARTIFICIAL INTELLIGENCE, AI) device, wearable device, vehicle device, smart home device, and/or smart city device, the specific type of electronic device being not particularly limited by the embodiments of the present application.
Based on the method in the above embodiment, the embodiment of the present application provides a computer-readable storage medium storing a computer program, which when executed on a processor, causes the processor to perform the method in the above embodiment.
Based on the method in the above embodiments, an embodiment of the present application provides a computer program product, which when run on a processor causes the processor to perform the method in the above embodiments.
It is to be appreciated that the processor in embodiments of the application may be a central processing unit (central processing unit, CPU), but may also be other general purpose processors, digital signal processors (DIGITAL SIGNAL processors, DSPs), application Specific Integrated Circuits (ASICs), field programmable gate arrays (field programmable GATE ARRAY, FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general purpose processor may be a microprocessor, but in the alternative, it may be any conventional processor.
The method steps in the embodiments of the present application may be implemented by hardware, or may be implemented by executing software instructions by a processor. The software instructions may be comprised of corresponding software modules that may be stored in random access memory (random access memory, RAM), flash memory, read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (erasable PROM, EPROM), electrically Erasable Programmable ROM (EEPROM), registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions.

Claims (23)

1. A method for reliably transmitting P2MP data, applied to a first node, the first node being a node in a P2MP communication domain, the P2MP communication domain including a plurality of nodes, the first node being one of the plurality of nodes, a logical interconnection network being established between the plurality of nodes, each node having respective identification information, the method comprising:
receiving a P2MP data packet sent by a second node in the P2MP communication domain; the P2MP data packet includes at least P2MP data, and the second node is one of the plurality of nodes;
Determining the identification information of a third node according to the forwarding table of the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in a logic interconnection network;
and sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node.
2. The method of claim 1, wherein the P2MP data packet includes at least P2MP data, a sequence number of the P2MP data;
The sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node includes:
When the state of receiving the P2MP data is in error, sending a response message to the third node; the response message at least comprises identification information of the first node, a serial number of the P2MP data and a status flag of the received P2MP data, wherein the status flag of the received P2MP data is set to be NAK, and the NAK indicates that the received P2MP data is wrong;
the method further comprises the steps of: and receiving the correct P2MP data packet retransmitted by the third node.
3. The method of claim 1, wherein the P2MP data packet includes at least P2MP data, identification information of the second node;
The determining the identification information of the third node according to the forwarding table of the first node includes:
Determining the identification information of a third node according to the forwarding table of the first node and the identification information of the second node; wherein the forwarding table of the first node includes at least one field { key: value, the key in the field is the identification information or wild card of the second node, and the value in the field is the identification information of the third node.
4. The method of claim 1, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
Each node of the plurality of nodes has at least one neighbor node, each node of the plurality of nodes establishes a direct connection with a neighbor node, and the neighbor nodes of each node of the plurality of nodes do not establish a direct connection therebetween.
5. The method of claim 1, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
the plurality of nodes are divided into a plurality of node groups, each node group comprises a first node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the first nodes in the plurality of node groups are connected.
6. A reliable transmission method of P2MP data, applied to a third node, where the third node is a node in a P2MP communication domain, the P2MP communication domain includes a plurality of nodes, the third node is one of the plurality of nodes, a logical interconnection network is built between the plurality of nodes, and each node has respective identification information, and the method includes:
Receiving a response message from the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in a logic interconnection network; the response message at least comprises identification information of the first node and a state mark of the first node for receiving P2MP data; the P2MP data is contained in a P2MP data packet, the P2MP data packet being transmitted by a second node within the one P2MP communication domain, the second node being one of the plurality of nodes;
Updating a management table of a third node according to the response message of the first node; the management table includes at least a status of the first node receiving the P2MP data.
7. The method of claim 6, wherein after receiving the reply message from the first node, the method further comprises:
judging whether a state mark of the first node for receiving P2MP data in a response message of the first node is NAK, if so, retransmitting a correct P2MP data packet to the first node, and starting a timer; wherein the NAK indicates that P2MP data received by the first node is erroneous;
and receiving a response message from the first node, and closing the timer.
8. The method of claim 6, wherein the P2MP data packet includes at least P2MP data, identification information of the second node;
the updating the management table of the third node according to the response message of the first node comprises the following steps:
Updating the state mark of the P2MP data received by the first node in the management table of the third node according to the identification information of the first node and the state mark of the P2MP data received by the first node; wherein the management table of the second node includes at least one field { key: value: state }, wherein the key in the field is identification information or wild card of the second node, the value in the field is identification information of the first node, and the state in the field is a state flag of the first node receiving P2MP data.
9. The method of claim 6, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
Each node of the plurality of nodes has at least one neighbor node, each node of the plurality of nodes establishes a direct connection with a neighbor node, and the neighbor nodes of each node of the plurality of nodes do not establish a direct connection therebetween.
10. The method of claim 6, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
The nodes are divided into a plurality of node groups, each node group comprises a third node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the third nodes in the plurality of node groups are connected.
11. A reliable P2MP data transmission device deployed at a first node, the first node being a node in a P2MP communication domain, the P2MP communication domain including a plurality of nodes, the first node being one of the plurality of nodes, a logical interconnection network being established between the plurality of nodes, each node having respective identification information, the device comprising:
the communication module is used for receiving a P2MP data packet sent by the second node in the P2MP communication domain; the P2MP data packet includes at least P2MP data, and the second node is one of the plurality of nodes;
The processing module is used for determining the identification information of the third node according to the forwarding table of the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in a logic interconnection network;
And the processing module is also used for sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node.
12. The apparatus of claim 11, wherein the P2MP data packet comprises at least P2MP data, a sequence number of the P2MP data;
The processing module is configured to, when sending a response message to the third node according to the state of receiving the P2MP data and the identification information of the third node:
When the state of receiving the P2MP data is in error, sending a response message to the third node; the response message at least comprises identification information of the first node, a serial number of the P2MP data and a status flag of the received P2MP data, wherein the status flag of the received P2MP data is set to be NAK, and the NAK indicates that the received P2MP data is wrong;
The communication module is further configured to: and receiving the correct P2MP data packet retransmitted by the third node.
13. The apparatus of claim 11, wherein the P2MP data packet comprises at least P2MP data, identification information of the second node;
The processing module is configured to, when determining the identification information of the third node according to the forwarding table of the first node:
Determining the identification information of a third node according to the forwarding table of the first node and the identification information of the second node; wherein the forwarding table of the first node includes at least one field { key: value, the key in the field is the identification information or wild card of the second node, and the value in the field is the identification information of the third node.
14. The apparatus of claim 11, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
Each node of the plurality of nodes has at least one neighbor node, each node of the plurality of nodes establishes a direct connection with a neighbor node, and the neighbor nodes of each node of the plurality of nodes do not establish a direct connection therebetween.
15. The apparatus of claim 11, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
the plurality of nodes are divided into a plurality of node groups, each node group comprises a first node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the first nodes in the plurality of node groups are connected.
16. A reliable P2MP data transmission device deployed at a third node, the third node being a node in a P2MP communication domain, the P2MP communication domain including a plurality of nodes, the third node being one of the plurality of nodes, a logical interconnection network being established between the plurality of nodes, each node having respective identification information, the device comprising:
The communication module is used for receiving the response message from the first node; in the logical internetwork, the first node has at least one neighbor node, and the third node is one of the neighbor nodes of the first node; the neighbor nodes are nodes with direct connection relations in a logic interconnection network; the response message at least comprises identification information of the first node and a state mark of the first node for receiving P2MP data; the P2MP data is contained in a P2MP data packet, the P2MP data packet being transmitted by a second node within the one P2MP communication domain, the second node being one of the plurality of nodes;
The processing module is used for updating the management table of the third node according to the response message of the first node; the management table includes at least a status of the first node receiving the P2MP data.
17. The apparatus of claim 16, wherein the processing module, after receiving the reply message from the first node, is further configured to:
judging whether a state mark of the first node for receiving P2MP data in a response message of the first node is NAK, if so, retransmitting a correct P2MP data packet to the first node, and starting a timer; wherein the NAK indicates that P2MP data received by the first node is erroneous;
The communication module is further configured to: and receiving a response message from the first node, and closing the timer.
18. The apparatus of claim 16, wherein the P2MP data packet comprises at least P2MP data, identification information of the second node;
the processing module is used for updating the management table of the second node according to the response message of the first node when the processing module is used for:
updating the state mark of the first node for receiving the P2MP data in the management table of the second node according to the identification information of the first node and the state mark of the first node for receiving the P2MP data; wherein the management table of the second node includes at least one field { key: value: state }, wherein the key in the field is identification information or wild card of the second node, the value in the field is identification information of the first node, and the state in the field is a state flag of the first node receiving P2MP data.
19. The apparatus of claim 16, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
Each node of the plurality of nodes has at least one neighbor node, each node of the plurality of nodes establishes a direct connection with a neighbor node, and the neighbor nodes of each node of the plurality of nodes do not establish a direct connection therebetween.
20. The apparatus of claim 16, wherein the logical interconnection network is established by a connection between a plurality of nodes, the connection between the plurality of nodes comprising:
The nodes are divided into a plurality of node groups, each node group comprises a third node, the physical distance between the nodes in the node groups is smaller than or equal to the preset distance, the nodes in the node groups are connected, and the third nodes in the plurality of node groups are connected.
21. An electronic device, comprising:
at least one memory for storing a program;
at least one processor for executing the programs stored in the memory;
wherein the processor is adapted to perform the method of any of claims 1-10 when the program stored in the memory is executed.
22. A computer readable storage medium storing a computer program which, when run on a processor, causes the processor to perform the method of any one of claims 1-10.
23. A computer program product, characterized in that the computer program product, when run on a processor, causes the processor to perform the method according to any of claims 1-10.
CN202310037879.6A 2023-01-10 2023-01-10 Reliable transmission method and device for P2MP data Pending CN118337792A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310037879.6A CN118337792A (en) 2023-01-10 2023-01-10 Reliable transmission method and device for P2MP data
PCT/CN2023/140662 WO2024149043A1 (en) 2023-01-10 2023-12-21 Reliable transmission method and apparatus for p2mp data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310037879.6A CN118337792A (en) 2023-01-10 2023-01-10 Reliable transmission method and device for P2MP data

Publications (1)

Publication Number Publication Date
CN118337792A true CN118337792A (en) 2024-07-12

Family

ID=91770804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310037879.6A Pending CN118337792A (en) 2023-01-10 2023-01-10 Reliable transmission method and device for P2MP data

Country Status (2)

Country Link
CN (1) CN118337792A (en)
WO (1) WO2024149043A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005069552A1 (en) * 2004-01-14 2005-07-28 Gridiron Software, Inc. Redundant pipelined file transfer
CN100446496C (en) * 2006-12-07 2008-12-24 中国科学院计算技术研究所 Method for establishing radio sensor network rout ebased on route neighbour list
CN104811387B (en) * 2014-01-24 2018-06-01 思科技术公司 The equal cost multipath explicitly replicated with position index
WO2020035159A1 (en) * 2018-08-17 2020-02-20 Telefonaktiebolaget Lm Ericsson (Publ) Independent redundant path discovery for bluetooth mesh

Also Published As

Publication number Publication date
WO2024149043A1 (en) 2024-07-18

Similar Documents

Publication Publication Date Title
US11606312B2 (en) Fast fail-over using tunnels
US20240171506A1 (en) System and method for facilitating self-managing reduction engines
US20170118042A1 (en) High availability for distributed network services in an extended bridge
TWI393401B (en) System, apparatus, method and memory having computer program embodied thereon for managing multicast routing
CN107347021B (en) SDN-based reliable transmission method
KR101700141B1 (en) Method and apparatus for maintaining port state tables in a forwarding plane of a network element
CN1633647B (en) System and method for managing data transfers in a network
CN104253764B (en) Link aggregation method and device
US11863370B2 (en) High availability using multiple network elements
US20200213144A1 (en) Methods and network nodes for providing coordinated flowcontrol for a group of sockets in a network
KR20070003983A (en) Method and apparatus for group communication with end-to-end reliability
WO2022253087A1 (en) Data transmission method, node, network manager, and system
EP3321804A1 (en) Network aware dynamic orchestration method and system for multicast services
CN113765956B (en) Message processing method, device, system and storage medium
WO2016085375A1 (en) Methods, routing device and further routing device for managing data frames in switched networks
US20240223664A1 (en) Communication method, system, electronic device and readable storage medium
CN118337792A (en) Reliable transmission method and device for P2MP data
CN109412942B (en) Cloud network transmission routing method and system
Zhang et al. Virtualized network coding functions on the Internet
CN103780503A (en) Load balancing realization method and apparatus
Dan et al. SOPA: source routing based packet-level multi-path routing in data center networks
CN108737265B (en) Software defined wireless network system and management method thereof
Huang et al. MC-RDMA: Improving Replication Performance of RDMA-based Distributed Systems with Reliable Multicast Support
US8634419B2 (en) Reliable and fast method and system to broadcast data
Kumar et al. Adaptive fault tolerant routing in interconnection networks: a review

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication