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 PDF

Info

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
Application number
CN201710049057.4A
Other languages
Chinese (zh)
Other versions
CN106851727A (en
Inventor
史琰
尹翔
盛敏
李建东
刘俊宇
仲伟慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Electronic Science and Technology
Original Assignee
Xian University of Electronic Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Electronic Science and Technology filed Critical Xian University of Electronic Science and Technology
Priority to CN201710049057.4A priority Critical patent/CN106851727B/en
Publication of CN106851727A publication Critical patent/CN106851727A/en
Application granted granted Critical
Publication of CN106851727B publication Critical patent/CN106851727B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/021Traffic management, e.g. flow control or congestion control in wireless networks with changing topologies, e.g. ad-hoc networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0284Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-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

Method for realizing self-organizing network congestion control based on multi-path routing protocol
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
Figure GDA0002275266790000022
(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 of
Figure GDA0002275266790000023
And congested node to its other neighbor nodes njAverage transmission delay of
Figure GDA0002275266790000024
Figure GDA0002275266790000025
WhereinFor a congested node to its neighbour niThe transmission rate of this link, j is not equal to i,
Figure GDA0002275266790000027
for a congested node to its neighbour njThe transmission rate of this link is such that,
Figure GDA0002275266790000028
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,
Figure GDA0002275266790000031
Figure GDA0002275266790000032
neighbor node n sent to it for a congested nodeiNumber of data packets, N beingAnd
Figure GDA0002275266790000034
the ratio of these two average propagation delays,
Figure GDA0002275266790000035
(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:
step 1, periodically counting data of each node in the network.
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 packets
Figure GDA0002275266790000041
And 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:
Figure GDA0002275266790000042
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:
Figure GDA0002275266790000043
wherein
Figure GDA0002275266790000044
From 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 of
Figure GDA0002275266790000052
And congested node to its other neighbor nodes njAverage transmission delay of
Figure GDA0002275266790000053
Figure GDA0002275266790000054
Wherein
Figure GDA0002275266790000055
For a congested node to its neighbour niTransmission of this linkThe rate, j, is not equal to i,
Figure GDA0002275266790000056
for a congested node to its neighbour njThe transmission rate of this link is such that,
Figure GDA0002275266790000057
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,
Figure GDA0002275266790000061
Figure GDA0002275266790000062
neighbor node n sent to it for a congested nodeiNumber of data packets, N being
Figure GDA0002275266790000063
And
Figure GDA0002275266790000064
the 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 packets
Figure GDA0002275266790000071
And the local node receives n from each neighbor nodeiNumber of data packets received
Figure GDA0002275266790000072
In 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):
Figure GDA0002275266790000073
k is the number of the neighbor nodes,
Figure GDA0002275266790000074
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 packets
Figure GDA0002275266790000091
And the local node receives n from each neighbor nodeiNumber of data packets received
Figure GDA0002275266790000092
(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 packets
Figure FDA0002275266780000011
And the local node receives n from each neighbor nodeiNumber of data packets received
Figure FDA0002275266780000012
(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 of
Figure FDA0002275266780000013
And congested node to its other neighbor nodes njAverage transmission delay of
Figure FDA0002275266780000014
Wherein
Figure FDA0002275266780000016
For a congested node to its neighbour niThe transmission rate of this link, j is not equal to i,
Figure FDA0002275266780000017
for a congested node to its neighbour njThe transmission rate of this link is such that,
Figure FDA0002275266780000018
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,
Figure FDA0002275266780000021
neighbor node n sent to it for a congested nodeiNumber of data packets, N being
Figure FDA0002275266780000023
Andthe ratio of these two average propagation delays,
Figure FDA0002275266780000025
(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 packets
Figure FDA0002275266780000031
And the local node receives n from each neighbor nodeiNumber of data packets received
Figure FDA0002275266780000032
In 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):
Figure FDA0002275266780000033
k is the number of the neighbor nodes,
Figure FDA0002275266780000034
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
Figure FDA0002275266780000043
(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.
CN201710049057.4A 2017-01-23 2017-01-23 Method for realizing self-organizing network congestion control based on multi-path routing protocol Active CN106851727B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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