CN115277554A - Transmission method and communication device for multicast data message - Google Patents

Transmission method and communication device for multicast data message Download PDF

Info

Publication number
CN115277554A
CN115277554A CN202110486238.XA CN202110486238A CN115277554A CN 115277554 A CN115277554 A CN 115277554A CN 202110486238 A CN202110486238 A CN 202110486238A CN 115277554 A CN115277554 A CN 115277554A
Authority
CN
China
Prior art keywords
node
bit string
destination edge
multicast data
forwarding 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
CN202110486238.XA
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 CN202110486238.XA priority Critical patent/CN115277554A/en
Publication of CN115277554A publication Critical patent/CN115277554A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Abstract

The embodiment of the application discloses a transmission method and a communication device of multicast data messages, which are used for converting original character strings in the multicast data messages into at least one target bit string. In the method, a first node determines at least one destination edge node of destination data, and when determining at least one forwarding information according to the at least one destination edge node, the first node sends a multicast data packet to a second node, the multicast data packet includes the at least one forwarding information and the destination data, the second node is a next hop node of the first node, and because each forwarding information in the at least one forwarding information includes a destination bit string, a starting edge node and a bit string length, a conversion from an original bit string to at least one destination bit string is realized, a large amount of 0 s can be prevented from being recorded in the at least one destination bit string, and transmission resources are saved.

Description

