Underwater acoustic network dual-mode matrix multi-hop dynamic routing protocol method with time slot perception

By using a dual-mode matrix multi-hop dynamic routing protocol for underwater acoustic networks, the problems of insufficient topology awareness and overhead, routing and resource scheduling, dynamic adaptation and service support capabilities in underwater acoustic communication are solved. It achieves low-overhead, high-reliability and fast adaptive data transmission and supports differentiated services for heterogeneous services.

CN121463154APending Publication Date: 2026-02-03SICHUAN JIUZHOU ELECTRIC GROUP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511609938.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-05
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

Existing underwater acoustic communication routing protocols have shortcomings in topology awareness and overhead, routing and resource scheduling, adaptability to dynamics, and service support capabilities, resulting in high control overhead, large latency, poor reliability, and difficulty in meeting the needs of complex applications.

Method used

A time-slot-aware underwater acoustic network dual-mode matrix multi-hop dynamic routing protocol method is adopted. Through dual-mode matrix information exchange and link status requests, neighbor node information is dynamically adjusted. Combined with time slot occupancy table and link health, cross-layer scheduling and path selection are realized, supporting differentiated services for heterogeneous services.

Benefits of technology

It achieves precise and lightweight topology awareness, reducing protocol overhead; it breaks through the throughput bottleneck of traditional protocols, improving data transmission reliability and robustness; and it supports rapid adaptation to dynamic environments and differentiated service guarantees for businesses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121463154A_ABST
    Figure CN121463154A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of wireless communication, and discloses an underwater acoustic network dual-mode matrix multi-hop dynamic routing protocol method with time slot sensing, which comprises the following steps of: initializing each node; each node periodically, dynamically and alternately sends dual-mode matrix information to neighbor nodes; the node obtains dual-mode matrix information including neighbor information and a time slot occupation table of a neighbor node; integrating and storing the network topology information and the time slot occupation table to form a network topology database; selecting the next hop of the path according to the time slot ratio of the node and the weight of the routing hop count; when the node has data to be sent, grouping the data according to a certain format, and judging the service volume and the emergency degree to decide to temporarily or permanently occupy the time slot; and the destination node returns a confirmation message to the source node after receiving the data sent by the source node. According to the invention, the balance of resource fairness, efficiency optimization and differentiated service guarantee is realized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of wireless communication, in particular to a kind of water acoustic network dual-mode matrix multi-hop dynamic routing protocol method with time slot perception. BACKGROUND

[0002] Water acoustic communication belongs to wireless communication network, in an extremely unique and harsh communication environment, its available bandwidth is usually only in Kbps order of magnitude, and sharply drops with distance increase, while water environment is jointly acted by multipath effect, environmental noise (shipping, biology), temperature salinity variation and node movement (affected by ocean current), so that link error rate is high and intermittent connectivity is presented, its characteristics directly determine that the design framework of routing protocol has extremely low bandwidth and extremely high propagation delay, and traditional wireless radio frequency routing protocol is basically invalid, which makes routing protocol need to be designed and improved.

[0003] At present, water acoustic routing protocol is under inherent poor physical limitation, and the existing protocol has obvious deficiencies in overhead, delay, reliability and energy efficiency. Specific shortcomings are as follows:

[0004] 1, topology perception and overhead: control overhead and topology freshness are in sharp contradiction: frequent flooding, low-frequency update information lag, and low control information diffusion efficiency.

[0005] 2, routing and resource scheduling: routing layer and MAC layer are isolated from each other, cross-layer scheduling is not fully utilized, leading to resource competition and data collision.

[0006] 3, adaptation to dynamics: the mechanism based on fixed threshold or periodic update is slow to adapt to the high dynamics of water acoustic channel and node mobility, and is easy to produce routing shock or rigidity.

[0007] 4, service support capability: most protocols lack differentiated support for heterogeneous services (such as emergency control and data acquisition).

[0008] Under this background, there is an urgent need for a water acoustic routing solution that can intelligently and efficiently balance the above contradictions and adapt to complex application requirements. The current research on water acoustic routing protocol is evolving from traditional design relying on single dimension to intelligent, collaborative and refined direction. SUMMARY

[0009] The present application provides a water acoustic network dual-mode matrix multi-hop dynamic routing protocol method with time slot perception to solve the above problems.

[0010] The present application is realized by the following technical scheme:

[0011] A kind of water acoustic network dual-mode matrix multi-hop dynamic routing protocol method with time slot perception, comprising:

[0012] initializing each node while collecting its own basic information;

[0013] each node periodically and dynamically alternately sends bimodal matrix information to neighbor nodes to declare its own existence, discover neighbor nodes and exchange topology and time slot information;

[0014] based on the neighbor table, the node obtains bimodal matrix information including neighbor information and time slot occupation table of the neighbor node by sending a link state request message to the neighbor node, thereby gradually obtaining network topology information and time slot occupation information;

[0015] integrating and storing the network topology information and time slot occupation table collected by each node to form a network topology database;

[0016] based on the network topology database formed by integration, in the routing selection stage, the next hop of the path is selected according to the time slot occupation ratio of the node and the weight of the routing hop number;

[0017] based on the selected next hop path, entering the routing transmission stage, when the node has data to send, grouping the data according to a certain format, and adding the destination node ID, source node ID and next hop node ID information in the packet header, then judging the traffic size and urgency to decide temporary or permanent occupation of time slot;

[0018] after the destination node receives the data sent by the source node, it returns an acknowledgement message to the source node; if the destination node does not receive the data, it is determined as a packet loss;

[0019] if the source node does not receive the acknowledgement message within a certain time, it initiates retransmission; if the retransmission exceeds a predetermined number of times, it is considered that the link is unreliable, and routing cleaning and updating are performed.

[0020] As an optimization, the basic information of the node includes node ID, MAC address, neighbor table, routing table and initial energy; during the operation of the protocol, the node creates and maintains a local time slot occupation table for recording its own time slot allocation state.

[0021] As an optimization, the specific process of each node periodically and dynamically alternately sending bimodal matrix information to neighbor nodes is as follows:

[0022] Constructing a dual-mode matrix information for each node respectively, the dual-mode matrix information includes a near-end Hello message packet and a far-end Hello message packet; wherein the near-end Hello message packet contains one-hop neighbor, two-hop neighbor, routing symmetric link information encoded by a near-end matrix, and independent local node time slot occupation table information; the far-end Hello message packet contains three-hop neighbor, four-hop neighbor, routing symmetric link information encoded by a far-end matrix, and independent one-hop neighbor time slot occupation table information;

[0023] Each of the nodes alternately and periodically broadcasts the respective near-end Hello message packet and far-end Hello message packet in a binary information manner, and the initial state is that the sending frequency of each is 50%;

[0024] Each of the nodes dynamically adjusts the sending frequency of the near-end Hello message packet and far-end Hello message packet based on link health degree;

[0025] The near-end matrix includes four rows and M columns, the first row indicates one-hop neighbor nodes directly adjacent to the node, the second row indicates two-hop neighbor nodes indirectly adjacent to the node, the third row indicates routing symmetric links, and the fourth row indicates a time slot occupation table of the node; and the column number of the near-end matrix indicates node number;

[0026] The far-end matrix includes four rows and M columns, the first row indicates three-hop neighbor nodes, the second row indicates four-hop neighbor nodes, the third row indicates routing symmetric links, and the fourth row indicates a one-hop neighbor time slot occupation table; and the column number of the far-end matrix indicates node number.

[0027] As optimization, the specific method for each of the nodes to dynamically adjust the sending frequency of the near-end Hello message packet and far-end Hello message packet based on link health degree is as follows:

[0028] Each node maintains a heartbeat fixed window for each neighbor node with which the node has a routing symmetric link and which is set to 1, and the heartbeat fixed window is used to record the success or failure state of receiving heartbeat information of the neighbor node for a plurality of times;

