Routing communication method and apparatus
By constructing a second routing table in the wireless ad hoc network to determine the target acceleration node and optimize the routing path, the problem of poor link transmission rate in the OLSR protocol is solved, and the control signaling overhead is reduced, thus achieving more efficient data transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DATANG LIANCHENG INFORMATION SYST TECH CO LTD
- Filing Date
- 2023-05-15
- Publication Date
- 2026-06-30
AI Technical Summary
In wireless ad hoc networks, link quality is not considered when selecting MPR nodes based on the OLSR protocol, resulting in poor link transmission rates for the determined routing paths. Furthermore, the QoS-OLSR protocol increases the overhead of transmitting control signaling.
By constructing a second routing table, the target acceleration node of the next-hop MPR node of the node is determined, so that the minimum link rate between the node and the target acceleration node and the link rate from the target acceleration node to the next-hop MPR node is at least twice the link rate between the node and the next-hop MPR node, thereby optimizing the routing path. The link rate between nodes is determined by the MCS level without the need to send control signaling separately.
It improves the data transmission rate of the routing path, reduces the transmission control signaling overhead in the wireless ad hoc network, and optimizes the routing path of the OLSR protocol.
Smart Images

Figure CN116528315B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, and in particular to a routing communication method and apparatus. Background Technology
[0002] Wireless self-organizing networks are a type of decentralized self-organizing network.
[0003] In wireless ad hoc networks, the communication coverage of nodes is limited due to the limitations of node transmit power. Therefore, when a node needs to communicate with other nodes outside its coverage area, it needs to rely on the forwarding of intermediate nodes, i.e., multi-hop communication. Multi-hop communication can be implemented based on the Optimized Link State Routing (OLSR) protocol. The OLSR protocol uses a MultiPoint Relay (MPR) mechanism. Based on the MPR mechanism, during the routing table construction process, all nodes can receive information, but only the selected nodes have the right to propagate the received information; the selected nodes are called MPR nodes.
[0004] However, in the routing communication process based on the OLSR protocol, the selection of MPR nodes does not consider link quality, which may lead to poor link transmission rates on the determined routing path. Therefore, to optimize the global routing path, an OLSR protocol incorporating Quality of Service (QoS) was proposed, namely the QoS-OLSR protocol. Although the QoS-OLSR protocol optimizes the routing path globally, it requires the individual transmission of link QoS information between each node in the ad hoc network, which inevitably increases the overhead of transmitting control signaling. Summary of the Invention
[0005] This application provides a routing communication method and apparatus that can reduce the signaling overhead required to implement routing communication while improving the link transmission rate of routing paths in wireless ad hoc networks.
[0006] On the one hand, this application provides a routing communication method applied to nodes in a wireless ad hoc network, including:
[0007] Obtain the data packet to be sent by the node;
[0008] Based on the first routing table and the destination node of the data packet, the next-hop MPR node of the node is determined. The first routing table is a routing table constructed by the node based on the optimized link-state routing protocol.
[0009] Based on the second routing table, a target acceleration node is determined from the node to the next-hop MPR node. The second routing table includes acceleration nodes corresponding to each of the node's one-hop neighbor nodes, wherein the minimum value of the link rate from the node to the acceleration node of the one-hop neighbor node and the link rate from the acceleration node of the one-hop neighbor node to the one-hop neighbor node is greater than twice the link rate from the node to the one-hop neighbor node.
[0010] The data packet is sent to the target acceleration node so that the target acceleration node can forward the data packet to the next-hop MPR node.
[0011] In one possible implementation, before sending the data packet to the target acceleration node, the method further includes:
[0012] In the header of the data packet, the next-hop node is marked as the next-hop MPR node, and the acceleration node is marked as the target acceleration node, thus obtaining the marked data packet;
[0013] Sending the data packet to the target acceleration node includes:
[0014] The tagged data packet is sent to the target acceleration node, so that if the target acceleration node confirms that the acceleration node marked in the tagged data packet is the target acceleration node, the target acceleration node forwards the tagged data packet to the next-hop MPR node marked in the packet header.
[0015] In another possible implementation, determining the next-hop MPR node of the node based on the first routing table and the destination node of the data packet includes:
[0016] If the data packet does not mark the acceleration node or the marked next-hop node is the node, the next-hop MPR node of the node is determined based on the first routing table and the destination node of the data packet;
[0017] The method further includes:
[0018] If the acceleration node marked in the data packet is the node in question, the data packet is forwarded to the next-hop MPR node marked in the data packet based on the next-hop MPR node marked in the data packet.
[0019] In another possible implementation, after determining the target acceleration node from the node to the next-hop MPR node, the method further includes:
[0020] Based on the length of the data packet, the link rate from the node to the next-hop MPR node, and the first time required for the node to request service resources, the first transmission time required for the data packet to be transmitted from the node to the next-hop MPR node is determined.
[0021] Based on the length of the data packet, the link rate from the node to the target acceleration node, the first time, the link rate from the target acceleration node to the next-hop MPR node, and the second time required for the target acceleration node to request service resources, a second transmission time is determined for the data packet to be transmitted from the node to the next-hop MPR node via the target acceleration node.
[0022] If the second transmission duration is greater than or equal to the first transmission duration, the data packet is sent to the next-hop MPR node;
[0023] Sending the data packet to the target acceleration node includes:
[0024] If the second transmission duration is less than the first transmission duration, the data packet is sent to the target acceleration node.
[0025] In another possible implementation, the second routing table is obtained as follows:
[0026] Based on the MCS signaling sent by each of the node's one-hop neighbor nodes, the MCS level from the node to each of the one-hop neighbor nodes is determined, and the MCS level from each one-hop neighbor node and each of the node's shared neighbor nodes to that one-hop neighbor node is determined. The shared neighbor node is the one-hop neighbor node jointly owned by the node and the one-hop neighbor node.
[0027] For any one of the node's one-hop neighbor nodes, the first link rate from the node to the one-hop neighbor node is determined based on the MCS level of the node to the one-hop neighbor node.
[0028] For any one of the node's one-hop neighbor nodes, the second link rate from the common neighbor node to the one-hop neighbor node is determined based on the MCS level from the common neighbor node to the one-hop neighbor node.
[0029] For any shared neighbor node between the node and the one-hop neighbor node, the third link rate from the node to the shared neighbor node is determined based on the MCS level from the node to the shared neighbor node;
[0030] For any one-hop neighbor node of the node, a target common neighbor node is determined from all the common neighbors of the node and the one-hop neighbor node, wherein the minimum link rate of the second link rate and the third link rate corresponding to the target common neighbor node is greater than twice the first link rate from the node to the one-hop neighbor node.
[0031] For any one-hop neighbor node of the node, the target common neighbor node corresponding to the one-hop neighbor node is determined as the acceleration node corresponding to the one-hop neighbor node, and the acceleration nodes corresponding to each one-hop neighbor node of the node are stored in the second routing table.
[0032] In yet another possible implementation, the node and its different neighboring nodes each have a different node identifier;
[0033] The step of determining the target common neighbor node corresponding to the one-hop neighbor node as the acceleration node corresponding to the one-hop neighbor node includes:
[0034] If the one-hop neighbor node corresponds to multiple target shared neighbor nodes, determine the candidate shared neighbor node with the largest minimum link rate from among the multiple target shared neighbor nodes;
[0035] If there is a candidate shared neighbor node, the candidate shared neighbor node is determined as the acceleration node of the one-hop neighbor node;
[0036] If there are multiple candidate shared neighbor nodes, determine the target candidate shared neighbor node with the highest node neighbor degree from among the multiple candidate shared neighbor nodes;
[0037] If a target candidate shared neighbor node exists, the target candidate shared neighbor node is determined as the acceleration node of the one-hop neighbor node;
[0038] If there are multiple target candidate shared neighbor nodes, the target candidate shared neighbor node with the largest node identifier is determined as the acceleration node corresponding to the one-hop neighbor node.
[0039] In another aspect, this application also provides a routing communication device for use in nodes of a wireless ad hoc network, comprising:
[0040] A packet acquisition unit is used to acquire the data packets to be sent by the node;
[0041] The first node determination unit is used to determine the next-hop MPR node of the node based on the first routing table and the destination node of the data packet. The first routing table is a routing table constructed by the node based on the optimized link-state routing protocol.
[0042] The second node determination unit is used to determine the target acceleration node from the node to the next-hop MPR node based on the second routing table. The second routing table includes acceleration nodes corresponding to each of the node's one-hop neighbor nodes, wherein the minimum value of the link rate from the node to the acceleration node of the one-hop neighbor node and the link rate from the acceleration node of the one-hop neighbor node to the one-hop neighbor node is greater than twice the link rate from the node to the one-hop neighbor node.
[0043] The packet forwarding processing unit is used to send the data packet to the target acceleration node so that the target acceleration node can forward the data packet to the next-hop MPR node.
[0044] In one possible implementation, the device further includes:
[0045] A packet marking unit is used to mark the next-hop node as the next-hop MPR node and the acceleration node as the target acceleration node in the packet header of the data packet before the packet sending unit sends the data packet to the target acceleration node, so as to obtain a marked data packet;
[0046] The packet forwarding processing unit includes:
[0047] The packet forwarding subunit is used to send the marked data packet to the target acceleration node, so that if the target acceleration node confirms that the acceleration node marked in the marked data packet is the target acceleration node, it forwards the marked data packet to the next-hop MPR node marked in the packet header.
[0048] In another possible implementation, the first node determining unit includes:
[0049] The first node determination subunit is used to determine the next-hop MPR node of the node based on the first routing table and the destination node of the data packet if the data packet does not mark the acceleration node or the marked next-hop node is the node.
[0050] The device further includes:
[0051] A packet sending unit is configured to forward the packet to the next-hop MPR node marked in the packet if the acceleration node marked in the packet is the node.
[0052] In yet another possible implementation, the device further includes:
[0053] The first duration determination unit is used to determine the first transmission duration required for the data packet to be transmitted from the node to the next-hop MPR node based on the length of the data packet, the link rate from the node to the next-hop MPR node, and the first time required for the node to request service resources, after the second node determination unit determines the target acceleration node.
[0054] The second duration determination unit is used to determine the second transmission duration required for the data packet to be transmitted from the node to the next-hop MPR node via the target acceleration node based on the length of the data packet, the link rate from the node to the target acceleration node, the first time, the link rate from the target acceleration node to the next-hop MPR node, and the second time required for the target acceleration node to request service resources.
[0055] A packet direct transmission unit is configured to send the data packet to the next-hop MPR node if the second transmission duration is greater than or equal to the first transmission duration.
[0056] The packet forwarding processing unit includes:
[0057] A packet forwarding processing subunit is configured to send the data packet to the target acceleration node if the second transmission duration is less than the first transmission duration.
[0058] As can be seen from the above, in this embodiment of the application, after the nodes of the wireless ad hoc network determine the next-hop MPR node based on the data packet to be sent and the first routing table determined based on the OLSR protocol, they will also determine the target acceleration node of the next-hop MPR node. Since the minimum value of the link rate between the node and the target acceleration node and the link rate from the target acceleration node to the next-hop MPR node is at least twice the link rate between the node and the next-hop MPR node, forwarding the data packet through the target acceleration node to the next-hop MPR node can effectively improve the data transmission rate of the routing path, thereby improving the data packet transmission efficiency and thus optimizing the routing path of the OLSR protocol.
[0059] Furthermore, the link rate between nodes is determined in this application based on the MCS level between the nodes, and the MCS level between the nodes can be obtained by the MCS signaling transmitted within the wireless ad hoc network, without the need to send control signaling for transmitting link QoS information separately, thereby reducing the overhead of transmitting control signaling within the wireless ad hoc network. Attached Figure Description
[0060] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0061] Figure 1 A flowchart illustrating a routing communication method provided in an embodiment of this application is shown.
[0062] Figure 2 This paper illustrates the relationship between the target node, its one-hop neighbor node, and the acceleration node of that one-hop neighbor node in this application.
[0063] Figure 3 This illustration shows a flowchart of constructing a second routing table according to an embodiment of this application;
[0064] Figure 4 This diagram illustrates how a node obtains its MCS level through its neighboring nodes.
[0065] Figure 5 This diagram illustrates a network topology of a wireless ad hoc network.
[0066] Figure 6 This illustration shows a flowchart of a routing communication method provided in an embodiment of this application.
[0067] Figure 7 This illustration shows a schematic diagram of the composition structure of a routing communication device provided in an embodiment of this application. Detailed Implementation
[0068] The solution proposed in this application is applicable to wireless ad hoc networks. The solution proposed in this application can optimize the routing path (also referred to as the route) based on the Optimized Link State Routing (OLSR) protocol and reduce the control signaling overhead required in the routing path optimization process. This achieves the goal of increasing the transmission rate of the determined routing path while reducing the signaling overhead required to implement routing communication.
[0069] A wireless ad hoc network is a multi-hop, mobile peer-to-peer network consisting of dozens to hundreds of nodes that use wireless communication and are dynamically networked. Nodes in a wireless ad hoc network can be terminals or other forms of communication nodes, without restriction.
[0070] Unlike traditional cellular wireless communication networks, ad hoc wireless networks do not require fixed equipment support. Each node, i.e., the user terminal, forms its own network, and data is forwarded through the nodes during communication. Due to the characteristics of ad hoc wireless networks, they are suitable for communication needs in some emergency situations, such as meeting the communication requirements of temporary locations.
[0071] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0072] like Figure 1 The diagram illustrates a flowchart of a routing communication method according to this application. The method of this embodiment is applied to a target node in a wireless ad hoc network. The method of this embodiment may include:
[0073] S101: Obtain the data packet to be sent, and determine the next-hop MPR node of the target node based on the first routing table and the destination node of the data packet.
[0074] The target node can be any node in the wireless ad hoc network. For ease of distinction, the node that obtains and processes the data packet is referred to as the target node in this application.
[0075] In this application, the data packet may be generated by the target node, in which case the target node is the source node of the data packet. Alternatively, the data packet may be sent to the target node by other nodes in the wireless ad hoc network. In this case, the target node is any Multipoint Relay (MPR) node in the routing path that transmits the data packet, i.e., any MPR node between the source node and the destination node determined based on the OLSR protocol.
[0076] The first routing table is the routing table built by the target node based on the OLSR protocol.
[0077] Understandably, the OLSR protocol determines routing paths based on the minimum hop count. Specifically, when a wireless ad hoc network (VAN) performs routing communication based on the OLSR protocol, in order to ensure connectivity between nodes and the reliability of inter-node communication, all nodes in the VAN send or forward routing signaling at the same rate (generally considered a low rate in the industry). Based on this rate, and at the cost of the minimum hop count, the shortest routing path from each node to any node in the VAN is established, resulting in a routing table for each node, which is the first routing table in this application.
[0078] When determining the routing path based on OLSR, all nodes send or forward routing signaling at the same and lower rate. This rate can be based on the minimum rate of all nodes in the routing path, which may result in a lower data transmission rate for the routing path. Therefore, the routing path finally determined based on the first routing table is not the optimal routing path, but a relatively slow routing path.
[0079] In this application, for any node in a wireless ad hoc network, the first routing table corresponding to that node can be constructed in accordance with the provisions of the OLSR protocol. This application does not impose any restrictions on the specific construction method.
[0080] It is understood that the solution in this application embodiment can be applied to unicast or multicast scenarios. In the case of unicast, there is only one destination node, and correspondingly only one next-hop MPR node. In the case of multicast, a data packet may need to be sent to multiple destination nodes simultaneously. In this case, for each destination node, the next-hop MPR node corresponding to each destination node needs to be determined by referring to the first routing table. However, the optimization process for the local routing path from the destination node to the next-hop MPR node is the same, that is, the subsequent process of determining the target acceleration node and forwarding data packets to the target acceleration node is the same, and will not be described in detail here.
[0081] S102, based on the second routing table, determine the target acceleration node from the target node to the next-hop MPR node.
[0082] The second routing table includes acceleration nodes corresponding to each of the target node's one-hop neighbor nodes. A one-hop neighbor node is a node that can be reached from the target node via one hop; it is also simply referred to as a neighbor node.
[0083] The acceleration node is a relay node determined to improve the transmission rate of data packets from the target node to its one-hop neighbor node.
[0084] It is understandable that, in order for the target node to transmit data packets to a certain one-hop neighbor node via an acceleration node, the acceleration node must also be a one-hop neighbor node of the target node, and must also be a one-hop neighbor node shared by the target node. That is, the acceleration node corresponding to the one-hop neighbor node belongs to the one-hop neighbor node shared by the target node and the one-hop neighbor node. For ease of distinction, the one-hop neighbor node shared by the target node and the one-hop neighbor node is called the shared neighbor node.
[0085] In this application, the acceleration node corresponding to any one-hop neighbor node of the target node in the second routing table must meet the following conditions:
[0086] The minimum of the link rate from the target node to the accelerated node of the first-hop neighbor node and the link rate between the accelerated node of the first-hop neighbor node and the first-hop neighbor node is greater than twice the link rate from the target node to the first-hop neighbor node.
[0087] The link rate from the target node to the acceleration node of a one-hop neighbor node is the data transmission rate of the link between the target node and the corresponding acceleration node of the one-hop neighbor node.
[0088] To better understand the conditions that the accelerated node corresponding to a one-hop neighbor node must satisfy, please refer to [link / reference needed]. Figure 2 As shown.
[0089] Figure 2 This diagram illustrates the relationship between the target node's one-hop neighbor nodes and their accelerated nodes. Figure 2 The following example uses node A as the target node and node B as a one-hop neighbor of node A.
[0090] The link speed from node A to node B is R_ab, the link speed from node A to node C is R_ac, and the link speed from node C to node B is R_cb. If node C can act as an acceleration node from node A to node B, then the following condition must be met:
[0091] min{R_ac,R_cb}>2*R_ab
[0092] Where min{R_ac,R_cb} represents the minimum value between R_ac and R_cb.
[0093] In this application, for any two nodes, the link rate between the nodes is determined based on the modulation and coding scheme (MCS) level between the nodes. The MCS level between nodes can be obtained through the MCS signaling transmitted between nodes in the wireless ad hoc network, thus eliminating the need to send separate control signaling to determine the MCS level between nodes.
[0094] In this embodiment, for ease of distinction, the acceleration node corresponding to the next-hop MPR node of the target node is referred to as the target acceleration node.
[0095] S103, send a data packet to the target acceleration node so that the target acceleration node can forward the data packet to the next-hop MPR node.
[0096] It is understandable that after step S103, if the target acceleration node receives the data packet, it will forward the data packet to the next-hop MPR node corresponding to the target node.
[0097] It is understandable that, since the minimum of the link speed from the target node to the target acceleration node and the link speed from the target acceleration node to the next-hop MPR node is higher than twice the link speed from the target node directly to the next-hop MPR node, even though it may take two hops for the target node to forward the data packet to the next-hop MPR node via the target acceleration node, the data packet transmission rate is faster because the speed from the target node to the next-hop MPR node via the target acceleration node is higher.
[0098] Correspondingly, compared to the route from the target node directly to the next-hop MPR node, the route from the target node to the next-hop MPR node via the target acceleration node is superior. This application optimizes the route from the target node to each next-hop MPR node, effectively establishing a local high-speed route. Thus, the entire route can be composed of multiple locally optimized high-speed routes, thereby optimizing the entire route of data packets from the source node to the destination node.
[0099] It is understandable that for a node's one-hop neighbor, there may not be a better route than directly from that node to that one-hop neighbor; that is, there may not be a corresponding acceleration node for that one-hop neighbor. Correspondingly, for the next-hop MPR node of the target node, if the second routing table does not contain a target acceleration node corresponding to that next-hop MPR node, then the data packet can be sent directly to that next-hop MPR node.
[0100] As can be seen from the above, in this embodiment of the application, after the nodes of the wireless ad hoc network determine the next-hop MPR node based on the data packet to be sent and the first routing table determined based on the OLSR protocol, they will also determine the target acceleration node of the next-hop MPR node. Since the minimum value of the link rate between the node and the target acceleration node and the link rate from the target acceleration node to the next-hop MPR node is at least twice the link rate between the node and the next-hop MPR node, forwarding the data packet through the target acceleration node to the next-hop MPR node can effectively improve the data transmission rate of the routing path, thereby improving the data packet transmission efficiency and thus optimizing the routing path of the OLSR protocol.
[0101] Furthermore, in this application, the link rate between nodes is determined based on the MCS level between the nodes, and the MCS level between nodes can be obtained through the MCS signaling transmitted within the wireless ad hoc network, without the need to send control signaling separately for transmitting link QoS information, thereby reducing the overhead of transmitting control signaling within the wireless ad hoc network.
[0102] To facilitate understanding of the scheme in this application, the process of constructing the second routing table of a node in this application will be introduced below in conjunction with one implementation method.
[0103] like Figure 3 As shown, it illustrates a flowchart of constructing a second routing table provided in an embodiment of this application.
[0104] For ease of description, the target node is used as an example. However, it is understood that the process of creating the second routing table for any node in a wireless ad hoc network is the same as in this embodiment.
[0105] The process in this embodiment may include:
[0106] S301, the target node sends MCS signaling based on each of its one-hop neighbor nodes to determine the MCS level from the target node to each of its one-hop neighbor nodes, and the MCS level from each of the shared neighbor nodes of the one-hop neighbor node to the one-hop neighbor node.
[0107] As mentioned above, the shared neighbor nodes between the target node and the one-hop neighbor node mentioned here are the one-hop neighbor nodes that the target node and the one-hop neighbor node both own.
[0108] The message format of MCS signaling can be shown in Table 1 below:
[0109] Table 1
[0110] src dst MCS Grade
[0111] Wherein, src represents the source node that generates the MCS signaling message;
[0112] dst indicates the destination node of the MCS signaling message;
[0113] MCS Grade indicates the MCS level of the service sent from the source node src to the destination node dst.
[0114] It is understandable that the MCS level between two nodes will be continuously adjusted as the service packets between the nodes are correctly received. Therefore, the MCS level indicated in the MCS signaling sent by the two nodes at different times will also be different.
[0115] It is understandable that since each node's MCS signaling contains the MCS level from that node to each of its first-hop neighbors, for any given node, through the MCS signaling sent by its first-hop neighbors, it can not only obtain the MCS level from that node to each of its first-hop neighbors, but also obtain the MCS level from each of its first-hop neighbors to each of its first-hop neighbors.
[0116] For example, see Figure 4 As shown, Figure 4 This shows the MCS level information that each node can obtain from related nodes. Figure 4 As can be seen, node 1 can determine the MCS level from node 1 to node 2 and from node 1 to node 3. Furthermore, node 1 can also obtain the MCS level from node 2 to node 1 and from node 2 to node 3 through node 2. Similarly, node 1 can also obtain the MCS level from node 3 to node 4 through node 3, and so on, without further explanation.
[0117] Based on this, for the target node, in addition to obtaining the MCS level from the target node to the next-hop neighbor node, it will also obtain the MCS level from each of the shared neighbor nodes of the target node and any one of its first-hop neighbor nodes to the target node.
[0118] It should be noted that the MCS level between any two nodes is directional. In order to determine whether there are acceleration nodes between the target node and the first-hop neighbor node, it is necessary to pay attention to the MCS level from the target node to each first-hop neighbor node. Moreover, for each first-hop neighbor node of the target node, it is necessary to pay attention to the MCS level from the common neighbor node between each first-hop neighbor node and the target node to that first-hop neighbor node.
[0119] S302, for any one-hop neighbor node of the target node, determine the first link rate from the target node to the one-hop neighbor node based on the MCS level of the target node to the one-hop neighbor node.
[0120] It is understandable that the MCS (Multi-Segment Class) level between two nodes can characterize the link speed between those two nodes. Therefore, by combining the MCS levels between nodes, the link speed between the nodes can be determined. For example, a correspondence between link speeds corresponding to different MCS levels can be established, and by querying the correspondence, the link speed corresponding to each MCS level can be determined.
[0121] Of course, there may be other ways to determine the link rate, and this application does not limit the specific method of determining the link rate based on the MCS level.
[0122] In this embodiment, for ease of distinction, the link rate from the target node to its one-hop neighbor node is called the first link rate, the link rate from the shared neighbor node between the target node and its one-hop neighbor node to that one-hop neighbor node is called the second link rate, and the link rate from the target node to the shared neighbor node is called the third link rate.
[0123] S303, for any common neighbor node corresponding to each one-hop neighbor node of the target node, determine the second link rate from the common neighbor node to the one-hop neighbor node based on the MCS level from the common neighbor node to the one-hop neighbor node.
[0124] For any one-hop neighbor of the target node, the common neighbor of that one-hop neighbor refers to the common neighbor of that one-hop neighbor and the target node.
[0125] It is understandable that for any one-hop neighbor node, there may be multiple shared neighbor nodes between the neighbor node and the target node. However, for each shared neighbor node between the one-hop neighbor node and the target node, it is necessary to determine the second link rate from the shared neighbor node to the one-hop neighbor node.
[0126] S304, for any common neighbor node corresponding to each one-hop neighbor node of the target node, determine the third link rate from the target node to the common neighbor node based on the MCS level from the target node to the common neighbor node.
[0127] S305, for any one-hop neighbor of the target node, determine the target common neighbor from among the common neighbor nodes of the target node and the one-hop neighbor.
[0128] For any one-hop neighbor node, the target common neighbor nodes of that one-hop neighbor node all satisfy the following condition:
[0129] The minimum link rate between the target node and its first-hop neighbor nodes, which is greater than twice the first link rate between the target node and its first-hop neighbor node, is the minimum link rate. For ease of distinction, the minimum of the second and third link rates is referred to as the minimum link rate.
[0130] Based on this, the target shared neighbor node is actually the acceleration node corresponding to the one-hop neighbor node. This step can be found in step S102 above. Figure 2 The relevant information will not be repeated here.
[0131] S306, for any one-hop neighbor node of the target node, determine the target common neighbor node corresponding to the one-hop neighbor node as the acceleration node corresponding to the one-hop neighbor node, and store the acceleration nodes corresponding to each one-hop neighbor node of the target node in the second routing table.
[0132] Understandably, for any one-hop neighbor of the target node, if that one-hop neighbor has multiple shared neighbors, then a candidate shared neighbor with the highest minimum link rate can be identified from these multiple shared neighbors, and this candidate shared neighbor can be designated as the acceleration node for that one-hop neighbor. The minimum link rate of the shared neighbor reflects the throughput of the link path between the target node, the one-hop neighbor, and the corresponding shared neighbor.
[0133] Among them, the candidate shared neighbor node belongs to the multiple target shared neighbor nodes.
[0134] In another possible scenario, if multiple accelerated routing paths with the same throughput exist, the accelerated node can be selected by combining the node's neighbor degree. Specifically, if there is a candidate shared neighbor node, it can be directly determined as the accelerated node for the one-hop neighbor node; if there are multiple candidate shared neighbor nodes, the target candidate shared neighbor node with the highest node neighbor degree can be determined from these multiple candidate shared neighbor nodes, and this target candidate shared neighbor node can be determined as the accelerated node for the one-hop neighbor node.
[0135] In particular, if there are multiple target candidate shared neighbor nodes with the highest node neighbor degree, then the target candidate shared neighbor node with the highest node identifier can be determined as the acceleration node corresponding to that one-hop neighbor node.
[0136] In a self-organizing network, each node has its own unique node identifier, and these identifiers are different for each node. Similarly, for the target node, each next-hop neighbor node's shared neighbor also has its own unique node identifier.
[0137] It is understood that, in this application, in order to enable the target acceleration node to easily identify itself as the acceleration node of the next-hop MPR node after receiving the data packet, and to forward the data packet to the next-hop MPR node identified by the target node, this application may also add the marking information of the next-hop MPR node and the acceleration node to the header of the data packet.
[0138] Specifically, before sending a data packet, the target node can mark the next-hop node as the next-hop MPR node and the acceleration node as the target acceleration node in the packet header, thus obtaining a marked data packet. Correspondingly, the target node can send the marked data packet to the target acceleration node, so that the target acceleration node, upon confirming that the acceleration node marked in the marked data packet is indeed the target acceleration node, will forward the marked data packet to the next-hop MPR node marked in the packet header.
[0139] Optionally, if the target node determines that there is no acceleration node corresponding to the next-hop MPR node, the target node can also mark the acceleration node in the packet header as invalid and then send the packet to the next-hop MPR node.
[0140] It is understandable that the above examples are based on the target node being either the source node for generating data packets or any MPR node in the data packet transmission process.
[0141] In practical applications, the target node can also act as an acceleration node for a certain MPR node during data packet transmission. Based on this, after the target node obtains the data packet, it can also determine whether the data packet is marked with an acceleration node and whether the acceleration node is itself.
[0142] Specifically, if the data packet is generated by the target node, then the data packet does not mark the acceleration node. In this case, the target node also needs to determine the next-hop MPR node based on the first routing table and the destination node of the data packet, and perform the relevant operations in steps S102 to S103, in accordance with the previous step S101.
[0143] If the data packet is passed to the target node by another node, and the data packet does not have an acceleration node marked (e.g., the acceleration node is marked as invalid), then it means that the target node is the next-hop MPR node of the node that transmitted the data packet to it. Therefore, the target node also needs to determine the next-hop MPR node based on the first routing table and the destination node of the data packet, and perform the relevant operations in steps S102 to S103, in accordance with the previous step S101.
[0144] Similarly, if a data packet is marked with an acceleration node, but the marked acceleration node is not the target node, and the marked next-hop node is itself, it means that the data packet is transmitted from a certain node to the target node through the acceleration node corresponding to the target node. In this case, the target node is just an ordinary MPR node, and it is also necessary to perform the following operations: determine the next-hop MPR node based on the first routing table and the destination node of the data packet, as well as the related operations in steps S102 to S103.
[0145] Of course, if the target node receives the data packet and the accelerated node is marked as the target node, then it means that the target node received the data packet as an accelerated node. Therefore, the target node can forward the data packet to the next-hop MPR node marked in the data packet based on the next-hop MPR node marked in the data packet.
[0146] To make it easier to understand, the following application scenario example will be used to illustrate the point.
[0147] For example Figure 5 The following is an example of a network topology diagram of a wireless ad hoc network.
[0148] exist Figure 5 In the diagram, each circle represents a node, as can be seen. Figure 5 The wireless ad hoc network shown includes six nodes: node 1, node 2, node 3, node 4, node 5, and node 6.
[0149] exist Figure 5 In the network topology diagram, suppose node 1 generates a data packet with a destination address of node 6. Therefore, this data packet needs to be eventually transmitted from node 1 to node 6.
[0150] Based on this, a first routing table can be constructed using the OLSQ protocol. Considering that the link speed between nodes is not taken into account during the construction of the first routing table, the link speed from a node to each next-hop node in the first routing table is relatively low. For ease of distinction, the first routing table can be called the low-speed routing table, and each next-hop node in the first routing table can be called a low-speed 1-hop node. The second routing table constructed by subsequent nodes is called the high-speed routing table, and the accelerated nodes determined in the second routing table are called high-speed forwarding nodes.
[0151] For example, the first routing table built by node 1 based on the OLSR protocol can be shown in Table 2 below;
[0152] Table 2:
[0153] destination node Low speed 1 jump Low speed 2 jumps Low speed 3 jumps Node 1 Node 1 - - Node 2 Node 2 - - Node 3 Node 3 - - Node 4 Node 3 - Node 5 Node 3 - - Node 6 Node 3 Node 5 -
[0154] As shown in Table 2 above, based on the first routing table, the route for a data packet from node 1 to destination node 6 is to first pass through node 3, then through node 5, and finally reach destination node 6. Therefore, for node 1, with destination node 6, the next-hop MPR node determined by the low-speed routing table (i.e., the first routing table) in Table 1 is node 3. Simultaneously, through the MCS signaling sent by node 1's neighbor nodes—nodes 2 and 3—node 1 can ultimately determine at least the MCS levels from node 1 to node 2, node 1 to node 3, node 2 to node 1, node 2 to node 3, node 3 to node 2, and node 3 to node 1. Based on this, and combined with the previous description, node 1 can determine the acceleration node corresponding to the next-hop MPR node 3. For example, the second routing table constructed by node 1, i.e., the high-speed routing table, can be shown in Table 3 below.
[0155] Table 3
[0156] node High-speed forwarding node 1 - 2 - 3 2 4 - 5 - 6 -
[0157] As can be seen from Table 3, when the next hop MPR node determined by node 1 is node 3, the acceleration node of node 3 is node 2.
[0158] The above explanation uses node 1 as an example. Other nodes will also build their own low-speed routing tables (first routing table) and high-speed routing tables (second routing table), which will not be elaborated further.
[0159] Based on the above, the process of sending data packets from source node 1 to destination node 6 using the scheme of this application may involve the following six operation steps corresponding to several nodes:
[0160] (1) Node 1 generates data packets and performs forwarding processing as follows:
[0161] Since Node 1 is the source node of the data packet, Node 1 determines the low-speed next-hop node as Node 3 according to the low-speed routing table (as shown in Table 1). Then, Node 1 looks up the high-speed routing table and determines that the high-speed next-hop node corresponding to Node 3 is Node 2. Therefore, Node 1 will fill the low-speed next-hop node (i.e., the next-hop MPR node) in the packet header with Node 3, fill the high-speed next-hop node (i.e., the acceleration node) with Node 2, and send the data packet to Node 2.
[0162] (2) After receiving the data packet, Node 2 determines that it is a high-speed next-hop node and the low-speed next-hop node is Node 3 based on the packet header. Therefore, Node 2 will forward the data packet to Node 3.
[0163] (3) After receiving the data packet, node 3 processes and forwards the data packet in the following manner:
[0164] Node 3 determines itself to be the low-speed next-hop node based on the packet header. Node 3 then queries its low-speed routing table. If the destination node is Node 6, the low-speed next-hop node is Node 5. Next, Node 3 queries its constructed high-speed routing table. Assuming it determines that the high-speed next-hop node (i.e., the accelerated node) corresponding to Node 5 is Node 4, Node 3 changes the low-speed next-hop node in the packet header to Node 5 and the high-speed next-hop node to Node 4. Then, Node 3 forwards the packet to Node 4.
[0165] (4) After receiving the data packet, node 4 performs the same operation as node 2, that is, based on the low-speed next-hop node marked in the packet header as node 5, it forwards the data packet to node 5.
[0166] (5) After receiving the data packet, Node 5 confirms that the low-speed next-hop node in the packet header is itself. Based on the destination node of the data packet being Node 6, it queries the low-speed routing table and determines that the low-speed next-hop node of the destination node 6 is Node 6. Moreover, Node 5 does not find the corresponding high-speed next-hop node for Node 6 in its constructed high-speed routing table. Therefore, Node 5 fills the low-speed next-hop in the packet header with Node 6, and can also fill the high-speed next-hop node as invalid, and sends the data packet to Node 6.
[0167] (6) After receiving the data packet, node 6 confirms that it is the destination node, and can then process the data packet without forwarding it.
[0168] Understandable, Figure 5 The application scenario is illustrated using a unicast scenario. In a multicast scenario, a data packet may need to be sent to multiple destination nodes, but the processing from the source node to each destination node is similar, so it will not be elaborated here.
[0169] It is understandable that after the target node determines the target acceleration node of the next-hop MPR node, it can further determine whether the time taken for the data packet to be transmitted to the MPR node via the target acceleration node is less, so as to further reduce the impact of other interference on the transmission efficiency of routing communication. The following is a specific implementation of an embodiment of this application.
[0170] like Figure 6 The diagram illustrates another flowchart of the routing communication method provided in this application embodiment. This method can be applied to wireless ad hoc networks. The method of this embodiment may include:
[0171] S601, the target node determines its next-hop MPR node based on the first routing table and the destination node of the data packet to be sent.
[0172] The first routing table is a routing table built by the target node based on the optimized link-state routing protocol.
[0173] In this embodiment, the target node is taken as the source node of the data packet or any MPR node as an example.
[0174] S602, the target node determines the target acceleration node from the target node to the next-hop MPR node based on the second routing table.
[0175] The second routing table includes the acceleration nodes corresponding to each of the target node's one-hop neighbor nodes. For a description of the second routing table, please refer to the relevant descriptions in the previous embodiments; they will not be repeated here.
[0176] For ease of distinction, the acceleration node corresponding to the next-hop MPR node in the second routing table is called the target acceleration node.
[0177] The above two steps can be referred to in the relevant descriptions of the previous embodiments, and will not be repeated here.
[0178] S603, the target node determines the first transmission time required for the data packet to be transmitted from the target node to the next-hop MPR node based on the length of the data packet, the link rate from the target node to the next-hop MPR node, and the first time required for the target node to request service resources.
[0179] In a wireless ad hoc network, the time it takes for a node to request service resources (such as time slot resources) refers to the duration required for the node to successfully request the resource, such as the time from the current moment until the resource is successfully requested. The time required for each node to request service resources in a wireless ad hoc network is related to the resource request period within the network. Based on this period, the specific time points required for different nodes to request service resources can be determined, and thus the duration from the current moment until the resource is successfully requested can be determined.
[0180] For ease of distinction, the time required for the target node to apply for business resources is referred to as the first time, while the time required for subsequent target acceleration nodes to apply for business resources is referred to as the second time.
[0181] The first transmission duration refers to the time required for a data packet to be transmitted from the target node to the next-hop MPR node when the data packet is sent directly from the target node to the next-hop MPR node.
[0182] There are several ways to determine the first transmission duration. For example, the first transmission duration T1 can be calculated using the following formula:
[0183] T1 = S / R + t1 (Formula 1);
[0184] Where S is the length of the data packet in bits, R is the link rate from the target node to the next-hop MPR node in bits per second (bps), and t1 is the first time required for the target node to request service resources.
[0185] S604, the target node determines the second transmission time required for the data packet to be transmitted from the target node to the next-hop MPR node via the target acceleration node based on the length of the data packet, the link rate from the target node to the target acceleration node, the first time required for the target node to request service resources, the link rate from the target acceleration node to the next-hop MPR node, and the second time required for the target acceleration node to request service resources.
[0186] There are also several possible ways to calculate the second transmission duration.
[0187] For example, the second transmission duration T2 can be calculated using the following formula:
[0188] T2 = (S / R1 + t1) + (S / R2 + t2) (Formula 2);
[0189] Where R1 is the link rate from the target node to the target acceleration node; R2 is the link rate from the target acceleration node to the next-hop MPR node; and t2 is the second time required for the target acceleration node to request service resources.
[0190] S605, if the second transmission duration is greater than or equal to the first transmission duration, the target node sends a data packet to the next-hop MPR node.
[0191] It is understandable that if the second transmission duration is greater than or equal to the first transmission duration, then the time required for the target node to send data packets directly to the next-hop MPR node is longer than that required for the target node to forward data packets to the next-hop MPR node through the target acceleration node. Therefore, in order to improve the routing communication efficiency of data packet transmission, it is possible to directly transmit data packets to the next-hop MPR node.
[0192] Conversely, if the second transmission time is less than the first transmission time, the data packet can be sent to the target acceleration node first, so that the target acceleration node can forward the data packet to the next-hop MPR node, thereby improving the data packet transmission efficiency.
[0193] S606, if the second transmission duration is less than the first transmission duration, mark the next-hop node as the next-hop MPR node in the header of the data packet, and mark the acceleration node as the target acceleration node, and send the marked data packet to the target acceleration node.
[0194] S607, if the target acceleration node confirms that the acceleration node marked in the header of the marked data packet is the target acceleration node, the target acceleration node forwards the marked data packet to the next-hop MPR node marked in the header.
[0195] It is understood that, for ease of understanding, steps S606 and S607 are illustrated using an example of forwarding data packets to the next-hop MPR node via the target acceleration node. The other methods mentioned above are also applicable to this embodiment.
[0196] Corresponding to the routing communication method of this application, this application also provides a routing communication device. For example... Figure 7 The diagram illustrates a possible structural composition of a routing communication device provided in this embodiment. This device can be applied to nodes in a wireless ad hoc network and may include:
[0197] Packet acquisition unit 701 is used to acquire the data packets to be sent by the node;
[0198] First node determination unit 702 is used to determine the next-hop MPR node of the node based on the first routing table and the destination node of the data packet. The first routing table is a routing table constructed by the node based on the optimized link state routing protocol.
[0199] The second node determination unit 703 is used to determine the target acceleration node from the node to the next-hop MPR node based on the second routing table. The second routing table includes acceleration nodes corresponding to each one-hop neighbor node of the node, wherein the minimum value of the link rate from the node to the acceleration node of the one-hop neighbor node and the link rate from the acceleration node of the one-hop neighbor node to the one-hop neighbor node is greater than twice the link rate from the node to the one-hop neighbor node.
[0200] The packet forwarding processing unit 704 is used to send the data packet to the target acceleration node so that the target acceleration node can forward the data packet to the next-hop MPR node.
[0201] In one possible implementation, the device further includes:
[0202] The packet marking unit is used to mark the next-hop node as the next-hop MPR node and the acceleration node as the target acceleration node in the packet header of the data packet before the packet sending unit sends the data packet to the target acceleration node, so as to obtain the marked data packet;
[0203] The packet forwarding processing unit includes:
[0204] The packet forwarding subunit is used to send a tagged data packet to the target acceleration node, so that if the target acceleration node confirms that the acceleration node marked in the tagged data packet is the target acceleration node, it will forward the tagged data packet to the next-hop MPR node marked in the packet header.
[0205] Furthermore, the first node determining unit may include:
[0206] The first node determination subunit is used to determine the next-hop MPR node of the node based on the first routing table and the destination node of the data packet if the data packet does not mark the acceleration node or the marked next-hop node is the node.
[0207] Accordingly, the device also includes:
[0208] A packet sending unit is configured to forward the packet to the next-hop MPR node marked in the packet if the acceleration node marked in the packet is the node.
[0209] In yet another possible implementation, the device further includes:
[0210] The first duration determination unit is used to determine the first transmission duration required for the data packet to be transmitted from the node to the next-hop MPR node based on the length of the data packet, the link rate from the node to the next-hop MPR node, and the first time required for the node to request service resources, after the second node determination unit determines the target acceleration node.
[0211] The second duration determination unit is used to determine the second transmission duration required for the data packet to be transmitted from the node to the next-hop MPR node via the target acceleration node based on the length of the data packet, the link rate from the node to the target acceleration node, the first time, the link rate from the target acceleration node to the next-hop MPR node, and the second time required for the target acceleration node to request service resources.
[0212] A packet direct transmission unit is configured to send the data packet to the next-hop MPR node if the second transmission duration is greater than or equal to the first transmission duration.
[0213] The packet forwarding processing unit includes:
[0214] A packet forwarding processing subunit is configured to send the data packet to the target acceleration node if the second transmission duration is less than the first transmission duration.
[0215] In yet another possible implementation, the apparatus further includes a routing table construction unit for constructing the second routing table in the following manner:
[0216] Based on the MCS signaling sent by each of the node's one-hop neighbor nodes, the MCS level from the node to each of the one-hop neighbor nodes is determined, and the MCS level from each one-hop neighbor node and each of the node's shared neighbor nodes to that one-hop neighbor node is determined. The shared neighbor node is the one-hop neighbor node jointly owned by the node and the one-hop neighbor node.
[0217] For any one of the node's one-hop neighbor nodes, the first link rate from the node to the one-hop neighbor node is determined based on the MCS level of the node to the one-hop neighbor node.
[0218] For any one of the node's one-hop neighbor nodes, the second link rate from the common neighbor node to the one-hop neighbor node is determined based on the MCS level from the common neighbor node to the one-hop neighbor node.
[0219] For any shared neighbor node between the node and the one-hop neighbor node, the third link rate from the node to the shared neighbor node is determined based on the MCS level from the node to the shared neighbor node;
[0220] For any one-hop neighbor node of the node, a target common neighbor node is determined from all the common neighbors of the node and the one-hop neighbor node, wherein the minimum link rate of the second link rate and the third link rate corresponding to the target common neighbor node is greater than twice the first link rate from the node to the one-hop neighbor node.
[0221] For any one-hop neighbor node of the node, the target common neighbor node corresponding to the one-hop neighbor node is determined as the acceleration node corresponding to the one-hop neighbor node, and the acceleration nodes corresponding to each one-hop neighbor node of the node are stored in the second routing table.
[0222] In another possible implementation, the node in the wireless ad hoc network and its different neighboring nodes each have different node identifiers;
[0223] Specifically, when the routing table construction unit determines the target shared neighbor node corresponding to the one-hop neighbor node as the acceleration node corresponding to the one-hop neighbor node, it is used for:
[0224] If the one-hop neighbor node corresponds to multiple target shared neighbor nodes, determine the candidate shared neighbor node with the largest minimum link rate from among the multiple target shared neighbor nodes;
[0225] If there is a candidate shared neighbor node, the candidate shared neighbor node is determined as the acceleration node of the one-hop neighbor node;
[0226] If there are multiple candidate shared neighbor nodes, determine the target candidate shared neighbor node with the highest node neighbor degree from among the multiple candidate shared neighbor nodes;
[0227] If a target candidate shared neighbor node exists, the target candidate shared neighbor node is determined as the acceleration node of the one-hop neighbor node;
[0228] If there are multiple target candidate shared neighbor nodes, the target candidate shared neighbor node with the largest node identifier is determined as the acceleration node corresponding to the one-hop neighbor node.
[0229] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. Furthermore, the features described in the various embodiments of this specification can be substituted or combined with each other, enabling those skilled in the art to implement or use this application. For apparatus embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0230] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0231] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0232] The above are merely preferred embodiments of this application. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A routing communication method, characterized in that, Nodes used in wireless ad hoc networks include: Obtain the data packet to be sent by the node; Based on the first routing table and the destination node of the data packet, the next-hop MPR node of the node is determined. The first routing table is a routing table constructed by the node based on the optimized link-state routing protocol. Based on the second routing table, a target acceleration node is determined from the node to the next-hop MPR node. The second routing table includes acceleration nodes corresponding to each of the node's one-hop neighbor nodes, wherein the minimum value of the link rate from the node to the acceleration node of the one-hop neighbor node and the link rate from the acceleration node of the one-hop neighbor node to the one-hop neighbor node is greater than twice the link rate from the node to the one-hop neighbor node. The data packet is sent to the target acceleration node so that the target acceleration node can forward the data packet to the next-hop MPR node.
2. The method according to claim 1, characterized in that, Before sending the data packet to the target acceleration node, the process also includes: In the header of the data packet, the next-hop node is marked as the next-hop MPR node, and the acceleration node is marked as the target acceleration node, thus obtaining the marked data packet; Sending the data packet to the target acceleration node includes: The tagged data packet is sent to the target acceleration node, so that if the target acceleration node confirms that the acceleration node marked in the tagged data packet is the target acceleration node, the target acceleration node forwards the tagged data packet to the next-hop MPR node marked in the packet header.
3. The method according to claim 2, wherein determining the next-hop MPR node of the node based on the first routing table and the destination node of the data packet comprises: If the data packet does not mark the acceleration node or the marked next-hop node is the node, the next-hop MPR node of the node is determined based on the first routing table and the destination node of the data packet; The method further includes: If the acceleration node marked in the data packet is the node in question, the data packet is forwarded to the next-hop MPR node marked in the data packet based on the next-hop MPR node marked in the data packet.
4. The method according to claim 1, characterized in that, After determining the target acceleration node from the node to the next-hop MPR node, the process further includes: Based on the length of the data packet, the link rate from the node to the next-hop MPR node, and the first time required for the node to request service resources, the first transmission time required for the data packet to be transmitted from the node to the next-hop MPR node is determined. Based on the length of the data packet, the link rate from the node to the target acceleration node, the first time, the link rate from the target acceleration node to the next-hop MPR node, and the second time required for the target acceleration node to request service resources, a second transmission time is determined for the data packet to be transmitted from the node to the next-hop MPR node via the target acceleration node. If the second transmission duration is greater than or equal to the first transmission duration, the data packet is sent to the next-hop MPR node; Sending the data packet to the target acceleration node includes: If the second transmission duration is less than the first transmission duration, the data packet is sent to the target acceleration node.
5. The method according to claim 1, characterized in that, The second routing table is obtained in the following way: Based on the MCS signaling sent by each of the node's one-hop neighbor nodes, the MCS level from the node to each of the one-hop neighbor nodes is determined, and the MCS level from each one-hop neighbor node and each of the node's shared neighbor nodes to that one-hop neighbor node is determined. The shared neighbor node is the one-hop neighbor node jointly owned by the node and the one-hop neighbor node. For any one of the node's one-hop neighbor nodes, the first link rate from the node to the one-hop neighbor node is determined based on the MCS level of the node to the one-hop neighbor node. For any one of the node's one-hop neighbor nodes, the second link rate from the common neighbor node to the one-hop neighbor node is determined based on the MCS level from the common neighbor node to the one-hop neighbor node. For any shared neighbor node between the node and the one-hop neighbor node, the third link rate from the node to the shared neighbor node is determined based on the MCS level from the node to the shared neighbor node; For any one-hop neighbor node of the node, a target common neighbor node is determined from all the common neighbors of the node and the one-hop neighbor node, wherein the minimum link rate of the second link rate and the third link rate corresponding to the target common neighbor node is greater than twice the first link rate from the node to the one-hop neighbor node. For any one-hop neighbor node of the node, the target common neighbor node corresponding to the one-hop neighbor node is determined as the acceleration node corresponding to the one-hop neighbor node, and the acceleration nodes corresponding to each one-hop neighbor node of the node are stored in the second routing table.
6. The method according to claim 5, characterized in that, Each node and its different neighboring nodes have a different node identifier number; The step of determining the target common neighbor node corresponding to the one-hop neighbor node as the acceleration node corresponding to the one-hop neighbor node includes: If the one-hop neighbor node corresponds to multiple target shared neighbor nodes, determine the candidate shared neighbor node with the largest minimum link rate from among the multiple target shared neighbor nodes; If there is a candidate shared neighbor node, the candidate shared neighbor node is determined as the acceleration node of the one-hop neighbor node; If there are multiple candidate shared neighbor nodes, the target candidate shared neighbor node with the highest node neighbor degree is determined from the multiple candidate shared neighbor nodes; the node neighbor degree is the number of one-hop neighbor nodes. If a target candidate shared neighbor node exists, the target candidate shared neighbor node is determined as the acceleration node of the one-hop neighbor node; If there are multiple target candidate shared neighbor nodes, the target candidate shared neighbor node with the largest node identifier is determined as the acceleration node corresponding to the one-hop neighbor node.
7. A routing communication device, characterized in that, Nodes used in wireless ad hoc networks include: A packet acquisition unit is used to acquire the data packets to be sent by the node; The first node determination unit is used to determine the next-hop MPR node of the node based on the first routing table and the destination node of the data packet. The first routing table is a routing table constructed by the node based on the optimized link-state routing protocol. The second node determination unit is used to determine the target acceleration node from the node to the next-hop MPR node based on the second routing table. The second routing table includes acceleration nodes corresponding to each of the node's one-hop neighbor nodes, wherein the minimum value of the link rate from the node to the acceleration node of the one-hop neighbor node and the link rate from the acceleration node of the one-hop neighbor node to the one-hop neighbor node is greater than twice the link rate from the node to the one-hop neighbor node. The packet forwarding processing unit is used to send the data packet to the target acceleration node so that the target acceleration node can forward the data packet to the next-hop MPR node.
8. The apparatus according to claim 7, characterized in that, Also includes: A packet marking unit is used to mark the next-hop node as the next-hop MPR node and the acceleration node as the target acceleration node in the packet header of the data packet before the packet forwarding processing unit sends the data packet to the target acceleration node, so as to obtain a marked data packet; The packet forwarding processing unit includes: The packet forwarding subunit is used to send the marked data packet to the target acceleration node, so that if the target acceleration node confirms that the acceleration node marked in the marked data packet is the target acceleration node, it forwards the marked data packet to the next-hop MPR node marked in the packet header.
9. The apparatus according to claim 8, wherein the first node determining unit comprises: The first node determination subunit is used to determine the next-hop MPR node of the node based on the first routing table and the destination node of the data packet if the data packet does not mark the acceleration node or the marked next-hop node is the node. The device further includes: A packet sending unit is configured to forward the packet to the next-hop MPR node marked in the packet if the acceleration node marked in the packet is the node.
10. The apparatus according to claim 7, characterized in that, Also includes: The first duration determination unit is used to determine the first transmission duration required for the data packet to be transmitted from the node to the next-hop MPR node based on the length of the data packet, the link rate from the node to the next-hop MPR node, and the first time required for the node to request service resources, after the second node determination unit determines the target acceleration node. The second duration determination unit is used to determine the second transmission duration required for the data packet to be transmitted from the node to the next-hop MPR node via the target acceleration node based on the length of the data packet, the link rate from the node to the target acceleration node, the first time, the link rate from the target acceleration node to the next-hop MPR node, and the second time required for the target acceleration node to request service resources. A packet direct transmission unit is configured to send the data packet to the next-hop MPR node if the second transmission duration is greater than or equal to the first transmission duration. The packet forwarding processing unit includes: A packet forwarding processing subunit is configured to send the data packet to the target acceleration node if the second transmission duration is less than the first transmission duration.
Citation Information
Patent Citations
Routing table set method in multi-area network, communication system and node
JP2013026710A
Routing method and apparatus for mobile ad hoc network
WO2020093190A1