Transmission method and communication device for multicast data message
Technical Field
The present application relates to the field of communications, and in particular, to a method and a device for transmitting multicast data packets.
Background
Bit-indexed explicit replication (BIER) technology is a multicast technology generated by the discussion of the Internet Engineering Task Force (IETF).
Specifically, each edge node in the network is configured with a BIER forwarding router identifier (BfrID), and is flooded in the network through an Interior Gateway Protocol (IGP), so that other nodes (including edge nodes and intermediate nodes) in the network all know the BfrID of each edge node in the network, and establish forwarding tables respectively. When a node receives the multicast data message, the multicast data message can be forwarded through the list item of the forwarding table.
Specifically, the header of the multicast data packet has a field: bit string (BitString). Each bit in the bit string is used to indicate whether the corresponding edge node is a destination edge node of the multicast data packet, where 1 indicates that the corresponding edge node is the destination edge node of the multicast data packet, and 0 indicates that the corresponding edge node is not the destination edge node of the multicast data packet.
The bit string length of the bit string is usually 64 × 2^ k (e.g. 64/128/256/512, etc., k is a positive integer), if the number of destination edge nodes indicated in the bit string is small, for example, there are only 2, i.e. only two bits in the bit string are 1, and the others are all 0, the effective information ratio is small, and the utilization rate of transmission resources is low.
Disclosure of Invention
The embodiment of the application provides a transmission method and a communication device of multicast data messages, which are used for converting an original character string in the multicast data messages into at least one target bit string.
A first aspect of the present application provides a method for transmitting a multicast data packet, including:
in the method, a first node determines at least one destination edge node of target data, and when at least one piece of forwarding information is determined according to the at least one destination edge node, the first node sends a multicast data message to a second node, the multicast data message comprises at least one piece of forwarding information and target data, the second node is a next hop node of the first node, and as each piece of forwarding information in the at least one piece of forwarding information comprises a target bit string, a starting edge node and a bit string length, the original bit string is converted into the at least one target bit string, a large number of 0 s can be prevented from being recorded in the at least one target bit string, and transmission resources are saved.
In some possible implementation manners, the first node determines an original bit string according to the at least one destination edge node, where the original bit string is used to identify the at least one destination edge node and converts the original bit string into at least one destination bit string, where each destination bit string in the at least one destination bit string is used to identify part or all of the at least one destination edge node, and determines a bit string length and a starting edge node of each destination bit string in the at least one destination bit string, so that the conversion of the original bit string into the at least one destination bit string is achieved.
In some feasible implementation manners, at least two destination edge nodes with the same previous-hop node are identified in one target bit string of at least one target bit string, so that when the intermediate node forwards the multicast data message, the number of times of copying the multicast data message can be reduced, and transmission resources are saved.
In some feasible implementation manners, the order of identifying the edge node identifiers in one target bit string of the at least one target bit string is at least two continuous target edge nodes, so that the length of the target bit string is reduced as much as possible, and transmission resources are saved.
In some possible implementations, the first node determines the second node, i.e., determines the next-hop node, based on at least one destination edge node.
In some feasible implementation manners, the first node determines, by querying the forwarding table, second nodes corresponding to respective destination edge nodes in the at least one destination edge node, so as to implement querying of a next-hop node.
A second aspect of the present application provides a method for transmitting a multicast data packet, including:
the second node receives a multicast data message, the multicast data message comprises at least one piece of forwarding information and target data, each piece of forwarding information in the at least one piece of forwarding information comprises a target bit string, an initial edge node and a bit string length, then the at least one piece of forwarding information is determined to determine at least one target edge node, a third node is determined according to the at least one target edge node, the third node is a next hop node of the second node, finally the second node forwards the multicast data message to the second node, the multicast data message comprises the forwarding information corresponding to the third node in the at least one piece of forwarding information, the original bit string is inquired in the prior art, only the target bit string needs to be inquired, the number of times of inquiry is reduced, computing resources are saved, and transmission efficiency is improved.
In some feasible implementation manners, if two destination edge nodes in at least one destination edge node have the same one previous hop node, the second node determines the third node according to any one of the two destination edge nodes, so that when the intermediate node forwards the multicast data packet, the number of times of copying the multicast data packet can be reduced, and transmission resources are saved.
A third aspect of the present application proposes a communication device, as a first node, configured to perform the method of any one of the preceding first aspects.
A fourth aspect of the present application proposes a communication device as a second node for performing the method of any of the preceding second aspects.
In a fifth aspect, embodiments of the present application provide a computer-readable storage medium having instructions stored thereon, which, when executed on a computer, cause the computer to perform the method of any of the first or second aspects.
A sixth aspect of the present application provides a computer program product comprising computer executable instructions stored in a computer readable storage medium; the computer-executable instructions may be read by at least one processor of the device from a computer-readable storage medium, the execution of which by the at least one processor causes the device to implement the method provided by the first aspect or any one of the possible implementations of the first aspect.
A seventh aspect of the present application provides a communication device that may include at least one processor, a memory, and a communication interface. At least one processor is coupled with the memory and the communication interface. The memory is configured to store instructions, the at least one processor is configured to execute the instructions, and the communication interface is configured to communicate with other network elements under control of the at least one processor. The instructions, when executed by at least one processor, cause the at least one processor to perform the method of the first aspect or any possible implementation of the first aspect.
An eighth aspect of the present application provides a chip system, which includes a processor, configured to enable a communication apparatus to implement the functions recited in any one of the possible implementation manners of the first aspect or the second aspect.
In one possible design, the system-on-chip may also include a memory that stores program instructions and data necessary for the communication device. The chip system may be constituted by a chip, or may include a chip and other discrete devices.
For technical effects brought by any one of the sixth to ninth aspects or any one of the possible implementation manners, reference may be made to technical effects brought by different possible implementation manners of the first aspect or the first aspect, and details are not described here again.
According to the technical scheme, the embodiment of the application has the following advantages:
in the method, a first node determines at least one destination edge node of destination data, and when determining at least one forwarding information according to the at least one destination edge node, the first node sends a multicast data packet to a second node, wherein the multicast data packet includes the at least one forwarding information and the destination data, and the second node is a next hop node of the first node.
Drawings
FIG. 1 is a schematic diagram of a BIER network as used herein;
FIG. 2 is another schematic diagram of a BIER network as applied herein;
fig. 3 is a schematic diagram illustrating an embodiment of a transmission method for multicast data packets according to the present application;
FIG. 4 is another schematic diagram of a BIER network as applied to the present application;
FIG. 5 is a schematic diagram of a method for encapsulating target data and at least one target bit string according to the present application;
FIG. 6 is another schematic diagram of a BIER network as applied to the present application;
fig. 7 is a schematic diagram of an embodiment of a communication device of the present application;
fig. 8 is a schematic diagram of an embodiment of a communication device of the present application;
fig. 9 is a schematic diagram of an embodiment of a communication device according to the present application.
Detailed Description
The embodiment of the application provides a transmission method and a communication device of multicast data messages, which are used for converting an original character string in the multicast data messages into at least one target bit string.
Embodiments of the present application are described below with reference to the accompanying drawings.
The terms "first," "second," and the like in the description and claims of the present application and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and are merely descriptive of the various ways in which objects of the same nature may be described in connection with the embodiments of the application. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The present application is applicable to a BIER network as shown in fig. 1, which includes a plurality of nodes, including edge nodes and intermediate nodes. Illustratively, as shown in fig. 2, BIER network 100 includes edge nodes A, E, F and G, and intermediate nodes B, C and D. It should be noted that BIER network 100 may also include other nodes, for example, BIER network 100 includes 64 nodes.
Each edge node in BIER network 100 is configured with a BfrID, which typically has a value between 1 and 4096. The BfrID may be notified to each node (including edge nodes and intermediate nodes) by IGP flooding so that each node in the network knows the BfrID of that node. Meanwhile, each node establishes a forwarding table in an IGP flooding mode, and when each node receives the multicast data message, the next hop node is determined by inquiring the forwarding table.
For example, as shown in fig. 2, the next hop node of node a is node B, the next hop nodes of node B are nodes C and D, the next hop nodes of node C are nodes E and F, and the next hop nodes of node D are nodes E and F. Let BfriD of nodes A, E, F and G be as shown in Table 1 below:
TABLE 1
Edge node BfrID
A 1
E 2
F 3
G 40
After the forwarding table is established in an IGP flooding manner, the forwarding table of the node a is as shown in table 2:
TABLE 2
Destination edge node BfrID Next hop node
A 1 A
E 2 B
F 3 B
G 40 B
The forwarding table of node B is shown in table 3:
TABLE 3
Destination edge node BfrID Next hop node
A 1 A
E 2 C/D
F 3 C
G 40 D
The forwarding table of node C is shown in table 4:
TABLE 4
Destination edge node BfrID Next hop node
A 1 B
E 2 E
F 3 F
G 40 D
The forwarding table of node D is shown in table 5:
TABLE 5
Destination edge node BfrID Next hop node
A 1 B
E 2 E
F 3 C
G 40 G
The forwarding table of node E is shown in table 6:
TABLE 6
Destination edge node BfrID Next hop node
A 1 C/D
E 2 E
F 3 C
G 40 D
The forwarding table of node F is shown in table 7:
TABLE 7
Destination edge node BfrID Next hop node
A 1 C
E 2 C
F 3 F
G 40 C
The forwarding table of node G is shown in table 8:
TABLE 8
Destination edge node BfrID Next hop node
A 1 D
E 2 D
F 3 D
G 40 G
When the edge node sends the multicast data packet to the next hop node, specifically, the header of the multicast data packet has a field: a string of bits. Each bit in the bit string is used to indicate whether the corresponding edge node is a destination edge node of the multicast data packet, where 1 indicates that the corresponding edge node is a destination edge node of the multicast data packet, and 0 indicates that the corresponding edge node is not a destination edge node of the multicast data packet.
In the embodiment of the present application, it is assumed that the correspondence between each bit in the bit string and each BfrID is shown in table 9:
TABLE 9
i|BitString[i] BfrID
1 1
2 2
…… ……
64 64
Where BitString [ i ] is used to indicate the ith bit (from the right) of the bit string. Then, nodes A, E, F and G correspond to bits 1, 2, 3 and 40, respectively, in the bit string, as shown in table 10:
watch 10
i|BitString[i] BfrID Node point
1 1 A
2 2 E
3 3 F
40 40 G
Then, if the destination edge node of a multicast data packet is A, E, F, G, bits 1, 2, 3 and 40 in the corresponding BitString should be set to 1, and the rest should be set to 0, that is:
00000000 00000000 00000000 10000000 00000000 00000000 00000000 00000111
the length of the bit string is usually 64 × 2^ k (e.g. 64/128/256/512, etc., k is a positive integer), if the number of destination edge nodes indicated in the bit string is small, for example, there are only 2, i.e. only two bits in the bit string are 1, and the others are all 0, the effective information ratio is small, and the utilization rate of transmission resources is low.
To this end, an embodiment of the present application provides a method for transmitting a multicast data packet, please refer to fig. 3, where the method includes:
301. the first node determines the target data.
For example, in the communication software, a plurality of user equipments form a group, and each of the plurality of user equipments belongs to a user equipment served by one of the plurality of edge nodes. For example, a plurality of user equipments form a chat group, wherein one user equipment may send information, such as "hello", in the chat group, when the information is transmitted to the first node, the first node determines target data corresponding to the information, and the target data is data to be sent by the first node.
302. The first node determines at least one destination edge node of the destination data.
Continuing with the above example, when the first node determines the destination data, the destination edge node is determined based on the five-tuple of the destination data. For example, the first node is node a, and node a determines that the destination edge node of the target data is nodes E, F and G in the network.
303. The first node determines at least one piece of forwarding information according to at least one destination edge node, wherein each piece of forwarding information in the at least one piece of forwarding information comprises a target bit string, a starting edge node and a bit string length.
In an embodiment of the application, a first node determines an original bit string according to at least one destination edge node, where the original bit string is used to identify the at least one destination edge node, then converts the original bit string into at least one destination bit string, where each destination bit string in the at least one destination bit string is used to identify part or all of the at least one destination edge node, and then determines a bit string length and a starting edge node of each destination bit string in the at least one destination bit string.
In the embodiment of the present application, as can be seen from table 10, if BfrID of the edge nodes A, E, F and G are 1, 2, 3 and 40, respectively, then the 1 st, 2 nd, 3 nd and 40 th bits in the corresponding bit string, the original bit string can be obtained as follows:
00000000 00000000 00000000 10000000 00000000 00000000 00000000 00000110
0 in the original bit string is too much, only 3 are 1 (corresponding to the nodes E, F and G), and the network resource is seriously wasted. For this reason, in the embodiment of the present application, the above bit string may be converted into at least one target bit string that is shorter.
Example 1, the bit string is converted into 1 target bit string.
Illustratively, 0 in the head and tail of the original bit string are removed to obtain 1 shorter target bit string:
100000000000000000000000000000000000011
meanwhile, bfrID =2 identifying the starting edge node and L =39 the bit string length of the target bit string, a forwarding information is obtained:
<L,BfrID,BitString>=<39,2,0b100000000000000000000000000000000000011>
where 0b represents binary, < L, bfrID, bitString > represents 39 bits (L) in the target bit string, starting from the bit (2 nd bit) corresponding to BfrID =2, that is, the target bit string expresses a part of information of the original bit string.
In some feasible implementations, in the case that the target bit string needs 39 bits, assuming that L needs 4 bits and BfrID needs 12 bits, the above < L, bfrID, bitString > needs 4+12+39=55 bits, which is reduced by 9 bits compared to the original 64 bits.
Example 2, the original bit string is converted into 2 shorter target bit strings.
Illustratively, the original bit string described above is converted into a shorter 2 target bit strings: 11 (for BfrID =2 and 3) and 1 (for BfrID = 40). And identify the BfrID and bit string length of the starting edge node of each target bit string to obtain 2 pieces of forwarding information:
<L0,BfrID0,BitString0>=<2,2,0b11>
<L1,BfrID1,BitString1>=<1,40,0b1>
in some possible implementations, in BitString0Requiring 2 bits, bitString1In the case of 1 bit being required, if L0And L1Require 4 bits, bfriD, respectively0And BfriD1Each requiring 12 bits, and thus a total of 35 bits, reduces the number of bits by 29 bits compared to the original 64 bits.
Thus, in examples 1 and 2, example 2 is more preferable in reducing the number of bits. It can be seen that in some possible implementation manners, the order of identifying the edge node identifiers in one target bit string of the at least one target bit string is made to be at least two target edge nodes which are consecutive, or the target bit string is made as short as possible.
In some possible implementations, since the subsequent intermediate node needs to forward, if the subsequent intermediate node is respectively sent to two different intermediate nodes, a plurality of multicast data packets may need to be copied. Therefore, in addition to considering the required bit number, it is also required to preferentially consider that the destination edge nodes indicated in the same target bit string have the same previous-hop node as much as possible, that is, at least two destination edge nodes having the same previous-hop node are identified in one target bit string of at least one target bit string, so as to reduce the number of multicast data packets duplicated when the intermediate node forwards the multicast data packets.
For example, as shown in fig. 4, nodes E and F have the same previous hop node C, and neither G nor E nor F has the same previous hop node. If the nodes E/F and G are placed in the same target bit string, the subsequent intermediate node needs to copy the target bit string into two parts, and the two parts are respectively sent to C and D, C sends the multicast data message to F, D sends the multicast data message to G, and 4 parts are copied in total. In contrast, if the nodes E and F are placed in the same target bit string, the subsequent node B needs to send 1 part of the target bit string to the node C (copy 1 part), so that the node C sends the multicast data packet to the nodes E and F (copy 2 parts), and copies 3 parts in total, thereby saving transmission resources.
Therefore, in order to minimize the copy number of the multicast data packet during subsequent forwarding, two edge nodes having the same previous-hop node are identified in one target bit string as much as possible. For example, identifying nodes E and F simultaneously in one target bit string and node G in another target bit string avoids identifying two nodes (e.g., E/F and G) that do not have the same previous-hop node on the same target bit string.
In summary, based on the above-described principle of minimum bit number and the principle that the same target bit string has the same previous-hop node in the identifier, in this embodiment of the present application, the bit string may be converted into i target bit strings, and the bit string length of each target bit string and the value of BfrID of the starting edge node are identified as at least one forwarding information:
S0=<L0,BfrID0,BitString0>
S1=<L1,BfrID1,BitString1>
Si-1=<Li-1,BfrIDi-1,BitStringi-1>
304. and the first node encapsulates the target data according to the at least one piece of forwarding information to obtain the multicast data message.
In this embodiment of the present application, after the first node determines the at least one target bit string, the target data may be encapsulated according to the at least one forwarding information, so as to obtain the multicast data packet.
As described in example 2 above, the content to be encapsulated includes 2 pieces of forwarding information:
S0=<L0,BrfID0,BitString0>=<2,2,0b11>
S1=<L1,BrfID1,BitString1>=<1,40,0b1>
due to the fact that<L0,BrfID0,BitString0>=<2,2,0b11>Identifying the destination edge nodes as nodes E and F, the multicast data packets sent to the nodes E and F need to be encapsulated<L0,BrfID0,BitString0>=<2,2,0b11>. While<L1,BrfID1,BitString1>=<1,40,0b1>If the identified destination edge node is node G, the multicast data packet sent to G needs to be encapsulated with the identifier<L1,BrfID1,BitString1>=<1,40,0b1>。
If the first node is node A and the look-up table 2 shows that if the destination edge node is node E, F, G and the next hop nodes are all B, then S is used0And S1And encapsulating the data packet into a multicast data packet, wherein the next hop node of the multicast data packet is a node B.
Specific packaging methods are described below. Exemplarily, the above S0And S1Packaging may be accomplished by the method shown in fig. 5.
Some of the relevant fields are explained in the following table 11:
TABLE 11
Figure BDA0003050420580000091
As an example, according to the encapsulation mode, the following 2 target bit strings may be encapsulated into the forwarding information in the multicast data packet:
<L0,BrfID0,BitString0>=<2,2,0b11>
<L1,BrfID1,BitString1>=<1,40,0b1>
in addition, values of other fields may be set, and each of the values will be described below.
When bw =0, i.e., the bytes are not aligned, then BrfID1,BitString1Can be 1 bit, i.e. BitString1=1. If bw =1, bitString1For 8 bits, the deficiency is made up by 0, i.e. BitString1=0000 0001. If bw =2, bitString1For 16 bits, the deficiency is made up by 0, bitString1=0000 0000 0000 0001。
When type =1, i.e. BrfidiUsing a relative mode, i.e. BrfidiTrue value of (b) is BrfidiValue of (d) plus Brfid0E.g. Brfid0=2, then BrfidiHas a value of 38=0b00100110, i.e. BrfidiThe true value of 38+2=40. When type =0, i.e. BrfidiUsing absolute mode, i.e. BrfidiTrue value of BrfidiA value of, e.g., brfidiHas a value of 40, i.e. BrfidiThe true value of (5) was 40=0b00101000.
When BSL =0, the bit string length of the original bit string is 64, and when BSL =1, the bit string length of the original bit string is 128.
If x =6 and type =0, i.e. in absolute mode, brfidiTrue value of = BrfidiIf the value of (1) is 40=0b00101000, then BrfidiIs 6.
If y =0 and<L1,BrfID1,BitString1>=<1,40,0b1>wherein, L1The length of the packed bit string is 1, so if not carrying BitString1Do not come outTo make ambiguity, L can be set1=0 without encapsulating bitString1I.e. by<L1,BrfID1>=<0,40>。
If L is0=2,BitString0=0b11, that is, the destination edge node is node E and node F, if the previous hop node of node E and node F is the same, prefix _ mask [0 ] may be set]And =1, configured to indicate that the last hop node of the node E and the node F is the same, and only one node needs to be selected from the node E and the node F to look up the table. If L is1=0,bitString1=0b1, prefix _ mask [1 ] may not be assigned]. If bitString exists2Has a bit string length greater than 1 and can adopt any BfriD2Query, then Prefix _ mask [2 ] may be set]=1, otherwise set Prefix _ mask [2 ]]And =0, and so on, which is not described herein.
305. The first node sends the multicast data message to the second node.
In the embodiment of the present application, the first node may determine the second node according to at least one destination edge node, and exemplarily, the first node may determine the second node corresponding to each destination edge node in the at least one destination edge node by querying a forwarding table.
In this embodiment, after the first node (node a) encapsulates the target data to obtain the multicast data packet, it determines that the next-hop node is node B by looking up table 2, that is, the multicast data packet encapsulated in step 304 is sent to node B.
In some possible implementations, as shown in fig. 6, if node a determines the next-hop nodes to be B1 and B2 by looking up the table, wherein node a will determine the next-hop nodes to be B1 and B2<L0,BrfID0,BitString0>Encapsulated into the multicast data packet 1 and,<L1,BrfID1,BitString1>encapsulating into a multicast data message 2, wherein the target data in the multicast data message 1 and the multicast data message 2 are the same, except that the destination edge node of the multicast data message 1 corresponds to the node B1, the destination edge node of the multicast data message 2 corresponds to the node B2, then sending the multicast data message 1 to the node B1,and sending the multicast data message 2 to the node B2.
306. The second node determines a next hop node from the at least one target bit string.
In this embodiment of the present application, a second node determines at least one piece of forwarding information to determine at least one destination edge node, and then determines a third node according to the at least one destination edge node, where the third node is a next-hop node of the second node.
In the embodiment of the present application, after receiving a multicast data packet, a second node obtains at least one target bit string therein, and determines a next hop node according to the plurality of target bit strings. For example, at least one target bit string in the multicast data packet received by the node B is:
S0=<L0,BrfID0,BitString0>=<2,2,0b11>
S1=<L1,BrfID1,BitString1>=<1,40,0b1>
determining destination edge nodes as nodes E, F and G according to at least one target bit string, and obtaining next-hop nodes as C and D by looking up a table 3, wherein,<L0,BrfID0,BitString0>=<2,2,0b11>the destination edge nodes of (1) are nodes E and F, where E is the next hop node of node C, nodes are the next hop nodes of C and D,<L1,BrfID1,BitString1>=<1,40,0b1>the destination edge node of (2) is node G, which is the next hop node of node D.
Further, the second node (node B) continues to query the Prefix _ mask if the Prefix _ mask [0 ]]=1, represents<L0,BrfID0,BitString0>=<2,2,0b11>The corresponding node E and node F may correspond to the same previous hop node, and the node B may obtain the next hop node, i.e., node C, according to any one of the lookup tables 3 of the node E or node F.
In some possible implementations, the second node (node B) may also continue to query the Prefix _ mask if [1 ]]=0, then the second node is bit-by-bitInquiring about the next hop node, i.e.<L1,BrfID1,BitString1>=<1,40,0b1>The next hop node, i.e., node D, can be obtained by looking up table 3 for the middle corresponding node G.
In some possible implementations, if L1=0, then this segment does not need to be queried, otherwise according to BrfID1And =40, the table 1 is queried to obtain the node G, and then the table 3 is queried to obtain the node D, so that the next-hop node is the node D.
307. And the second node encapsulates the target data to obtain a multicast data message, wherein the multicast data message comprises forwarding information corresponding to the third node in at least one forwarding information.
In the embodiment of the present application, in the multicast data message sent by the second node (node B) to node C, S may be eliminated1=<L1,BfrID1,BitString1>=<1,40,0b1>I.e. without encapsulation S1Retention of only S0=<L0,BfrID0,BitString0>=<2,2,0b11>。
In some possible implementations, if the multicast data packet carries:
< L, bfrID, bitString > = <39,2, 0b10000000000000000000000000000000011 >, then in the multicast data packet sent to node C, the corresponding bit of BfrID =40 does not need to be carried, that is:
< L, bfrID, bitString > = <39,2,0b000000000000000000000000000000000000011>, that is, the bit corresponding to BfrID =40 is cleared, which can also be expressed as:
<L,BfrID,BitString>=<2,2,0b11>
then, in the multicast data packet sent to node D, the bits corresponding to BfrID =2 and 3 need not be carried, that is:
< L, bfrID, bitString > = <39,2,0b100000000000000000000000000000000000000>, that is, the bit corresponding to BfrID =40 is cleared, which can also be expressed as:
<L,BfrID,BitString>=<1,40,0b1>
in some possible implementations, the second node may also lower the value of the BSL. For example, if BSL =1, it indicates that the original bit string is 128 bits, and if 64 bits in the multicast data packet are all zero, BSL may be set to 0, and the multicast data packet may be re-encapsulated.
308. The second node forwards the multicast data message to the third node.
In this embodiment of the present application, if two destination edge nodes have the same previous hop node in at least one destination edge node, the second node determines the third node according to any one of the two destination edge nodes.
In this embodiment, taking the second node as the node B as an example, the node B duplicates the multicast data packet into 2 copies, where one copy of the multicast data packet 1 carries<L0,BrfID0,BitString0>=<2,2,11>And sending the data to the node C; another multicast data packet 2 carries<L1,BrfID1,BitString1>=<1,40,1>And sending the data to the node D. The multicast data message 1 is less than the multicast data message<L1,BrfID1,BitString1>=<1,40,1>The multicast data message 2 is less than the multicast data message<L0,BrfID0,BitString0>=<2,2,11>Thereby saving transmission resources.
When node C receives the bearer<L0,BrfID0,BitString0>=<2,2,11>After the multicast data message is received, the destination edge nodes E and F are determined through the query table 4, and then the multicast data message is sent to the nodes E and F respectively.
When node D receives the bearer<L1,BrfID1,BitString1>=<1,40,1>After the multicast data message is received, the destination edge node G is determined by looking up the table 5, and then the multicast data message is issued to the nodes G respectively.
To facilitate better implementation of the above-described aspects of the embodiments of the present application, the following also provides related apparatus for implementing the above-described aspects.
Referring to fig. 7, a communication apparatus 700 provided in an embodiment of the present application as a first node includes: a processing module 701, a transceiver module 702, wherein,
a processing module 701, configured to determine at least one destination edge node of target data;
the processing module 701 is further configured to determine at least one piece of forwarding information according to at least one destination edge node, where each piece of forwarding information in the at least one piece of forwarding information includes a target bit string, a starting edge node, and a bit string length;
the transceiver module 702 is configured to send a multicast data packet to a second node, where the multicast data packet includes at least one piece of forwarding information and target data, and the second node is a next hop node of the first node.
In some possible implementations, the processing module 701 is specifically configured to:
determining an original bit string according to at least one destination edge node, wherein the original bit string is used for identifying the at least one destination edge node; converting the original bit string into at least one target bit string, wherein each target bit string in the at least one target bit string is used for identifying part or all of at least one target edge node; a bit string length and a starting edge node for each of the at least one target bit string is determined.
In some possible implementations, at least two destination edge nodes having the same last hop node are identified in one of the at least one destination bit string.
In some possible implementations, the order in which the edge node identifications are identified in one of the at least one target bit string is at least two destination edge nodes that are consecutive.
In some possible implementations, the processing module 701 is further configured to determine the second node according to at least one destination edge node.
In some possible implementations, the processing module 701 is further configured to determine, by querying the forwarding table, a second node corresponding to each destination edge node in the at least one destination edge node.
Referring to fig. 8, a communication apparatus 800 according to an embodiment of the present invention, as a second node, includes a transceiver module 801 and a processing module 802, wherein,
a transceiver module 801, configured to receive a multicast data packet, where the multicast data packet includes at least one forwarding information and target data, and each forwarding information in the at least one forwarding information includes a target bit string, an initial edge node, and a bit string length;
a processing module 802, configured to determine at least one forwarding information to determine at least one destination edge node;
the processing module 802 is further configured to determine a third node according to the at least one destination edge node, where the third node is a next-hop node of the second node;
the transceiver module 801 is further configured to forward a multicast data packet to the second node, where the multicast data packet includes forwarding information corresponding to the third node in at least one piece of forwarding information.
In some possible implementations, the transceiver module 801 is specifically configured to:
and if two destination edge nodes in the at least one destination edge node have the same one-hop node, determining a third node according to any one of the two destination edge nodes.
It should be noted that, because the contents of information interaction, execution process, and the like between the modules/units of the apparatus are based on the same concept as the method embodiment of the present application, the technical effect brought by the contents is the same as the method embodiment of the present application, and specific contents may refer to the description in the foregoing method embodiment of the present application, and are not described herein again.
The embodiment of the present application further provides a computer storage medium, where the computer storage medium stores a program, and the program executes some or all of the steps described in the above method embodiments.
Referring to fig. 9, a communication device 900 according to another embodiment of the present invention is described, which includes:
a receiver 901, a transmitter 902, a processor 903, and a memory 904. In some embodiments of the present application, the receiver 901, the transmitter 902, the processor 903 and the memory 904 may be connected by a bus or other means, wherein fig. 9 illustrates the connection by a bus.
The memory 904 may include both read-only memory and random-access memory, and provides instructions and data to the processor 903. A portion of memory 904 may also include non-volatile random access memory (NVRAM). The memory 904 stores an operating system and operating instructions, executable modules or data structures, or a subset thereof, or an expanded set thereof, wherein the operating instructions may include various operating instructions for performing various operations. The operating system may include various system programs for implementing various basic services and for handling hardware-based tasks.
A processor 903 controls the operation of the first session managing network element, and the processor 903 may also be referred to as a Central Processing Unit (CPU). In a specific application, the respective components of the first session managing network element are coupled together by a bus system, wherein the bus system may comprise a power bus, a control bus, a status signal bus, etc. in addition to a data bus. For clarity of illustration, the various buses are referred to in the figures as a bus system.
The method disclosed in the embodiments of the present application may be applied to the processor 903, or implemented by the processor 903. The processor 903 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 903. The processor 903 may be a general-purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash, rom, prom, eprom, or eeprom, registers, etc. storage media that are well known in the art. The storage medium is located in the memory 904, and the processor 903 reads information in the memory 904 and completes the steps of the method in combination with hardware thereof.
The receiver 901 may be used to receive input numeric or character information and generate signal input related to related settings and function control of the communication apparatus, the transmitter 902 may include a display device such as a display screen, and the transmitter 902 may be used to output numeric or character information through an external interface.
In this embodiment, the processor 903 is configured to execute the transmission method of the multicast data packet executed by the communication apparatus.
In another possible design, when the communication apparatus 900 is a chip, the method includes: a processing unit, which may be for example a processor, and a communication unit, which may be for example an input/output interface, a pin or a circuit, etc. The processing unit may execute the computer executable instructions stored in the storage unit to cause the chip in the terminal to execute the method for transmitting the radio report information according to any one of the first aspect. Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, and the like, and the storage unit may also be a storage unit located outside the chip in the terminal, such as a read-only memory (ROM) or another type of static storage device that can store static information and instructions, a Random Access Memory (RAM), and the like.
The processor mentioned in any of the above may be a general purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the above methods.
It should be noted that the above-described embodiments of the apparatus are merely schematic, where the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. In addition, in the drawings of the embodiments of the apparatus provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, and may be specifically implemented as one or more communication buses or signal lines.
Through the description of the above embodiments, those skilled in the art will clearly understand that the present application can be implemented by software plus necessary general-purpose hardware, and certainly can also be implemented by special-purpose hardware including special-purpose integrated circuits, special-purpose CPUs, special-purpose memories, special-purpose components and the like. Generally, functions performed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same functions can be various, such as analog circuits, digital circuits, or dedicated circuits. However, for the present application, the implementation of a software program is more preferable. Based on such understanding, the technical solutions of the present application or portions contributing to the prior art may be substantially embodied in the form of a software product, where the computer software product is stored in a readable storage medium, such as a floppy disk, a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the method according to the embodiments of the present application.
In the above embodiments, the implementation may be wholly or partially realized 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. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device, such as a server, a data center, etc., that includes one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.