[0029] When the local node receives a heartbeat packet of a neighbor node, the heartbeat information carried by the neighbor node is parsed from the heartbeat packet to calculate a far-end health degree and a near-end node health degree , wherein , represents the number of heartbeat values measured for a node i and being 1, represents a heartbeat window size, represents a health degree of the node i;

[0030] The parsed far-end node heartbeat health degree Proximity node heartbeat health A comparison calculation is performed, and a new heartbeat publishing quantity is calculated according to the following formula:

[0031] wherein R is a remote heartbeat proportion factor, is a proximity health (0~1), is a remote health (0~1);

[0032] The heartbeat distribution times are , ; wherein represents the total heartbeat times in a fixed period, represents the remote heartbeat times, represents the proximity heartbeat times.

[0033] After the new heartbeat publishing quantity is calculated and limited, the sending quantity frequency of the subsequent proximity Hello message packet and remote Hello message packet is adjusted.

[0034] As an optimization, based on a neighbor table, a node obtains double-mode matrix information including neighbor information and a time slot occupation table of a neighbor node by sending a link state request message to the neighbor node, so as to gradually obtain a specific process of network topology information and time slot occupation information:

[0035] The routing node periodically and alternately broadcasts a proximity proximity Hello message packet and a remote Hello message packet as the link state request message;

[0036] When the routing table of the first node does not have routing information of the second node, the second node is identified as a one-hop, two-hop or further neighbor according to its discovery mode, and the routing information of the second node is added to the routing table of itself and the corresponding Hello message packet to be sent; wherein, if the second node is identified as a one-hop or two-hop neighbor, it is added to the proximity Hello message packet; if it is identified as a three-hop or further neighbor, it is added to the remote Hello message packet;

[0037] When the first node parses third node information other than the second node from the Hello message packet received from the second node, and the routing table of itself does not have the third node information, if the third node is a two-hop neighbor, the information thereof is added to the routing table of itself and the proximity Hello message packet to be sent; if the third node is a three-hop or further neighbor, the information thereof is added to the routing table of itself and the remote Hello message packet to be sent;

[0038] The routing table updates the routing information by performing a bit operation on the current routing table and the received proximity Hello message packet and remote Hello message packet;

[0039] When the first node finds that any Hello message packet received from the second node has carried its own information, the corresponding routing symmetric link is set to 1, indicating that the link is symmetric.

[0040] As an optimization, the specific process of integrating and storing the network topology information and time slot occupation table collected by each node to form a network topology database is as follows:

[0041] When the routing symmetric link of the node is set to 1, the heartbeat sensing mechanism is started for the corresponding link, and the stability of the link is counted in the fixed time window mode;

[0042] When the routing symmetric link of the node is 0, or it is found from the received matrix information that a neighbor node has no corresponding hop count information, the related information of the neighbor node is cleared in the routing table of the node;

[0043] The node senses and stores the neighbor link state of up to three hops and the time slot occupation information within one hop range by processing the near-end Hello message packet;

[0044] The node senses and stores the neighbor link state of four hops and five hops and the time slot occupation information within two hops by processing the far-end Hello message packet.

[0045] As an optimization, in the routing selection stage, according to the weight of the time slot occupation ratio and the routing hop count of the node, the specific process of selecting the next hop of the path is as follows:

[0046] If there are multiple next hop nodes to the same destination node in the routing table of the source node, the next hop node with the smallest routing hop count is preferentially selected for data transmission;

[0047] If there are multiple next hop nodes with the same routing hop count, a comprehensive evaluation function of the current fixed time window is calculated, the value of the comprehensive evaluation function comprehensively considers the time slot occupation ratio of the next hop node and its network topology robustness, and the next hop node corresponding to the optimal value of the comprehensive evaluation function is selected;

[0048] A success counter within a sliding fixed time window is set for the currently selected data transmission path, which is used to judge the link quality; each time the source node receives an acknowledgement message ACK, the success counter is incremented; if the source node does not receive the acknowledgement message ACK within the expected time, the value of the success counter is decremented; at the same time, the update mechanism of the fixed time window is that each time a new value of the success counter is added, the oldest count value in the fixed time window is removed synchronously to maintain the fixed capacity of the window; the value of the success counter is used as a positive feedback factor of the path for subsequent routing selection decisions. The principle of the sliding fixed time window mechanism is as follows:Figure 4

[0049] As optimization, the calculation formula of the comprehensive evaluation function is:

[0050] ;

[0051] wherein, represents the comprehensive weight of the sliding fixed time window of the next hop node as the i th node; , respectively represent the weight values of the two variables; S represents the time slot proportion occupied by the current node; represents the robustness of the next hop node;

[0052] ;

[0053] ;

[0054] ;

[0055] represents the average value of the number of nodes in the fixed time window, N represents the window capacity size of the fixed time window, represents the number of neighbor nodes of the next hop node of the node that has received data, represents the average value of the degree of change in the fixed time window; represents the number of node changes in a message packet period for information exchange.

[0056] As optimization, in the routing transmission phase, when the node has data to send, the data is grouped according to a certain format, and the destination node ID, source node ID and next hop node ID information are added in the grouping header, and then the specific process of determining temporary or permanent occupation of time slots according to the size of the traffic and the degree of urgency is:

[0057] The node executes differentiated time slot occupation strategy according to the service priority carried in the data grouping header:

[0058] If the service priority belongs to the preset high priority and needs to guarantee the bandwidth category, the node preferentially occupies the time slots outside the three-hop range, and if the occupied time slots do not meet the requirements, the node initiates the time slot application process from the order of two-hop and one-hop to start applying for time slots, so as to permanently occupy the idle time slots within the one-hop or two-hop range;

[0059] ​If the service priority belongs to the preset high priority and delay sensitive category, the node adopts the temporary direct occupation time slot mode for service transmission; specifically, the node preferentially occupies the idle time slot outside the three-hop range; if the occupied time slot does not meet the requirements, the idle time slot is directly occupied according to the priority order of two-hop and one-hop without application; after the data transmission is completed and confirmed, all the temporarily occupied time slots are released immediately;

[0060] If the service priority is a normal priority, no dedicated time slot is occupied, and data transmission is performed through channel competition;

[0061] The time slot application process is as follows:

[0062] The source node sends a time slot application message to the destination node, and the time slot application message is forwarded via an intermediate node; if the destination node agrees to apply, a consent message is returned, the consent message returns along the original path, the intermediate nodes on the path update the local time slot occupation table after receiving the consent message, and the source node receives the consent message, confirms that the time slot reservation is successful; if the destination node does not agree to apply, a disapproval message is returned, the disapproval message returns along the original path, the intermediate nodes on the path only forward the disapproval message without changing any local time slot occupation table information, and the source node receives the disapproval message, confirms that the time slot reservation fails, and then the source node continues to send a time slot application message to other destination nodes until no time slot can be applied or the required number of time slots is reached;

[0063] For the temporarily occupied time slot, it is released immediately after the data transmission is completed; for the permanently occupied time slot, it is manually released after the service stops;

[0064] During data transmission, the node monitors the link and neighbor state in real time; if no neighbor node information is received within a preset period, the routing information of the neighbor node is deleted; if a link fault or a neighbor node failure is found, a routing update mechanism is triggered, and a new route is selected.

[0065] As an optimization, if the source node does not receive the confirmation message within a timeout period, retransmission is initiated; if the retransmission exceeds a preset number of times, the link is considered unreliable, and the specific process of routing clearing and updating is as follows:

[0066] When the source node does not receive the confirmation message ACK within a timeout period, it is determined that the packet is lost, and a data packet retransmission mechanism is started;

[0067] At the same time, the success reception count in the fixed time window maintained by the current transmission path is decremented;

[0068] If the retransmission number of consecutive packet losses on the current transmission path reaches a preset threshold, it is determined that the path is unreliable, and a standby path to the same destination node is immediately enabled for data transmission;

[0069] If there is no backup path, the source node continues to use the current transmission path and triggers the routing phase to reselect the routing path based on the updated network topology database.

[0070] Compared with the prior art, the present application has the following advantages and beneficial effects:

[0071] In terms of control overhead and topology freshness, the present application realizes the precision and lightness of topology awareness through an innovative dual-mode matrix hierarchical update mechanism. Specifically, the near-field matrix (NFM) adopts event-driven high-frequency differential update to ensure low-delay propagation of local topology changes; the far-field matrix (FPM) adopts a low-frequency update strategy that is adaptive to network load. This hybrid mechanism theoretically breaks the linear trade-off dilemma between control overhead and topology freshness in traditional protocols, achieving a quasi-constant level of control traffic load and fundamentally reducing protocol overhead.

[0072] In terms of data transmission reliability, the present application realizes cross-layer collaborative optimization of routing and resource scheduling through a time-slot-matrix linkage allocation algorithm. This mechanism deeply couples routing decisions with time-slot resource allocation in the medium access control layer: based on local time-slot scheduling of the near-field matrix, it transforms traditional contention-based unordered access into reservation-driven collision-free transmission, fundamentally eliminating the packet collision probability at the data link layer; based on the end-to-end time-slot reservation mechanism of the far-field matrix, it establishes a transmission path with bounded delay for multi-hop traffic flows.

[0073] In terms of the intelligence and robustness of path selection, the present application realizes rapid adaptation to dynamic underwater acoustic environments by introducing a multi-dimensional intelligent path decision model. Instead of relying on a single hop metric, this model constructs a multi-constraint optimization function (Ci) that considers routing hops, link quality (ACK success count) based on a sliding window, node robustness (RS), and time-slot proportion (S). Through this model, path selection can effectively avoid fragile links and congested nodes, significantly improving the steady-state performance and robustness of the network in dynamic underwater acoustic environments.

[0074] In terms of service support capability, the present application realizes on-demand allocation of network resources and differentiation of quality of service through a service-aware dynamic resource allocation algorithm. This algorithm intelligently triggers different time-slot occupation strategies (such as permanent occupation for high-priority services and temporary preemption for urgent small data services) based on the priority and data volume of services, achieving a balance between resource fairness, efficiency optimization, and differentiated service guarantee.

[0075] In summary, the present application is not a simple function superposition by the creative integration of the two core technologies of dual-mode matrix and dynamic time slot allocation, but constructs a self-adaptive routing system integrating perception (through matrix and heartbeat), decision (through multi-dimensional model) and scheduling (through cross-layer time slot allocation), which systematically solves the challenges of efficiency, reliability and intelligence faced by the existing underwater acoustic network and provides a solid communication foundation for complex underwater applications. BRIEF DESCRIPTION OF DRAWINGS

[0076] The accompanying drawings, which are included to provide a further understanding of the embodiments of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the principles of the application. In the drawings:

[0077] Figure 1 A process diagram for broadcasting the near-end matrix as a "Hello" message packet is shown, which shows how the node broadcasts the near-end matrix as a "Hello" message packet, and the process of the message propagating and updating in the network.

[0078] Figure 2 A packet sending operation process of the routing protocol is shown, which shows the entire packet sending operation process of the node from data sending to complete forwarding or time slot application.

[0079] Figure 3 A packet receiving operation process of the routing protocol is shown, which shows the packet receiving operation process of the node after receiving the data packet, including analysis, destination address judgment and uploading or forwarding execution.

[0080] Figure 4 A routing protocol time slot application mechanism principle diagram is shown, which shows the complete interaction process from time slot request (SLOT_REQ) to reply (SLOT_REP) and the time slot table updating process of each node in the form of a message sequence diagram.

[0081] Figure 5 A routing protocol message format diagram is shown, which specifically shows the structure and field definition of various messages such as near-end matrix (NFM), far-end matrix (FPM), time slot application (SREQ), time slot reply (SREP) and data (DATA).

[0082] Figure 6 A near-end neighbor matrix definition diagram is shown, which clearly defines the structure of the near-end matrix information such as hop number field, symmetric link and local time slot occupation in the form of a table.

[0083] Figure 7 A far-end neighbor matrix definition diagram is shown, which clearly defines the structure of the far-end matrix information such as hop number field, symmetric link and one-hop time slot occupation in the form of a table.

[0084] Figure 8Figure 2 shows the heartbeat mechanism diagram, which demonstrates how the heartbeat detection mechanism works and is used to evaluate the link stability by showing different link (e.g. A-B, B-C) heartbeat instability scenarios.

[0085] Figure 9 Figure 3 shows the hidden station problem diagram, which explains the key principle of "three-hop out time slots do not need to apply" in the protocol design, i.e. due to the existence of the hidden station problem, the scope of time slot application and coordination needs to be limited within one-hop and two-hop nodes.

[0086] Figure 10 Figure 4 shows the traffic awareness and time slot allocation flowchart, which demonstrates how the protocol intelligently decides and executes different time slot allocation and release strategies such as temporary occupation or permanent application according to traffic priority and data volume.

[0087] Figure 11 Figure 5 shows the time slot awareness and application process diagram, which specifically depicts how nodes complete time slot awareness through alternate broadcasting, and how the source, intermediate, and destination nodes coordinate to update their local time slot tables after successful time slot application. DETAILED DESCRIPTION

[0088] In order to make the objectives, technical solutions, and advantages of the present application clearer, further detailed description of the present application will be given below in combination with embodiments and drawings, which are only used to explain the present application and do not limit the present application.

[0089] In order to further reduce the network protocol overhead, the present application proposes a time slot aware underwater acoustic network dual-mode matrix multi-hop dynamic routing protocol method, which introduces a dual-mode matrix mechanism to structurally process and on-demand distribute network topology information. Among them, the near-field matrix adopts an event-driven high-frequency differential update strategy to ensure low-delay propagation of local topology changes, while the far-field matrix is based on a network load adaptive low-frequency update strategy, whose update period is negatively correlated with traffic load. This hybrid mechanism theoretically solves the linear trade-off dilemma between control overhead and topology freshness in traditional underwater routing protocols, and achieves quasi-constant level maintenance of control traffic load.

[0090] Secondly, through cross-layer cooperation optimization of routing and resource allocation, the throughput bottleneck of traditional protocol is broken, the routing decision and the time slot resource allocation of the medium access control layer are deeply coupled, the local time slot scheduling based on the near-field matrix is used to change the traditional unordered access based on competition into the reservation-driven conflict-free transmission, and the packet collision probability of the data link layer is fundamentally eliminated; the end-to-end time slot reservation mechanism based on the far-field matrix establishes a transmission path with bounded delay for multi-hop service flow, and a multi-dimensional integrated only path selection is re-built, through the multi-constraint optimization path selection mechanism, the steady-state performance and robustness of the network in the dynamic underwater acoustic environment are significantly improved.

[0091] Finally, the differentiated service guarantee for service heterogeneity is realized, and the service data differentiation, resource fairness and efficiency optimization are realized.

[0092] Embodiment 1 provides a kind of underwater acoustic network dual-mode matrix multi-hop dynamic routing protocol method with time slot awareness, as shown in Figure 1 As shown in the figure, it includes:

[0093] S1, initialize each node, and collect the basic information of each node itself.The step is node initialization start, and the basic information of itself is collected, including node ID, MAC address, neighbor table, routing table, initial energy, etc.;During the protocol running process, the local time slot occupation table for recording the time slot allocation state of itself is created and maintained.

[0094] S2, each node periodically and dynamically alternately sends dual-mode matrix information to neighbor nodes to announce the existence of node itself, discover neighbor nodes and exchange topology and time slot information.I.e. announce the existence of node itself and establish neighbor relationship with neighbor nodes.The neighbor nodes in the neighbor relationship here refer to the neighbor nodes directly adjacent to the local node, i.e. direct neighbor nodes, for example, there are three nodes A, B and C, B is directly adjacent to A and C, C is indirectly adjacent to A through B, then B node is the direct neighbor node of A node and C node, also called one-hop neighbor node, and A node and C node are not direct neighbor nodes, A node and C node are two-hop neighbor nodes.

[0095] In some embodiments, the specific process of S2 is:

[0096] S2.1, respectively, each node is constructed dual-mode matrix information, the dual-mode matrix information includes the near-end Hello message packet and the remote Hello message packet; wherein, the near-end Hello message packet contains by the near-end matrix encoding one-hop neighbor, two-hop neighbor, routing symmetry link information, and independent local node time slot occupation table information; the remote Hello message packet contains by the remote matrix encoding three-hop neighbor, four-hop neighbor, routing symmetry link information, and independent one-hop neighbor time slot occupation table information, message packet detailed format see the step S3.

[0097] The near-end matrix includes four rows M columns, the first row represents the one-hop neighbor node directly adjacent to the node, the second row represents the two-hop neighbor node indirectly adjacent to the node, and the third row represents the routing symmetry link; the column number of the near-end matrix represents the node number; the remote matrix includes four rows M columns, the first row represents the three-hop neighbor node, the second row represents the four-hop neighbor node, and the third row represents the routing symmetry link; the column number of the remote matrix represents the node number.

[0098] As shown in Figure 6 , 7 The near-end and remote information matrix definition of the routing protocol is shown in the figure, which indicates that the neighbor information of up to three hops and five hops is obtained, because the third hop is calculated out, for example, the node two hops away in the HELLO information of other nodes (node B) is received, and there is no such node information (node C) in the routing table of me (node A), it will be considered as a node three hops away from me (node A), which will be recorded in my routing table, but not sent as a HELLO message to other nodes, so I only need to provide 2-hop routing information; It is worth noting that it is difficult to obtain the symmetry link state of the three-hop node, so it is required that I (node A) and node (B) are symmetry links, and node (B) and node (C) are also symmetry links, then I can trust this three-hop route, which is equivalent to setting the link to 1; The local time slot occupation indicates the time slot bitmap occupied by the node, which is updated to the one-hop time slot list by the neighbor after receiving the bitmap, and the information is broadcast when the remote information matrix time comes; The five-hop is the same, the five-hop updates the 3-hop, 4-hop routing information and the one-hop time slot bitmap, which is updated to the 4-hop route, 5-hop route, and two-hop time slot bitmap after being received by other nodes.

[0099] S2.2, each of the nodes alternately and periodically broadcasts the respective near-end Hello message packet and remote Hello message packet in a binary information manner, in the initial state, the near-end information is preferentially sent, and then the remote information is sent, and the frequency is 50% respectively.

[0100] S2.3, each of the nodes dynamically adjusts the sending frequency of the near-end Hello message packet and the remote Hello message packet based on the link health degree.

[0101] In some embodiments, the specific method for dynamically adjusting the sending frequency of the near-end Hello message packet and the far-end Hello message packet based on the link health degree is as follows:

[0102] S2.3.1, each node maintains a heartbeat fixed window for each neighbor node with a symmetric link to itself, which records the success or failure state of the last several times of receiving the heartbeat information of the neighbor node;

[0103] S2.3.2, when the local node receives the heartbeat packet of the neighbor node, the core content of the neighbor node packet and the health information brought by the heartbeat are parsed from the heartbeat packet.

[0104] S2.3.3, according to the parsed heartbeat type, update the corresponding health evaluation value, if it is a near-end heartbeat, update the near-end health degree, if it is a far-end heartbeat, update the far-end health degree, and based on the updated and calculate a comprehensive health degree and generate a new occurrence interval in the next period ;

[0105] S2.3.5, according to the new heartbeat release interval calculated and limited , adjust the sending frequency of the near-end Hello message packet and the far-end Hello message packet subsequently.

[0106] For example, in 1s, the near-end heartbeat is sent at 0.5s, and the far-end heartbeat is sent at 1s, which is dynamically adjusted according to the receiving condition.

[0107] The node will dynamically change the alternate frequency according to the topology link convergence and node heartbeat integrity, and the algorithm is as follows:

[0108] After the near-end and far-end symmetric links are set to 1, the heartbeat detection mechanism will be started, and when the route table is not updated within the specified window (heartbeat fixed window) size, the node in the route table information will be deleted. Therefore, in order to avoid this situation as much as possible, the alternate frequency is dynamically adjusted.

[0109] Each node will set up a heartbeat fixed window for the node with a symmetric link to itself and maintained by itself , represents the heartbeat value received by the current time window of a certain node, all 1 is [1, 1, 1, 1, 1, 1], and all 0 is [0, 0, 0, 0, 0, 0]; after symmetry, the measurement can be started, and all are 1 at the initial moment, and then change, and [1, 1, 1, 1, 0, 0, 0] can appear, and the health degree is reduced; n is the fixed window number of heartbeat, and the window size relationship between the near-end node n and the far-end node m is (the node at the far end is more likely to fail to receive the heartbeat, that is, the information packet, so that m is greater than n in order to improve the fault tolerance), and when the value is updated, the window size is kept unchanged, and after receiving the information about the node, the new value of the window is 1, otherwise it is 0; when all the values in the window are 0, it is considered that the heartbeat of the node has been completely lost, and the node route is deleted. Therefore, when the near-end heartbeat or the far-end heartbeat appears “health problem”, the problem of the current heartbeat is considered more frequently to confirm whether the connection has been lost or it is only a temporary network congestion problem, so as to provide a more stable path for subsequent route selection.

[0110] When the local node receives the heartbeat packet of the neighbor node, the heartbeat information carried by the neighbor node is parsed from the heartbeat packet to calculate the far-end health degree and the near-end node health degree , wherein , represents the number of heartbeat values measured for a node i, represents the heartbeat window size, represents the health degree of the node i;

[0111] The parsed far-end node heartbeat health degree is compared with the near-end node heartbeat health degree , and the new heartbeat publishing number is calculated according to the following formula:

[0112] , wherein R is a far-end heartbeat ratio factor, is a near-end health degree, is a far-end health degree;

[0113] The heartbeat distribution number is , ; wherein represents the total number of heartbeats in a fixed period, represents the number of far-end heartbeats, represents the number of near-end heartbeats.

[0114] After the new heartbeat publishing is calculated and limited, the sending number frequency of the subsequent near-end Hello message packet and the far-end Hello message packet is adjusted.

[0115] S3, based on the neighbor table, the node obtains the dual-mode matrix information of the neighbor node containing the neighbor information and the time slot occupation table by sending a link state request message to the neighbor node, so as to gradually obtain the network topology information and the time slot occupation information.

[0116] In some embodiments, the specific process of S3 is:

[0117] S3.1, the routing node periodically and alternately broadcasts the near-end near-end Hello message packet and the far-end Hello message packet as the link state request message.

[0118] S3.2, when the routing table of the first node does not contain the routing information of the second node, the second node is identified as a one-hop neighbor, a two-hop neighbor or a farther neighbor according to its discovery mode, and the routing information of the second node is added to the routing table of the self node and the corresponding Hello message packet to be sent; if the second node is identified as a one-hop or two-hop neighbor, it is added to the near-end Hello message packet; if it is identified as a three-hop or farther neighbor, it is added to the far-end Hello message packet.

[0119] The routing node exchanges information by periodically broadcasting the near-end Hello message packet. The information exchange is transmitted by binary bit information, and the information table row represents a one-hop neighbor node, a two-hop neighbor node, a routing symmetric link, and a time slot occupation of the node. The information table column represents the node number, and the maximum number of nodes in the current network is the number of table columns. For example, Figure 1As shown, at T1, when the C node first receives the proximal Hello message packet of the neighbor node D, it will determine whether there is routing information of the node (neighbor node D) in its routing table. If not, it will add the information that "node D is a one-hop neighbor" to its routing table, and in the one-hop neighbor field of the proximal Hello message packet to be sent by itself in the next period, the bit position representing node D is 1. As shown in the C node, after receiving the neighbor messages of B and C, it will be updated; when at T3, the B node receives the routing information of the C node, it queries that in addition to the node (C node), there is also D node information, and itself has not received it, so it is set as two-hop neighbor node information, and is stored in the proximal Hello message packet to be sent at the next moment. If at the subsequent moment, the proximal Hello message packet belonging to the two-hop neighbor is received, the corresponding routing information is modified to one-hop neighbor node until no longer changes (i.e. a node M has set a node N as a two-hop node, and then the M node receives the proximal Hello message packet of the N node, and the M node sets the N node as a one-hop node again). The protocol algorithm can at most transmit two-hop routing information to other nodes, if two-hop node information is received, it is recorded in the routing table, and is no longer broadcasted as a "Hello" message to the outside. The one-hop neighbor node here is the direct neighbor node.

[0120] S3.3, when the first node parses the third node information in addition to the second node from the Hello message packet (which can be proximal or distal) received from the second node, and the third node information is not in the routing table of the first node, if the third node is a two-hop neighbor, the information of the third node is added to the routing table of the first node and the proximal Hello message packet to be sent; if the third node is a three-hop or more distant neighbor, the information of the third node is added to the routing table of the first node and the distal Hello message packet to be sent.

[0121] That is, the routing nodes alternately broadcast the distal Hello message packet for information interaction, and the information tables respectively represent the three-hop neighbor, the four-hop neighbor, the routing symmetric link, and the one-hop node time slot occupation; the remaining steps are the same as S3.2.

[0122] S3.4, the routing table updates the routing information by performing a bit operation on the current routing table through the received proximal Hello message packet and distal Hello message packet. The routing table is updated through the "Hello" message packet of the neighbor node, and through the binary information routing message transmission, a bit operation is performed on the current routing table, so that the change of the routing information can be obtained more quickly and more sensitively, without complex and tedious calculation and update of the routing information.

[0123] S3.5, when the first node finds that any Hello message packet received from the second node has carried its own information, the corresponding routing symmetric link is set to 1, indicating that the link is already symmetric. When the neighbor node has carried its own information, and at the same time receives the "Hello" message packet of the neighbor node, it indicates that the link has been symmetric (mutual sending and receiving), and can receive each other's "Hello" message. The current node will also set the routing symmetric link to 1 at the subsequent time, and the neighbor node will also set the bit to 1 after receiving it subsequently. Therefore, within 10 cycles, all nodes will complete the convergence work.

[0124] The more specific exchange process is as follows:

[0125] A1, construct and initialize a dual-mode matrix for each node, i.e. a near-field matrix and a far-field matrix. The near-field matrix is a hop-level encoding matrix, which includes four rows and M columns:

[0126] The first row represents one-hop neighbor nodes directly adjacent to the node;

[0127] The second row represents two-hop neighbor nodes indirectly adjacent to the node;

[0128] The third row represents a routing symmetric link;

[0129] The fourth row represents the time slot occupation table of the node.

[0130] The far-field matrix is also a hop-level encoding matrix, which includes four rows and M columns:

[0131] The first row represents three-hop neighbor nodes;

[0132] The second row represents four-hop neighbor nodes;

[0133] The third row represents a routing symmetric link;

[0134] The fourth row represents the time slot occupation table of one-hop neighbors.

[0135] The column number M of the matrix represents the node number in the network, and each node has its routing information in the corresponding matrix.

[0136] A2, each node periodically and dynamically alternately broadcasts its own near-field matrix and far-field matrix in binary information. When the receiving node receives the matrix broadcast by the one-hop neighbor node, steps A3 to A6 are performed.

[0137] A3, the receiving node judges whether the routing information of the one-hop neighbor node exists in its routing table. If not, the routing information of the one-hop neighbor node is added to its routing table, and the corresponding column of the node in the one-hop neighbor row of the near-field matrix is set to 1. If it already exists, A4 is directly performed.

[0138] A4, the receiving node determines whether the received matrix contains routing information of other nodes in addition to the one-hop neighbor node itself. If yes, proceed to A5; if no, proceed to A6.

[0139] A5, the receiving node parses these nodes (referred to as third nodes) and determines the logical hop distance between them and itself:

[0140] If the third node is set in the one-hop neighbor row of the received matrix, the receiving node identifies it as a two-hop neighbor of itself and sets the column corresponding to the third node to 1 in the two-hop neighbor row of the near-field matrix of itself.

[0141] If the third node is set in the two-hop neighbor row of the received matrix, the receiving node identifies it as a three-hop neighbor of itself and records its routing information in the routing table of itself, and sets the column corresponding to the third node to 1 in the three-hop neighbor row of the far-field matrix of itself.

[0142] If the third node is set in the three-hop or further row of the received matrix, the receiving node identifies it as a four-hop or further neighbor, records it in the routing table, and sets it in the corresponding row of the far-field matrix of itself.

[0143] A6, the receiving node determines whether the received matrix has set the routing information of itself (the receiving node) to 1 in the corresponding column of any row. If yes, it indicates that the sending node has perceived the receiving node, and the link is bidirectionally connected. The receiving node then sets the column corresponding to the sending node to 1 in the third row (routing symmetric link row) of the near-field or far-field matrix of itself. Thereafter, the heartbeat detection mechanism for this link will be started.

[0144] A7, the updating of the routing table is achieved by performing a bitwise operation (such as an "or" operation) on the received matrix data, the current routing table, and the matrix, thereby quickly and efficiently fusing new topology and time slot information.

[0145] A8, the steps of A2 to A7 are executed in a loop until the near-field matrix, the far-field matrix, and the routing table of each node converge to a stable state, thereby obtaining a global network topology view containing multi-hop link state and time slot occupation information.

[0146] S4, integrate and store the network topology information and time slot occupation table collected by each node to form a network topology database. Up to five-hop link state and two-hop time slot occupation state can be perceived, providing a basis for subsequent route path selection.

[0147] In some embodiments, the specific process of S4 is as follows:

[0148] S4.1, when the node's routing symmetric link is set to 1, the corresponding link is opened to the heartbeat sensing mechanism, and the stability of the link is counted in the fixed time window mode. The "Hello" message of the lightweight matrix encoding (near-end matrix and far-end matrix) gradually sets the symmetric link flag to 1 during transmission. When it is set to 1, the heartbeat mechanism is started, that is, the link heartbeat sensing is started. In the sensing state, the fixed time window mode is started, and the stability of the heartbeat, that is, the stability of the link, is counted.

[0149] S4.2, when the node's routing symmetric link is 0, or when it is found from the received matrix information that a certain neighbor node has no corresponding hop information, then the related information of the neighbor node in the node's routing table is cleared. When the symmetric link flag is set to 0, the heartbeat mechanism is not started, and when the corresponding transmitted information matrix indicates that a certain node has no corresponding hop information, the related information should also be cleared in the routing table of the node.

[0150] S4.3, the node perceives and stores the neighbor link state of up to three hops and the time slot occupation information within one hop range by processing the near-end Hello message packet.

[0151] S4.4, the node perceives and stores the neighbor link state of four hops and five hops and the time slot occupation information within two hops by processing the far-end Hello message packet.

[0152] The near-end node perceives three-hop information and one-hop time slot occupation information; the far-end node perceives four-hop and five-hop information and two-hop time slot occupation information, and the time slots outside three hops do not need to be perceived and occupied, avoiding the hidden station problem in space.

[0153] It should be noted that the content stored in the time slot occupation table is the time slot occupation information.

[0154] S5, based on the integrated network topology database, in the routing selection stage, according to the weight of the time slot occupation ratio and the routing hop number of the node, the next hop of the path is selected.

[0155] In some embodiments, the specific process of S5 is:

[0156] S5.1, if there are multiple next hop nodes to the same destination node in the routing table of the source node, the next hop node with the smallest routing hop number is preferentially selected for data transmission.

[0157] S5.2, if there are multiple next hop nodes with the same routing hop number, a comprehensive evaluation function of the current fixed time window is calculated, the value of the comprehensive evaluation function comprehensively considers the time slot occupation ratio of the next hop node and its network topology robustness, and the next hop node corresponding to the optimal value of the comprehensive evaluation function is selected.

