The document discusses and compares several TCP congestion control algorithms like TCP Reno, Vegas, and a novel self-tuning proportional and derivative (ST-PD) control algorithm. It provides details on TCP Reno including its congestion avoidance mechanism and issues. It then describes the design and benefits of the proposed ST-PD algorithm for congestion control.
Download as ODT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
206 views
TCP Paper
The document discusses and compares several TCP congestion control algorithms like TCP Reno, Vegas, and a novel self-tuning proportional and derivative (ST-PD) control algorithm. It provides details on TCP Reno including its congestion avoidance mechanism and issues. It then describes the design and benefits of the proposed ST-PD algorithm for congestion control.
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 7
segment every RTT.
In fact, when the bandwidth-
delay product is large and the network is 1) Abstract: underutilized, increasing window size by more than one segment every RTT can help a TCP connection Research in the TCP congestion control reach its maximum throughput more quickly. All over wired and wireless network is the major focus packet losses are assumed to be due to buffer of this paper. We have studied the performance overflows. characteristics in comparison of different algorithm To overcome the limitations of current TCP versions discussed above, the new scheme is like TCP RENO, TCP VEGAS,TCP RQB,TCP proposed called as self tuning proportional and NOVEL. Various parameters and performance derivative control (ST-PD). It addresses the issue of different algorithms has been taken into congestion control problem from a control- consideration and their effectiveness is suggested. theoretical perspective. These algorithms vary in the throughput in wired and wireless network. 3) TCP RENO PROTOCOL:
Keywords: TCP Reno is the widely used transmission
control protocol. TCP Reno protocol is designed for TCP, mixed wired and wireless network, wired networks, when packet loss, Reno would congestion loss and wireless loss. consider network, congestion and thus reduce the congestion window and slow start threshold. While 2) INTRODUCTION: in the wireless environment a noisy, fading radio channel is the more likely cause of loss. This creates In recent years TCP congestion control has been challenged both by the exponential growth of problems in TCP Reno since it does not possess the internet traffic and by the variety of media over capability to distinguish and isolate congestion loss which TCP traffic is increasingly being carried on. from wireless loss, start unnecessary congestion TCP congestion control is realized by regulating control mechanism, resulting in link free, wasting the congestion window size maintained by each sending opportunity to cause system performance TCP sender. TCP updates its congestion window degradation. size dynamically in response to packet TCP Reno induces packet losses to estimate acknowledgments and the detection of packet losses. The widely deployed versions are TCP the available bandwidth in the network. While there Tahoe and TCP Reno, which have reactive are no packet losses, TCP Reno continues to congestion control schemes. In these schemes, increase its window size by one during each round congestion window size is increased when packets trip time. When it experiences a packet loss, it are acknowledged, and decreased when packet reduces its window size to one half of the current loss is detected. The more recent TCP Vega SI window size. This is called additive increase and tries to reduce packet losses by using a proactive multiplicative decrease.(AIMD). TCP Reno, congestion control method. It calculates a parameter called 'actual throughput' by counting however, fails to achieve fairness allocation of the number of bytes transmitted every round-trip bandwidth, because TCP is not a synchronized rate time (RTT). The congestion window updating based control scheme, which is necessary for the decision is based on the difference between an convergence. expected throughput and the actual throughput. All of the congestion control mechanisms mentioned above are based on heuristic methods. For example, during the congestion avoidance phase when the congestion window needs to be increased, TCP Tahoe, Reno and Vegas increase the window size by one segment every RTT. There are no essential reasons why TCP should not increase its window size by more than one size to one half of the current window size. This is size by 1/cwnd, that is, cwnd = cwnd +1/cwnd, the called additive increase and multiplicative linear growth of congestion window. decrease.(AIMD). TCP Reno, however, fails to (iv) If three duplicate ACK are received, TCP achieve fairness allocation of bandwidth, because enters fast retransmission and fast recovery phase, TCP is not a synchronized rate based control sets ssthresh to half of the current congestion scheme, which is necessary for the convergence. window, cwnd is equal to ssthresh, and retransmits The congestion avoidance mechanism the lost packets. adopted by TCP Reno causes a periodic oscillation (v)If the retransmission timer timeout, TCP in the window size due to the constant update of regards packet loss, set ssthresh to half of the the window size. This oscillation in the window current congestion window, cwnd is one segment, The congestion avoidance mechanism and then TCP retransmits the lost packets and adopted by TCP Reno causes a periodic oscillation enters the slow start phase. in the window size due to the constant update of the window size. This oscillation in the window size leads to an oscillation in the round trip delay of the packets. This oscillation results in larger delay jitter and an inefficient use of the available bandwidth due to many retransmissions of the same packets after packet drops occur. The rate at which each connection updates its window size depends on the round trip delay of the connection. Hence, the connections with shorter delays can update their window sizes faster than other Above figure(a) shows the throughput of tcp-reno connections with longer delays, and thereby steal which is heuristic in nature of TCP reno an unfair share of the bandwidth. As a result, TCP congestion control mechanism make tcp reno Reno exhibits an undesirable bias against the connection very sluggish to reach their share of connections with longer delays bandwidth.
TCP RENO ALGORITHM:
4) Novel TCP congestion control: (i) For a given TCP connection, the congestion window (cwnd) is initialized to one segment size, A novel self-tuning proportional and- slow start threshold (ssthresh) is 65535 bytes. TCP derivative (ST-PD) control based TCP congestion sending window is the minimum between cwnd control scheme is proposed. In ST-PD TCP, and congestion control is carried out by a PD the receiver notice window. controller. A fuzzy logic controller is used to Tune (ii) Slow start phase, when the sender receives a the gains of the PD controller. ST-PD TCP probes new ACK, it increases its window size by one, that available bandwidth without causing buffer is, cwnd = cwnd +1, congestion window increases overflows. This Feature enables ST-PD TCP to exponentially, and cwnd is smaller than ssthresh. decouple its congestion control and error control (iii) When cwnd is greater than ssthresh, TCP is in functions. As a result ST-PD TCP operates more congestion avoidance phase, when the sender efficiently over unreliable transmission Media. receives a new ACK, and increases its window The ST-PD TCP congestion control operates on a purely end-to-end basis without any involvement of the intermediate nodes The major control entity resides at source nodes where the network resource information. such as the bandwidth of each link. the buffer sire of each node and the number of competing connections, is unavailable. the major control entity resides at intermediate nodes, which have explicit knowledge about the bandwidth, buffer size and the number of active flows. The only feedback information for ST-PD TCP is acknowledgments of received data.
DESIGN ASPECT OF ST-DP TCP :
fig.2 Consider an arbitrary 1P based network in which a TCP connection S-D traverses a set of routers R1, R2.. ... R, as shown in Fig. 1. Each link between adjacent routers is shared by other In the ST-PD congestion control scheme, TCP connections. Existing TCP connections can the increase or decrease of the congestion window leave and new TCP connections can join in at any is proportional to the control error, which makes time without being subjected to connection ST-PD TCP connections reach their share of admission control. The service discipline of the bandwidth more swiftly as indicated in Fig.2. bottleneck link is first-in first-out. Each router has a finite buffer, and arriving packets are dropped when the buffer is full. Flowchart of st-pd tcp error control and congestion control:
Throughput of st-pd tcp congestion
control: that when the network is not congested, the actual flow rate will be close to the expected flow rate. Otherwise, the actual flow rate will be smaller than the expected flow rate. TCP Vegas, using this difference in flow rates, estimates the congestion level in the network and updates the window size accordingly. Note that this difference in the flow rates can be easily translated into the difference between the window size and the number of acknowledged packets during the round trip time, using the equation:
Diff = (Expected - Actual) Base RTT;
where Expected is the expected rate, Actual is the
actual rate, and Base RTT is the minimum round trip time. The details of the algorithm are as follows:
1. First, the source computes the expected flow
rate Expected = CWND/Base RTT , where CWND is the current window size and Base RTT is the minimum round trip time.
2. Second, the source estimates the current flow
rate by using the actual round trip time according to Actual = CWND/RTT , where RTT is the actual round trip time of a packet.
3. The source, using the expected and actual flow
rates, computes the estimated backlog in the queue from Diff = (Expected-Actual) Base RTT.
4. Based on Di_, the source updates its window
size.
5) TCP VEGAS: TCP Vegas does not cause any oscillation in
window size once it converges to an equilibrium point. One of the problems is the issue of TCP Vegas does achieve higher efficiency than rerouting. Since TCP Vegas uses an estimate of the propagation delay, base RTT, to adjust its window TCP Reno and causes much less packet re size, it is very important for a TCP Vegas transmissions. TCP Vegas achieves 37 to 71 connection to be able to have an accurate percent higher throughput than TCP Reno. TCP estimation. Another important issue is the stability Vegas adopts a more sophisticated bandwidth of TCP Vegas. Since each TCP Vegas connection estimation scheme. It uses the difference between attempts to keep a few packets in the network, expected and actual flows rates to estimate the when their estimation of the propagation delay is available bandwidth in the network. The idea is off, this could lead the connections to inadvertently keep many more packets in the the queuing packets in the network, the variation network, causing a persistent congestion of the congestion level in network. The expected rate and the actual rate, as well as the minimum rate are estimated as follows: Expected= cwnd/RTT(min) Actual= cwnd/RTT Small= cwnd/RTT(max) The cwnd is the current TCP congestion window size, RTT(min) is the minimize round-trip time RTT(max) is the largest round-trip time RTT(max) Fig: Network Topology. is not more than the value of time-out timer RTT is Figure shows the topology of the network that the current round-trip time. was simulated to demonstrate the fairness of TCP Number of queuing packets N Vegas. In the figure, the circles denote finite buffer N= (Expected -Actual)*RTT(min) switches and the squares denote the end hosts. Buffer size B Connection 1 transmits packets from S1 to S3, and B = (Expected - Small)*RTT connection 2 from S2 to S4. F is the ratio of the number of queuing packets and the buffer size in bottleneck link. 6) TCP RQB : F=N/B=Expected-Actual/Expected-Small ={[RTT- In TCP-RQB the ratio of the number of RTT(min)]/[RTT(max)-RTT(min)]}*[RTT(max)/ the queuing packets to the buffer size in bottleneck RTT] link is estimated. It uses this ratio parameter to We can determine congestion level according to F. determine the congestion level. It uses four sub- phases to improve TCP-Reno congestion SIMULATION:- avoidance phase according to congestion level, so There are basically four sub-phases in the transmission can be more long term stability at TCP-RQB Algorithm. high speed status. TCP-RQB algorithm 1) Slow start phase distinguishes congestion loss from wireless loss 2) Congestion avoidance phase according to congestion level, then adjusts the 3) Fast retransmission congestion window and slow start threshold. 4) Fast recovery
In TCP protocol, RTT (round-trip time) Slow start phase
reflects the variation of the overall state of the When setting up a TCP connection, it is necessary network. It contains three parts: to detect the network bandwidth in order to determine the maximum capacity of the network. 1) The transmission time of data The slow start phase of TCP RQB is the same as 2) The processing time at the receiver TCP Reno .Congestion window is initialized to one segment.TCP RQB increases its window size 3) The queuing and processing time at the router. by one during each round trip time. The first one which affected by the wireless link would fluctuate randomly, the second one is relatively fixed in a same TCP connection, and the Congestion avoidance phase: third one changes with the congestion level of the network.RTT effectively reflects the variation of TCP-RQB congestion avoidance phase is that packet loss due to wireless loss, not changes to use a faster rate to achieve maximum capacity the cwnd and ssthresh. of the network, and then slow down the sending Note that timeout means the situation of the timer rate, making the process of sending stability at a time-out. If congestion level is greater than or higher rate. Use the ratio of the number of queuing equal to 3, it indicates that the degree of packets to the buffer size in bottleneck link as a congestion is more serious, TCP-RQB will reduce parameter ,and use four sub-phases to change the ssthresh to half of the current cwnd and reduces congestion window. The increment=1/cwnd, and cwnd to one. If the congestion level is smaller or the adjustment factors considered if the adjustment equal to 2, it indicates a lesser degree of factor is not appropriate, it is easy to cause packet congestion, TCP-RQB reduces the ssthresh and loss or the waste of bandwidth. cwnd appropriately. When a new ACK is received if congestion level is 1,it means that the network condition is good, TCP-RQB increases the congestion window more rapidly than Reno, cwnd + = 2 * increment; if congestion level is 2, congestion level increased ,TCP-RQB slows down the speed of window growth, cwnd + = increment; if the value of congestion level is 3, the network condition is down, TCP-RQB further reduces the speed of window growth, cwnd +=0.3* increment; if the value of level is 4, it indicates that the network tends to congestion, TCP sender will Variation of Throughput with varying Bit error rate reduces the congestion window appropriately in order to avoid congestion, cwnd = cwnd + (-0.6) * Increment.
Fast Retransmission and Fast Recovery
The performance of the widely used TCP
protocol is lower in mixed wired/wireless networks. Because it could not distinguish congestion loss from wireless loss, any of the Variation of packet loss with varying bit error rate packet loss is attributed to congestion and TCP would reduce the congestion window. TCP-RQB algorithm uses congestion level to distinguish congestion loss from wireless loss, then adjusts the 7) CONCLUSION: congestion window and slow start threshold. If the congestion level is greater than or TCP RENO protocol can be good for equal to 3, it means that the degree of congestion mixed wired/wireless networks .An advance scheme named TCP-RQB is proposed in this ,ratio is more serious and TCP-RQB regards that packet of number queuing packets to buffer size in loss due to network congestion, it reduces cwnd bottleneck link is estimated .TCP-RQB uses the and ssthresh in accordance with Reno. If the ratio as a parameter to determine the congestion congestion level is less than or equal to 2, it level , uses four sub-phases to improve TCP indicates less congestion, so TCP-RQB regards RENO congestion avoidance phase according to congestion level , so that that transmission can be more long term stability at high speed status. Rerouting and persistent congestion is also possible by TCB-RQB. A new scheme stpd is proposed .This scheme enhances TCP performance by keeping the controller, changes in congestion window size are proportional to control error. Furthermore, the derivative part of the PD controller, which is sensitive to error change rate, helps to suppress control loop latency induced overshoots. Compared with current TCP implementations, ST- PD TCP can respond to available bandwidth variations more swiftly and accurately The ST-PD TCP scheme probes the available bandwidth without causing buffer overflows This makes the new scheme capable of providing effective TCP congestion control over error-prone wireless links where conventional TCP congestion control schemes are known to perform poorly. TCP Vegas adopts a more sophisticated bandwidth estimation scheme.
8) References:- 1. Li Yun, Zhang Rui, Liu Zhanjun, Liu Qilie, Chongqing University of Posts and Telecommunications,Chongqing 400065, China.
2. Jeonghoon Mo, Richard J. La_, Venkat
Anantharam, and Jean Walrand, Department of Electrical Engineering and Computer Sciences, University of California at Berkeley, July 13, 1998.