430 likes | 589 Views
Solutions for Improving TCP Performance over Emerging Networks. K.R.Renjish Kumar kaleelaz@comp Centre for Internet Research. Outline. Introduction Emerging Networks TCP TCP over Emerging Networks Issues Solutions TCP HACK MBM. Introduction. Internet has come a long way with:
E N D
Solutions for Improving TCP Performance over Emerging Networks K.R.Renjish Kumar kaleelaz@comp Centre for Internet Research
Outline • Introduction • Emerging Networks • TCP • TCP over Emerging Networks • Issues • Solutions • TCP HACK • MBM
Introduction • Internet has come a long way with: • Different kinds of networks • increasing number of users • innumerable applications which require better quality of service.
Emerging Networks • Lossy Link networks • Wireless networks like wavelans • Satellite networks • Quality of Service(QoS) model based networks • Integrated Services (IntServ): Provides QoS in a per connection basis • Differentiated Services (DiffServ): Provides QoS for an aggregate flow. Much more scalable compared to IntServ.
Transmission Control Protocol (TCP) • De facto Transport layer Protocol • 95% of data byte share in the Internet • Common applications like Telnet,FTP and HTTP uses TCP
TCP contd… • TCP Header • Sequence Number : the first byte of data in this segment. • Options: For any additional features. • Rate Control • Slow start,fast retransmit,recovery, congestion avoidance. • Segments send equal to the minimum of the sender’s window(cwnd) and receivers window.
Emerging Networks-Lossy Networks • Access Networks are increasingly becoming wireless eg: wavelans • Acts as bottlenecks. Bandwidth limited. • Prone to higher rate of corruption
TCP over Lossy Links … • Issues • performs poorly in lossy links where the rate of corruption of packets are higher • Reason: TCP assumes that loss of packets are due to congestion and not corruption, thus reducing the cwnd and thus reducing the throughput.
Solution • TCP HACK: TCP Header Checksum Option to Improve Performance over Lossy Links. IEEE INFOCOM 2001,Anchorage,Alaska R.K.Balan,B.P.Lee,K.R.R.Kumar,L.Jacob,W.K.G.Seah, A.L.Ananda, IEEE INFOCOM 2001,Anchorage,Alaska
TCP HACK • Key Observations • For most data transfers, the data portion of a TCP packet is much larger than the header portion of the packet (may not be true for interactive traffic) • As such, corruptions are far more likely to occur in the data portion and not the header portion • Given this scenario, can we make use of the intact header to make TCP perform better?
TCP Hack Algorithm contd.. • On receiving this specially marked ACK packet, the sender will know that packet corruption and not congestion has occurred • As such, the sender will retransmit the corrupted packet and will not half its congestion window
Kind=14 Length=4 1’s complement checksum of TCP header and pseudo-IP header Kind=15 Length=6 32-bit sequence number of corrupted segment to resend Header Checksum option TCP Header Checksum option TCP Header Checksum ACK option
Data segment to be sent No Header checksum option enabled? Yes Modifications to the TCP sender Continue as per normal • ) Calculate header checksum of segment • ) Continue as per normal TCP Sender
TCP Receiver Data segment received No TCP segment corrupted? Continue as per normal Yes Header portion corrupted? Yes Discard Packet No • ) Recover sequence number of corrupted segment from header. • ) Generate ‘special’ ACK (option 15) containing the sequence number of the corrupted segment.
1) Extract sequence number of corrupted segment • ) Selectively retransmit the segment • ) ACK is discarded without further processing ACK Processing ACK segment received No Option 15 present in the segment? Yes Modification to the ACK processing
Note • For TCP HACK to be effective, link layer retransmissions and error recovery should be turned off • Corrupted packets should be sent up to the TCP layer where TCP HACK will do the retransmissions
Error / Delay Box Client Server Experimental test bed Experimental Setup • Implemented into the Linux 2.2.10 kernel • Test bed was set up comprising of 3 machines • Client and server were running TCP HACK • 2 different models were used • Single packet corruption. • Burst corruption with differing burst lengths
1 2 3 4 Throughput versus percentage packet loss for short latency (10 ms) link with random single packet errors 2 1 3 4 Low Latency Links
Throughput versus percentage packet loss for long latency (300 ms) link with random single packet errors 1 2 3 4 3 1 4 2 High Latency Links
Fig. 7: Average number of slow-starts for long latency link with random single packet errors Number of slow starts
Observations • Both SACK and TCP-HACK are better than NewReno • Hence NewReno was removed from the tests when burst errors were introduced
Burst errors Throughput for 2% burst error for various burst lengths Throughput for 5% burst error for various burst lengths
Throughput versus Time graph for various TCP implementations (5% packet error rate with burst length of 5) Throughput vs Time
Inference • How is TCP HACK doing retransmissions a good idea? • Could help stabilize TCP and prevent it’s RTT calculation from fluctuating widely (especially useful when using a long latency link) • Provides more information to TCP, thus preventing it from unnecessarily timing out • Distinguishes between congestion and corruption • Improves overall TCP performance
Emerging QoS Network Architecture • Differentiated Services (DiffServ) • Provides QoS for aggregate flows using different per hop forwarding behaviours at the core routers. • Basic building blocks of DiffServ • Classifiers • Meters • Markers • Policers
DiffServ Meter Packet Classifier Marker Policer Logical View of a Packet Classifier and Traffic Conditioner
TCP over QoS based Networks • Issues • Bias against connections with long Round Trip Time (RTT) • Reason:Long RTT flows takes longer time to ramp up. • Bias against connections with smaller window sizes • Reason: Smaller windows mean smaller throughput • Protection from unruly traffic like UDP traffic. • Reason: UDP traffic has no rate control mechanism and hence kills TCP traffic.
Solution • A Memory-Based Approach for a TCP-Friendly Traffic Conditioner in DiffServ Networks.to appear in Proc. of the 9th IEEE International Conference on Network Protocols (ICNP 2001), Riverside, California. K.R.R.Kumar, A.L.Ananda, Lillykutty Jacob
Memory-Based Marker (MBM) • Key observations • Markers, one of the building blocks of a traffic conditioner play a major role for resource allocation in a DiffServ network. • TCP performance is highly influenced by two parameters, namely RTT, and window size. • Markers are mostly deployed at the edge routers, which cannot easily decide the window size and RTT of the various TCP connections passing through.
What is needed? • Marking algorithm • Least sensitive to both the marker and TCP parameters • Should be transparent to end hosts. • Maintain optimum marking • Tracks the TCP dynamics
Why memory-based marker? • During the period when TCP flows experience congestion, either or both of the following occurs: a) The cwnd reduces reducing the value of W b) The RTT increases causing a decrease in throughput or rate of flow.
Why memory-based marker? • TheTCP window size W and the round trip time RTT arerelated to the throughput by the equation: BW = ¾*(MSS*W)/(RTT) where W is expressed in number of segments. • Any variation in W or RTT is reflected as subsequent changes in BW, i.e., in our case, the avg_rate. • The parameter previous average rate(par)is compared with the present average rate to track any change in the rate of flow and thus indirectly extract the variations in RTT or W.
MBM Algo. explained • In the expression for the marking probability mp, • (par – avgrate)/avgrate tracks the variations in RTT and window size (W) and thus increases or decreases the marking probability according to the changes in the flow rate. • (1- avgrate)/cir constantly compares the average rate observed with the target rate to keep the rate closer to the target.
For each packet arrival If avg_rate cir then mp=mp+(1-avg_rate/cir)+(par- avg_rate)/avg_rate; par = avg_rate; mark the packet using: cp 11 w.p. mp cp 00 w.p. (1-mp) else if avg_rate > cir then mp= mp + (par – avg_rate)/avg_rate; par=avg_rate; mark the packet using: cp 11 w.p. mp cp 00 w.p. (1-mp) MBM Algorithm
MBM Algo. Contd… • where, avg_rate= the rate estimate upon each packet arrival mp = marking probability (1) cir = committed information rate (i.e., the target rate) par = previous average rate cp denotes ‘codepoint’ and w.p. denotes ‘with probability’.
Experiments • We used FTP bulk data transfer for the TCP traffic in all our experiments. • We conducted simulation studies in NS for: • Assured service for aggregates with different target rates. • Effect of different RTTs • Effect of different window sizes • Protection from best effort UDP flows • Effect of UDP flows with target rates.
Results Achieved Rates (Ra) for different Target Rates (Rt).
Results…. Achieved Rates (Ra) for different RTT values Achieved Rates (Ra) for different window sizes
More results Achieved Rates in presence of BE UDP and TCP Achieved Rates in presence of AS UDP and BE TCP
Inference • MBM • Achieves transparency from the end hosts, simplicity, and least sensitivity to parameters of both TCP as well as its own parameters. • helps in achieving the target rate, with a better fairness in terms of sharing the excess bandwidth among flows. • provides the TCP flows, a greater degree of insulation from differences in RTT and window sizes. • The overall link utilization also seems to be much better.
Future work • Working on a 3 colour marker, Memory-Based Three color Marker (MBTCM) which is apt for DiffServ with AF per hop behaviour in its core. • Study of TCP dynamics and its performance improvements over broadband networks.
Related Links….. • http://www.comp.nus.edu.sg/~srijith/cir/papers.html • http://www.comp.nus.edu.sg/~kaleelaz