[0158] The routing information of other nodes contained in the routing table is recorded at the same time with the information of its next hop (the whole routing path also only records the next hop, and if there are multiple alternative paths, it means that there are multiple different next hops), and the data forwarding will be forwarded according to the next hop address. If multiple next hop information is available at the same time, the next hop with smaller routing hop number is preferred for data transmission, and if the hop numbers of the two routing paths are the same, the values in the fixed time window are used as the weight basis to judge who is the next hop routing path for transmission. The fixed time window here means that the size of the time window is constant, and the sliding means that the time window will move with time.

[0159] More specifically, the fixed time window mechanism judges the link quality by counting the number of "ACK" message packets received by the node, and recording the number of successfully received data packets is one of the criteria for detecting link quality. In the transmission process of the network, there may be a process of "ACK" timeout not received, then the counter is decremented, and the fixed time window is constantly updated to clear the old window value, and a set of dynamically updated values are maintained.

[0160] When the symmetric link is set to 1, it is judged as a valid link, which represents bidirectional and stable. When the destination node is taken as the destination address of the valid link (set to 1 routing information), the heartbeat value of the valid link is worth noting. In the valid link, the next hop of the source node in the path from the source node to the destination node is taken as the header of the structure (i.e. the next hop to the destination node is taken as the header of the structure), and the window queue structure of the heartbeats of each intermediate node and the destination node is recorded in it Indicates that the symmetric link between the i-th node in the window queue structure Q and the source node is set; the number of Q depends on how many relay nodes (excluding the source node) there are in the path, i.e. The number of is the window capacity size of the fixed time window, which will automatically slide when it exceeds the window capacity; each time a new element is added , The heartbeat health value is used to judge the influence on the sending frequency of the near-end and far-end heartbeats; when all the values in the structure are 0, it is considered that a certain node in the path has completely lost contact (lost heartbeat), and the intermediate nodes and subsequent nodes in the path are deleted, i.e. the next hop path of the destination address is deleted and no longer participates in the collection of heartbeat information. For example Figure 8 It can be seen that the neighbor next hop node can record all the heartbeat information. Figure 8 ​Heartbeat mechanism is another valid mechanism generated by "Hello" message. Link awareness not only expresses hop count, but also link stability. If symmetric link is set to 1, it is considered that the link is reliable. When the quality of a certain link signal in the transmitted Hello message is unstable, the heartbeat statistics stage is entered. In a fixed time window, the stable and unstable times are calculated, which is also called heartbeat mechanism. If the symmetric link is not set to 1, when the link is unstable in the Hello message, that is, there is no corresponding link awareness (matrix information is set to 0), the corresponding link hop count will also be cleared.

[0161] If the routing hop count is the same, the node robustness and the time slot ratio occupied by the node are comprehensively weighted. The next hop of routing selection is the neighbor node. The periodic heartbeat of the neighbor node carries the number and change of the 1 in its own routing table. The more the remaining nodes reached by the neighbor node, and the more stable the situation, the better the node robustness can be judged. The current number of neighbors of the next hop is recorded , stored in the node number queue, and the number of node changes in the current period is counted , stored in the change degree queue. If the queue length exceeds N, the first data is removed, and the value of N is the same as the window capacity size.

[0162] The average value of the number of nodes in the window is calculated:

[0163] ;

[0164] The average value of the change degree in the window is calculated:

[0165] ;

[0166] The final RS is:

[0167] ;

[0168] If the hop counts of multiple nodes are the same, the comprehensive weight judgment of node robustness and time slot ratio occupied by the node is:

[0169] ;

[0170] In the formula, i represents the node address (node) receiving the "Hello" message packet; represents the comprehensive weight of the sliding fixed time window of the next hop node as the i-th node; S represents the time slot ratio occupied by the current node; represents the robustness of the next hop node; , respectively represent the weight values of the two variables, so as to select the routing path to send data information

[0171] S5.3, setting a success counter for the currently selected data transmission path within a sliding fixed time window, for judging the link quality; incrementing the success counter each time the source node receives an ACK message; decrementing the success counter if the source node does not receive the ACK message within the expected time; and updating the fixed time window by removing the oldest count value in the window each time a new count value is added, to maintain a fixed window size; the count value of the success counter is used as a positive feedback factor for the path, for subsequent routing decisions.

[0172] The success value of the currently selected path is dynamically updated each time the source node receives an ACK message, and is not updated if no ACK message is received. The value is cleared in the fixed time window, indicating that the node has successfully used the currently selected path as a data transmission path and obtained a positive feedback factor.

[0173] S6, based on the selected next-hop path, entering the routing transmission phase. When the node has data to send, the data is grouped according to a certain format, and the destination node ID, source node ID and next-hop node ID information are added to the packet header. Then, the size and urgency of the traffic are determined to decide whether to temporarily or permanently occupy the time slot. The routing protocol message format is as shown in Figure 5 .

[0174] The specific process of S6 is as follows:

[0175] The node executes differentiated time slot occupation strategies according to the traffic priority carried in the data packet header:

[0176] If the traffic priority belongs to a preset high priority and bandwidth guarantee category, the node preferentially occupies time slots outside the three-hop range, and if the occupied time slots do not meet the requirements, it initiates a time slot application process from the order of two-hop and one-hop to permanently occupy idle time slots within the one-hop or two-hop range.

[0177] If the traffic priority belongs to a preset high priority and delay-sensitive category, the node directly occupies idle time slots for traffic transmission; specifically, the node preferentially occupies idle time slots outside the three-hop range, and if the occupied time slots do not meet the requirements, it directly occupies idle time slots in the order of two-hop and one-hop priority without applying for them; after the data transmission is completed and confirmed, all temporarily occupied time slots are immediately released.

[0178] If the traffic priority is ordinary priority, no dedicated time slots are occupied, and data transmission is performed by competing for the channel.

[0179] The time slot application process is as follows:

[0180] The source node sends a time slot application message to the destination node, the time slot application message is forwarded via the intermediate node; if the destination node agrees to apply, a consent message is returned along the original path, the intermediate node on the path updates the local time slot occupation table after receiving the consent message, the source node receives the consent message, and confirms that the time slot reservation is successful; if the destination node does not agree to apply, a refusal message is returned along the original path, the intermediate node on the path only forwards the message without changing any local time slot occupation table information after receiving the refusal message, and the source node receives the refusal message, confirms that the time slot reservation fails, and then the source node continues to send time slot application messages to other destination nodes until no time slot can be applied or the required number of time slots is reached.

[0181] For temporarily occupied time slots, the time slots are released immediately after data transmission is completed; for permanently occupied time slots, the time slots are manually released after service is stopped.

[0182] During data transmission, the node monitors the link and neighbor state in real time; if the neighbor node information is not received within a preset period, the routing information of the neighbor node is deleted; if a link fault or a neighbor node failure is found, a routing update mechanism is triggered, and the routing is reselected.

[0183] More specifically, because of the existence of the next hop address, the data transmission will present a one-way, non-repeating process according to the corresponding next hop address and the TTL=3 limit, so no special description is needed for the data transmission process.

[0184] Broadcast transmission will cause flooding forwarding, network storm and other problems due to the broadcast nature of the next hop address, therefore, TTL=3 and the unique identifier of the broadcast message are added to the broadcast message, so that each time the broadcast message is sent is unique at the current time, and the broadcast message identifier is assigned to increase with the increase in the number of broadcast sent, and is reset to 0 when the maximum limit is reached. The time difference between the two is long enough because the same broadcast identifier will not be repeated.

[0185] During data transmission, the node monitors the link state and neighbor node state in real time. Due to the mobility and uncertainty of the routing node, the timer is updated according to the time during the routing maintenance process, if the neighbor node information is not received within three period times, the routing information of the neighbor node is deleted, and the two-hop neighbor node will also be deleted if the one-hop neighbor node does not transmit the corresponding two-hop node information.

[0186] If a link fault or a neighbor node failure is found, a neighbor node link state update message is immediately sent to the neighbor node, the node receiving the link update state message updates its network topology database and routing table according to the message content, and reselects the routing.

[0187] If the path (next hop) is already the only path, then the destination address aware link state also needs to be cleared, and after the update is completed, the next "Hello" message cycle sends the updated compressed coding matrix.

[0188] If it is determined that the traffic is large and the emergency level is high according to the application layer service, the node adopts the permanent time slot occupation mode for service transmission, and details are specifically shown in B1; if it is determined that the traffic is small and the emergency level is high, the node adopts the temporary time slot occupation mode for service transmission, and details are specifically shown in B2; and the rest do not need to occupy time slots and can be transmitted normally.

[0189] B1, the node preferentially occupies the time slots outside the three-hop range, if the occupied time slots do not meet the requirements, the node starts to apply from the order of two-hop and one-hop, applies to the corresponding node, the applying node sends a time slot application, the application is forwarded through routing to finally reach the destination application node, if agreed, the reply is forwarded back according to the routing, if the intermediate node receives the agreed reply, the information of the local time slot occupation table is directly changed (for example, the application direction of A->B->C, the reverse routing back C->B->A, B knows that it is an agreed message, then directly updates it on the routing table, that is, A occupies C, and in the future, B will not ask any more messages when updating the routing table, and will directly exclude the time slots of C, because the time slots of C have been occupied by A), if a different reply is received, only the forwarding is performed, and no local time slot occupation table information is changed, if the node applicant receives a timeout or a different reply, the node continues to apply to other nodes until there is no time slot to apply or the required number of time slots is reached (that is, there is no time slot of other nodes that can be applied, and all the time slots that can be occupied have been occupied); after the service is stopped, the time slots are manually released, and the steps of applying for time slots are consistent.

[0190] B2, the node preferentially occupies the time slots outside the three-hop range, if the occupied time slots do not meet the requirements, the node directly occupies from the order of two-hop and one-hop without applying, until there is no time slot to apply or the required number of time slots is reached, and the time slots are released immediately after the application data is sent and the sending is confirmed to be completed, without applying.

[0191] As shown in Figure 9 , a hidden station problem is shown, why the time slots of three hops do not need to be applied, and the time slots of two hops need to be applied, the reason is that the hidden station problem causes A and C in the two-hop range to occupy and cause the node at B to receive a conflict, therefore, the time slots that need to be applied are mainly in the one-hop and two-hop nodes.

[0192] As shown in Figure 10 , a hidden station problem is shown, why the time slots of three hops do not need to be applied, and the time slots of two hops need to be applied, the reason is that the hidden station problem causes A and C in the two-hop range to occupy and cause the node at B to receive a conflict, therefore, the time slots that need to be applied are mainly in the one-hop and two-hop nodes. Figure 10The table indicates the service awareness and time slot allocation, and shows the different time slot allocation and release methods taken when different service types are sensed.

[0193] As shown in Figure 11 , Figure 11 The table indicates the time slot sensing method and application process, and alternately sends the near-end local time slot and the far-end one-hop time slot. After convergence, the time slot sensing within three hops can be completed. Note that the time slots outside three hops (including three hops) can be directly multiplexed. Meanwhile, in the time slot application process, if the node agrees, the corresponding time slot occupation will be updated according to whether the node is a transit node or an original node.

[0194] S7, the destination node returns an acknowledgement message to the source node after receiving the data sent by the source node; if the destination node does not receive the data, it is determined as a packet loss.

[0195] S8, if the source node does not receive the acknowledgement message within a timeout, it initiates retransmission; if the retransmission exceeds a preset number of times, it is considered that the link is unreliable, and the routing is cleared and updated.

[0196] In some embodiments, the specific process of S8 is as follows:

[0197] When the source node does not receive the acknowledgement message ACK within a timeout, it is determined as a packet loss, and the data packet retransmission mechanism is started;

[0198] Meanwhile, the success reception count in the fixed time window maintained for the current transmission path is decremented;

[0199] If the retransmission number of continuous packet loss on the current transmission path reaches a preset threshold, it is determined that the path is unreliable, and a standby path to the same destination node is immediately enabled for data transmission;

[0200] If there is no standby path, the source node continues to use the current transmission path, and triggers the routing selection phase to reselect the routing path based on the updated network topology database.

[0201] The destination node receives the data sent by the source node, and the routing function completes the closed loop. If it is not received, it is determined as a packet loss. When the ACK message is not received within a timeout, it is determined as a packet loss, information retransmission is performed, the success reception count in the time window is decremented, and the routing path is reselected again using the steps of S54.

[0202] If the path with the sliding success reception count times out (more than 3 times continuously), other standby paths are immediately enabled. If there is no other standby path, the current path is still used as the data transmission path.

[0203] More specifically, Figure 1The neighbor matrix is broadcasted as a HELLO message packet. When a HELLO message packet with the hop count of the node itself set to 1 is received, it is determined that the other node has received the HELLO message packet provided by the node itself, and the symmetric link is set to 1. If the node itself receives that other nodes set the node itself to 1, the symmetric link is also set to 1. When the symmetric link is 1, it can be used as an alternative path for sending a data packet.

[0204] It should be noted that the specific data transmission process is as shown in Figure 2 , and the data receiving process is as shown in Figure 3 .

[0205] The above specific embodiments further illustrate the purposes, technical solutions and beneficial effects of the present application. It should be understood that the above description is only a specific embodiment of the present application and is not used to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims

1. A method of underwater acoustic network dual-mode matrix multi-hop dynamic routing protocol with time slot awareness, characterized in that, The method comprises the following steps: initializing each node while collecting basic information of each node; each node periodically and dynamically alternately sends bimodal matrix information to neighbor nodes to declare the existence of the node, discover neighbor nodes and exchange topology and time slot information; based on the neighbor table, the node obtains bimodal matrix information of neighbor nodes containing neighbor information and time slot occupation table by sending a link state request message to the neighbor nodes, so as to gradually obtain network topology information and time slot occupation information; integrating and storing the network topology information and time slot occupation table collected by each node to form a network topology database; based on the network topology database formed by integration, in the routing selection stage, the next hop of the path is selected according to the time slot occupation ratio of the node and the weight of the routing hop number; based on the selected next hop path, entering the routing transmission stage, when the node has data to send, the data is grouped according to a certain format, and the destination node ID, source node ID and next hop node ID information are added to the packet header, then the size and emergency degree of the traffic are judged to determine temporary or permanent occupation of the time slot; after the destination node receives the data sent by the source node, the destination node returns an acknowledgement message to the source node; if the destination node does not receive the data, it is determined as a packet loss; if the source node does not receive the acknowledgement message within a timeout period, retransmission is initiated; if the retransmission exceeds a preset number of times, the link is considered unreliable, and routing is cleared and updated.

2. The method of claim 1, wherein, The basic information of the node includes node ID, MAC address, neighbor table, routing table and initial energy; during the operation of the protocol, the node creates and maintains a local time slot occupation table for recording the time slot allocation state of the node.

3. The method of claim 1, wherein, The specific process of each node periodically and dynamically alternately sending bimodal matrix information to neighbor nodes is as follows: a bimodal matrix information is constructed for each node, which includes a near-end Hello message packet and a far-end Hello message packet; wherein the near-end Hello message packet contains one-hop neighbor, two-hop neighbor and routing symmetric link information encoded by a near-end matrix, and independent local node time slot occupation table information; the far-end Hello message packet contains three-hop neighbor, four-hop neighbor and routing symmetric link information encoded by a far-end matrix, and independent one-hop neighbor time slot occupation table information; each node alternately and periodically broadcasts the near-end Hello message packet and the far-end Hello message packet in binary information mode, and the initial state is that the sending frequency of each is 50%; each node dynamically adjusts the sending frequency of the near-end Hello message packet and the far-end Hello message packet based on the link health degree; wherein the near-end matrix includes four rows and M columns, the first row represents one-hop neighbor nodes directly adjacent to the node, the second row represents two-hop neighbor nodes indirectly adjacent to the node, the third row represents routing symmetric links, and the fourth row represents the time slot occupation table of the node; the column number of the near-end matrix represents the node number. The far-end matrix includes four rows and M columns, the first row represents three-hop neighbor nodes, the second row represents four-hop neighbor nodes, the third row represents routing symmetric links, and the fourth row represents one-hop neighbor time slot occupation tables; and the number of columns of the far-end matrix represents node numbers.