Claims (20)

1. A method for transmitting a multicast data packet, comprising:
the first node determines at least one destination edge node of the target data;
the first node determines at least one piece of forwarding information according to the at least one destination edge node, wherein each piece of forwarding information in the at least one piece of forwarding information comprises a target bit string, a starting edge node and a bit string length;
the first node sends a multicast data message to a second node, wherein the multicast data message comprises the at least one forwarding information and the target data, and the second node is a next hop node of the first node.
2. The method as claimed in claim 1, wherein the determining, by the first node, at least one forwarding information according to the at least one destination edge node comprises:
the first node determines an original bit string according to the at least one destination edge node, wherein the original bit string is used for identifying the at least one destination edge node;
the first node converts the original bit string into at least one target bit string, wherein each target bit string in the at least one target bit string is used for identifying part or all of the at least one target edge node;
the first node determines a bit string length and a starting edge node for each of the at least one target bit string.
3. The method of claim 2, wherein at least two destination edge nodes having a same previous-hop node are identified in a target bit string of the at least one target bit string.
4. The method according to claim 2 or 3, wherein the order of identifying the edge node identifications in one of the at least one target bit string is at least two consecutive destination edge nodes.
5. The method according to any one of claims 1-4, further comprising:
the first node determines the second node according to the at least one destination edge node.
6. The method of claim 5, wherein the first node determining the second node according to the at least one destination edge node comprises:
and the first node determines the second nodes corresponding to all destination edge nodes in the at least one destination edge node by querying a forwarding table.
7. A method for transmitting a multicast data packet, comprising:
a second node receives a multicast data message, wherein the multicast data message comprises at least one piece of forwarding information and target data, and each piece of forwarding information in the at least one piece of forwarding information respectively comprises a target bit string, an initial edge node and a bit string length;
the second node determines the at least one forwarding information to determine at least one destination edge node;
the second node determines a third node according to the at least one destination edge node, wherein the third node is a next hop node of the second node;
and the second node forwards the multicast data message to the second node, wherein the multicast data message comprises forwarding information corresponding to the third node in the at least one piece of forwarding information.
8. The method according to claim 7, wherein the second node determining a third node according to the at least one destination edge node comprises:
and if two destination edge nodes in the at least one destination edge node have the same last hop node, the second node determines the third node according to any one of the two destination edge nodes.
9. A communication apparatus, characterized by comprising, as a first node:
a processing module for determining at least one destination edge node of the target data;
the processing module is further configured to determine at least one piece of forwarding information according to the at least one destination edge node, where each piece of forwarding information in the at least one piece of forwarding information includes a target bit string, a starting edge node, and a bit string length;
a transceiver module, configured to send a multicast data packet to a second node, where the multicast data packet includes the at least one piece of forwarding information and the target data, and the second node is a next-hop node of the first node.
10. The apparatus of claim 9, wherein the processing module is specifically configured to:
determining an original bit string according to the at least one destination edge node, wherein the original bit string is used for identifying the at least one destination edge node; converting the original bit string into at least one target bit string, wherein each target bit string in the at least one target bit string is used for identifying part or all of the at least one target edge node; determining a bit string length and a starting edge node for each of the at least one target bit string.
11. The apparatus of claim 10, wherein at least two destination edge nodes having a same previous-hop node are identified in a target bit string of the at least one target bit string.
12. The apparatus according to claim 10 or 11, wherein the order of identifying the edge node identifiers in one target bit string of the at least one target bit string is at least two consecutive destination edge nodes.
13. The apparatus according to any one of claims 9-12,
the processing module is further configured to determine the second node according to the at least one destination edge node.
14. The apparatus of claim 13,
the processing module is further configured to determine the second node corresponding to each destination edge node in the at least one destination edge node by querying a forwarding table.
15. A communication apparatus, characterized by comprising, as a second node:
a transceiver module, configured to receive a multicast data packet, where the multicast data packet includes at least one piece of forwarding information and target data, and each piece of forwarding information in the at least one piece of forwarding information includes a target bit string, an initial edge node, and a bit string length;
a processing module for determining the at least one forwarding information to determine at least one destination edge node;
the processing module is further configured to determine a third node according to the at least one destination edge node, where the third node is a next-hop node of the second node;
the transceiver module is further configured to forward the multicast data packet to the second node, where the multicast data packet includes forwarding information corresponding to the third node in the at least one piece of forwarding information.
16. The apparatus according to claim 15, wherein the transceiver module is specifically configured to:
and if two destination edge nodes in the at least one destination edge node have the same last hop node, determining the third node according to any one of the two destination edge nodes.
17. A chip system, comprising a processor and a memory, the memory and the processor interconnected by a line, the memory having stored therein instructions, the processor configured to perform the method of any of claims 1-8.
18. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a program that causes a computer device to execute the method of any one of claims 1-8.
19. A computer program product, comprising computer executable instructions stored in a computer readable storage medium; at least one processor of a device reads the computer-executable instructions from the computer-readable storage medium, execution of the computer-executable instructions by the at least one processor causing the device to perform the method of any of claims 1-8.
20. A communication device, comprising at least one processor, a memory, and a communication interface;
the at least one processor is coupled with the memory and the communication interface;
the memory is configured to store instructions, the processor is configured to execute the instructions, and the communication interface is configured to communicate with other communication devices under control of the at least one processor;
the instructions, when executed by the at least one processor, cause the at least one processor to perform the method of any one of claims 1-8.
CN202110486238.XA 2021-04-30 2021-04-30 Transmission method and communication device for multicast data message Pending CN115277554A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110486238.XA CN115277554A (en) 2021-04-30 2021-04-30 Transmission method and communication device for multicast data message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110486238.XA CN115277554A (en) 2021-04-30 2021-04-30 Transmission method and communication device for multicast data message

Publications (1)

Publication Number Publication Date
CN115277554A true CN115277554A (en) 2022-11-01

Family

ID=83745342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110486238.XA Pending CN115277554A (en) 2021-04-30 2021-04-30 Transmission method and communication device for multicast data message

Country Status (1)

Country Link
CN (1) CN115277554A (en)

Similar Documents

Publication Publication Date Title
WO2022078509A1 (en) Method and apparatus for encapsulating extension header of ipv6 packet
WO2020001393A1 (en) Method and network node for sending network performance parameter and calculating network performance
CN110380970B (en) Self-adaptive data message forwarding method and device suitable for heterogeneous network
US9893984B2 (en) Path maximum transmission unit discovery
CN111510386B (en) Method and device for processing message
EP3751805B1 (en) Method and device for processing multicast data packet
US10791051B2 (en) System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
CN110191066B (en) Method, equipment and system for determining maximum transmission unit (PMTU)
WO2021197141A1 (en) Service processing method and apparatus, and device and storage medium
KR20040094260A (en) Method for path mtu discovery in ad hoc network
JP7403635B2 (en) METHODS, APPARATUS AND SYSTEM FOR FORWARDING PACKETS IN SR NETWORK
EP3813318B1 (en) Packet transmission method, communication device, and system
WO2022042235A1 (en) Data packet sending method and apparatus, data packet processing method and apparatus, device, and data packet
JP7448597B2 (en) Message generation method and device and message processing method and device
US11134129B2 (en) System for determining whether to forward packet based on bit string within the packet
KR102579060B1 (en) Routing information sending method, packet sending method, and related apparatus
CN112787934A (en) Method, device and equipment for load sharing in bit index explicit replication network
CN111277580B (en) Node data sending method, receiving method and transmission method
CN115277554A (en) Transmission method and communication device for multicast data message
WO2022042386A1 (en) Method for controlling message sending, network device and system
WO2022134674A1 (en) Message transmission method and apparatus, and device, storage medium and system
WO2022007550A1 (en) Load balancing method, apparatus, network device, and system
CN110601982B (en) Route transmission method and device and router
WO2023134500A1 (en) Method for generating segment identifier, network device and system
WO2023088226A1 (en) Packet forwarding method and related device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination