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 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 . 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 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 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: [email protected] 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: [email protected]

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. 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 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 (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 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 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 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. 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 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. 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. Arrayarray; 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 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 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

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 Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 657

3. if((Q_ack->length+p->size)enque(p); 5. else 6. q_avg<-calculate_avg(p); 7. if (q_avgenque(p); 9. else 10. if(q_min_thresholdenque(p); 18. else if(q_min_threshold

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 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. 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%. 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: 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 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. 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/.