4. The method of claim 3, wherein, The specific method for each node to dynamically adjust the sending frequency of the near-end Hello message and the far-end Hello message based on link health degree is as follows: Each node maintains a heartbeat fixed window for each neighbor node with a routing symmetric link of 1, which is used to record the success or failure state of the latest several times of receiving heartbeat information of the neighbor node; When the local node receives the heartbeat packet of the neighbor node, the heartbeat information carried by the neighbor node is parsed from the heartbeat packet to calculate the remote health degree and the near-end node health degree wherein , represents the number of heartbeat values measured for a node i as 1, represents the heartbeat window size, represents the health degree of node i; The parsed remote node heartbeat health degree is compared with the near-end node heartbeat health degree , and the new heartbeat publishing quantity is calculated according to the following formula: wherein R is a remote heartbeat scaling factor, is a near-end health, is a remote health; The heartbeat distribution number of times is , ; wherein represents the total heartbeat number of times in a fixed period, represents the remote heartbeat number of times, represents the near-end heartbeat number of times. After the new heartbeat is calculated and limited, the sending frequency of the subsequent near-end Hello message and far-end Hello message is adjusted.

5. The method of claim 1, wherein, Based on the neighbor table, the node obtains the dual-mode matrix information of the neighbor node containing neighbor information and time slot occupation tables by sending a link state request message to the neighbor node, and gradually obtains network topology information and time slot occupation information in the following specific process: The routing node periodically and alternately broadcasts the near-end Hello message and the far-end Hello message as the link state request message; When the routing table of the first node does not have routing information of the second node, the second node is identified as a one-hop, two-hop or further neighbor according to its discovery mode, and the routing information of the second node is added to the routing table of the first node and the corresponding Hello message to be sent; wherein, if the second node is identified as a one-hop or two-hop neighbor, it is added to the near-end Hello message; if it is identified as a three-hop or further neighbor, it is added to the far-end Hello message; When the first node parses third node information from the Hello message received from the second node, and the routing table of the first node does not have the third node information, if the third node is a two-hop neighbor, the information of the third node is added to the routing table of the first node and the near-end Hello message to be sent; if the third node is a three-hop or further neighbor, the information of the third node is added to the routing table of the first node and the far-end Hello message to be sent; The routing table updates the routing information by performing a bit operation on the current routing table and the received near-end Hello message and far-end Hello message; When the first node finds that any Hello message received from the second node carries its own information, the corresponding routing symmetric link is set to 1, indicating that the link is symmetric.

6. The method of claim 1, wherein, The specific process of integrating and storing the network topology information and time slot occupation tables collected by each node to form a network topology database is as follows: When the routing symmetric link of the node is set to 1, the heartbeat sensing mechanism is started for the corresponding link, and the stability of the link is counted in the fixed time window mode; When the routing symmetric link of the node is 0, or it is found from the received matrix information that a neighbor node has no corresponding hop information, the related information of the neighbor node is cleared in the routing table of the node. The node perceives and stores the link state of the neighbor within three hops and the time slot occupation information within one hop by processing the near-end Hello message packet; The node perceives and stores the link state of the neighbor within four hops and five hops and the time slot occupation information within two hops by processing the far-end Hello message packet.

7. The method of claim 1, wherein, In the routing stage, the specific process of selecting the next hop of the path is as follows: If there are multiple next hop nodes to the same destination node in the routing table of the source node, the next hop node with the minimum routing hop number is preferentially selected for data transmission; If there are multiple next hop nodes with the same routing hop number, a comprehensive evaluation function of the current fixed time window is calculated, the value of the comprehensive evaluation function comprehensively considers the time slot occupation proportion and the network topology robustness of the next hop node, and the next hop node corresponding to the optimal value of the comprehensive evaluation function is selected; A success counter within the sliding fixed time window is set for the currently selected data transmission path, which is used to judge the link quality; each time the source node receives an acknowledgement message ACK, the success counter is incremented; if the source node does not receive the acknowledgement message ACK within the expected time, the value of the success counter is decremented; at the same time, the update mechanism of the fixed time window is that each time a new value of the success counter is added, the oldest count value in the fixed time window is removed synchronously to maintain the fixed window capacity; the value of the success counter is used as a positive feedback factor of the path for subsequent routing selection decision. The principle of the sliding fixed time window mechanism is shown in FIG.

4.

8. The method of claim 7, wherein, The calculation formula of the comprehensive evaluation function is as follows: ; wherein, represents the comprehensive weight of the sliding fixed time window of the i-th node; , respectively represent the weight values of the two variables; S represents the time slot proportion occupied by the current node; represents the robustness of the next hop node; ; ; ; represents an average value of the number of nodes within a fixed time window, N represents a window capacity size of the fixed time window, represents the number of neighbor nodes of a next hop node of a node that has received data, represents an average value of the degree of change within a fixed time window; represents the number of changes of nodes within a message packet period for information exchange.

9. The method of claim 1, wherein, In the routing transmission stage, when the node has data to send, the data is grouped according to a certain format, and the destination node ID, source node ID and next hop node ID information are added in the grouping header, and then the specific process of determining the temporary or permanent occupation of the time slot according to the traffic size and the urgency is as follows: The node executes the differentiated time slot occupation strategy according to the traffic priority carried in the data grouping header: If the traffic priority belongs to the preset high priority and needs to guarantee the bandwidth, the node preferentially occupies the time slot outside the three-hop range, and if the occupied time slot does not meet the requirements, the node initiates the time slot application process from the order of two-hop and one-hop to permanently occupy the idle time slot within the one-hop or two-hop range; If the traffic priority belongs to the preset high priority and is delay-sensitive, the node adopts the temporary direct occupation of the time slot for business transmission; specifically, the node preferentially occupies the idle time slot outside the three-hop range; if the occupied time slot does not meet the requirements, the node directly occupies the idle time slot according to the priority order of two-hop and one-hop without application; after the data transmission is completed and confirmed, all the temporarily occupied time slots are immediately released; If the traffic priority is ordinary, no dedicated time slot is occupied, and data transmission is performed through channel competition; The time slot application process is as follows: The source node sends a time slot application message to the destination node, and the time slot application message is forwarded through the intermediate node; If the destination node agrees to the application, it returns an agreement message, which is returned along the original path. The intermediate nodes on the path update their local time slot occupation tables upon receiving the agreement message. The source node confirms the success of the time slot reservation upon receiving the agreement message. If the destination node does not agree to the application, it returns a disagreement message, which is returned along the original path. The intermediate nodes on the path only forward the disagreement message without changing any local time slot occupation table information. The source node confirms the failure of the time slot reservation upon receiving the disagreement message. The source node continues to send time slot application messages to other destination nodes until no time slot is available for application or the required number of time slots is reached. For temporarily occupied time slots, the time slots are released immediately after data transmission is completed. For permanently occupied time slots, the time slots are manually released after service is stopped. During data transmission, the nodes monitor the link and neighbor status in real time. If the information of a neighbor node is not received within a preset period, the routing information of the neighbor node is deleted. If a link fault or a neighbor node failure is found, a routing update mechanism is triggered, and a routing path is reselected.

10. The method of claim 1, wherein, If the source node does not receive the confirmation message within a preset time, retransmission is initiated. If retransmission exceeds a preset number of times, the link is considered unreliable, and a routing clearing and updating process is performed. When the source node does not receive the confirmation message ACK within a preset time, it is determined that a packet is lost, and a data packet retransmission mechanism is started. Meanwhile, a successful reception count in a fixed time window maintained for the current transmission path is decremented. If the number of retransmissions of consecutive packet losses on the current transmission path reaches a preset threshold, it is determined that the path is unreliable, and a standby path to the same destination node is immediately enabled for data transmission. If there is no standby path, the source node continues to use the current transmission path and triggers the routing selection stage to reselect a routing path based on an updated network topology database.