Multicast transmission method of Mesh network
By using ELP protocol packets to transmit neighbor information and multi-point relay sets in the Mesh network, calculate and build a forwarding decision table, and forwarding data is forwarded only by the multi-point relay nodes, the bandwidth consumption problem caused by flooding and forwarding of multi-cast data is solved and the network bandwidth utilization rate is improved.
Patent Information
- Application Number
- CN202211677931.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-26
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2042-12-26
AI Technical Summary
In the prior art, flooding and forwarding of multicast data in the Mesh network consumes a large number of network bandwidth resources, resulting in low network bandwidth utilization.
By using ELP protocol packets to transmit neighbor information and multi-point relay sets in the Mesh network, the network node calculates the multi-point relay set based on the network topology within two hops, and builds a forwarding judgment table. Only the multi-point relay node forwards multicast data, reducing unnecessary data forwarding.
While ensuring the multicast data transmission effect, the number of multicast data forwarding times in the Mesh network is reduced and the network bandwidth utilization rate is improved.
Smart Images

Figure CN116016451B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of Mesh network routing protocols, and in particular to a multicast transmission method for a Mesh network. Background Art
[0002] Currently, the mainstream technology for mobile broadband mesh networks (wireless cellular mesh networks) is Wi-Fi (Wireless Fidelity). Because Wi-Fi technology is based on time competition and backoff mechanisms, the internal flooding and forwarding of multicast data consumes a large amount of network bandwidth resources. Reducing the number of multicast data forwarding times is one of the most effective and cost-effective ways to improve network bandwidth utilization. Summary of the Invention
[0003] The present invention solves the problem in related technologies of consuming a large amount of network bandwidth due to flooding and forwarding of multicast service data, and proposes the following technical solutions.
[0004] The first embodiment of the present invention proposes a multicast transmission method for a Mesh network, comprising the following steps: any network node in the Mesh network receives an ELP (Echo Location Protocol) sent by its neighboring node; ELP protocol package; when the ELP protocol package contains the neighbor information of the neighbor node of the network node, the network node updates the neighbor information of the network node itself according to the neighbor information of the neighbor node and constructs the network topology within two hops of the network node itself; the network node calculates its own multipoint relay set according to the network topology within two hops of itself; the network node broadcasts its own neighbor information and the multipoint relay set to the Mesh network through the ELP protocol package; after each neighbor node of the network node receives the ELP protocol package sent by the network node, it constructs and saves a forwarding decision table based on the neighbor information of the network node itself and the multipoint relay set, wherein the forwarding decision table is used to indicate whether the neighbor node needs to forward the multicast data originating from the network node; after the neighbor node of the network node receives the multicast data originating from the network node, it determines whether it needs to forward the multicast data originating from the network node according to the forwarding decision table, and forwards it according to the Batman routing protocol when forwarding is required.
[0005] In addition, the multicast transmission method of the Mesh network according to the above embodiment of the present invention may also have the following additional technical features.
[0006] According to one embodiment of the present invention, the network node calculates its own multipoint relay set based on the network topology within two hops of itself, including: the network node determines its own neighbor node set and two-hop node set based on the network topology within two hops of itself, the neighbor node set includes all neighbor nodes of the network node, and the two-hop node set includes all two-hop nodes of the network node; the neighbor node set is updated according to the aging phenomenon of each neighbor node in the neighbor node set; the number of two-hop nodes in the two-hop node set connected to each neighbor node in the updated neighbor node set is determined, and each neighbor node in the updated neighbor node set is connected according to the two-hop nodes connected to it. The number of hop nodes is sorted from large to small to obtain a sorted neighbor node set; neighbor nodes are extracted from the sorted neighbor node set in sequence, and after each neighbor node is extracted, it is determined whether there is a one-hop node of the extracted neighbor node in the two-hop node set; if there is a one-hop node of the extracted neighbor node in the two-hop node set, the one-hop node of the extracted neighbor node is removed from the two-hop node set, and the extracted neighbor node is added to the multi-point relay set of the network node itself; if there is no one-hop node of the extracted neighbor node in the two-hop node set, the extracted neighbor node is not added to the multi-point relay set of the network node itself.
[0007] According to one embodiment of the present invention, the neighbor node set is updated according to the aging phenomenon of each neighbor node in the neighbor node set, including: determining the aging time of each neighbor node in the neighbor node set; and removing the neighbor node whose aging time reaches a time threshold from the neighbor node set.
[0008] According to one embodiment of the present invention, the neighbor information of the neighbor node of the network node includes the MAC (Medium / Media Access Control) addresses of all neighbor nodes of the neighbor node of the network node, and the neighbor information of the network node itself includes the MAC addresses of all neighbor nodes of the network node.
[0009] According to one embodiment of the present invention, the network node broadcasts its own neighbor information and the multipoint relay set to the Mesh network through the ELP protocol packet, including: the network node determines whether each of its own neighbor nodes is a member of the multipoint relay set based on its own neighbor information to obtain a judgment result; the network node performs a CRC16 operation on the MAC address of each of its own neighbor nodes to obtain a 16-bit check value; the network node extracts the lower 15 bits of the check value of each neighbor node as a neighbor node identification code, and sets the highest bit of the check value to 1 or 0 according to the judgment result to obtain the information field corresponding to each neighbor node of the network node; the network node encapsulates the information field corresponding to each of its own neighbor nodes through the ELP protocol packet and broadcasts it to the Mesh network.
[0010] According to one embodiment of the present invention, setting the highest bit of the check value to 1 or 0 according to the judgment result may include: when the judgment result is that the neighbor node is a member of the multi-point relay set, setting the highest bit of the check value to 1; when the judgment result is that the neighbor node is not a member of the multi-point relay set, setting the highest bit of the check value to 0.
[0011] According to one embodiment of the present invention, a forwarding decision table is constructed and saved based on the neighbor information of the network node itself and the multipoint relay set, including: obtaining the MAC address of the network node and performing a CRC16 operation on the MAC address of the network node; when the highest bit of the information field is 1, adding the result of the CRC16 operation on the MAC address of the network node as a network node identification code to the forwarding decision table, and indicating that the neighbor node corresponding to the information field needs to forward the multicast data originated from the network node, and saving the forwarding decision table; when the highest bit of the information field is 0, adding the result of the CRC16 operation on the MAC address of the network node as a network node identification code to the forwarding decision table, and indicating that the neighbor node corresponding to the information field does not need to forward the multicast data originated from the network node, and saving the forwarding decision table.
[0012] The technical solution of the embodiment of the present invention can reduce the number of multicast data forwarding times within the Mesh network while ensuring the multicast data transmission effect, thereby reducing the consumption of network bandwidth by multicast services and improving the bandwidth utilization of the Mesh network. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 This is a flowchart of a multicast transmission method for a Mesh network according to an embodiment of the present invention.
[0014] Figure 2 This is a schematic diagram of a Mesh network configuration according to an example of the present invention.
[0015] Figure 3 This is a schematic diagram of neighbor nodes of network node 1 in a Mesh network according to an example of the present invention.
[0016] Figure 4 This is a schematic diagram of the network topology within two hops of network node 1 in a Mesh network according to an example of the present invention.
[0017] Figure 5 This is a schematic diagram of neighbor nodes and two-hop nodes of network node 1 in a Mesh network according to an example of the present invention. DETAILED DESCRIPTION
[0018] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0019] Figure 1 This is a flowchart of a multicast transmission method for a Mesh network according to an embodiment of the present invention.
[0020] like Figure 1 As shown, the multicast transmission method of the Mesh network includes the following steps S1 to S6.
[0021] S1: Any network node in the Mesh network receives an ELP protocol packet sent by its neighboring node.
[0022] Specifically, all network nodes in the Mesh network can encapsulate their own neighbor information through ELP protocol packets and send them to their neighbor nodes. Then, any network node can receive the ELP protocol packets sent by its neighbor nodes. After receiving the ELP protocol packets sent by its neighbor nodes, the ELP protocol packets can be parsed.
[0023] S2. When the ELP protocol packet contains the neighbor information of the neighbor node of the network node, the network node updates its own neighbor information according to the neighbor information of the neighbor node and constructs the network topology within two hops of the network node itself.
[0024] The neighbor information of a network node's neighbor nodes includes the MAC addresses of all neighbor nodes (i.e., one-hop nodes) of the network node's neighbor nodes, i.e., all two-hop nodes of the network node. The neighbor information of the network node itself includes the MAC addresses of all neighbor nodes (one-hop nodes) of the network node.
[0025] Specifically, the network node parses the received ELP protocol packet. When it parses the neighbor information of its neighbor node (the MAC address of the two-hop node of the network node), the network node updates its own neighbor information, i.e., the MAC address, based on the parsed neighbor information, and constructs the network topology within two hops of the network node itself (including the network node, the neighbor node of the network node, and the two-hop node of the network node) based on the parsed neighbor information.
[0026] When the ELP protocol packet does not contain the neighbor information of the neighbor nodes of the network node, that is, when the neighbor information of its neighbor nodes cannot be parsed, the network node sends the ELP protocol packet with the neighbor information but without the MPR set information to the Mesh network.
[0027] S3: The network node calculates its own multipoint relay set based on the network topology within two hops of itself.
[0028] The Multi Point Relay (MPR) set represents at least one neighbor node among all neighbor nodes of a network node that covers all two-hop nodes of the network node.
[0029] S4: The network node broadcasts its neighbor information and multipoint relay set to the Mesh network through the ELP protocol packet.
[0030] Specifically, the network node packages its own neighbor information (the neighbor information updated in step S2) and the MPR set into an ELP protocol packet and broadcasts it to the Mesh network, so that each neighbor node of the network node can receive the ELP protocol containing the network node's own neighbor information and the MPR set.
[0031] S5, after each neighbor node of the network node receives the ELP protocol packet sent by the network node, it constructs and saves a forwarding decision table based on the network node's own neighbor information and multipoint relay set, where the forwarding decision table is used to indicate whether the neighbor node needs to forward the multicast data originating from the network node.
[0032] The multicast data originating from a network node refers to the multicast data sent by the network node.
[0033] Specifically, the network node broadcasts its own neighbor information and MPR set to the Mesh network through the ELP protocol packet. Each neighbor node of the network node will receive the ELP protocol packet and parse the ELP protocol packet to obtain the neighbor information and MPR set of the network node. According to the neighbor information and MPR set of the network node, it determines whether the current neighbor node needs to forward the multicast data from the network node, and constructs and saves the forwarding decision table based on the judgment result.
[0034] Through the above steps S1 to S5, the neighboring node of any network node in the Mesh network has a forwarding decision table, which records whether the neighboring node needs to forward multicast data from the network node, so as to serve as a basis for whether to forward the multicast data when receiving the multicast data.
[0035] S6, after receiving the multicast data from the network node, the neighbor node of the network node determines whether to forward the multicast data from the network node according to the forwarding decision table, and forwards the multicast data according to the Batman routing protocol if forwarding is required.
[0036] Specifically, in practical applications, if any neighboring node of a network node receives multicast data originating from the network node, it determines whether to forward the multicast data based on a stored forwarding decision table. If forwarding is required, it forwards the data according to the Batman routing protocol. Because the forwarding decision table is based on the MPR set, which covers all two-hop nodes of the network node, forwarding ensures that the multicast data is received by every two-hop node of the network node, based on the minimum number of neighboring nodes forwarding the multicast data. If forwarding is not necessary, the neighboring node discards the current multicast data.
[0037] For example, Mesh network networking Figure 2 As shown, for any network node 1, when node 1 receives the ELP protocol packet sent by its neighbor node, it parses the neighbor information of the neighbor node from the packet, and updates its own neighbor information (including the MAC address of the neighbor node) according to the parsed neighbor information, thereby obtaining the following: Figure 3 The neighbor nodes shown in the figure are constructed, and the network topology within two hops is constructed, and the following is obtained: Figure 4 The network topology within two hops is shown.
[0038] Afterwards, node 1 is Figure 4 The network topology shown calculates its own MPR set (covering all two-hop nodes of node 1) and broadcasts its own neighbor information and multipoint relay set to the Mesh network through ELP protocol packets. Any neighbor node of node 1 (such as node 2) builds and saves the forwarding decision table based on the neighbor information and MPR set of node 1.
[0039] After node 2 receives the multicast data from receiving node 1, if the forwarding decision table indicates that node 2 needs to forward the multicast data, it will be processed according to the original forwarding logic of the Batman protocol; if the forwarding decision table indicates that node 2 does not need to forward the multicast data, the current multicast data packet will be discarded.
[0040] In an embodiment of the present invention, based on the Batman routing protocol implementation mechanism, a network node broadcasts its neighbor information and the calculated MPR set information to the Mesh network through an ELP packet. Its neighbor nodes use the received MPR set information as one of the judgment conditions for whether to forward the multicast data originating from the network node. If instructed not to forward, the neighbor nodes directly do not forward the multicast data received from the network node. This reduces the number of forwarding times of multicast data while ensuring effective transmission, thereby reducing the consumption of network bandwidth by multicast services while ensuring transmission effectiveness.
[0041] Therefore, the multicast transmission method of the Mesh network in the embodiment of the present invention can reduce the number of forwarding times of multicast data in the Mesh network while ensuring the multicast data transmission effect, thereby reducing the consumption of network bandwidth by multicast services and improving the bandwidth utilization of the Mesh network.
[0042] In one embodiment of the present invention, step S3, that is, the network node calculates its own multipoint relay set based on the network topology within two hops of itself, may include: the network node determines its own neighbor node set and two-hop node set based on the network topology within two hops of itself, the neighbor node set includes all neighbor nodes of the network node, and the two-hop node set includes all two-hop nodes of the network node; the neighbor node set is updated according to the aging phenomenon of each neighbor node in the neighbor node set; the number of two-hop nodes in the two-hop node set connected to each neighbor node in the updated neighbor node set is determined, and each neighbor node in the updated neighbor node set is connected according to its The number of connected two-hop nodes is sorted from large to small to obtain a sorted neighbor node set; neighbor nodes are extracted from the sorted neighbor node set in sequence, and after each neighbor node is extracted, it is determined whether there is a one-hop node of the extracted neighbor node in the two-hop node set; if the one-hop node of the extracted neighbor node exists in the two-hop node set, the one-hop node of the extracted neighbor node is removed from the two-hop node set, and the extracted neighbor node is added to the multi-point relay set of the network node itself; if the one-hop node of the extracted neighbor node does not exist in the two-hop node set, the extracted neighbor node is not added to the multi-point relay set of the network node itself.
[0043] The extracted one-hop node (neighboring node) of the neighbor node is the two-hop node of the network node.
[0044] Furthermore, the neighbor node set is updated according to the aging phenomenon of each neighbor node in the neighbor node set, including: determining the aging time of each neighbor node in the neighbor node set; and removing the neighbor node whose aging time reaches a time threshold from the neighbor node set.
[0045] Among them, in actual application, the time threshold can be set according to actual needs and actual conditions.
[0046] Specifically, each network node can calculate its MPR set according to the following steps:
[0047] (1) Each network node determines its own neighbor node set and two-hop node set based on the network topology within two hops of itself. The neighbor node set is represented by X and the two-hop node set is represented by Y.
[0048] (2) Considering the information aging factor of neighbor nodes, an aging time threshold is set. Usually, several neighbor information update cycles, i.e., ELP sending cycles, are used as the threshold. Neighbor nodes with a long aging time (aging time reaches the time threshold) are eliminated to obtain the updated neighbor node set X';
[0049] (3) Sort each element of the updated neighbor node set X' obtained in step (2) from large to small according to the number of two-hop nodes of the network nodes connected to it, and obtain the sorted neighbor node set X";
[0050] (4) Extract the first element x1 of X” and take the element x1 as an element of the MPR set, and remove the two-hop node connected to x1 in the two-hop node set Y (i.e., the one-hop node of x1) from the two-hop node set Y;
[0051] (5) Extract the next element x of X" in sequence i , and there is at least one node in the two-hop node set Y that is connected to x i When the network node is connected to a two-hop node, the element x i As an element of the MPR set, the two-hop node connected to x1 in the two-hop node set Y (i.e., the one-hop node of x1) is removed from the two-hop node set Y; there is no at least one node connected to x1 in the two-hop node set Y. i When the network node connected is a two-hop node (i.e. a one-hop node of x1), the element x is not i As an element of the MPR set;
[0052] (6) Return to step (5) and loop until all members of the two-hop node set Y are removed, and the MPR set of network nodes can be obtained.
[0053] For example, for Figure 4 As shown in the network topology diagram within two hops, it can be seen that the neighbor nodes of node 1 are node 2, node 3, node 4, node 5, node 10, node 11, node 12 and node 13, as shown in Figure 5 As shown, assuming that all neighbor nodes are not over-aged, the updated neighbor node set of node 1 is X' = {13, 12, 11, 10, 3, 2, 5, 4}, and the sorted neighbor node set X" = {10, 5, 13, 12, 11, 2, 3, 4}. Figure 4 and Figure 5 , the two-hop node set Y of node 1 is {14, 28, 27, 26, 25, 24, 23, 9, 8, 7, 6, 17, 16, 15}. Based on this, the MPR set of node 1 can be obtained by the following steps:
[0054] Step 1: Take neighbor node 10 from X'. The two-hop nodes of node 1 connected to 10 are nodes 24, 23, 9, and 8. In Y, there are two-hop nodes 24, 23, 9, and 8 of node 1 corresponding to 10. Therefore, node 10 is taken as an element of the MPR set of node 1, and nodes 24, 23, 9, and 8 are removed from Y. That is, MPR = {10}, Y = {14, 28, 27, 26, 25, 7, 6, 17, 16, 15};
[0055] Step 2: Take the neighbor node 5 from X'. The two-hop nodes of node 1 connected to 5 are nodes 7, 6, 17 and 16. The two-hop nodes of node 1 corresponding to 5 exist in Y. Therefore, node 5 is taken as an element of the MPR set of node 1, and nodes 7, 6, 17 and 16 are removed from Y. That is, MPR = {10, 5}, Y = {14, 28, 27, 26, 25, 15};
[0056] Step 3: Take neighbor node 13 from X'. The two-hop nodes of node 1 connected to 13 are nodes 14, 28, and 27. The two-hop nodes of node 1 corresponding to 13 exist in Y. Therefore, node 13 is taken as an element of the MPR set of node 1, and nodes 14, 28, and 27 are removed from Y. That is, MPR = {10, 5, 14}, Y = {26, 25, 15};
[0057] Step 4: Take neighbor node 12 from X'. The two-hop nodes of node 1 connected to 12 are nodes 27, 26, and 25. The two-hop nodes of node 1 corresponding to 12 exist in Y. Therefore, node 12 is taken as an element of the MPR set of node 1, and nodes 26 and 25 are removed from Y. That is, MPR = {10, 5, 14, 12}, Y = {15};
[0058] Step 5: Take neighbor node 11 from X'. The two-hop nodes of node 1 connected to 11 are nodes 26, 25, and 24. There is no two-hop node of node 1 corresponding to 11 in Y. Therefore, node 11 is not included in the MPR set of node 1. That is, MPR = {10, 5, 14, 12}, Y = {15};
[0059] Step 6: Take neighbor node 2 from X'. The two-hop nodes of node 1 connected to 2 are nodes 8, 7, and 6. There is no two-hop node of node 1 corresponding to 2 in Y. Therefore, node 2 is not included in the MPR set of node 1. That is, MPR = {10, 5, 14, 12}, Y = {15};
[0060] Step 7: Take neighbor node 3 from X'. The two-hop nodes of node 1 connected to 3 are nodes 9 and 8. There is no two-hop node of node 1 corresponding to 3 in Y. Therefore, node 3 is not included in the MPR set of node 1. That is, MPR = {10, 5, 14, 12}, Y = {15};
[0061] Step 8: Take neighbor node 4 from X'. The two-hop nodes of node 1 connected to 4 are nodes 17, 16, and 15. There is a two-hop node 15 of node 1 corresponding to 4 in Y. Therefore, node 4 is taken as an element in the MPR set of node 1, and node 15 is removed from Y. That is, MPR = {10, 5, 14, 12, 4}, Y = {}.
[0062] Through steps 1 to 8, the MPR set of node 1 can be obtained, MPR = {10, 5, 14, 12, 4}, which covers all two-hop nodes of node 1.
[0063] In one embodiment of the present invention, the above-mentioned step S4, i.e., the network node broadcasts its own neighbor information and multipoint relay set to the Mesh network through the ELP protocol packet, may include: the network node determines whether each of its neighbor nodes is a member of the multipoint relay set based on its own neighbor information to obtain a judgment result; the network node performs a CRC16 operation on the MAC address of each of its neighbor nodes to obtain a 16-bit check value; the network node extracts the lower 15 bits of the check value of each neighbor node as the neighbor node identification code, and sets the highest bit of the check value to 1 or 0 according to the judgment result to obtain the information field corresponding to each neighbor node of the network node; the network node encapsulates the information field corresponding to each of its neighbor nodes through the ELP protocol packet and broadcasts it to the Mesh network.
[0064] Furthermore, setting the highest bit of the check value to 1 or 0 according to the judgment result may include: when the judgment result is that the neighbor node is a member of the multi-point relay set, setting the highest bit of the check value to 1; when the judgment result is that the neighbor node is not a member of the multi-point relay set, setting the highest bit of the check value to 0.
[0065] That is to say, in the information field of each neighbor node, the lower 15 bits are used as the neighbor node identification code, and the highest bit is used to indicate whether the neighbor node is a member of the multipoint relay set of the network node. When the highest bit is 1, it indicates that the neighbor node is a member of the multipoint relay set, and when the highest bit is 0, it indicates that the neighbor node is not a member of the multipoint relay set.
[0066] Specifically, the network node determines whether each of its neighboring nodes is a member of the multipoint relay set based on its own neighbor information, obtaining a yes or no judgment result. If yes, a CRC16 operation is performed on the neighboring node's MAC address to obtain a 16-bit check value, and the lower 15 bits of the 16-bit check value are extracted as the neighbor node identification code, and the highest bit is set to 1, thereby obtaining the neighbor node's information field. If no, a CRC16 operation is performed on the neighboring node's MAC address to obtain a 16-bit check value, and the lower 15 bits of the 16-bit check value are extracted as the neighbor node identification code, and the highest bit is set to 0, thereby obtaining the neighbor node's information field. The network node then encodes the lower 15 bits and the highest bit of each neighbor node's information field into two bytes of information, encapsulates it in an ELP packet, and broadcasts it to the mesh network.
[0067] Afterwards, step S5 is executed, that is, after each neighbor node of the network node receives the ELP protocol packet sent by the network node, it constructs and saves a forwarding decision table based on the network node's own neighbor information and multipoint relay set, where the forwarding decision table is used to indicate whether the neighbor node needs to forward the multicast data originating from the network node.
[0068] In one embodiment of the present invention, step S5 of constructing and saving a forwarding decision table based on the neighbor information and multipoint relay set of the network node itself may include: obtaining the MAC address of the network node and performing a CRC16 operation on the MAC address of the network node; when the highest bit of the information field is 1, adding the result of the CRC16 operation on the MAC address of the network node as the network node identification code to the forwarding decision table, and indicating that the neighbor node corresponding to the information calculation needs to forward the multicast data originated from the network node, and saving the forwarding decision table; when the highest bit of the information field is 0, adding the result of the CRC16 operation on the MAC address of the network node as the network node identification code to the forwarding decision table, and indicating that the neighbor node corresponding to the information field does not need to forward the multicast data originated from the network node, and saving the forwarding decision table.
[0069] Specifically, after the network node encapsulates the lower 15 bits (neighbor node identification code) and the highest bit (1 or 0) in the information field corresponding to each neighbor node through an ELP packet and broadcasts it to the Mesh network, the neighbor node parses and obtains its own corresponding information field. When it is determined that the highest bit of the information field is 1, the result of the CRC16 operation on the MAC address of the network node is added as the network node identification code to the forwarding decision table, and indicates in the forwarding decision table that the current neighbor node needs to forward the multicast data originating from the network node, and the forwarding decision table is saved; when it is determined that the highest bit of the information field is 0, the result of the CRC16 operation on the MAC address of the network node is added as the network node identification code to the forwarding decision table, and indicates in the forwarding decision table that the current neighbor node does not need to forward the multicast data originating from the network node, and the forwarding decision table is saved.
[0070] Therefore, after any neighbor node of the network node receives the multicast data of the network node, it determines whether the multicast data needs to be forwarded according to its forwarding decision table. If it indicates not to forward, the current multicast data packet is discarded. If there is no indication not to forward, the forwarding process is performed according to the Batman protocol implementation logic.
[0071] Based on the Batman routing protocol implementation mechanism, the embodiment of the present invention sends the neighbor information of the current node through the Batman protocol ELP packet, so that each node obtains the network topology within two hops. Each network node calculates the multipoint relay set of the current node based on the network topology within two hops and broadcasts the network through the ELP packet. Only the neighboring nodes belonging to the MPR set of the current node will forward the multicast data originating from the current node, thereby reducing the number of forwarding times of multicast data in the Mesh network and improving the bandwidth utilization of the Mesh network.
[0072] In summary, the multicast transmission method of the Mesh network in the embodiment of the present invention is based on the Batman protocol, an open source routing protocol of the WIFI autonomous network, and utilizes the two-hop network topology of each network node to calculate the minimum neighbor subset MPR set of each node. By forwarding the minimum neighbor subset MPR set, the multicast data originating from each network node can be transmitted to each two-hop node of the autonomous network, and the minimum forwarding number of multicast data is achieved at the same time, thereby reducing the network bandwidth consumption of the multicast data and improving the network bandwidth utilization.
[0073] Corresponding to the multicast transmission method for a Mesh network in the above embodiment, the present invention further provides a multicast transmission device for a Mesh network.
[0074] In the description of the present invention, the terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, a feature specified as "first" or "second" may explicitly or implicitly include one or more of such features. "Multiple" means two or more, unless otherwise specifically defined.
[0075] In the description of this specification, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.
[0076] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present invention includes alternative implementations in which functions may be performed out of the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present invention pertain.
[0077] It should be understood that various parts of the present invention can be implemented using hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0078] Those skilled in the art will appreciate that all or part of the steps carried out in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment. In addition, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically alone, or two or more units can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0079] Although the embodiments of the present invention have been shown and described above, it will be understood that the above embodiments are illustrative and are not to be construed as limitations on the present invention. A person skilled in the art may change, modify, replace and modify the above embodiments within the scope of the present invention.
Claims
1. A multicast transmission method for a Mesh network, characterized in that: The following steps are involved: Any network node in the Mesh network receives an ELP protocol packet sent by its neighboring node; When the ELP protocol packet includes the neighbor information of the neighbor node, the network node updates its own neighbor information according to the neighbor information of the neighbor node and constructs a network topology within two hops of the network node itself; The network node calculates its own multipoint relay set based on the network topology within two hops of itself; The network node broadcasts its own neighbor information and the multipoint relay set to the Mesh network through an ELP protocol packet; After receiving the ELP protocol packet sent by the network node, each neighbor node of the network node constructs and saves a forwarding decision table based on the neighbor information of the network node itself and the multipoint relay set, wherein the forwarding decision table is used to indicate whether the neighbor node needs to forward the multicast data originated from the network node; After receiving the multicast data from the network node, the neighbor node of the network node determines whether to forward the multicast data from the network node according to the forwarding decision table, and forwards the multicast data according to the Batman routing protocol when forwarding is required. The network node calculates its own multipoint relay set according to the network topology within two hops of itself, including: the network node determines its own neighbor node set and two-hop node set according to the network topology within two hops of itself, the neighbor node set includes all neighbor nodes of the network node, and the two-hop node set includes all two-hop nodes of the network node; the neighbor node set is updated according to the aging phenomenon of each neighbor node in the neighbor node set; the number of two-hop nodes in the two-hop node set connected to each neighbor node in the updated neighbor node set is determined, and each neighbor node in the updated neighbor node set is connected according to the number of two-hop nodes connected to it. , sorting from large to small to obtain a sorted neighbor node set; extracting neighbor nodes from the sorted neighbor node set in order, and after each neighbor node is extracted, judging whether there is a one-hop node of the extracted neighbor node in the two-hop node set; if there is a one-hop node of the extracted neighbor node in the two-hop node set, removing the one-hop node of the extracted neighbor node from the two-hop node set, and adding the extracted neighbor node to the multi-point relay set of the network node itself; if there is no one-hop node of the extracted neighbor node in the two-hop node set, not adding the extracted neighbor node to the multi-point relay set of the network node itself.
2. The multicast transmission method of the Mesh network according to claim 1, characterized in that: Updating the neighbor node set according to the aging phenomenon of each neighbor node in the neighbor node set includes: Determining an aging time of each neighbor node in the neighbor node set; The neighbor nodes whose aging time reaches the time threshold are removed from the neighbor node set.
3. The multicast transmission method of Mesh network according to claim 1, characterized in that: The neighbor information of the neighbor nodes of the network node includes the MAC addresses of all neighbor nodes of the neighbor nodes of the network node, and the neighbor information of the network node itself includes the MAC addresses of all neighbor nodes of the network node.
4. The multicast transmission method of the Mesh network according to claim 3, characterized in that: The network node broadcasts the neighbor information and the multipoint relay set to the Mesh network through an ELP protocol packet, including: The network node determines whether each of its neighbor nodes is a member of the multipoint relay set based on its own neighbor information to obtain a determination result; The network node performs a CRC16 operation on the MAC address of each of its neighboring nodes to obtain a 16-bit check value; The network node extracts the lower 15 bits of the check value of each neighbor node as a neighbor node identification code, and sets the highest bit of the check value to 1 or 0 according to the judgment result to obtain an information field corresponding to each neighbor node of the network node; The network node encapsulates the information field corresponding to each of its neighbor nodes through an ELP protocol packet and broadcasts it to the Mesh network.
5. The multicast transmission method of Mesh network according to claim 4, characterized in that: Setting the highest bit of the check value to 1 or 0 according to the judgment result includes: When the judgment result is that the neighbor node belongs to a member of the multipoint relay set, setting the highest bit of the check value to 1; When the judgment result is that the neighbor node does not belong to the multipoint relay set member, the highest bit of the check value is set to 0.
6. The multicast transmission method of Mesh network according to claim 5, characterized in that: Constructing and saving a forwarding decision table based on the neighbor information of the network node itself and the multipoint relay set, including: Obtaining the MAC address of the network node, and performing a CRC16 operation on the MAC address of the network node; When the highest bit of the information field is 1, performing a CRC16 operation on the MAC address of the network node as a network node identification code, adding the result to a forwarding decision table, instructing a neighboring node corresponding to the information field to forward multicast data originating from the network node, and saving the forwarding decision table; When the highest bit of the information field is 0, the result of the CRC16 operation on the MAC address of the network node is added to the forwarding decision table as the network node identification code, and the neighbor node corresponding to the information field is instructed not to forward the multicast data originating from the network node, and the forwarding decision table is saved.
Citation Information
Patent Citations
Message forwarding method and device and medium
CN110662258A