A Congestion Control-Based Epidemic Routing Method for Delay Tolerant Networks
Through bandwidth feedback infection routing strategy (EBFRS), the problem of network congestion in DTN network is solved, and routing and packet drop strategies are optimized to achieve more efficient information transmission.
Patent Information
- Application Number
- CN202210020724.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-10
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2042-01-10
AI Technical Summary
Traditional latency tolerant network (DTN) contagious routing methods are prone to network congestion and reduce network performance in network environments with limited resources. The existing routing protocols cannot effectively solve this problem.
The infectious routing strategy (EBFRS) with bandwidth feedback is used to calculate the weighted average of node request bandwidth, path remaining bandwidth, and packet delivery possibility, and optimize routing and packet drop strategies to avoid network congestion.
Effectively avoid network congestion, reduce end-to-end delay, improve packet transmission rate and throughput, and improve information transmission speed.
Smart Images

Figure CN114423040B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a congestion control-based epidemic routing method for delay tolerant networks, belonging to the technical field of wireless communication networks. Background Art
[0002] A delay tolerant network (DTN) is a dynamic network with limited resources, mainly applied to network environments with high latency and lack of continuous connections, and is an architecture for unreliable networks. In such a network, there is no available end-to-end path between the source node and the destination node, and network interruptions occur frequently. At the same time, the nodes in the DTN are dynamic. According to this mobility of the nodes, opportunities can be provided for delivering messages between the source node and the target node, and the message can be delivered to any other node within the communication range of this node. Then the mobile node transmits the message to the destination through the "carry-store-forward" mode, effectively solving the communication problem in the restricted network. DTN has wide applications in scenarios such as vehicle-mounted sensor networks, military tactical communication networks, deep space exploration, and wildlife monitoring.
[0003] Compared with traditional networks, various resources such as cache, bandwidth, and node processing capabilities in the DTN network are very limited. Moreover, in order to improve the message delivery rate, DTN usually copies multiple message copies and sends them through multiple paths respectively, so as to ensure the reliability of message delivery. This will make the load pressure on the nodes in the DTN network very large. Traditional routing protocols cannot deliver messages in a challenging environment. Delay tolerant networks help to overcome the difficulties of providing network access in a challenging environment and require routing protocols different from traditional routing protocols.
[0004] Epidemic is one of the more classic routing methods in DTN, also known as epidemic routing. This routing algorithm adopts an idea of message flooding. In this routing algorithm, each DTN node holds a list of digest vectors recording the messages it carries. When nodes meet, they will exchange their lists of digest vectors of messages, and then copy the messages that they carry but the other party does not carry to the other party, quickly spreading the messages in the DTN network. Eventually, all messages will be delivered to all nodes in the network. The Epidemic routing algorithm does not require any information related to network status and may be the only way to successfully deliver messages to the destination node under some extreme conditions. However, the Epidemic routing method will generate a large number of message copies in the DTN network, very easily exhausting network resources and then causing network congestion, resulting in a decrease in network performance. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to overcome the defects of the prior art and provide a congestion control-based epidemic routing method for delay tolerant networks.
[0006] To achieve the above object, the present invention provides a congestion control-based delay-tolerant network epidemic routing method, including:
[0007] Calculating the requested bandwidth of a node;
[0008] Calculating the weighted average of the remaining bandwidth in the path to obtain the available remaining bandwidth in the link.
[0009] Preferably, calculating the requested bandwidth of a node includes:
[0010] The source node sends a bandwidth request to a one-hop neighbor node;
[0011] The source node calculates the requested bandwidth;
[0012] Among them, the source node sending a bandwidth request to a one-hop neighbor node includes:
[0013] The source node sends Hello packets at regular intervals;
[0014] If a one-hop neighbor node receives a Hello packet, the one-hop neighbor node will create an entry in its routing table;
[0015] If a one-hop neighbor node does not send a control packet to the source node within the set time interval, the source node broadcasts the Hello packet to other one-hop adjacent nodes;
[0016] The Hello message includes HELLO INTERVAL and ALLOWED HELLO LOSS. HELLO INTERVAL represents the maximum time interval between two Hello message transmissions, and ALLOWED HELLO LOSS represents the interval time for the one-hop neighbor node to wait for receiving the Hello message without interrupting the connection with the source node;
[0017] The control packet includes the confirmation information that the Hello packet reaches the one-hop neighbor node.
[0018] Preferably, the source node calculating the requested bandwidth includes:
[0019] A one-hop neighbor node extracts the header information from the Hello packet. The header information includes determining whether the one-hop neighbor node is the destination node;
[0020] If a one-hop neighbor node is the destination node of the Hello packet, the destination node updates the session cache;
[0021] The destination node sends a HELLOACK packet to the source node, and the source node records the time T when the HELLOACK packet is received r; The Hello data packet includes the time T when the Hello message is sent s ;
[0022] The source node calculates the requested bandwidth on the link to the one-hop neighbor node:
[0023]
[0024] T = T r - T s ,
[0025] P size = 2(P RTS + P CTS ) + P H + P H-Ack ,
[0026] In the formula, P size is the total number of bytes of the HELLO data packet, T is the total round-trip time for the source node to send the Hello data packet and receive the HELLOACK data packet, T r is the time when the source node receives the HELLOACK data packet, T s is the time when the source node sends the HELLO data packet;
[0027] P H is the total number of bytes of the HELLO data packet, P H-Ack is the total number of bytes of the HELLOACK data packet, P RTS is the send request generated separately for the HELLO data packet and the HELLOACK data packet, P CTS is the send permission generated separately for the HELLO data packet and the HELLOACK data packet.
[0028] Preferably, calculate the weighted average of the remaining bandwidth in the path to obtain the available remaining bandwidth in the link, including:
[0029] The source node selects a route, and the source node broadcasts a BRREQ data packet to the intermediate node or the destination node;
[0030] The BRREQ data packet includes the route to the destination node, the minimum required bandwidth sent from the source node, and the session id with the source address; if the intermediate node receives the BRREQ data packet, perform steps 1 - 4:
[0031] Step 1, if the intermediate node receives the BRREQ data packet, the intermediate node checks whether the BRREQ data packet has a route to the destination node;
[0032] Step 2, if there is a route to the destination node, compare the minimum required bandwidth with the remaining bandwidth of the intermediate node;
[0033] Step 3, if the minimum required bandwidth is less than the remaining bandwidth of the intermediate node, the intermediate node creates a reverse route and re-broadcasts the BRREQ packet, and records the minimum bandwidth value required for the next link in the BRREQ packet;
[0034] Step 4, execute Steps 1 to 3 until the BRREQ packet reaches the destination node.
[0035] Preferably, if there are two or more paths to the destination node with the same distance, and multiple source nodes are using one of the paths for link transmission, the source node transmits the BRREQ packet on the link with the highest bandwidth.
[0036] Preferably, if the destination node receives the BRREQ packet, calculate the average value of the end-to-end remaining bandwidth from the source node to the destination node
[0037]
[0038] where t i is the time period elapsed from when the source node broadcasts and sends the BRREQ packet starting from 0 until the destination node receives the BRREQ packet; is the weighted average of the remaining bandwidth of the path at the current time, BW Res (t i ) is the actual remaining bandwidth value at time period t i , is the weighted average of the remaining bandwidth at the previous time point on the path, and α is the weight of the current remaining bandwidth.
[0039] Preferably, if the destination node receives the BRREQ packet, calculate the total bandwidth BW con to be consumed on the sending path from the source node to the destination node:
[0040] BW con = HC max × BW 1cons , where BW 1cons is the bandwidth value consumed by the one-hop neighbor node of the source node, and HC max is the maximum number of hops on the path;
[0041] The destination node compares the total bandwidth consumed by the source node with the average value of the end-to-end remaining bandwidth. If the total bandwidth consumed by the source node is greater than the average value of the end-to-end remaining bandwidth, it notifies the source node to reduce the data rate to BW avg is the average value of the end-to-end remaining bandwidth from the source node to the destination node.
[0042] Preferably, the destination node sends a BRREP message to the source node;
[0043] When the BRREP message passes through each intermediate node, all intermediate nodes verify the current remaining bandwidth with the bandwidth information contained in the BRREP message;
[0044] If the current remaining bandwidth of the intermediate node is less than the bandwidth information contained in the BRREP message, the bandwidth information contained in the BRREP message is replaced with the current remaining bandwidth of the intermediate node;
[0045] Returning along the path from the source node to the destination node, each intermediate node forwards the BRREP message back to the source node through reverse routing. The BRREP message checks whether each intermediate node is the source node. If it is the source node, the source node compares the requested bandwidth value with the average of the end-to-end remaining bandwidth fed back. If the requested bandwidth value is less than the average of the end-to-end remaining bandwidth fed back, the source node rate is adjusted to Each intermediate node checks the reverse path entry in the routing table. If the intermediate node has a reverse path entry in the routing table, the intermediate node forwards the BRREP message according to the specified path.
[0046] Preferably, during the process of transmitting Hello packets from the source node to the destination node, calculate the transmission probability of the packets, and discard the packets cached by the nodes in ascending order of transmission probability, including:
[0047] Calculate the packet P cached by the source node or intermediate node i The probability of directly transmitting to the destination node is W id , i ∈ [1, n]:
[0048] In the formula, T 剩 is the remaining lifetime corresponding to the packet P i , λ is the exponential parameter, and e is the constant;
[0049] Calculate P i The probability W of the second transmission reaching the destination node ij :
[0050]
[0051] In the formula, TC i is the total number of copies of packet i, and N is the total number of nodes in the network;
[0052] The packet p i The probability W that can finally reach the destination node i is:
[0053] W i = βW id + γW ij,
[0054] In the formula, β is the weight of the proportion of W id The proportion, γ is the weight of the proportion of W ij The proportion, β + γ = 1;
[0055] In the case where the cache is not sufficient to support storing new data packets, compare each data packet p in the buffer i Of W i , Discard the data packet p with the lowest W i The lowest data packet p i .
[0056] Preferably, calculate the proportion weights β of W id The proportion and the proportion weight γ of W ij To obtain the judgment matrix:
[0057]
[0058] Calculate that the maximum eigenvalue of the judgment matrix is 2, and the corresponding eigenvector is [0.1240, 0.9923];
[0059] Normalize the judgment matrix to obtain the weights of W id And W ij The weights (β, γ) = (0.1111, 0.8889).
[0060] The beneficial effects achieved by the present invention:
[0061] The bandwidth feedback-based epidemic routing strategy EBFRS proposed by the present invention can greatly avoid network congestion, reduce end-to-end delay, increase throughput, improve the transmission rate of data packets, and make the transmission of information faster by using bandwidth feedback and a new packet loss method. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] Figure 1 Is the flowchart of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0063] The following embodiments are only used to more clearly illustrate the technical solutions of the present invention and should not be used to limit the protection scope of the present invention.
[0064] The present invention aims at the network congestion problem of epidemic routing and proposes a bandwidth feedback-based epidemic routing strategy EBFRS. It is divided into three stages in total, as Figure 1 Shown. In the first stage, calculate the requested bandwidth of each node based on two steps: the first step is that each node in the network sends a bandwidth request to each neighbor node, and the second step is to calculate the requested bandwidth locally, saving transmission time and transmission message cost;
[0065] In the second stage, the weighted average of the remaining bandwidth in the path is calculated to inform the source node of the latest remaining bandwidth available for each link in the network;
[0066] In the third stage, by calculating the delivery possibility of the data packet, the data packet with the lowest discard possibility is selected.
[0067] The first stage of the technical solution adopted by the present invention specifically includes the following two steps:
[0068] (1) Bandwidth request of the source node
[0069] Before starting the bandwidth calculation process, each source node finds its one-hop neighbor nodes by sending Hello data packets at regular intervals, including:
[0070] When a one-hop neighbor node receives a Hello data packet, the one-hop neighbor node creates an entry in its routing table. The control message is stored in the Hello data packet. To maintain the connection with the one-hop neighbor node, if the one-hop neighbor node does not send back any control data information within the set time interval, the source node broadcasts the Hello data packet to other adjacent nodes.
[0071] The control message includes messages about the network itself, such as whether the network is unobstructed, whether the data packet is reachable, and whether the route is available.
[0072] If an adjacent node does not receive any Hello data packet within the specified time interval, it means that the adjacent node is not within the transmission range of the source node and the connection between the source node and the adjacent node is lost.
[0073] The Hello data packet uses HELLO INTERVAL and ALLOWED HELLO LOSS to determine the connectivity between the source node and its one-hop neighbor node. HELLO INTERVAL represents the maximum time interval between two consecutive transmissions of Hello data packets. ALLOWED HELLO LOSS represents the interval during which a one-hop neighbor node waits to receive a Hello data packet without the source node interrupting the connection with the one-hop neighbor node. The recommended value of HELLO INTERVAL is one second, and the recommended value of ALLOWED HELLO LOSS is two seconds, which means that if a source node cannot receive control data information from a one-hop neighbor node within two seconds after sending the last Hello data packet, the source node will lose the connection with the one-hop neighbor node.
[0074] The Hello data packet is also used to calculate the requested bandwidth between the source node and its one-hop neighbor node. To calculate the requested bandwidth on the one-hop neighbor node of each source node, the time T when the Hello message is sent is recorded in the Hello data packets Each source node appends the value of T to the Hello packet and transmits it to one-hop neighbor nodes. s When the Hello packet reaches a directly connected one-hop neighbor node, the one-hop neighbor node extracts the header information from the Hello packet. The header information includes determining whether the one-hop neighbor node is the destination node. If the one-hop neighbor node is the destination node of the Hello packet, the destination node updates the session cache. To notify the source node that its Hello packet has successfully reached the destination node, the destination node sends an acknowledgment packet back to the source node, also appending the time value of the transmission. After that, a HELLOACK packet is sent from the destination node.
[0075] When the Hello packet reaches a directly connected one-hop neighbor node, the one-hop neighbor node extracts the header information from the Hello packet. The header information includes determining whether the one-hop neighbor node is the destination node. If the one-hop neighbor node is the destination node of the Hello packet, the destination node updates the session cache. To notify the source node that its Hello packet has successfully reached the destination node, the destination node sends an acknowledgment packet back to the source node, also appending the time value of the transmission. After that, a HELLOACK packet is sent from the destination node.
[0076] (2) The source node calculates the requested bandwidth
[0077] Let the requested bandwidth be equal to the maximum throughput between the directly connected source node and the one-hop neighbor node. When the source node receives the HELLOACK packet, it records the reception time T of the HELLOACK packet r The source node calculates the requested bandwidth BW on the link between it and the one-hop neighbor node Req ,
[0078]
[0079] T = T r - T s ,
[0080] where P size is the total number of bytes of the Hello packet, T is the total round-trip time for the source node to send the Hello packet and receive the HELLOACK packet, T r is the moment when the source node receives the HELLOACK packet, and T s is the moment when the source node sends the Hello packet;
[0081] P size includes the size of other MAC messages transmitted by the source node to the one-hop neighbor node, as shown in formula (1):
[0082] P size = 2(P RTS + P CTS ) + P H + P H-Ack (1)
[0083] In formula (1), P H and P H-Ack represent the sizes of the Hello packet and the HELLOACK packet, and P RTSDenote the RTS (Require To Send) generated separately for the HELLO packet and the HELLOACK packet, P CTS Denote the CTS (Clear To Send) generated separately for the HELLO packet and the HELLOACK packet.
[0084] In the second stage of the technical solution adopted by the present invention, it is assumed that the routing request BRREQ packet (Bandwidth - based Route Request) contains the minimum required bandwidth sent from the source node. After the BRREQ packet arrives at the destination node, it is re - transmitted from the destination node back to the source node to create a reverse route.
[0085] For the intermediate nodes connecting the source node and the destination node, if the requested bandwidth of the intermediate node is less than the remaining bandwidth on the link, the intermediate node will transmit the data packet. In this way, an appropriate route can be created according to the available bandwidth to transmit the BRREQ packet, thus avoiding congestion. Specifically, it includes the following four steps:
[0086] (1) Transmit the BRREQ packet from the source node
[0087] In EBFRS, the route is selected according to the requirements of the source node. The source node gives the minimum requested bandwidth that must be guaranteed. This data packet with the minimum requested bandwidth is called the bandwidth - oriented routing request (BRREQ). The new BRREQ packet with bandwidth extension includes the session id (sid) with the source address. Each session id is unique and is used to identify each process. Each time a new BRREQ packet is generated, the timer increments by 1. When an intermediate node receives a BRREQ packet, it creates a reverse route and re - broadcasts the BRREQ packet. The same process continues until the BRREQ packet reaches the destination node.
[0088] (2) Receive and find the bandwidth requests of intermediate nodes
[0089] Each node that receives the BRREQ packet first extracts the header from the received BRREQ packet: When an intermediate node receives the BRREQ packet, the intermediate node checks whether the BRREQ packet has a route to the destination node. If the intermediate node has a route to the destination node, it compares the value of the requested bandwidth with the remaining bandwidth of the intermediate node. If the requested bandwidth is less than the remaining bandwidth of the intermediate node, the intermediate node forwards the BRREQ packet, which can be completed by sending an immediate cache update message to the last node. This message includes the bandwidth value of the next link, which is greater than the previous link.
[0090] If there are two paths to the destination node with the same distance and multiple source nodes are using one of the outgoing links, BRREQ packet loss may occur on that link. In this case, the source node transmits the BRREQ packet on the link with the highest bandwidth to avoid congestion.
[0091] (3) Receive and find the bandwidth request of the target node
[0092] After receiving the BRREQ packet, the node extracts the header from the packet. In this case, if the receiving node is the destination node, the following two calculations are performed. First, the weighted average of the end-to-end remaining bandwidth is calculated as shown in Equation (2):
[0093]
[0094] When t i = 0, BW Res (t i ) is used. When t i > 0, is calculated as shown in Equation (3), where represents the weighted average of the remaining bandwidth on the path, and the actual remaining bandwidth value of the time period t i is represented by BW Res (t i ). Finally, the weighted average of the remaining bandwidth values is represented as α is the weight of the current remaining bandwidth, which is set to 0.8 in this scenario, and 1 - α is used for the weighted average of the remaining bandwidth values. Equation (3) shows that higher priority is given to the current remaining bandwidth to bear the impact of the current bandwidth value.
[0095] Secondly, the destination node also needs to estimate the value of the bandwidth (BW con ) that the source node will consume. To calculate the bandwidth consumed by the source node, it is most important to consider the in-flow interference, also known as mutual interference. The parameter for calculating in-flow interference in EBFRS is the hop count (HC). HC is determined by measuring the distance of each node along the path from the source node to the destination node. The maximum hop count (HC max ) on the path is used to calculate the consumed bandwidth, and the consumed bandwidth is calculated as BW con = HC max × BW req , where BW req is the bandwidth requested by the source node. The destination node compares the total consumed bandwidth with the end-to-end remaining bandwidth. If the total consumed bandwidth is greater than the remaining bandwidth, it notifies the source node to reduce the data rate to
[0096] (4) Bandwidth feedback from the destination node to the source node
[0097] After the destination node completes all bandwidth calculations, it sends a BRREP (Bandwidth based Route Reply) message to the source node. When passing through each intermediate node, all intermediate nodes verify the current remaining bandwidth using the bandwidth contained in the header. If the remaining bandwidth is less than the bandwidth given in the header, the node replaces the bandwidth value in the header with the remaining bandwidth. Each intermediate node forwards the BRREP message back to the source node via the reverse route. The process of forwarding the BRREP message on the reverse path is the same as the path of the message from the source node to the destination node.
[0098] Each intermediate node checks the reverse path entry in the routing table. If the intermediate node has a reverse path entry in the routing table, the intermediate node forwards the packet along the specified path. The BRREP message containing the feedback checks whether each intermediate node is the source node. If so, all headers are extracted from the data packet. The source node compares the requested reduced data rate with the feedback value sent by the destination node based on the consumed bandwidth and adjusts the data rate of the source node.
[0099] Since Epidemic mainly considers discarding packets that have been discarded recently when the buffer is full, there are mainly three ways to discard packets for the first time: discarding the head, discarding the tail, and random discarding. These do not perform very well in DTN. The third stage of the present invention proposes a new packet discarding strategy based on the possibility of being delivered to the destination node.
[0100] Suppose there are n packets stored in a node's buffer, from p1 to p n , and the latest packet will be stored at the tail of the buffer. When a data packet or its copy is delivered to its destination node, it is defined as a "useful packet".
[0101] At this time, the data packet should be saved in the buffer. Define the data packet p i The possibility of reaching the destination node at the end of the buffer is W i , which includes two parts. The first part is the possibility W i that p id is directly delivered to the destination node, and the second part is the possibility W i that p ij is forwarded to the next hop and reaches the destination. A "useful packet" needs to satisfy at least one of the above two parts. In DTN, it is impossible to predict whether a specific packet can meet one of these two conditions. Certain weights need to be given to them to represent the predicted possibility, indicating that the data packet is a "useful packet", and then decide which data packets should be discarded.
[0102] The mutual contact time of nodes is the time period from when nodes enter each other's communication range to when they last move out of each other's range. The mutual contact time between node i and node j follows an exponential distribution. W id is calculated as shown in formula (4). By obtaining the contact time between node i and node j, the corresponding λ is obtained. T 剩 is the remaining survival time of the corresponding data packet p x
[0103]
[0104] λ can be obtained by getting the contact time between node i and node j. Specifically, the mutual contact time between node i and node j follows an exponential distribution, and λ is the parameter of the exponential distribution; W id The larger it is, the more necessary it is to retain the corresponding data packet in the buffer.
[0105] For calculating W ij , it is necessary to obtain how many copies of the information of this data packet of the node have been transmitted to the network. The node records the number of copies of the data packet x it creates, denoted by NC x , and also records the total number of copies of a data packet, TC x . When two nodes meet, each node will update its TC x using the NC x of the other node. If the node encountered does not have the data packet x, then after the data packet x is sent to the node, its TC x will be inherited and NC x is set to zero. In this way, the node can obtain information on how many partial copies of each packet in its buffer have been sent to the network. Suppose there is a specific packet x in the buffer of a certain node. The higher the TC x , the lower the probability that the copy of the data packet is sent to the destination.
[0106] W ij is calculated as shown in formula (5). N represents the total number of nodes. Combining formula (4) and formula (5),
[0107]
[0108] The calculation method is as shown in formula (6), where β and γ are the weights of the proportions of W id and W ij , and β + γ = 1. When the buffer is full, the node
[0109] W i = βW id + γW ij (6)
[0110] When the cache is insufficient to store new data packets, the W of each packet in its buffer will be compared i , and the packet with the lowest W i will be discarded. According to the two parameters for calculating the proportion by the analytic hierarchy process, the judgment matrix is shown in formula (7). The calculated maximum eigenvalue is 2, and the corresponding eigenvector is [0.1240, 0.9923].
[0111]
[0112] And it is normalized to obtain the weights (β, γ) of W id and W ij as (0.1111, 0.8889). According to the consistency ratio CR, formula (8) is obtained. From formula (8), it can be seen that CR = 0 < 0.1, indicating that the judgment matrix passes the consistency test, and its normalized eigen
[0113]
[0114] vector can be used as weights.
[0115] This application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the specified functions in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0116] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the specified functions in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0117] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide for implementing the specified functions in Figure 1 one process or multiple processes and / or blocksFigure 1 Steps of the functions specified in one or more boxes.
[0118] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the technical principle of the present invention, several improvements and modifications can be made, and these improvements and modifications should also be regarded as the protection scope of the present invention.
Claims
1. A congestion control-based delay tolerant network epidemic routing method, characterized in that including: the requested bandwidth of the computing node; the weighted average of the remaining bandwidth in the computing path to obtain the available remaining bandwidth in the link; the weighted average of the remaining bandwidth in the computing path to obtain the available remaining bandwidth in the link, including: the source node selects a route, and the source node broadcasts a BRREQ data packet to an intermediate node or the destination node; the BRREQ data packet includes the route to the destination node, the minimum required bandwidth sent from the source node, and the session id with the source address; if an intermediate node receives the BRREQ data packet, perform steps 1 to 4: Step 1, if an intermediate node receives the BRREQ data packet, the intermediate node checks whether the BRREQ data packet has a route to the destination node; Step 2, if there is a route to the destination node, compare the minimum required bandwidth with the remaining bandwidth of the intermediate node; Step 3, if the minimum required bandwidth is less than the remaining bandwidth of the intermediate node, the intermediate node creates a reverse route and re-broadcasts the BRREQ data packet, and the minimum bandwidth value required for the next link is recorded in the BRREQ data packet; Step 4, perform steps 1 to 3 until the BRREQ data packet reaches the destination node; if the destination node receives the BRREQ data packet, calculate the average value of the end-to-end remaining bandwidth from the source node to the destination node where t i is the time period elapsed from the start of broadcasting the i-th BRREQ packet from the source node (counting from 0) until the destination node receives the i-th BRREQ packet; is the weighted average of the remaining bandwidth of the path at the current time, BW Res (t i ) is the actual remaining bandwidth value of the time period t i , is the weighted average of the remaining bandwidth at the previous time point on the path, and α is the weight of the current remaining bandwidth; If the destination node receives the BRREQ packet, calculate the total bandwidth BW to be consumed on the transmission path from the source node to the destination node con : BW con = HC max × BW 1cons , where, BW 1cons is the bandwidth value consumed by one-hop neighbor nodes of the source node, and HC max is the maximum number of hops on the path; The destination node compares the total bandwidth consumed by the source node with the average value of the end-to-end remaining bandwidth. If the total If the bandwidth is greater than the average of the end-to-end remaining bandwidth, then notify the source node to reduce the data rate to BW avg is the average of the end-to-end remaining bandwidth from the source node to the destination node; The destination node sends a BRREP message to the source node; When the BRREP message passes through each intermediate node, all intermediate nodes verify the current remaining bandwidth with the bandwidth information contained in the BRREP message; If the current remaining bandwidth of the intermediate node is less than the bandwidth information contained in the BRREP message, replace the bandwidth information contained in the BRREP message with the current remaining bandwidth of the intermediate node; Return along the path from the source node to the destination node. Each intermediate node forwards the BRREP message back to the source node through reverse routing. The BRREP message checks whether each intermediate node is the source node. If it is the source node, the source node compares the requested bandwidth value with the average of the end-to-end remaining bandwidth fed back. If the requested bandwidth value is less than the average of the end-to-end remaining bandwidth fed back, the source node rate is adjusted to Each intermediate node checks the reverse path entry in the routing table. If the intermediate node has a reverse path entry in the routing table, the intermediate node forwards the BRREP message according to the specified path; During the process of transmitting Hello data packets from the source node to the destination node, calculate the transmission possibility of the data packets, and discard the data packets cached by the nodes in turn according to the ascending order of the transmission possibility.
2. The delay-tolerant network epidemic routing method based on congestion control according to claim 1, characterized in that, the requested bandwidth of the computing node, including: the source node sends a bandwidth request to a one-hop neighbor node; the source node calculates the requested bandwidth; wherein, the source node sends a bandwidth request to a one-hop neighbor node, including: the source node sends Hello data packets at regular intervals; if a one-hop neighbor node receives a Hello data packet, the one-hop neighbor node will create an entry in its routing table; if a one-hop neighbor node does not send a control data packet to the source node within the set time interval, the source node broadcasts the Hello data packet to other one-hop adjacent nodes; The Hello message includes HELLO INTERVAL and ALLOWED HELLO LOSS. HELLO INTERVAL represents the maximum time interval between two consecutive Hello message transmissions, and ALLOWED HELLO LOSS represents the interval during which a one-hop neighbor node can wait to receive a Hello message from the source node without interrupting the connection with the source node; The control packet includes the confirmation information of the Hello packet arriving at the one-hop neighbor node.
3. The method for routing contagion in a delay-tolerant network based on congestion control according to claim 2, wherein The source node calculates the requested bandwidth, including: The one-hop neighbor node extracts the header information from the Hello packet, and the header information includes determining whether the one-hop neighbor node is the destination node; If the one-hop neighbor node is the destination node of the Hello packet, the destination node updates the session cache; The destination node sends a HELLOACK packet to the source node, and the source node records the time T when the HELLOACK packet is received r ; The Hello packet includes the time T when the Hello message is sent s ; The source node calculates the requested bandwidth on the link with the one-hop neighbor node: T = T r -T s , P size = 2(P RTS + P CTS ) + P H + P H-Ack , Where P size is the total number of bytes of the HELLO packet, T is the total round-trip time for the source node to send the Hello packet and receive the HELLOACK packet, T r is the time when the source node receives the HELLOACK packet, and T s is the time when the source node sends the HELLO packet; P H is the total number of bytes of the HELLO data packet, P H-Ack is the total number of bytes of the HELLOACK data packet, P RTS is the transmission request separately generated for the HELLO data packet and the HELLOACK data packet, P CTS is the transmission permission separately generated for the HELLO data packet and the HELLOACK data packet.
4. A congestion control-based delay-tolerant network epidemic routing method according to claim 1, characterized in that If there are two or more paths to the destination node with the same distance, and multiple source nodes are using one of the paths for transmission, the source node transmits the BRREQ packet on the link with the highest bandwidth.
5. A congestion control-based delay-tolerant network epidemic routing method according to claim 1, characterized in that During the transmission of the Hello packet from the source node to the destination node, calculate the delivery probability of the packet, and discard the packets cached at the nodes in ascending order of the delivery probability, including: Calculate the possibility W that the data packet P cached by the source node or intermediate node is directly transmitted to the destination node i where i ∈ [1, n]; id ,i∈[1,n]; where T 剩 is the remaining lifetime corresponding to the data packet P i , λ is the exponential parameter, and e is a constant; Calculate P i The probability W that the second transmission reaches the destination node ij : where TC i is the total number of copies of data packet i, and N is the total number of nodes in the network; Data packet p i The probability W that it can finally reach the destination node i is as follows: W i = βW id + γW ij , In the formula, β is the weight of the proportion of W id and γ is the weight of the proportion of W ij , and β + γ = 1; In the case where the cache is insufficient to support storing new data packets, compare each data packet p in the buffer i 's W i , and discard the packet p with the lowest W i . i .
6. The delay-tolerant network epidemic routing method based on congestion control according to claim 5, characterized in that Calculating W based on the Analytic Hierarchy Process id The proportion weight β and W ij The proportion weight γ of, to obtain the judgment matrix: The maximum eigenvalue of the calculated judgment matrix is 2, and the corresponding eigenvector is [0.1240, 0.9923]; Normalize the judgment matrix to obtain W id and W ij has weights (β,γ) = (0.1111, 0.8889).
Citation Information
Patent Citations
Multi-path ad hoc on-demand distance vector (AODV) routing method based on service quality sensing
CN102316527A