Professional Documents
Culture Documents
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
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.
Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 651
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)
(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
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.
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
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.
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.
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.
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)
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.
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.
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.
Unauthenticated
Download Date | 11/4/17 4:12 PM
Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 659
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%.
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%.
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%.
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.
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.
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.
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