CN106851727B - Method for realizing self-organizing network congestion control based on multi-path routing protocol - Google Patents
Method for realizing self-organizing network congestion control based on multi-path routing protocol Download PDFInfo
- Publication number
- CN106851727B CN106851727B CN201710049057.4A CN201710049057A CN106851727B CN 106851727 B CN106851727 B CN 106851727B CN 201710049057 A CN201710049057 A CN 201710049057A CN 106851727 B CN106851727 B CN 106851727B
- Authority
- CN
- China
- Prior art keywords
- node
- congestion
- route
- packet
- congested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/021—Traffic management, e.g. flow control or congestion control in wireless networks with changing topologies, e.g. ad-hoc networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0284—Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses methods for realizing Ad Hoc network congestion control based on a multi-path routing protocol, which mainly solve the problems that the prior art lacks a congestion control mechanism, and the network throughput is sharply reduced and the node packet loss rate is high after congestion occurs.
Description
Technical Field
The invention belongs to the technical field of wireless communication, and particularly relates to methods for realizing Ad Hoc network congestion control, which can be used for an Ad Hoc network.
Background
The Ad Hoc network is centerless networks which are temporarily composed of a plurality of wireless data transmission devices and do not need fixed communication facility support.
In recent years, various national scholars carry out active research around congestion control in an Ad Hoc network, and a plurality of methods are proposed, the most common method is a congestion control method in a TCP protocol, the congestion control mainly depends on a congestion window cwd, the size of a window value represents the number of bytes which can be sent out for times, obviously, the speed of data sending is higher when the window is larger, but the network is possibly congested, technologies such as slow start, congestion avoidance, accelerated decrement, fast retransmission and the like are adopted in the TCP to dynamically adjust the size of the congestion window, however, the performance of the TCP protocol in the Ad Hoc network is far lower than that of the TCP protocol in a traditional wired network, mainly due to the characteristic difference between the Ad Hoc network and the wired network, for example, in the Ad Hoc network, a transmission medium is locally shared, in addition, the basis of judging the network congestion by the TCP protocol is message loss, the network congestion cause of the message in the Ad Hoc network is congested, the congestion of the link interruption, the frequent change of the routing, the AQM management is a common method, a control method is a method for judging whether the congestion is a large amount of the congestion of a packet loss cause of the network congestion, and a large amount of a large loss of a system is predicted by an experimental delay of a comparative method for predicting a large-based on a large-time delay loss-delay-to-delay-.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides methods for realizing the ad hoc network congestion control based on the multipath routing protocol, so as to improve the network throughput and reduce the node packet loss rate.
The technical scheme for realizing the purpose of the invention is as follows: by detecting the congestion condition of the node, different relieving measures are adopted according to different congestion reasons, and the specific steps comprise the following steps:
(1) each node in the network marks its neighbor nodes as niK, where K represents the number of neighbor nodes, waits congestion periods T, and counts n, which is sent by the node to each neighbor node in the periodiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets received
(2) Each node in the network judges whether congestion occurs or not according to the length of a cache queue of the node, if so, the node is marked as a congestion node, and the step (4) is executed, otherwise, the node is marked as a non-congestion node, and the step (3) is executed;
(3) the non-congestion node closes the random packet loss mechanism of the buffer queue and returns to the step (1);
(4) the congestion node judges whether a random packet loss mechanism of the cache queue is started or not, if so, the step (1) is returned, and if not, the step (5) is executed;
(5) analyzing the congestion reason of the congestion node:
(5a) making an initial parameter i equal to 1;
(5b) determining a congested node to its neighbor node niIf the link(s) is (are) low-speed links, if so, executing the step (5c), otherwise, executing the step (5 f);
(5c) in a hypothetical networkData packet size is D bits and each packet size is degrees, calculating the congestion node to the neighbor node niAverage transmission delay ofAnd congested node to its other neighbor nodes njAverage transmission delay of
WhereinFor a congested node to its neighbour niThe transmission rate of this link, j is not equal to i,for a congested node to its neighbour njThe transmission rate of this link is such that,neighbor node n sent to it for a congested nodejThe number of data packets of (a);
(5d) calculating a hypothetical queue length q for a congested nodea:
qa=q-EN
Wherein q is the actual length of the current buffer queue of the congested node, EN is the number of data packets additionally transmitted by the congested node in the period, neighbor node n sent to it for a congested nodeiNumber of data packets, N beingAndthe ratio of these two average propagation delays,
(5e) suppose the length of a buffer queue of a congestion node is qaJudging whether the congestion node is no longer congested, if so, the congestion is caused by using the congestion node to the neighbor node niAs a result of the low speed link, performing step (6), otherwise, performing step (5 f);
(5f) judging whether the initial parameter i is larger than the number K of the neighbor nodes, if so, executing the step (7) because the reason of congestion is caused by overlarge total flow of the congested nodes, otherwise, making i equal to i +1, and returning to the step (5 b);
(6) the congested node connects the neighbor node n in the step (5e)iRecording as a low-speed node, relieving congestion caused by a link from a congested node to the low-speed node by means of inhibiting the low-speed link, and returning to the step (1);
(7) and the congestion node relieves the congestion caused by overlarge total flow of the congestion node by means of flow scheduling or random packet loss.
Compared with the prior art, the invention has the following advantages:
1. compared with the active queue management AQM based on the router support, the method and the device have the advantages that the congestion caused by the link from the congested node to the low-speed node is relieved by analyzing the reason of the congestion and adopting a means of restraining the low-speed link, the blindness of the traditional routing protocol is avoided, and the efficiency of the ad hoc network routing protocol is improved.
2. The invention adopts the means of flow scheduling or random packet loss to relieve the congestion caused by overlarge total flow of the congestion nodes by analyzing the reasons of congestion occurrence, avoids the defects of simple packet loss and larger system delay of the AQM method, and ensures that the relief of the congestion has better pertinence and high efficiency.
Drawings
FIG. 1 is a general flow chart of an implementation of the present invention;
FIG. 2 is a sub-flow diagram of a congested node relieving link induced congestion by throttling low speed links in the present invention;
FIG. 3 is a sub-flowchart of relieving congestion caused by excessive traffic by a congested node through traffic scheduling or random packet loss in the present invention;
fig. 4 is a sub-flow diagram of a shunting node finding an efficient alternate route in the present invention;
FIG. 5 is a schematic view of a use scenario of the present invention;
Detailed Description
The present invention will be described in detail with reference to the accompanying drawings and embodiments, which are implemented on the premise of the technical solution of the present invention, and provide detailed implementation and operation procedures, but the protection scope of the present invention is not limited to the following embodiments.
Referring to fig. 5, the network scenario used in the present invention is an Ad Hoc network. The network layer of the node adopts a multi-path table driving protocol, the MAC layer adopts a TDMA protocol, a congestion node is a node which is judged to be in a congestion state according to the length of a cache queue of the node, a shunt node is a node which is selected by the congestion node to carry out flow scheduling, an access node is a third hop node on a main route of the shunt node, and a node in a shunt family is a node of a link from the main route to the congestion node through the shunt node.
Referring to the attached figure 1, the implementation steps of the invention are as follows:
Each node in the network marks its neighbor nodes as niK, where K represents the number of neighbor nodes, waits congestion periods T, and counts n, which is sent by the node to each neighbor node in the periodiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets received.
And 2, judging whether congestion exists by each node in the network according to the length of the cache queue of the node.
(2a) Calculating the ratio of the number Q of the buffered data packets in the buffer queue to the buffer size Q:and then according to the r value, judging the following three conditions:
when r is less than or equal to η1If the node is normal, judging the node to be in a non-congestion state, and executing the step 3;
when η1<r≤η2In time, the node may be congested, and step needs to be performed to execute step (2 b);
when η2If the number of the packets cached by the node is less than r, judging the packet is in a congestion state, and executing a step 4;
η therein1And η2Two limits, η, each representing a degree of network congestion1Denotes the lower limit value, η2The upper limit value is shown.
(2b) The node calculates the input rate λ of the packet and the output rate μ of the packet:
whereinFrom each neighbor node n for the own nodeiThe number of received data packets, K is the number of neighbor nodes of the node, T is the congestion period, TsIs the average service time of the packet, the service time of the packet refers to the time from the time the packet is at the head of the buffer queue until the packet is sent;
(2c) calculating the ratio of the input rate λ of the packet to the output rate μ of the packet:and judging the conditions according to the rho value as follows:
when rho is less than or equal to 1, the node is normal, the node is judged to be in a non-congestion state, and step 3 is executed;
when ρ > 1, the number of packets of the node increases further , and the node is determined to be in a congestion state, and step 4 is executed.
And 3, closing the random packet loss mechanism of the buffer queue by the non-congestion node.
After the random packet loss mechanism of the buffer queue is started, data packets to be input into the buffer queue are randomly discarded according to a certain probability P, a congestion notification is sent to a sending end by discarding the data packets, the sending end receiving the congestion notification reduces the transmission rate of the data packets, full-load overflow of the queue is avoided, the congestion state is relieved, and then the step 1 is returned.
Step 4, the congestion node judges whether a random packet loss mechanism of the cache queue is started or not, if so, the step 1 is returned, otherwise, the step 5 is executed;
and 5, analyzing the congestion reason of the congestion node.
(5a) Making an initial parameter i equal to 1;
(5b) determining a congested node to its neighbor node niIf the link(s) is (are) low-speed links, if so, executing the step (5c), otherwise, executing the step (5 f);
(5c) assuming that the data packet size in the network is D bits and each packet size is degrees, the congested node to neighbor node n is calculatediAverage transmission delay ofAnd congested node to its other neighbor nodes njAverage transmission delay of
WhereinFor a congested node to its neighbour niTransmission of this linkThe rate, j, is not equal to i,for a congested node to its neighbour njThe transmission rate of this link is such that,neighbor node n sent to it for a congested nodejThe number of data packets of (a);
(5d) calculating a hypothetical queue length q for a congested nodea:
qa=q-EN
Wherein q is the actual length of the current buffer queue of the congested node, EN is the number of data packets additionally transmitted by the congested node in the period, neighbor node n sent to it for a congested nodeiNumber of data packets, N beingAndthe ratio of these two average propagation delays,
(5e) suppose the length of a buffer queue of a congestion node is qaJudging whether the congestion node is no longer congested, if so, the congestion is caused by using the congestion node to the neighbor node niAs a result of this low speed link, step 6 is executed, otherwise, step (5f) is executed;
(5f) judging whether the initial parameter i is larger than the number K of the neighbor nodes, if so, executing the step 7 because the reason of congestion is caused by overlarge total flow of the congested nodes, otherwise, making i equal to i +1, and returning to the step (5 b);
step 6, the congestion node enables the neighbor node n in the step (5e) to be in the neighbor node niAnd (4) the congestion caused by the link from the congested node to the low-speed node is relieved by means of restraining the low-speed link.
Referring to fig. 2, the specific implementation of this step is as follows:
(6a) setting the initial parameter w to be 1, wherein M is equal to the number of routing items in the routing table of the congestion node;
(6b) checking the main route of the w route item of the congestion node, judging whether the lower jump node of the main route is a low-speed node, if so, executing the step (6c), otherwise, executing the step (6 i);
(6c) recording the low-speed node on the w-th routing item;
(6d) judging whether the secondary route of the w-th route item exists, if so, executing the step (6e), otherwise, executing the step (6 h);
(6e) judging whether a link from the congested node to a next jump node in the secondary route is low-speed links, if so, executing the step (6f), otherwise, executing the step (6 g);
(6f) recording the node of the next hop in the step (6e) as a low-speed node, recording the node on the w-th route item, and executing the step (6 h);
(6g) covering the main route with the secondary route of the w route item, and executing the step (6 i);
(6h) clearing the w-th routing item, directly discarding the data packet when the routing item is checked by the data packet next time, and executing the step (6 i);
(6i) judging whether the initial parameter w is more than or equal to the number M of the routing items in the routing table of the congestion node, if so, executing the step (6j), otherwise, making w equal to w +1, and returning to the step (6 b);
(6j) the congested node waits for congestion periods T again, and counts n times that the node sends the congestion period T to each neighbor nodeiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets receivedIn the congestion period T, the routing item of the low-speed node recorded in the node routing table is updated without using the routing message sent by the low-speed node;
(6k) judging whether congestion occurs or not according to the length of the congestion node cache queue, if so, executing the step (6l), and otherwise, executing the step (6 m);
(6l) the congestion node starts a queue random packet loss mechanism, and the step (6n) is executed;
(6m) judging whether the links from the congested node to the low-speed node are still low-speed links, if so, returning to the step (6j), otherwise, executing the step (6 n);
(6n) the congested node deletes the recorded low-speed node, and in the next congestion periods T, the routing table of the node is normally updated by using the routing information sent by the low-speed node, and the step 1 is returned.
And 7, relieving congestion caused by overlarge total flow of the congestion nodes by the congestion nodes through flow scheduling or random packet loss.
Referring to fig. 3, this step adopts, but is not limited to, a traffic scheduling approach to congestion caused by excessive total traffic of congested nodes, and is specifically implemented as follows:
(7a) the congestion node calculates the input rate to be offloaded: f is lambda-mu, where lambda is the packet input rate and mu is the packet output rate, and then according to the magnitude of f, the following two cases are processed:
when f is less than or equal to 0, the congestion condition of the congested node is improved, and the step 1 is returned;
when f > 0, the congested node should unload part of the traffic, perform step (7 b);
(7b) the congested node calculates each of its neighbor nodes niPacket input rate of (2):k is the number of the neighbor nodes,from each neighbor node n for the own nodeiThe number of received data packets, T being the period of congestion;
(7c) the congestion node judges whether the packet input rate lambda of neighbor nodes exists or notiIf the input speed is larger than or equal to the input speed f to be unloaded, executing the step (7e), otherwise, executing the step (7 d);
(7d) the congestion node starts a queue random packet loss mechanism and returns to the step 1;
(7e) the congestion node inputs all the neighbor nodes at the packet input rate lambdaiArranging from small to large, checking all the neighbor nodes in turn until finding neighbor nodes' packet input rates lambdaiThe input rate f which is more than or equal to the input rate f to be unloaded is obtained, and the neighbor node is marked as a shunting node;
(7f) the congestion node records the shunting node and sends congestion information to the shunting node, and after the shunting node receives the congestion information, available routes bypassing the congestion node are searched for replacing the original routes passing through the congestion node;
referring to fig. 4, finding available routes that bypass the congested node to replace the routes that originally passed through the congested node is implemented as follows:
(7f1) setting the initial parameter r to be 1, wherein Z is equal to the number of routing items in the routing table of the shunting node;
(7f2) the shunting node checks the main route of the r-th route item, judges whether the lower jump node of the route is a congestion node, judges whether the destination node is not the congestion node, if both are satisfied, the step (7f3) is executed, otherwise, the step (7f11) is executed;
(7f3) the shunting node records the congestion node on the r-th route project, and the route project is not updated by using the route containing the congestion node;
(7f4) judging whether the secondary route of the r-th route item exists, if so, executing the step (7f5), otherwise, executing the step (7f 6);
(7f5) the shunting node covers the main route by using the secondary route of the r-th route item, and the step (7f11) is executed;
(7f6) the flow dividing node marks a third hop node on the main route as an access node;
(7f7) the shunting node judges whether an effective route to the access node exists, namely the route which does not pass through the congestion node, if so, the step (7f8) is executed, otherwise, the step (7f9) is executed;
(7f8) the shunting node splices the main route and the effective route in the step (7f8) or the step (7f9) into a new main route, covers the main route of the r-th route item and executes the step (7f 11);
(7f9) the shunting node judges whether effective routes to the access node can be found by an on-demand route searching method, if so, the step (7f8) is executed, otherwise, the step (7f10) is executed;
the on-demand routing searching method comprises the following implementation steps:
1. source node multicasts route request packets RREQ, the contents of which include destination node, source node, intermediate node list and route request packet ID number, and initializes route lookup timers RT, executes step 2;
2, the source node judges whether a route reply packet RREP is received, if so, effective routes, namely an intermediate node list, are found, otherwise, the step 3 is executed;
3, after waiting seconds, the source node subtracts from the RT value of the route lookup timer, and determines whether the RT value of the route lookup timer is less than zero, if so, valid routes cannot be found, otherwise, returns to step 2;
4, the intermediate node receives the route request packet RREQ, judges whether the node receives the route request packet RREQ or not according to the route request packet ID number, if yes, directly discards the packet, and if not, executes the step 5;
5, the intermediate node judges whether an intermediate node table in the route request packet RREQ contains the node, if so, the packet is directly discarded, otherwise, the step 6 is executed;
6, the intermediate node judges whether the destination node of the route request packet RREQ is the node or whether the node has a route to the destination node, if yes, the step 8 is executed, otherwise, the step 7 is executed;
7, filling the intermediate node into an intermediate node list of a route request packet RREQ and forwarding the route request packet RREQ by the intermediate node;
8, constructing a route reply packet RREP by the intermediate node, and reversing an intermediate node list in the route request packet RREQ to serve as a route of the route reply packet RREP to return to the source node;
(7f10) the shunting node clears the r-th routing item, and directly discards the data packet when the routing item is checked by the data packet next time;
(7f11) judging whether the initial parameter r is more than or equal to the number M of the routing items in the routing table of the shunting node, if so, executing a step (7f12), otherwise, making r equal to r +1, and executing a step (7f 2);
(7f12) and the shunting node sends the routing item in the step (7f8) to the neighbor nodes.
(7g) The congested node waits congestion periods T and counts the n times that the node sends to each neighbor node in the periodiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets received
(7h) Judging whether congestion occurs or not according to the length of the congestion node cache queue, if so, executing the step (7i), otherwise, executing the step (7 j);
(7i) the congestion node starts a queue random packet loss mechanism and executes the step (7 k);
(7j) judging the packet input rate lambda of the congestion node and the input rate lambda of the shunt nodeiIf the sum is less than or equal to the output rate mu of the congestion node, executing the step (7k) if the sum is greater than or equal to the output rate mu of the congestion node, otherwise, returning to the step (7 g);
(7k) and the congestion node deletes the recorded shunting node, sends cancellation congestion information to the congestion node and returns to the step 1.
Through the steps, for the destination node G, the data packets of the shunting node D and the shunting family node E do not pass through the congestion node A any more, but pass through new routes discovered by an on-demand route searching method, and the new routes sequentially pass from the shunting node D to the node J to the node K to the node L to the access node I to the destination node G, namely D-J-K-L-I-G, so that the shunting effect is achieved.
Claims (6)
1, A method for realizing the congestion control of the ad hoc network based on the multipath routing protocol, comprising:
(1) each node in the network marks its neighbor nodes as niK, where K represents the number of neighbor nodes, waits congestion periods T, and counts n, which is sent by the node to each neighbor node in the periodiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets received
(2) Each node in the network judges whether congestion occurs or not according to the length of a cache queue of the node, if so, the node is marked as a congestion node, and the step (4) is executed, otherwise, the node is marked as a non-congestion node, and the step (3) is executed;
(3) the non-congestion node closes the random packet loss mechanism of the buffer queue and returns to the step (1);
(4) the congestion node judges whether a random packet loss mechanism of the cache queue is started or not, if so, the step (1) is returned, and if not, the step (5) is executed;
(5) analyzing the congestion reason of the congestion node:
(5a) making an initial parameter i equal to 1;
(5b) determining a congested node to its neighbor node niIf the link(s) is (are) low-speed links, if so, executing the step (5c), otherwise, executing the step (5 f);
(5c) assuming that the data packet size in the network is D bits and each packet size is bits, the calculated congestion isFrom the stopper node to the neighbor node niAverage transmission delay ofAnd congested node to its other neighbor nodes njAverage transmission delay of
WhereinFor a congested node to its neighbour niThe transmission rate of this link, j is not equal to i,for a congested node to its neighbour njThe transmission rate of this link is such that,neighbor node n sent to it for a congested nodejThe number of data packets of (a);
(5d) calculating a hypothetical queue length q for a congested nodea:
qa=q-EN
Wherein q is the actual length of the current buffer queue of the congested node, EN is the number of data packets additionally transmitted by the congested node in the period, neighbor node n sent to it for a congested nodeiNumber of data packets, N beingAndthe ratio of these two average propagation delays,
(5e) calculating the assumed queue length q of the congested node according to (5d)aJudging whether the congestion node is no longer congested, if so, the congestion is caused by using the congestion node to the neighbor node niAs a result of the low speed link, performing step (6), otherwise, performing step (5 f);
(5f) judging whether the initial parameter i is larger than the number K of the neighbor nodes, if so, executing the step (7) because the reason of congestion is caused by overlarge total flow of the congested nodes, otherwise, making i equal to i +1, and returning to the step (5 b);
(6) the congested node connects the neighbor node n in the step (5e)iRecording as a low-speed node, relieving congestion caused by a link from a congested node to the low-speed node by means of inhibiting the low-speed link, and returning to the step (1);
(7) and the congestion node relieves the congestion caused by overlarge total flow of the congestion node by means of flow scheduling or random packet loss.
2. The method of claim 1, wherein the congested node in step (6) relieves congestion caused by the link from the congested node to the low-speed node by means of suppressing the low-speed link, and the method comprises the following steps:
(6a) setting the initial parameter w to be 1, wherein M is equal to the number of routing items in the routing table of the congestion node;
(6b) checking the main route of the w route item of the congestion node, judging whether the lower jump node of the main route is a low-speed node, if so, executing the step (6c), otherwise, executing the step (6 i);
(6c) recording the low-speed node on the w-th routing item;
(6d) judging whether the secondary route of the w-th route item exists, if so, executing the step (6e), otherwise, executing the step (6 h);
(6e) judging whether a link from the congested node to a next jump node in the secondary route is low-speed links, if so, executing the step (6f), otherwise, executing the step (6 g);
(6f) recording the node of the next hop in the step (6e) as a low-speed node, recording the node on the w-th route item, and executing the step (6 h);
(6g) covering the main route with the secondary route of the w route item, and executing the step (6 i);
(6h) clearing the w-th routing item, directly discarding the data packet when the routing item is checked by the data packet next time, and executing the step (6 i);
(6i) judging whether the initial parameter w is more than or equal to the number M of the routing items in the routing table of the congestion node, if so, executing the step (6j), otherwise, making w equal to w +1, and returning to the step (6 b);
(6j) the congested node waits for congestion periods T again, and counts n times that the node sends the congestion period T to each neighbor nodeiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets receivedIn the congestion period T, the routing item of the low-speed node recorded in the node routing table is updated without using the routing message sent by the low-speed node;
(6k) judging whether congestion occurs or not according to the length of the congestion node cache queue, if so, executing the step (6l), and otherwise, executing the step (6 m);
(6l) the congestion node starts a queue random packet loss mechanism, and the step (6n) is executed;
(6m) judging whether the links from the congested node to the low-speed node are still low-speed links, if so, returning to the step (6j), otherwise, executing the step (6 n);
(6n) the congested node deletes the recorded low-speed node, and the routing table of the node is normally updated by using the routing information sent by the low-speed node in the next congestion periods T.
3. The method according to claim 2, wherein the congested node in step (7) relieves the congestion caused by the excessive total flow of the congested node by means of traffic scheduling or random packet loss, and the following steps are performed:
(7a) the congestion node calculates the input rate to be offloaded: f is lambda-mu, where lambda is the packet input rate and mu is the packet output rate, and then according to the magnitude of f, the following two cases are processed:
when f is less than or equal to 0, the congestion condition of the congested node is improved, and the step (1) is returned;
when f > 0, the congested node should unload part of the traffic, perform step (7 b);
(7b) the congested node calculates each of its neighbor nodes niPacket input rate of (2):k is the number of the neighbor nodes,from each neighbor node n for the own nodeiThe number of received data packets, T being the period of congestion;
(7c) the congestion node judges whether the packet input rate lambda of neighbor nodes exists or notiIf the input speed is larger than or equal to the input speed f to be unloaded, executing the step (7e), otherwise, executing the step (7 d);
(7d) the congestion node starts a queue random packet loss mechanism and returns to the step (1);
(7e) the congestion node inputs all the neighbor nodes at the packet input rate lambdaiArranging from small to large, checking all the neighbor nodes in turn until finding neighbor nodes' packet input rates lambdaiThe input rate f which is more than or equal to the input rate f to be unloaded is obtained, and the neighbor node is marked as a shunting node;
(7f) the congestion node records the shunting node and sends congestion information to the shunting node, and after the shunting node receives the congestion information, available routes bypassing the congestion node are searched for replacing the original routes passing through the congestion node;
(7g) the congested node waits congestion periods T and counts the n times that the node sends to each neighbor node in the periodiNumber of data packetsAnd the local node receives n from each neighbor nodeiNumber of data packets received
(7h) Judging whether congestion occurs or not according to the length of the congestion node cache queue, if so, executing the step (7i), otherwise, executing the step (7 j);
(7i) the congestion node starts a queue random packet loss mechanism and executes the step (7 k);
(7j) judging the packet input rate lambda of the congestion node and the input rate lambda of the shunt nodeiIf the sum is less than or equal to the output rate mu of the congestion node, executing the step (7k) if the sum is greater than or equal to the output rate mu of the congestion node, otherwise, returning to the step (7 g);
(7k) and (4) deleting the recorded shunting nodes by the congestion node, sending congestion revocation information to the congestion node, and returning to the step (1).
4. The method according to claim 3, wherein the step (2), the step (5e), the step (6k) and the step (7h) of judging whether congestion occurs according to the length of the buffer queue are carried out as follows:
4a) calculating the ratio of the actual length Q of the current cache queue of the congestion node to the cache size Q:and then according to the r value, judging the following three conditions:
when r is less than or equal to η1When the node is normal, the node is judged to be in a non-congestion state;
when η1<r≤η2In time, the node may be congested, and step needs to be performed to execute step (2 b);
when η2<When r is reached, the number of the packets cached by the node is too much, and the node is judged to be in a congestion state;
η therein1And η2Two limits, η, each representing a degree of network congestion1Denotes the lower limit value, η2Represents an upper limit value;
4b) the node calculates the input rate λ of the packet and the output rate μ of the packet:
whereinFrom each neighbor node n for the own nodeiThe number of received data packets, K is the number of neighbor nodes of the node, T is the congestion period, TsIs the average service time of the packet, the service time of the packet refers to the time from the time the packet is at the head of the buffer queue until the packet is sent;
4c) calculating the ratio of the input rate λ of the packet to the output rate μ of the packet:and judging the conditions according to the rho value as follows:
when rho is less than or equal to 1, the node is normal and is judged to be in a non-congestion state;
when ρ > 1, the number of packets of the node increases further , and the node is determined to be in a congested state.
5. The method of claim 3, wherein the step (7f) of finding available routes that bypass the congested node to replace the routes that originally passed through the congested node comprises the steps of:
(7f1) setting the initial parameter r to be 1, wherein Z is equal to the number of routing items in the routing table of the shunting node;
(7f2) the shunting node checks the main route of the r-th route item, judges whether the lower jump node of the route is a congestion node, judges whether the destination node is not the congestion node, if both are satisfied, the step (7f3) is executed, otherwise, the step (7f11) is executed;
(7f3) the shunting node records the congestion node on the r-th route project, and the route project is not updated by using the route containing the congestion node;
(7f4) judging whether the secondary route of the r-th route item exists, if so, executing the step (7f5), otherwise, executing the step (7f 6);
(7f5) the shunting node covers the main route by using the secondary route of the r-th route item, and the step (7f11) is executed;
(7f6) the flow dividing node marks a third hop node on the main route as an access node;
(7f7) the shunting node judges whether an effective route to the access node exists, namely the route which does not pass through the congestion node, if so, the step (7f8) is executed, otherwise, the step (7f9) is executed;
(7f8) the shunting node splices the main route and the effective route in the step (7f8) or the step (7f9) into a new main route, covers the main route of the r-th route item and executes the step (7f 11);
(7f9) the shunting node judges whether effective routes to the access node can be found by an on-demand route searching method, if so, the step (7f8) is executed, otherwise, the step (7f10) is executed;
(7f10) the shunting node clears the r-th routing item, and directly discards the data packet when the routing item is checked by the data packet next time;
(7f11) judging whether the initial parameter r is more than or equal to the number M of the routing items in the routing table of the shunting node, if so, executing a step (7f12), otherwise, making r equal to r +1, and executing a step (7f 2);
(7f12) and the shunting node sends the routing item in the step (7f8) to the neighbor nodes.
6. The method of claim 5, wherein the forking node finds valid routes to the access node by an on-demand route lookup method in step (7f9) by:
(7f9a) the forking node broadcasts route request packets RREQ, the contents of which include a destination node, a source node, an intermediate node list and a route request packet ID number, wherein the destination node is an access node and the source node is a forking node, route lookup timers RT are initialized, and the step (7f9b) is executed;
(7f9b) the source node judges whether a route reply packet RREP is received, if yes, effective routes, namely an intermediate node list, are found, and if not, the step (7f9c) is executed;
(7f9c) after waiting for seconds, the source node subtracts from the RT value of the route searching timer, and judges whether the RT value of the route searching timer is less than zero, if yes, effective routes cannot be found, otherwise, the step (7f9b) is returned;
(7f9d) the intermediate node receives the route request packet RREQ, judges whether the node receives the route request packet RREQ according to the route request packet ID number, if yes, directly discards the packet, otherwise, executes the step (7f9 e);
(7f9e) the intermediate node judges whether the intermediate node list in the route request packet RREQ contains the node, if yes, the packet is directly discarded, otherwise, the step (7f9f) is executed;
(7f9f) the intermediate node judges whether the destination node of the route request packet RREQ is the node or whether the node has a route to the destination node, if yes, the step (7f9h) is executed, otherwise, the step (7f9g) is executed;
(7f9g) the intermediate node fills the intermediate node list of the route request packet RREQ with the node and forwards the route request packet RREQ;
(7f9h) the intermediate node constructs a route reply packet RREP and returns a list of intermediate nodes in the reverse route request packet RREQ as a path of the route reply packet RREP to the source node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710049057.4A CN106851727B (en) | 2017-01-23 | 2017-01-23 | Method for realizing self-organizing network congestion control based on multi-path routing protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710049057.4A CN106851727B (en) | 2017-01-23 | 2017-01-23 | Method for realizing self-organizing network congestion control based on multi-path routing protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106851727A CN106851727A (en) | 2017-06-13 |
CN106851727B true CN106851727B (en) | 2020-01-31 |
Family
ID=59119729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710049057.4A Active CN106851727B (en) | 2017-01-23 | 2017-01-23 | Method for realizing self-organizing network congestion control based on multi-path routing protocol |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106851727B (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600316B (en) | 2017-09-30 | 2022-08-26 | 华为技术有限公司 | Method and device for controlling flow |
CN109995658B (en) * | 2017-12-29 | 2021-07-20 | 华为技术有限公司 | Method and device for sending, receiving and forwarding message |
CN109962760B (en) * | 2019-04-09 | 2022-08-30 | 湖南智领通信科技有限公司 | Service scheduling method suitable for wireless TDMA ad hoc network |
CN110139319B (en) * | 2019-05-25 | 2022-04-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Routing method for minimizing transmission delay of high dynamic delay network |
CN110996350B (en) * | 2019-12-18 | 2020-12-11 | 北京京能清洁能源电力股份有限公司北京分公司 | Ad hoc network routing method and device, and electronic equipment |
CN111148154B (en) * | 2019-12-18 | 2023-10-20 | 江苏理工学院 | Recursive feedback type flow congestion suppression method for routing equipment |
WO2021139286A1 (en) | 2020-01-07 | 2021-07-15 | 华为技术有限公司 | Load sharing method, device, and network system |
WO2022174444A1 (en) * | 2021-02-22 | 2022-08-25 | 华为技术有限公司 | Data stream transmission method and apparatus, and network device |
CN116261170A (en) * | 2021-12-09 | 2023-06-13 | 华为技术有限公司 | Communication method, device and system |
CN115002036B (en) * | 2022-05-26 | 2023-07-25 | 国网河北省电力有限公司电力科学研究院 | NDN network congestion control method, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286930A (en) * | 2008-05-30 | 2008-10-15 | 华南理工大学 | Self-adapting routing method for congestion of multi-hop wireless self-organizing network |
CN101459933A (en) * | 2009-01-04 | 2009-06-17 | 北京航空航天大学 | Congestion control method |
CN101674630A (en) * | 2009-09-25 | 2010-03-17 | 南京邮电大学 | Implementation method of cross-layer routing capable of perceiving congestion |
EP2706781A1 (en) * | 2012-09-05 | 2014-03-12 | Thales | Transmission method in a multi-hop ad hoc IP network |
CN106304184A (en) * | 2016-08-17 | 2017-01-04 | 上海交通大学 | The route discovery of many tolerance amount based on AODV and the method for foundation |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7936697B2 (en) * | 2007-08-30 | 2011-05-03 | Bae Systems Information And Electronic Systems Integration Inc. | Topology aware MANET for mobile networks |
-
2017
- 2017-01-23 CN CN201710049057.4A patent/CN106851727B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286930A (en) * | 2008-05-30 | 2008-10-15 | 华南理工大学 | Self-adapting routing method for congestion of multi-hop wireless self-organizing network |
CN101459933A (en) * | 2009-01-04 | 2009-06-17 | 北京航空航天大学 | Congestion control method |
CN101674630A (en) * | 2009-09-25 | 2010-03-17 | 南京邮电大学 | Implementation method of cross-layer routing capable of perceiving congestion |
EP2706781A1 (en) * | 2012-09-05 | 2014-03-12 | Thales | Transmission method in a multi-hop ad hoc IP network |
CN106304184A (en) * | 2016-08-17 | 2017-01-04 | 上海交通大学 | The route discovery of many tolerance amount based on AODV and the method for foundation |
Non-Patent Citations (2)
Title |
---|
Performance Analysis of AODV Based Congestion Control Protocols in MANET;Bandana Bhatia;《2015 International Conference on Futuristic Trends on Computational Analysis and Knowledge Management (ABLAZE)》;20150227;全文 * |
跨层负载感知的无线Mesh网络拥塞控制;李陶深等;《北京邮电大学学报》;20110228;第34卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106851727A (en) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106851727B (en) | Method for realizing self-organizing network congestion control based on multi-path routing protocol | |
Chen et al. | Congestion-aware routing protocol for mobile ad hoc networks | |
Chen et al. | On setting TCP's congestion window limit in mobile ad hoc networks | |
JP5538257B2 (en) | Bandwidth monitoring device and packet relay device | |
Chowdhury et al. | TP-CRAHN: A transport protocol for cognitive radio ad-hoc networks | |
Monks et al. | Limitations of TCP-ELFN for ad hoc networks | |
Senthilkumaran et al. | Dynamic congestion detection and control routing in ad hoc networks | |
He et al. | Alleviating congestion using traffic-aware dynamic routing in wireless sensor networks | |
CN104010343A (en) | Wireless network optimization method for intelligent meter reading system | |
Thilagavathe et al. | Cross layer based congestion control technique for reliable and energy aware routing in MANET | |
Mast et al. | A survey of performance enhancement of transmission control protocol (TCP) in wireless ad hoc networks | |
CN111224888A (en) | Method for sending message and message forwarding equipment | |
CN110351200A (en) | A kind of opportunistic network jamming control method based on forwarding task immigration | |
Asmaa et al. | A hop-by-hop congestion control mechanisms in NDN networks–A survey | |
Wu et al. | A hop-by-hop cross-layer congestion control scheme for wireless sensor networks | |
CN105007235A (en) | Congestion control method in wireless multimedia sensor network | |
Hassan et al. | Design of an energy‐efficient and reliable data delivery mechanism for mobile ad hoc networks: a cross‐layer approach | |
ElRakabawy et al. | Gateway adaptive pacing for TCP across multihop wireless networks and the internet | |
Merlin et al. | Latency-aware forwarding for IRON: Latency support for back-pressure forwarding | |
Joo et al. | Urgency-based packet scheduling and routing algorithms for video transmission over MANETs | |
JP4838739B2 (en) | Router buffer management method and router using the management method | |
Patel et al. | Mobile ad hoc network performance improvement using strategical RED | |
KR100941159B1 (en) | Method for a load balancing scheme with route cache management | |
Sun et al. | A modified variant of explicit control protocol in satellite networks | |
Szilágyi et al. | Efficient LTE PDCP buffer management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |