You are on page 1of 18

Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

Tcp Congestion Control Strategy Based on


Multi-Level Priority Queue
Abstract: Seeing that the existing network congestion control methods do not con-
sider that the asymmetry of network link and the transmission state of Acknowl-
edgment (ACK) packets have influence on performance and stability of network, the
article proposes the network congestion control strategy based on double-level pri-
ority queue (DPQCC) and describes the corresponding algorithm. To achieve greater
ACK packets forwarding efficiency, the strategy sets up a high priority queue in the
routing node for ACK packets that are saved temporarily and have not been re-
transmitted timely owing to link congestion, then retransmit ACK packets preferen-
tially when the link is idle. Experimental results show that, compared with early
congestion avoidance algorithm (RED), when using DPQCC algorithm, the packet
loss rate is significantly lower, throughput has improved greatly, the end-to-end
delay has reduced on the whole, and only when the network is under the severe
congestion state, the end-to-end delay would slightly increase, but delay jitter is
smaller, and network stability is enhanced.

Keywords: Network Congestion; The double-level priority queue; DPQCC algorithm;


Network performance; ACK packet

1 Introduction
With the development of the Internet today, its success is attributed to the continu-
ous improvement and strengthening of the protocols, in which the TCP/IP protocol
plays an important role. TCP/IP has become the de facto standard protocol of the
Internet. Whereas, with the growth of the WWW applications and a variety of mul-
timedia information in the Internet, particularly booming the popularity of Internet
+ business idea, the weakness of the TCP/IP protocol emerges gradually. For exam-
ple, fast information retrieval in self-organizing P2P network [1] and positioning
algorithm for wireless sensor networks [2] should depend on the effective TCP con-

||
Zhi-Min Li, School of Information Technology, Hunan Mechanical & Electrical Polytechnic,
Changsha, 410151, China. Email: 1446235363@qq.com
Dong-Liang Wu, School of Information Technology, Hunan Mechanical & Electrical Polytechnic,
Changsha, 410151, China
Men-Mei Li, School of Computer Science and Technology, University of South China,
Hengyang, 421001, China. Email: 2487932@qq.com

DOI 10.1515/9783110540048-064, © 2017 Zhi-Min Li et al, published by De Gruyter.


This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.
Unauthenticated
Download Date | 11/4/17 4:12 PM
648 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

gestion control strategy.


The major reason of network congestion is the limited network resources and
the imbalanced network traffic distribution; Congestion will not disappear with the
increase of network capacity. Network’s complexity, heterogeneity and dynamic
make it difficult to design the congestion control strategy. So far, the congestion
problem has not been solved well. Effective congestion control mechanism and
queue management keep the network under good working condition. A lot of data
packs without congestion control collapse the network. There are many TCP algo-
rithms, such as addition increasing or decreasing multiplication based slow start,
congestion avoidance, fast retransmit and fast recovery mechanism coupled with a
simple FIFO queue management, which make Internet possible in a healthy run.
But, with the increasing network bandwidth of all kinds of traffic on the Internet,
the insufficient network bandwidth makes the current packet loss rate in the best
effort delivery increase. Researches on the TCP layer’s congestion control have very
important significance for the network, because in the Internet, most of the work of
congestion control is done by the TCP layer. Congestion control of the TCP layer can
improve the utilization rate of network resources, which can avoid the collapse of
the network.
With the rapid development and popularization of the Internet, all kinds of new
network services have been put forward and applied; the degree of network link
congestion is deepened increasingly with a sharp rise in network data traffic [3]. It is
confirmed through the network measurement technology and network performance
analysis technology that the fundamental reason of data packet loss, time delay,
delay jitter, and a series of problems is the congestion of network link. At present,
network congestion is the main factor for affecting network quality of service (QoS)
and network performance [4]. In order to alleviate problems such as packet loss
caused by the link congestion, a lot of research work is focused on the improvement
on a router; setting up the buffer queue in the router is one of the solutions. The
greater length of queue can save more data packets temporarily, reduce the number
of packet loss, improve network throughput, at the same time, it will increase the
queuing delay of data packets in the queue; On the contrary, the smaller length of
queue cannot solve the problem of congestion effectively. Therefore, effective and
stable queue congestion control method plays an important role in alleviating net-
work congestion [5].
In this paper, we present an efficient TCP congestion control strategy based on
multi-level priority queue that sets a high priority queue specially to store those ACK
packets without being forwarded due to the link congestion. As corroborated by our
experiments, the special high priority queue for ACK packets is crucial for solving
the congestion problem. Furthermore, the multi-level priority queue offers the fol-
lowing key advantages over the TCP congestion control process:
Efficient ACK packets forwarding. The ACK packets are stored in a queue with
higher priority, and can be forwarded firstly when the link is idle. So, the sender can

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 649

know the transmit success at an early time. It can avoid many retransmissions in the
network.
Significantly lower packet loss rate. The ACK packets and data packets, which
have not been timely forwarded due to link congestion in the router, are stored re-
spectively in two queues. In the idle link, the ACK packets can be forwarded firstly.
So, the ACK packets can be stored and forwarded in priority especially under the
congesting traffic. The number of the ACK packets the sender receives is the stand-
ard of the data transmission success. Therefore, it can lower the packet loss rate
significantly.
Throughput has improved greatly. As we know that the success probability of
data transmission has been improved greatly, less bandwidth will be consumed in
our TCP congestion control strategy. So, the throughput of the network can also be
improved greatly.
The rest of the paper is organized as follows. Section 2 discusses related work.
Section 3 introduces the basic theory about the multi-level priority queue. We de-
sign a TCP congestion control strategy based on the multi-level priority queue in
Section 4. Then, Section 5 describes the packet enqueuer and dequeuer algorithm in
this multi-level priority queues. Section 6 shows the experimental results, such as
the packet loss rate, the transmission delay, and the throughput. Section 7 shows
conclusions as well as the future work. To summarize, this paper makes the follow-
ing contributions:
A Double-level priority queue congestion control strategy. We present a double-
level priority queue congestion control strategy to divide the ACK and data packets
without being forwarded into two queues with different priorities. The ACK packets
can be forwarded firstly when the link is idle.
A packet enqueuer and dequeuer algorithm. We propose a packet enqueuer and
dequeuer algorithm according to the basic operations of the priority queue, which
can store different kinds of packets. The packets in the higher-priority queue can be
forwarded firstly.
Experimental evaluations. We present an experimental evaluation showing that
our approach can achieve a better throughput with satisfactorily low loss rate in TCP
congestion control as expected.

2 Related Research
Data is transferred in the network. When there are too many packets in a subnet, it
will cause network performance decrease, which is called congestion as known.
Network decreased performance is represented as the transmission increasing la-
tency and network throughput reduction of the information packet. Fig. 1 shows
that when the number of packets from the host port to the communication subnet is

Unauthenticated
Download Date | 11/4/17 4:12 PM
650 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

within its capacity range, they will all be sent to the destination (except for few
packets not being transmitted correctly due to the transmission error). And the net-
work load increases to a certain value, which we call “Knee”. If the network load
exceeds its processing capacity, the communication subnet begins losing data
packets and causes the deterioration of the situation. When the network load con-
tinues increasing to another value, the network throughput volume drops almost to
zero. In this case, it cannot almost transfer any data, which is known as “Deadlock”.
The root cause of network congestion is that the network load has gone beyond
the network resource capacity and processing capacity. It is also because that the
sum of the demand for resources is greater than the sum of the available resources.
In theory, if the resource is infinite, the congestion will not happen. But, it cannot
happen in reality. The main factors leading to the congestion are the following:
Insufficient storage space. When many ports forward packets to the same out-
put port, each packet needs to queue at the receiving port buffer. If the output does
not have enough buffers, or the buffer is not enough, the packet will be discarded,
especially for burst data stream.
Insufficient bandwidth capacity. High-speed data stream over a slow link can
often produce the congestion. Only when the data transmission rate R is less than
the channel capacity, the congestion can be avoided.
Slow Node processors. When the router receives a packet, it puts it into the
caching of the CPU firstly, selects the routing path, and then forwards it to the ap-
propriate node. Thus, the speed of the router processor is also an important cause of
congestion.

Fig. 1: The relationship between network load and throughput

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 651

Packets in network happen essentially suddenly, instead of constantly and continu-


ingly. Separate TCP window mechanism [6, 7] is not able to control the network
traffic effectively, or solve the network congestion problem. Effective router buffer
queue management mechanism can reduce the queuing delay of packets and im-
prove the transmission efficiency at a certain degree. At present, a lot of research
work has been made on the network congestion problem. For example, random
early congestion avoidance algorithm (RED) [8] proposed by Van Jacobson and Sally
Floyed is among the first to put forward voluntary queue management strategy,
which is applied to the packet switching network.
RED is an early drop technology. In the early congestion in the network, the por-
tion of the packet data is discarded to improve the dynamic characteristics of the
queue, which can increase the use of the network. Contrast to the lost tail algorithm,
RED adds two mechanisms into the queue management:
(1) The packet discard does not occur under the buffer overflow of the queue. But a
portion of packet data is discarded previously using probabilistic determination
mechanism according to the queue length to prevent congestion from occurring.
(2) The queue length determining the probability of the packet loss is the average
queue length, rather than the real-time queue length, which can absorb some of
the short burst traffic to some extent.

RED queue management strategy based on the packet arrival or a fixed time interval
calculates the average queue length using exponential weighted moving
average (EWMA):

(1)

Where: w is filter coefficient, is sampling instant queue length. Then, the


probability of the packet loss/mark shall be determined according to the size of the
average queue. When the average length of the queue is less than the minimum
threshold value, indicating that no congestion occurs, no any arrival packets are
treated; when the average length of the queue is greater than the maximum thresh-
old, indicating that the network is congested, all incoming packets are discarded.
When the average length of the queue is between the minimum and maximum
threshold, the probability P is marked in accordance with the following equation:

(2)

Where: is the maximum loss probability (also loss probability when the aver-
age length of the queue is ), , are the minimum and maximum
threshold value respectively. The process can be represented by Fig. 2.

Unauthenticated
Download Date | 11/4/17 4:12 PM
652 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

Fig. 2: RED LOSS/ MARK probability calculation Schematic diagram

RED algorithm overcomes the global synchronization issues, but it merely works in
TCP flow, it is not able to deal with sudden flow effectively [9]; In order to reduce the
influence of the parameters setting on algorithm, literature [10] puts forward adap-
tive random early discard algorithm (ARED), parameters’ setting responds to chang-
es in network traffic, but jitter of packet loss probability is bigger. Literature [11]
proposes a new queue management algorithm based on the loss rate (LRED) algo-
rithm, it achieves quick response by measuring the recent packet loss rate, which is
regarded as the adaptive adjustment factor of queue length, but due to changes in
the packet loss rate, the queue length is still jittery obviously.
BLUE [12] is an adaptive approach adjusting the drop probability, which deter-
mines a period with the random method. The mechanism updates the average
queue length according to the number of data connections and traffic, when receiv-
ing the packet. The probability of being discarded is updated at the end of this peri-
od. If there is a greater packet drop, the drop probability increases; if the router
cache is relatively free, drop probability is reduced. Contrast to RED, BLUE algo-
rithm can obtain greater link utilization and lower packet loss rate.
Network system is a huge feedback control system [13], the complexity and dy-
namic of network itself, makes network control more disperse, therefore, the formu-
lation of control strategy highly depends on part information [14, 15]. However,
above classic congestion control algorithm does not consider the importance of
information control in keeping network system stable. ACK packet’s transmission
delay or discard because of link congestion makes it impossible for the sender to get
network state information timely and adjust the state of the network in time, which
leaves the network in an unstable state, and seriously affects the service quality and

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 653

holistic performance of the network [16, 17]. Therefore, it is important for improving
network performance and maintaining network stability to improve the ACK packet
forwarding priorities.

3 Multi-Level Priority Queues


In the multi-level priority queues, each queue has different priority. Before dispatch-
ing, firstly-arriving packets are classified, and then assigned to the queue with the
appropriate priority. The same packets in the same queue are dispatched in accord-
ance with the principle of first come first served. As for the different queues, the
service objects are selected according to the priority of their queues.
Firstly, the queue with the highest priority is selected to be scheduled; if the
queue with the highest priority is empty, the queue with the next highest priority is
selected; when the queue with the second highest priority is empty, the queue with
the lower priority is selected, and so on. Since the packets in the queue with higher
priority are to be serviced firstly, their delay is relatively small and their throughput
is relatively large. The basic scheduling principle is shown in Fig. 3.

Fig. 3: Scheduling algorithm

Three operating containers are required to implement the priority queue as follow-
ings:
(1) Enqueuer puts objects into the container;
(2) Get Object returns the object in the container;
(3) Dequeuer deletes the object from the container.

An abstract class, called Priority Queue, is derived from the class Container. In addi-
tion to the inherited function, three functions are also included in the public inter-
face.

Unauthenticated
Download Date | 11/4/17 4:12 PM
654 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

1. Class Priority Queue: public virtual Container


2. {
3. Public:
4. virtual void Enqueuer(Object&)=0;
5. virtual object& Get Object() const=0;
6. virtual object& Dequeuer()=0;
7. };

Another way to implement priority queue is using the search tree. If multi-level
priority queue is implemented with the balanced binary tree, the running time of all
three operations is O (log n). Also, the functions provided by the search tree are
more than what we need. We can find better ways to achieve the priority queue,
among which the binary heap is one. The binary heap is a special binary tree with
the ordered heap, which can be implemented with the array data structure. Its reali-
zation is based on the calculation of the array subscript, rather than the pointer
manipulation. And, due to the use of the array, the overhead contained in the tree
node pointer is essentially small. We can declare the concrete class, called Binary
Heap, derived from the abstract class Priority Queue as following program code.

1. Class Binary Heap: public Priority Queue


2. {
3. Array<Object*>array;
4. Public:
5. Binary Heap(unsigned int);
6. ~Binary Heap ();
7. //……
8. }

Herein, the implement of the Binary Heap class needs the member variable array
only, which is declared as a pointer array instance pointing the class Object. This
array stores the pointers which point to the objects contained in the binary tree.
When the stack has n data items, the pointers, which point to these data item, occu-
py the n top position of the array.

4 The Double-Level Priority Queue Congestion


Control Strategy (DPQCC)
In order to reduce the ACK packet loss rate, a queue will be set specially in the net-
work routing node to save temporarily ACK packets which cannot be retransmitted

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 655

timely because of link congestion; In order to reduce the ACK’s queuing delay, the
cache ACK queue priority can be improved, so that when the link is free, the ACK
packet in the queue can be retransmitted preferentially, system structure is shown
in Fig. 4.

Fig. 4: Link Environment

Set the current queue length as q, in a single queue strategy, when the average
queue length (q_avg) is less than the minimum threshold (q_min), the phenomenon
of packet loss will not appear, packet queuing delay is the minimum at this time, it
is:

q
t _ que 
Vout (3)

When q_avg > q_min, new arrival packet will not only increase the queuing delay, it
might be discarded as well.
In the double-level priority queue strategy, set the current queue length of high
priority queue Q_ack as q_ack, set the current queue length of low priority queue
Q_data as q_data, then, the total length of the system’s logical queue is: q_ = q_ack
+ q_data, Vout is the forwarding rate of router, Vin is the current access rate of rout-
er, now, the queuing delay of ACK message is:

q _ ack
t _ que ' 
Vout (4)

Becasuse: q_ > q_ack,


Then: t_que > t_que,
When packet in the link continues to increase, the queuing delay of subsequent ACK
message increases as well, but the packet loss rate will reduce significantly, only

Unauthenticated
Download Date | 11/4/17 4:12 PM
656 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

when the queue Q_ack and Q_data is not able to cache packet, the ACK packet is
discarded.

5 The Packet Enqueuer and Dequeuer Algorithm


As the feedback information about the network system status, ACK packets are
smaller, fewer, and take relatively less network bandwidth resources compared with
the application packets. They can be specially treated because of these characteris-
tics. The higher priority queue (Q_ack) can be used for caching the control infor-
mation packets; and its queue management can ensure that the messages in the
queue are timely forwarded using the Drop-Tail strategy. The lower priority queue
(Q_data) is used for caching other types of packets; and its queue management can
be using RED queue management strategy.

A. Packet Buffer Process


When the router queue receives a packet or the queue is not empty:
(1) Judge whether or not free (idle) the forwarding path is. If it is idle, retransmit the
packet directly, turn to (5); otherwise, cache packets received, turn to (2).
(2) Obtain packet type from the packet header information, if the type of packet is
“ack”, it is proved that the packet is ACK packet, cache it to Q_ack, turn to (3);
but if the packet type is not “ack”, cache it to Qdata, then turn to (4).
(3) Calculate the current queue’s length q, if q < q_ack_max, put packet into queue,
turn to (1); otherwise, turn to (4).
(4) Calculate the average length of the current queue and packet loss rate, and deal
with the new arrival packets by the current packet loss rate (follow the RED al-
gorithm), turn to (1).
(5) Wait for the arrival of the packet.

B. The Packet Enqueuer Algorithms


When a router receives a packet, it will judge whether or not idle the forwarding
path is, if it is idle, retransmit packet directly, otherwise, cache the packet to the
queue. Packet enqueuer algorithm is described as follows:
Input: the received packet: Packet* p
Output: the packet enqueue or discarded
Algorithm Enqueue (Packet* p)
1. hrd_ip*p_type<-hdr_ip:: access(p);
2. If*strcmp(p_type,”ack”) then

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 657

3. if((Q_ack->length+p->size)<q_max) then
4. Q_ack->enque(p);
5. else
6. q_avg<-calculate_avg(p);
7. if (q_avg<q_min_threshold) then
8. Qdata->enque(p);
9. else
10. if(q_min_threshold<q_avg<q_max_threshold) then
11. calculate _p(q_avg,p);
12. else
13. drop(p);
14. else
15. q_avg<-calculate_avg(p);
16. if(q_avg<q_min_threshold) then
17. Qdata->enque(p);
18. else if(q_min_threshold<q_avg<q_max_threshold)
19. then calculate _P(q_avg, p);
20. else
21. drop(p);
22. End

Among them, p_type is packet type; q max is the maximum length of queue;
q_min_threshold is the minimum threshold of queue; q_max_threshold is the big-
gest threshold; q_avg is the average length of the current queue.

C. The Packet Dequeuer Algorithm


When the forwarding link is idle, remove the forwarding packets stored in the buffer,
and then retransmit them. When choosing a forwarding packet, choose the control
information packet preferentially. The packet dequeuer’s algorithm is described as
follows:
Input: the link is ideal: ideal
Output: the dequeue Packet: P
Algorithm Packet* Dequeue()
1. Packet*p<-null;
2. p<-Q_ack->deque();
3. if(p!=null) then
4. return p;
5. else{
6. p<-Q_data->deque();
7. if(p!=null) then

Unauthenticated
Download Date | 11/4/17 4:12 PM
658 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

8. return p;
9. }
10. return p;
11. End

Among them, the ideal is forwarding link path, p is the packet removed from the
queue. It can achieve the fast retransmission of ACK message effectively through the
algorithm, then, alleviate the network congestion, and maintain the stability of the
network.

6 The Simulation Experiment


The simulation experiment use NS-2.34 [18], simulation experiment link topology is
shown in Fig. 5. S in this picture is the sender, D is the receiving terminal. Data
streams sent include data stream based on TCP and data stream based on UDP; The
link’s bandwidth between Routing node R1 and node R is 6 Mbps, transmission
delay is 10 ms; There are two receiving terminals Dx and Dy added in the left of this
picture, two sending nodes Sx and Sy added in the right of this picture, the purpose
of setting the two links is to provide the background flow of the return link.
In order to verify the validity of the double-level queue DPQCC strategy, experi-
ment based on single queue strategy will be done to compare with them.

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 659

Fig. 5: ink topology

A. The Packet Loss Rate


Packet loss rate refers to the packet number discarded on the router and the per-
centage of the packets sent by the sender number.
In the same experimental environment, when using RED algorithm and DPQCC
strategy, respectively count the number of packets received (en_count), the number
of forwarding packets (f_count), the number of packets dropped (d_count), the
number of packets received by the receiving terminal (r_count), and the relative
packet loss rate (d) (10 groups of experiments, count experimental results every
time, choose the average values of 10 groups of data).
The number of packets received by the router nodes (r_count), the number of
forwarding packets (f_count), the number of packets dropped (d_count), and the
relative packet loss rate (d) is given in Table 1 under the simulation test respectively
based on RED algorithm and DPQCC strategy. As shown in Table 1: at the same sim-
ulation time, when using RED algorithm, the sender sends 26539 packets totally, 687
packets are discarded because of link congestion, the packet loss rate is 2.59%;
However, when using DPQCC strategy, the sender sends 32086 packets totally, 555
packets are discarded because of link congestion, the packet loss rate is 1.73%.

Unauthenticated
Download Date | 11/4/17 4:12 PM
660 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

Compared with the RED algorithm, when using DPQCC strategy, the sender sends
more 5547 packets, packet loss rate was reduced by 0.86%.

Tab. 1: Statistical results of data packets

name en_count r_count f_count d_count d

RED 26539 25852 25852 687 2.59%


DPQCC 32086 31531 31531 555 1.73%

Table 2 gives the situation of TCP packets’ sending, receiving and missing under
RED and DPQCC congestion control methods. As shown in the table, at the same
simulation time, the distinction of packets’ sending is large, compared with the RED
algorithm, when using DPQCC, 245 TCP packets are discarded totally, the packet
loss rate was reduced by 0.48%.

Tab. 2: Statistical results of TCP data packets

name en_count r_count f_count d_count d

RED 15173 14897 14897 276 1.82%


DPQCC 18204 17959 17959 245 1.34%

Table 3 gives the situation of ACK packets’ sending, receiving and missing in return
link under RED and DPQCC methods. As shown in the table, at the same simulation
time, the difference of ACK packets’ transmission situation is obvious, compared
with RED, when using DPQCC, ACK packet loss rate is reduced by 2.41%.

Table 3: Statistical results of ACK data packets

name en_count r_count f_count d_count d

RED 4963 4748 4748 215 4.34%


DPQCC 6012 5896 5896 116 1.93%

It shows that the congestion control strategy based on the double-level priority
queue can obviously reduce the packet loss rate of the network when the link envi-
ronment is similar, the main reason can be summed up as the following two points:

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 661

(1) Using double queue mechanism expands the length of the buffer queue, ab-
sorbs more packets which has not been retransmitted timely, and then reduces
the packet loss rate of network.
(2) ACK packets’ priority forwarding and low packet loss rate makes ACK message
send the current state of the network to the controller (the sender) faster and
more completely, and then adjust to the current network status as soon as pos-
sible, so the entire network is in a relatively stable state.

B. The Transmission Delay


Under RED and DPQCC methods, the experimental results of TCP packets’ end-to-
end delay are shown in Fig. 6. Compared with RED, when using DPQCC, network at
the initial stage (1 min to 2 min) cannot get to a stable state quickly, the time delay is
jitter; After the initial stage, the network status tends to be stable, packet delay
shaking is relatively small, packet end-to-end delay is between 30 ms and 42 ms;
When the network is in a state of severe congestion (around 5 min, 7 min), delay
shaking is bigger. Time delay increases because the buffer queue space increases,
which make part of the data packets in the queue state for a long time, thus the
queuing delay is increasing. But, on the whole, the TCP packet delay shaking is
lesser, which indicates that the network stability is better.

Fig. 6: RED-DPQCC delay comparison

Unauthenticated
Download Date | 11/4/17 4:12 PM
662 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li

C. The Throughput
According to Table 1, in the same network environment, when using RED, network
average throughput is 24331 packets; however, when using DPQCC algorithm, the
average throughput is 29482 packets. The difference is 5151 packets, and the latter’s
throughput is increased by 21.1% than the former’s. The contrast of throughput
change curve is shown in Fig. 7. It can be seen that: compared with RED, when us-
ing DPQCC, network throughput is increased significantly.

Fig. 7: RED-DPQCC throughput comparison

7 Conclusions and Future Work


In the multi-level priority queue based congestion control algorithm, an ACK packet
transmission status significantly influences the stability and throughput of the net-
work. As a result, improving the ACK packet forwarding priorities and reducing the
packet loss rate plays an important role in improving the stability of the network
and network integrity ability. In the queue congestion control algorithm, adding the
length of the buffer queue can simply reduce packet discarding rate to a certain
extent, but at the same time, the end-to-end delay of data packets will be increased,
especially when control information data packet is increased, the whole network
will be in an unsteady state. Therefore, on the basis of original congestion control,
adding a high priority queue which is used to deal with the control information
wholly, can achieve fast forwarding, reduce the time delay and reduce the packet
loss rate.
In the future, we will adjust our TCP congestion control strategy dynamically
during the data transition. Delay time factor is added into the forwarded packets.

Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 663

Those packets with the longer delay time are put in higher-priority queue and can
be forwarded earlier. This more fine-grained TCP congestion control strategy is ex-
pected to have lower packet loss rate and greater throughput.

Acknowledgement: This work was supported by Project 15C0487 of the Hunan


Provincial Education Office Science Research of China.

References
[1] V. Carchiolo, M. Malgeri, G. Mangioni, V. Nicosia, “Fast Information Retrieval in a Self–
Organising P2P Network,” Journal of Computers (Taiwan), Vol. 2, No. 5, pp. 75–81, 2007.
[2] G.D. Stefano, A. Petricola, “A Distributed AOA Based Localization Algorithm for Wireless
Sensor Networks,” Journal of Computers (Taiwan), Vol. 3, No. 4, pp. 1–8, 2008.
[3] J.H. Yang, J.P. Wu, A Changing. Internet Measurement Theory and Application, the People's
Posts and Telecommunications Press, Beijing, 2009.
[4] S.L. Zhang, “Research of End Network Congestion Control and Quality of Service,” Zhejiang
University, Hangzhou, 2004, 3.
[5] H.F. Feng, Y.T. Shu, “Study on Network Traffic Prediction Techniques,” Wireless Communica-
tions, Networking and Mobile Computing Proceedings, Vol. 2, 995–998, 2005.
[6] G.Q. Guo, Y.X. Zhang, H.B. Wang, “IP traffic based on delay planning conditions,” Computer
Science, Vol. 3, pp. 49–50, 2002.
[7] S.S. Wang, Y. Hao, “Research on TCP Optimization Strategy of Application Delivery Network,”
IEEE, Vol. 11, pp. 14–17, 2011.
[8] S. Athuraliya, D.E. Lapsley, S. H. Low, “Random Early Marking for Internet Congestion Control,”
IEEE/ACM Transactions on Networking, Vol. 3, No. 15, pp. 48–53, 2001.
[9] X.F. Chen, “RED Strategy Based Congestion Control Algorithm,” Dalian Maritime University,
Dalian, 2008.
[10] S. Floyd, R. Gummadi, “Adaptive RED: An Algorithm for Increasing the Robustness of RED’s
Active Queue Management,” AT&T Center for Internet Research at ICSI, 2001, 8.
[11] C.G. Wang, “LRED: A Robust and Responsive AQM Algorithm Using Packet Loss Ratio Meas-
urement,” IEEE Transactions on Parallel and Distributed Systems, pp. 29–43, 2007.
[12] W. Feng, D. Kandlur, D. Saha and K.G. Shin, “Blue: A New Class of Achieve Queue Manage-
ment Algorithms,” UM SCE-TR-387–99, 1999.
[13] Q. Yan, X.J. Hun, “Research of Active Queue Management Show Congestion Indication Mark,”
Computer Engineering and Applications, Vol. 48, No. 5, pp. 85–92, 2012.
[14] V. Misra, W.B. Gong, “Fluid based Analysis of a Network of AQM Routers Supporting TCP
Flows with an Application to RED,” SIGCOMM’00, Stockholm, Sweden, Vol. 4, pp. 113–224,
2000.
[15] B. Gao, M.S. Tan, Q. Chen, H. Zhao, “Research of ACK Packet Congestion Impact on the Net-
work Performance,” Network Security Technology & Application, Vol. 11, 2011.
[16] M. Borri, M. Casoni, M.L. Merani, “An Experimental Study on Congestion Control in Wireless
and Wired Networks,” ICC 2005, 2005 IEEE International Conference on Communications, Vol.
5, pp. 3570–3575, 2005.
[17] K. Hwangnam, J.C. Hou, “Network Calculus Based Simulation for TCP Congestion Control:
Theorems, Implementation and Evaluation, “INFOCOM 2004, Twenty-third AnnualJoint Con-
ference of the IEEE Computer and Communications Societies, 2004.
[18] The Network Simulator – ns2, http://www.isi.edu/nsnam/ns/.

Unauthenticated
Download Date | 11/4/17 4:12 PM
Unauthenticated
Download Date | 11/4/17 4:12 PM

You might also like