A unicast data transmission method for wireless ad hoc networks
By periodically broadcasting routing link information and updating routing link tables in wireless ad hoc networks, the problem of slow creation and update rate of unicast data transmission routing links in wireless ad hoc networks is solved, and more efficient, stable and reliable data transmission is achieved.
Patent Information
- Application Number
- CN202310278249.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-21
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2043-03-21
AI Technical Summary
The routing link creation and update rate of unicast data transmission methods in existing wireless ad hoc networks is slow and has low reliability.
A unicast data transmission method is adopted to determine the source node, forwarding node and target node in the wireless ad hoc network, periodically broadcast routing link information to the forwarding and destination nodes, update the routing link table, and detect and update according to the working time and transmission path changes.
It improves the efficiency of routing link creation, ensures the real-time service of services, and ensures the stability of service transmission of important nodes under the saturation of network services, and improves the reliability of data transmission.
Smart Images

Figure CN116321349B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless ad-hoc network communication, and particularly to a unicast data transmission method for wireless ad-hoc networks. Background Art
[0002] Unicast data transmission in wireless ad-hoc networks often needs to be carried on multiple wireless links to reach the destination from the source. For example, Figure 1 as shown, the source node 1 forwards the unicast data to the destination node 4 by means of the wireless link bridge of node 2. At the same time, as the routing link changes, the unicast transmission path from the source node 1 to the destination node 4 also changes. For example, Figure 1 when changing from routing link 1 to routing link 2, it is required that the source node 1 can quickly create or update the routing link information and notify nodes 2, 3, and 4 in a timely manner, so that they can quickly update the link state to ensure the adjustment of data transmission and reception, thereby ensuring the real-time performance and stability of unicast data transmission. However, there is no clear standard in the existing wireless ad-hoc networks to indicate how to perform unicast data transmission. Although the existing 4G / 5G RRC, RLC, and MAC provide a complete set of wireless link unicast point-to-point data transmission solutions, this solution cannot be adapted to wireless ad-hoc networks. For example, the establishment and update of the RB link in RRC need to be completed through multiple handshake mechanisms. However, when the unicast data in the wireless ad-hoc network requires multi-hop links, it will take a large amount of time overhead to complete the establishment and update of each hop link. Secondly, each RB link in RRC is for a service. When there are multiple unicast data services on the same transmission pair in the wireless ad-hoc network, the link establishment overhead will increase linearly according to the number of services. Therefore, applying the existing link transmission scheme establishment mechanism to the unicast data transmission in the wireless ad-hoc network will greatly reduce the real-time performance and reliability of data transmission. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a unicast data transmission method for wireless ad-hoc networks, which can solve the problems of slow routing link creation and update rate and low reliability of the data transmission method in the existing wireless ad-hoc networks, thereby overcoming the deficiencies of the prior art.
[0004] To solve the above technical problem, the present invention discloses a unicast data transmission method for wireless ad-hoc networks, which includes the following steps:
[0005] S1. First, determine the source node, forwarding nodes, and destination node in the wireless ad-hoc network;
[0006] S2. When receiving IP data at the application layer or performing polling, the source node analyzes the routing link table and transmission path of the corresponding destination node, and detects and updates the routing link table and the corresponding transmission path in the source node according to the working time and the change of the transmission path. At the same time, the forwarding and destination nodes detect and update their own routing link tables according to the working time.
[0007] S3. The source node periodically broadcasts routing link information to the forwarding and destination nodes in the AODV manner. After receiving the routing link information broadcast by the source node, the forwarding and destination nodes update the routing link tables stored in themselves.
[0008] S4. The source node receives a unicast IP data packet, retrieves the corresponding routing link table according to the destination node address in the data packet, assembles the unicast IP data packet into a wireless ad hoc network unicast data packet, and places it in the corresponding sending FIFO according to the priority and the destination node, and performs transmission according to the sending FIFO priority and the transmission weight.
[0009] S5. After receiving the transmission block, the forwarding and destination nodes parse out the sending address and the receiving address, and determine whether the current node address is the receiving address. If it is the receiving address and the current node is the destination node, then the unicast data packet is received. If it is the receiving address and the current node is not the destination node, then the unicast data packet is forwarded.
[0010] As a further improvement of the present invention, the specific steps for the source node to update the routing link table and the corresponding transmission path in the source node according to the working time and the change of the transmission path in step S2 are as follows:
[0011] S21. The unicast IP data or polling mechanism at the application layer triggers the detection of the source node routing link table. If the detection is triggered by receiving unicast IP data, the working time of the routing link table is updated.
[0012] S22. Determine whether the routing link table of the corresponding destination node exists. If it does not exist, go to step S23. If it exists, go to step S24.
[0013] S23. Query whether the transmission path from the source node to the destination node exists. If it does not exist, exit the detection process. If it exists, create a new routing link table for the corresponding destination node and perform initialization operations: assign the source node, destination node, and forwarding nodes on the transmission path to the transmission path set; update the routing index ID according to the formula routing index ID = (destination node routing ID++) % 256; update the working time of the routing link table according to the current time + a preset working period.
[0014] S24. Determine whether the working time of the routing link table times out. If so, delete the corresponding routing link table and exit. If not, go to step S25.
[0015] S25. Check whether there is a transmission path from the source node to the destination node. If not, directly exit; if so, proceed to step S26;
[0016] S26. Determine whether the transmission path has changed. If not, exit the detection process; if so, update the corresponding transmission path: assign the source node, forwarding nodes, and destination node in the changed transmission path to a new transmission path set; assign a new routing index ID to the changed transmission path according to the formula routing index ID = (destination node routing ID++) % 256.
[0017] As a further improvement of the present invention, the specific steps for the source node to periodically broadcast routing link information in step S3 are as follows:
[0018] S31. Before broadcasting the routing link information, the source node will first traverse all the routing link table sets in the corresponding source node and encapsulate each routing link information into the routing link table content according to a preset format, and set the number of routes to the number of routing link table sets;
[0019] S32. Select the maximum transmission hop count from all the routing link tables and set it as the maximum transmission survival time TTL. Then, the source node selects suitable resources within the timing period to forward the routing link table information to neighbor nodes;
[0020] S33. When a neighbor node receives the broadcast routing link table information, it will determine whether the transmission survival time TTL is 0. If so, it will not forward the routing link table information; if it is greater than 0, it will decrement the transmission survival time TTL by one and select suitable resources to continue forwarding the corresponding routing link table information to neighbor nodes. If a node does not receive the routing link table information within the timing period, it will update its own routing link table according to its content;
[0021] S34. When there is a new routing link table and the working priority changes, the transmission FIFO of the destination node will be relocated from the original working priority to the current working priority.
[0022] As a further improvement of the present invention, each routing link information encapsulated into the routing link table in step S31 includes the source node ID, transmission survival time TTL, number of routes, and several routing link table contents. Each routing link table content includes the content length, destination node, routing ID, number of forwarding nodes, several forwarding nodes, and priority.
[0023] As a further improvement of the present invention, the specific method for the current node to update its own routing link table according to the routing link table content in step S33 is as follows:
[0024] S331. Use the source node, destination node, and routing index ID as the unique index of the routing link table;
[0025] S332. Traverse all the contents of the routing link table to query whether the unique index of the routing link table exists in the routing link table of the current node. If it exists, update the transmission path set and the working priority. If it does not exist, use the unique index as the primary key of the routing link table to create a new routing link table, and assign values to the transmission path set, routing index ID, and working priority according to the content of the new routing link table. At the same time, update the working time of the routing link table.
[0026] As a further improvement of the present invention, the specific steps for the source node to receive a unicast IP packet and send it to the corresponding sending FIFO according to the priority and destination node in the S4 step are as follows:
[0027] S41. The source node receives a unicast IP packet and retrieves the corresponding routing link table according to the destination node address in the packet. If it does not exist, discard the data. If it exists, proceed to step S42;
[0028] S42. Assemble the IP packet into a unicast packet UCP of the wireless ad hoc network, and send the unicast packet UCP to the corresponding sending FIFO according to the working priority and destination node set in the routing link table, and record the placement time and routing ID;
[0029] S43. Periodically poll each sending FIFO. If a timed-out unicast packet UCP is detected, directly delete and discard it from the sending FIFO;
[0030] S44. If wireless transmission resources enter the link data transmission, perform transmission according to the working priority and transmission weight of the sending FIFO.
[0031] As a further improvement of the present invention, the specific steps for performing transmission according to the working priority and transmission weight of the sending FIFO in the S44 step are as follows:
[0032] S441. First, transmit the sending FIFO with a high priority; when there are multiple sending FIFOs with different destination nodes at the same working priority, calculate the transmission weight of each sending FIFO according to the formula and select the sending FIFO with the largest value as the suitable destination node for sending, where UnSends is the number of times node i uses wireless resources to send, and TB is the total number of bytes of data stored in the sending FIFO of node i;
[0033] S442. Find the next-hop node corresponding to the source node to the destination node and its corresponding modulation and coding method through the routing link table, and at the same time calculate the corresponding transport block size;
[0034] S443. Multiplex the unicast data packets UCP in the transmit FIFO in sequence according to the preset encapsulation format of the transport block in the 5G MAC channel mapping format;
[0035] S444. When all the unicast data packets UCP in the transmit FIFO have been multiplexed, if there are remaining bytes in the transport block, the transmit FIFOs with the same next-hop node in the low priority will be traversed to continue multiplexing until the transport block cannot carry data or there is no transmit FIFO that meets the conditions, and then the multiplexing stops. After the multiplexing stops, if there are still transport blocks with unmapped data, padding will be performed;
[0036] S445. If there are still unicast data packets UCP in the transmit FIFO that have not been completely sent after multiplexing, when the next radio resource transmission is made and the same next-hop node is selected for transmission, the unsent unicast data packets UCP will be multiplexed first.
[0037] As a further improvement of the present invention, the specific steps for the forwarding and target node to parse the source address and destination address and determine whether the current node address is the destination address after receiving the transport block in step S5 are as follows:
[0038] S51. When the current node receives the transport block passed up by the physical layer, it will first parse the source and destination node fields. If the destination node is not the current node, it will enter step S53; if the destination node is the current node, it will enter step S52;
[0039] S52. Demultiplex the transport block according to the 5G MAC channel mapping method to obtain the unicast data packet UCP and perform unicast data packet forwarding and receiving processing according to the corresponding destination address;
[0040] S53. When the destination node is adjacent to the current node and the current node supports an equal or higher transmission format, the current transport block will be stored in the assist forwarding FIFO, otherwise it will be discarded; if the current node has air interface resources and has no data to send, a transport block will be selected from the assist forwarding FIFO for transmission;
[0041] S54. The current node records the received data transport blocks. When there are duplicate receptions, the duplicate received data transport blocks will be directly discarded.
[0042] As a further improvement of the present invention, when the current node in step S52 is not the target node, the specific steps for unicast data packet forwarding are as follows:
[0043] Read the routing ID in the corresponding unicast data packet UCP, and traverse the routing IDs of the unicast data packets UCP stored in the transmit FIFO of the current node. If the formula (ID r +256 - ID s) If 256 ≥ 128, then insert the corresponding unicast data packet UCP; if there is no satisfaction after traversal, insert the corresponding unicast data packet UCP into the tail of the sending FIFO queue;
[0044] The current node preferentially transmits the sending FIFO with high priority; when there are multiple sending FIFOs with the same priority for different destination nodes, the transmission weight of each FIFO will be calculated through the formula max{8×(UnSends i + 1)×TB i}, and the largest one will be selected as the suitable destination node for sending, where UnSends is the number of times node i uses wireless resources for sending, and TB is the total number of bytes of data stored in the sending FIFO of node i;
[0045] Search for the corresponding next-hop node from the current node to the destination node and its corresponding modulation and coding mode in the routing linked list table, and calculate the corresponding transport block size at the same time; when the forwarding node is the current node ID, stop traversing, and the next forwarding node is the next-hop receiving node;
[0046] Multiplex the unicast data packet UCP in the sending FIFO in sequence according to the preset encapsulation format of the transport block in the 5G MAC channel mapping format; when all the unicast data packets UCP in the sending FIFO are multiplexed, if there are remaining bytes in the transport block, then traverse the sending FIFO with the same next-hop node in the low priority to continue multiplexing until the transport block cannot carry data or there is no satisfied sending FIFO, then stop multiplexing. After stopping multiplexing, if there are remaining transport blocks without multiplexed data, fill them;
[0047] If the unicast data packet UCP in the sending FIFO is not completely sent after multiplexing, then when the next wireless resource transmission and selecting the same next-hop for transmission, first multiplex the unicast data packet UCP that is not completely sent.
[0048] As a further improvement of the present invention, when the current node is the target node in step S52 and receiving a unicast data packet, the specific steps are as follows:
[0049] Use the source node and the destination node as the only index and store the currently received routing ID, with the initial state being -1;
[0050] Read the routing ID in the currently received unicast data packet UCP, compare whether the read routing ID is the same as the stored routing ID, and determine whether to enter the sorting process:
[0051] When the read routing ID is different from the stored routing ID and does not satisfy the formula, start the sorting timer, set the time to 1s, and store the unicast data packet UCP into the waiting FIFO of the current node;
[0052] When the read routing ID is different from the stored routing ID and satisfies the formula, reset the sorting timer, set the timeout to 1 s, and send the IP data in the unicast packet UCP to the application layer;
[0053] When the read routing ID is the same as the stored routing ID and the sorting timer is not enabled, directly send the IP data in the unicast packet UCP to the application layer;
[0054] When the read routing ID is the same as the stored routing ID and the sorting timer is enabled, store the unicast packet UCP in the waiting FIFO;
[0055] When the routing ID of the read unicast packet UCP is greater than or equal to the stored routing ID, update the stored routing ID;
[0056] If the sorting timer times out, send all the data in the waiting FIFO to the application layer, and at the same time delete the routing link table with a smaller routing ID.
[0057] If data from the source node and the destination node is not received for a long time, reset the stored routing ID to -1.
[0058] After adopting such a design, the present invention has at least the following advantages:
[0059] (1) The unicast data transmission method of the present invention periodically replaces the traditional handshake mechanism through the routing link broadcast update method, which improves the efficiency of routing link creation, ensures the real-time performance of services, and can ensure the stability of important node service transmission even in the case of network service saturation by setting the routing priority; at the same time, the method can timely compensate for routing anomalies caused by wireless link errors, thereby improving the reliability of service transmission. In this method, the nodes in the non-routing link table have the function of repeatedly sending air interface transmission blocks, which can further greatly improve the reliability of data transmission.
[0060] (2) In the unicast data transmission method of the present invention, the closing of the routing link table of each node depends on the arrival time of the unicast data, so as to ensure that each node can quickly and smoothly complete the transfer of the link state without any information synchronization, and ensure reliable data transmission; and multiple routing linked lists are stored in each forwarding node, which can ensure that the data forwarded through the same node can also be sent sequentially when the routing changes, reducing the risk of data arriving at the destination node out of order; while the destination node can complete the sorting function through routing ID judgment, further reducing the risk of data out of order and improving the robustness of data transmission. Description of the Drawings
[0061] The above is only an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention, the following provides a more detailed description of the present invention in combination with the accompanying drawings and specific embodiments.
[0062] Figure 1 It is a schematic diagram of unicast data transmission in the wireless ad hoc network of the embodiment of the present invention.
[0063] Figure 2 It is a schematic diagram of the transmission of routing link table information in the embodiment of the present invention.
[0064] Figure 3 It is a schematic diagram of the detection process of the routing link table in the source node in the embodiment of the present invention.
[0065] Figure 4 It is a schematic diagram of the encapsulation of routing link table information in the embodiment of the present invention.
[0066] Figure 5 It is a schematic diagram of the transmission process of wireless link data in the source node in the embodiment of the present invention.
[0067] Figure 6 It is a schematic diagram of the priority arrangement of the transmission FIFO in the source node in the embodiment of the present invention.
[0068] Figure 7 It is a schematic diagram of the format of the unicast data packet UCP in the embodiment of the present invention.
[0069] Figure 8 It is a schematic diagram of the data encapsulation format of the transport block in the embodiment of the present invention. Specific Embodiments
[0070] The following describes the embodiments of the present disclosure in detail with reference to the accompanying drawings.
[0071] The following uses specific specific examples to illustrate the embodiments of the present disclosure. Those skilled in the art can easily understand other advantages and effects of the present disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments. Various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that, without conflict, the following embodiments and the features in the embodiments can be combined with each other. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present disclosure without creative efforts belong to the scope of protection of the present disclosure.
[0072] It should be noted that the following describes various aspects of embodiments within the scope of the appended claims. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is illustrative only. Based on this disclosure, those skilled in the art should understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement a device and / or practice a method. Additionally, this device can be implemented and this method can be practiced using other structures and / or functionality in addition to one or more of the aspects set forth herein.
[0073] It should also be noted that the diagrams provided in the following embodiments only schematically illustrate the basic concept of the present disclosure. Only the components related to the present disclosure are shown in the diagrams, rather than being drawn according to the number, shape, and size of the components in actual implementation. The type, quantity, and ratio of each component in actual implementation can be arbitrarily changed, and the component layout type may also be more complex.
[0074] In addition, in the following description, specific details are provided to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the aspects can be practiced without these specific details.
[0075] Combined with Figure 1 As shown, in this embodiment, a unicast data transmission method for a wireless ad hoc network is first disclosed. It generally includes steps of routing link creation, update, release, and link data transmission. In this embodiment, a routing link refers to the set of all wireless links on the unicast data transfer path, which carries all services of the source and destination nodes. Since the routing link has different functions at the source, forwarding, and destination nodes, the stored content and method will also be different.
[0076] Specifically, the unicast data transmission method of this embodiment includes the following steps:
[0077] S1. First, determine the source node, forwarding, and target nodes in the wireless ad hoc network;
[0078] Among them, the source node calculates the routing link to the destination node in real time and periodically transmits it to other nodes on the link path. The source node stores only one copy of the routing link table to the destination node, and this routing link table can be retrieved by the destination node address. Specifically, the routing link table of this source node includes: 1), a set of transmission paths, which includes all nodes participating in data transmission; 2), a routing index ID, and different transmission paths have different routing index IDs; 3), working time, and once the working timeouts, this routing link is deleted, and the working time is updated every time new data is received; 4), working priority.
[0079] For the forwarding and destination nodes, since the routing change data may arrive at the forwarding or destination nodes out of order. For example, Figure 1 as shown, the data packet may reach the destination node 4 through the routing link 2 (the black solid line in the figure) earlier than through the routing link 1 (the black dashed line in the figure), thus destroying the orderliness of data reception. Therefore, the destination node 4 can solve the out-of-order problem through reordering by storing the information of both routing link 1 and 2 at the same time. So in this embodiment, the forwarding and destination nodes store multiple routing link tables of the same transmission pair, which are retrieved by the destination node and the routing ID, and each routing link table comes from the routing link information of the source node. The routing link table in the forwarding and destination nodes includes: 1), a set of transmission paths; 2), a routing index ID; 3), a working time, and once the working timeouts, the routing link table in the node is deleted, and the working time is updated each time the routing link information of the source node is received; 4), a working priority.
[0080] S2. When receiving the IP data of the application layer or polling, the source node analyzes the routing link table and the transmission path of the corresponding destination node, and detects and updates the routing link table and the corresponding transmission path in the source node according to the working time and the change of the transmission path; at the same time, the forwarding and target nodes detect and update their own routing link tables according to the working time;
[0081] Specifically, as shown in Figure 3 , the specific steps for the source node to update the routing link table and the corresponding transmission path in the source node according to the working time and the change of the transmission path in step S2 are as follows:
[0082] S21. The unicast IP data or polling mechanism of the application layer triggers the detection of the routing link table of the source node. If the detection is triggered by receiving the unicast IP data, the working time of the routing link table is updated;
[0083] S22. Determine whether the routing link table of the corresponding destination node exists. If it does not exist, go to step S23; if it exists, go to step S24;
[0084] S23. Query whether the transmission path from the source node to the destination node exists. If it does not exist, exit the detection process; if it exists, create a new routing link table for the corresponding destination node and perform initialization operations: assign the source node, the destination node, and the forwarding node on the transmission path to the set of transmission paths; update the routing index ID according to the formula routing index ID = (destination node routing ID++) % 256; update the working time of the routing link table according to the current time + a preset working period;
[0085] S24. Determine whether the working time of the routing link table times out. If it does, delete the corresponding routing link table and exit; if not, go to step S25;
[0086] S25. Query whether there is a transmission path from the source node to the destination node. If not, directly exit; if so, proceed to step S26;
[0087] S26. Determine whether the transmission path has changed. If not, exit the detection process; if so, update the corresponding transmission path: assign the source node, forwarding nodes, and destination node in the changed transmission path to a new transmission path set; assign a new routing index ID to the changed transmission path according to the formula routing index ID = (destination node routing ID++) % 256.
[0088] S3. The source node periodically broadcasts routing link information to the forwarding and destination nodes in the AODV manner. After receiving the routing link information broadcast by the source node, the forwarding and destination nodes update the routing link table stored in themselves;
[0089] Specifically, as shown in Figure 2 The wireless ad hoc network in this embodiment sends routing information in a periodic timing manner. Each time the timer times out, wireless resources are allocated to the source node with a routing link table for broadcasting routing link information to the forwarding and destination nodes, and a new timer is started; the specific steps for the source node to periodically broadcast routing link information in step S3 are as follows:
[0090] S31. Before broadcasting the routing link information, the source node first traverses all the routing link table sets in the corresponding source node and encapsulates each routing link information into the routing link table content in a preset format, and sets the number of routes to the number of routing link list sets; each routing link information includes the source node ID, transmission survival time TTL, number of routes, and several routing link list contents, and each routing link list content includes the content length, destination node, routing ID, number of forwarding nodes, several forwarding nodes, and priority, and its preset format is as Figure 4 shown.
[0091] S32. Select the maximum transmission hop count from all the routing link tables and set it as the transmission survival time TTL. Then, the source node selects suitable resources within the timing period to forward the routing link table information to the neighbor nodes;
[0092] S33. When the neighbor node receives the broadcast routing link table information, it will determine whether the transmission survival time TTL is 0. If it is 0, it will not forward the routing link table information. If it is greater than 0, it will decrement the transmission survival time TTL by one and select suitable resources to continue forwarding the corresponding routing link table information to the next neighbor node. If the node does not receive the routing link table information within the timing period, it will update its own routing link table according to its content;
[0093] The specific method for the current node to update its own routing link table according to the content of the routing link table is as follows:
[0094] S331. Use the source node, destination node, and routing index ID as the unique index of the routing link table;
[0095] S332. Traverse all the content of the routing link table, query whether the unique index of the routing link table exists in the routing link table of the current node. If it exists, update the transmission path set and update the working priority. If it does not exist, use the unique index as the primary key of the routing link table, create a new routing link table, and assign values to the transmission path set, routing index ID, and working priority according to the content of the new routing link table. At the same time, update the working time of the routing link table.
[0096] S34. When there is a new routing link table and the working priority changes, the transmit FIFO of the destination node will be relocated from the original working priority to the current working priority.
[0097] S4. The source node receives a unicast IP packet, retrieves the corresponding routing link table according to the destination node address in the packet, assembles the unicast IP packet into a wireless ad hoc network unicast packet and places it in the corresponding transmit FIFO according to the priority and the destination node, and performs transmission according to the transmit FIFO priority and transmission weight;
[0098] Specifically, as shown in Figure 5 The specific steps for the source node in this embodiment to receive a unicast IP packet and place it in the corresponding transmit FIFO according to the priority and the destination node are as follows:
[0099] S41. The source node receives a unicast IP packet, retrieves the corresponding routing link table according to the destination node address in the packet. If it does not exist, discard the data. If it exists, proceed to step S42;
[0100] S42. Assemble the IP packet into a unicast packet UCP of the wireless ad hoc network, and according to the working priority and destination node set in the routing link table, as Figure 6 shown, place the unicast packet UCP in the corresponding transmit FIFO, and record the placement time and routing ID; where in this embodiment, the unicast packet UCP includes the source node, destination node, routing ID, and IP packet, as Figure 7 shown;
[0101] S43. Periodically poll each transmit FIFO. If a timeout unicast packet UCP is detected, directly delete and discard it from the transmit FIFO;
[0102] S44. If there is wireless transmission resource entering the link data transmission, it is transmitted according to the working priority and transmission weight of the transmit FIFO.
[0103] The specific steps of transmitting according to the working priority and transmission weight of the transmit FIFO are as follows:
[0104] S441. First, transmit the transmit FIFO with high priority; when there are multiple transmit FIFOs with different destination nodes at the same working priority, calculate the transmission weight of each transmit FIFO according to the formula and select the transmit FIFO with the largest value as the suitable destination node for transmission, where UnSends is the number of times node i uses wireless resources for transmission, and TB is the total number of bytes of data stored in the transmit FIFO of node i;
[0105] S442. Search for the next-hop node corresponding to the source node to the destination node and its corresponding modulation and coding mode through the routing link table, and simultaneously calculate the corresponding transport block size;
[0106] S443. Multiplex the unicast data packet UCP of the transmit FIFO in turn according to the preset encapsulation format of the transport block in the 5G MAC channel mapping manner; the preset encapsulation format of the transport block includes the sending node, the receiving node, and the unicast data packet UCP multiplexed in the 5G MAC channel mapping manner, as Figure 8 shown;
[0107] S444. When all the unicast data packets UCP in the transmit FIFO are multiplexed, if there are remaining bytes in the transport block, traverse the transmit FIFOs with the same next-hop node in the low priority to continue multiplexing until the transport block cannot carry data or there is no transmit FIFO that meets the conditions, then stop multiplexing. After stopping multiplexing, if there are remaining transport blocks without multiplexed data, fill them;
[0108] S445. If there are still unicast data packets UCP in the transmit FIFO that are not completely transmitted after multiplexing, when the next wireless resource transmission and selecting the same next-hop node for transmission, the unicast data packets UCP that have not been transmitted will be multiplexed first.
[0109] S5. After the forwarding and target node receive the transport block, parse the source address and destination address, and determine whether the current node address is the destination address. If it is the destination address and the current node is the target node, perform unicast data packet reception; if it is the destination address and the current node is not the target node, perform unicast data packet forwarding.
[0110] Specifically, in this embodiment, the specific steps for the forwarding and target node to parse the source address and destination address after receiving the transport block and determine whether the current node address is the destination address are as follows:
[0111] S51. When the current node receives the transport block passed up from the physical layer, it will first parse the sending and receiving node fields. If the receiving node is not the current node, it will enter step S53; if the receiving node is the current node, it will enter step S52;
[0112] S52. Demultiplex the transport block according to the 5G MAC channel mapping method to obtain the unicast data packet UCP and perform unicast data packet forwarding and receiving processing according to the corresponding destination address;
[0113] Specifically, when the current node is not the target node, unicast data packet forwarding is performed, and its specific steps are as follows:
[0114] Read the routing ID in the corresponding unicast data packet UCP and traverse the routing IDs of the unicast data packets UCP stored in the sending FIFO of the current node. If the formula is satisfied, the corresponding unicast data packet UCP will be inserted; if not satisfied after traversal, the corresponding unicast data packet UCP will be inserted into the tail of the sending FIFO queue;
[0115] The current node preferentially transmits the sending FIFO with high priority; when there are multiple sending FIFOs with different destination nodes at the same priority, the transmission weight of each FIFO will be calculated by the formula and the largest one will be selected as the suitable destination node for sending, where UnSends is the number of times node i uses wireless resources for sending, and TB is the total number of bytes of data stored in the sending FIFO of node i;
[0116] Find the corresponding next-hop node and its corresponding modulation and coding method from the current node to the destination node through the routing linked list table, and at the same time calculate the corresponding transport block size; where when the forwarding node is the current node ID, stop traversing, and the next forwarding node is the next-hop receiving node;
[0117] Multiplex the unicast data packets UCP in the sending FIFO in sequence according to the preset encapsulation format of the transport block in the 5G MAC channel mapping format; when all the unicast data packets UCP in the sending FIFO are multiplexed, if there are remaining bytes in the transport block, the sending FIFO with the same next-hop node in the low priority will be traversed to continue multiplexing until the transport block cannot carry data or there is no sending FIFO that meets the conditions, then stop multiplexing. After stopping multiplexing, if there is remaining data in the transport block that has not been multiplexed, padding will be performed;
[0118] If the unicast data packets UCP in the sending FIFO are not completely sent after multiplexing, when the next wireless resource transmission and the same next-hop transmission are selected, the unicast data packets UCP that have not been completely sent will be multiplexed first.
[0119] And when the current node is the target node, when receiving unicast data packets, its specific steps are as follows:
[0120] Use the source node and the destination node as the only indexes and store the currently received routing ID, with the initial state being -1;
[0121] Read the routing ID in the currently received unicast data packet UCP, compare whether the read routing ID is the same as the stored routing ID, and determine whether to enter the sorting process:
[0122] When the read routing ID is different from the stored routing ID and does not satisfy the formula, start the sorting timer, set the time to 1 s, and store the unicast data packet UCP in the waiting FIFO of the current node;
[0123] When the read routing ID is different from the stored routing ID and satisfies the formula, reset the sorting timer, set the timeout time to 1 s, and send the IP data in the unicast data packet UCP to the application layer;
[0124] When the read routing ID is the same as the stored routing ID and the sorting timer is not started, directly send the IP data in the unicast data packet UCP to the application layer;
[0125] When the read routing ID is the same as the stored routing ID and the sorting timer is started, store the unicast data packet UCP in the waiting FIFO;
[0126] When the read routing ID of the unicast data packet UCP is greater than or equal to the stored routing ID, update the stored routing ID;
[0127] If the sorting timer times out, send all the data in the waiting FIFO to the application layer, and at the same time delete the routing link table with a smaller routing ID,
[0128] If the data from the source node and the destination node has not been received for a long time, reset the stored routing ID to -1.
[0129] S53. When the receiving node is adjacent to the current node and the current supports an equal or higher transmission format, the current transport block will be stored in the assist forwarding FIFO, otherwise it will be discarded; if the current node has air interface resources and has no data to send, a transport block will be selected from the assist forwarding FIFO for transmission;
[0130] S54. The current node records the received data transport blocks, and when there is a repeated reception, directly discard the repeatedly received data transport blocks.
[0131] This embodiment also provides an electronic device, which includes:
[0132] At least one processor; and,
[0133] A memory communicatively connected to the at least one processor; wherein,
[0134] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the foregoing unicast data transmission method.
[0135] This embodiment also provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the unicast data transmission method in the foregoing method embodiment.
[0136] This embodiment also provides a computer program product including a computing program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to execute the foregoing unicast data transmission method.
[0137] It should be noted that the computer-readable medium in this embodiment may be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable signal medium may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium may be transmitted by any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0138] The above computer-readable medium may be included in the above electronic device; or may exist separately without being assembled into the electronic device.
[0139] The above computer-readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: obtain at least two Internet Protocol addresses; send a node evaluation request including the at least two Internet Protocol addresses to a node evaluation device, wherein the node evaluation device selects an Internet Protocol address from the at least two Internet Protocol addresses and returns it; receive the Internet Protocol address returned by the node evaluation device; wherein the obtained Internet Protocol addresses indicate edge nodes in a content delivery network.
[0140] Alternatively, the above computer-readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receive a node evaluation request including at least two Internet Protocol addresses; select an Internet Protocol address from the at least two Internet Protocol addresses; return the selected Internet Protocol address; wherein the received Internet Protocol addresses indicate edge nodes in a content delivery network.
[0141] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0142] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, as well as combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0143] The units described in the embodiments of the present disclosure can be implemented in software or in hardware. Among them, the name of the unit does not constitute a limitation on the unit itself in some cases. For example, the first acquisition unit can also be described as "the unit for acquiring at least two Internet protocol addresses".
[0144] It should be understood that the various parts of the present disclosure can be implemented by hardware, software, firmware, or a combination thereof.
[0145] As described above, the above are only the preferred embodiments of the present invention, and there is no any form of limitation to the present invention. Those skilled in the art make some simple modifications, equivalent changes, or decorations using the technical content disclosed above, and all fall within the protection scope of the present invention.
Claims
1. A unicast data transmission method for wireless ad hoc networks, characterized in that, It includes the following steps: S1. First, determine the source node, forwarding nodes, and destination node in the wireless ad hoc network; S2. When receiving IP data from the application layer or polling, the source node analyzes the routing link table and transmission path of the corresponding destination node, and detects and updates the routing link table and the corresponding transmission path in the source node according to the working time and the change of the transmission path; at the same time, the forwarding nodes and the destination node detect and update their own routing link tables according to the working time; S3. The source node broadcasts routing link information to the forwarding nodes and the destination node periodically in the AODV manner to maintain the routing state. After receiving the routing link information broadcast by the source node, the forwarding nodes and the destination node update the routing link tables stored in themselves; S4. The source node receives unicast IP data packets, retrieves the corresponding routing link table according to the destination node address in the data packet, assembles the unicast IP data packets into unicast data packets UCP of the wireless ad hoc network, and sends them to the corresponding sending FIFO according to the priority and the destination node, and performs transmission according to the sending FIFO priority and the transmission weight; S5. After receiving the transmission block, the forwarding nodes and the destination node parse the sending address and the receiving address, and determine whether the current node address is the receiving address. If it is the receiving address and the current node is the destination node, then perform unicast data packet reception; If it is the receiving address and the current node is not the destination node, then perform unicast data packet forwarding.
2. The unicast data transmission method according to claim 1, characterized in that, The specific steps for the source node in step S2 to update the routing link table and the corresponding transmission path in the source node according to the working time and the change of the transmission path are as follows: S21. The unicast IP data or polling mechanism of the application layer triggers the detection of the source node routing link table. If the detection is triggered by receiving unicast IP data, then update the working time of the routing link table; S22. Determine whether the routing link table of the corresponding destination node exists. If it does not exist, go to step S23; if it exists, go to step S24; S23. Query whether the transmission path from the source node to the destination node exists. If it does not exist, exit the detection process; If it exists, create a new routing link table for the corresponding destination node and perform initialization operations: assign the source node, destination node, and forwarding nodes on the transmission path to the transmission path set; update the routing index ID according to the formula routing index ID = (destination node routing ID++) % 256; update the working time of the routing link table according to the current time + the preset working period; S24. Determine whether the working time of the routing link table times out. If it times out, delete the corresponding routing link table and exit; if not, go to step S25; S25. Query whether the transmission path from the source node to the destination node exists. If it does not exist, directly exit; if it exists, go to step S26; S26. Determine whether the transmission path has changed. If it has not changed, exit the detection process; if it has changed, then update the corresponding transmission path: assign the source node, forwarding nodes, and destination node in the changed transmission path to the new transmission path set; Assign a new routing index ID to the changed transmission path according to the formula routing index ID = (destination node routing ID++) % 256.
3. The unicast data transmission method according to claim 1, characterized in that, In the S3 step, the specific steps for the source node to broadcast routing link information to the forwarding and destination nodes in a periodic manner according to the AODV method to maintain the routing state are as follows: S31. Before broadcasting the routing link information, the source node will first traverse all the routing link table sets in the corresponding source node and encapsulate each routing link information into the routing link table content in a preset format, and set the number of routes to the number of routing link list sets; S32. Select the maximum transmission hop count from all the routing link tables and set it as the transmission time to live TTL. Then, the source node selects suitable resources within the timing period to forward the routing link table information to the neighbor nodes; S33. When the neighbor node receives the broadcast routing link table information, it will judge whether the transmission time to live TTL is 0. If it is 0, it will not forward the routing link list information; if it is greater than 0, it will decrement the transmission time to live TTL by one, and select suitable resources to continue forwarding the corresponding routing link table information to the next neighbor node. If the node does not receive the routing link list information within the timing period, it will update its own routing link table according to its content; S34. When there is a new routing link table and the working priority changes, the transmission FIFO of the destination node will be relocated from the original working priority to the current working priority.
4. The unicast data transmission method according to claim 3, characterized in that, In the S31 step, each routing link information encapsulated into the routing link table includes the source node ID, the transmission time to live TTL, the number of routes, and several routing link list contents. Each routing link list content includes the content length, the destination node, the routing ID, the number of forwarding nodes, several forwarding nodes, and the priority.
5. The unicast data transmission method according to claim 3, characterized in that, In the S33 step, the specific method for the current node to update its own routing link table according to the routing link table content is as follows: S331. Use the source node, the destination node, and the routing index ID as the unique index of the routing link table; S332. Traverse all the routing link table contents, and query whether the unique index of the routing link table exists in the current node's routing link table. If it exists, update the transmission path set and the working priority. If it does not exist, use the unique index as the primary key of the routing link table, create a new routing link table, and assign values to the transmission path set, the routing index ID, and the working priority according to the new routing link table content. At the same time, update the routing link table working time.
6. The unicast data transmission method according to claim 1, characterized in that, In the S4 step, the specific steps for the source node to receive a unicast IP packet and set the corresponding transmission FIFO according to the priority and the destination node are as follows: S41. The source node receives a unicast IP packet and retrieves the corresponding routing link table according to the destination node address in the packet. If it does not exist, the data is discarded. If it exists, go to step S42; S42. Assemble the IP packet into a unicast packet UCP of the wireless ad hoc network, and place the unicast packet UCP into the corresponding transmission FIFO according to the working priority and the destination node set in the routing link table, and record the placement time and the routing ID; S43. Periodically poll each transmission FIFO. If a timeout unicast packet UCP is detected, it is directly deleted and discarded from the transmission FIFO; S44. If there is wireless transmission resource entering the link data transmission, perform transmission according to the working priority and transmission weight of the transmit FIFO.
7. The unicast data transmission method according to claim 6, characterized in that, The specific steps for performing transmission according to the working priority and transmission weight of the transmit FIFO in step S44 are as follows: S441. First, transmit the high-priority transmit FIFO; when there are multiple transmit FIFOs with different destination nodes for the same working priority, calculate the transmission weight of each transmit FIFO according to the formula max{8×(UnSends i +1)×TB i}, and select the transmit FIFO with the largest value as the destination node suitable for transmission, where UnSends is the number of times node i uses wireless resources for transmission, and TB is the total number of bytes of data stored in the transmit FIFO in node i; S442. Look up the next-hop node corresponding to the source node to the destination node and its corresponding modulation and coding scheme through the routing link table, and simultaneously calculate the corresponding transport block size; S443. Multiplex the unicast data packets UCP in the transmit FIFO in sequence according to the preset encapsulation format of the transport block in the 5G MAC channel mapping manner; S444. When all the unicast data packets UCP in the transmit FIFO are multiplexed, if there are remaining bytes in the transport block, traverse the transmit FIFO with the same next-hop node in the low priority to continue multiplexing until the transport block cannot carry data or there is no transmit FIFO that meets the conditions, then stop multiplexing. After stopping multiplexing, if there are remaining transport blocks without multiplexed data, perform padding; S445. If there are still unicast data packets UCP in the transmit FIFO that have not been completely transmitted after multiplexing, when the next wireless resource transmission and selecting the same next-hop node for transmission, the unicast data packets UCP that have not been transmitted will be multiplexed first.
8. The unicast data transmission method according to claim 1, wherein, The specific steps for the forwarding and the destination node to parse the source address and the destination address after receiving the transport block and determine whether the current node address is the destination address in step S5 are as follows: S51. When the current node receives the transport block passed up by the physical layer, first parse the transmit and receive node fields. If the receive node is not the current node, go to step S53; If the receive node is the current node, go to step S52; S52. Demultiplex the transport block in the 5G MAC channel mapping manner to obtain the unicast data packet UCP and perform unicast data packet forwarding and receiving processing according to the corresponding destination address; S53. When the receive node is adjacent to the current node and the current supports an equal or higher transmission format, store the current transport block into the assist forwarding FIFO, otherwise discard it; if the current node has air interface resources and has no data to send, select a transport block from the assist forwarding FIFO for transmission; S54. The current node records the received data transport block. When there is a repeated reception, directly discard the repeatedly received data transport block.
9. The unicast data transmission method according to claim 8, wherein, The specific steps for performing unicast data packet forwarding when the current node in step S52 is not the destination node are as follows: Read the routing ID in the corresponding unicast data packet UCP, and traverse the routing IDs of the unicast data packets UCP stored in the transmit FIFO of the current node. If the formula (ID r + 256 - ID s ) % 256 ≥ 128 is satisfied, then insert the corresponding unicast data packet UCP; if none is satisfied after traversal, insert the corresponding unicast data packet UCP at the end of the transmit FIFO queue; The current node preferentially transmits the high-priority transmit FIFO; when there are multiple transmit FIFOs with different destination nodes at the same priority level, the transmission weight of each FIFO is calculated through the formula max{8×(UnSends i +1)×TB i}, and the largest one is selected as the destination node suitable for transmission. Here, UnSends is the number of times node i uses wireless resources for transmission, and TB is the total number of bytes of data stored in the transmit FIFO in node i; Look up the next-hop node corresponding to the current node to the destination node and its corresponding modulation and coding scheme through the routing link table and simultaneously calculate the corresponding transport block size; where when the forwarding node is the current node ID, stop traversing, and the next forwarding node is the next-hop receive node; The unicast data packets UCP in the transmit FIFO are multiplexed in sequence according to the preset encapsulation format of the transport block in the 5G MAC channel mapping manner; when all the unicast data packets UCP in the transmit FIFO are multiplexed, if there are remaining bytes in the transport block, the transmit FIFOs with the same next-hop node in the low priority will be traversed to continue multiplexing until the transport block cannot carry data or there is no transmit FIFO that meets the conditions, and then the multiplexing stops. After the multiplexing stops, if there are still transport blocks without multiplexed data, padding will be performed. If the unicast data packets UCP in the transmit FIFO are not completely transmitted after multiplexing, when the next radio resource transmission is selected with the same next-hop transmission, the unicast data packets UCP that are not completely transmitted will be multiplexed first.
10. The unicast data transmission method according to claim 8, wherein, When the current node in step S52 is the destination node and receiving unicast data packets, the specific steps are as follows: Use the source node and the destination node as the only index and store the currently received routing ID, with the initial state being -1. Read the routing ID in the currently received unicast data packet UCP, compare the read routing ID with the stored routing ID, and determine whether to enter the sorting process: When the read routing ID is different from the stored routing ID and does not satisfy the formula (ID r +256 - ID s ) % 256 ≥ 128, start the sorting timer, set the time to 1 s, and store the unicast data packet UCP in the waiting FIFO of the current node; When the read routing ID is different from the stored routing ID and satisfies the formula (ID r +256 - ID s ) % 256 ≥ 128, reset the sorting timer, set the timeout to 1 s, and send the IP data in the unicast packet UCP to the application layer; When the read routing ID is the same as the stored routing ID and the sorting timer is not enabled, directly send the IP data in the unicast data packet UCP to the application layer. When the read routing ID is the same as the stored routing ID and the sorting timer is enabled, store the unicast data packet UCP in the waiting FIFO. When the routing ID of the read unicast data packet UCP is greater than or equal to the stored routing ID, update the stored routing ID. If the sorting timer times out, send all the data in the waiting FIFO to the application layer, and at the same time delete the routing link table with a smaller routing ID. If data from the source node and the destination node is not received for a long time, reset the stored routing ID to -1.
Citation Information
Patent Citations
Multicast routing method based on network topology
CN103607352A
Message forwarding method and device based on wireless mesh network
CN106656799A