Presentation on theme: "An Adaptive TCP Protocol for Lossy Mobile Environment Choong Seon Hong Feb. 27, 2003."— Presentation transcript:
An Adaptive TCP Protocol for Lossy Mobile Environment Choong Seon Hong Feb. 27, 2003
Contents Introduction Related Works TCP HACK Our Proposal: Extended TCP HACK Conclusions and Future Work
Introduction TCP is a transport layer protocol designed for the wired links. Slow-start algorithm is triggered after packet loss is detected It incurs end-to-end performance degradation in wireless environments where packet loss is very high.
Related Works Indirect TCP(I-TCP) [A.Bakre 1995] Mobile TCP (M-TCP) [K.Brown 1997] –Optimized TCP between MH and BS, No caching at BS Explicit bad-state notification (EBSN) [N.Vaidya 1999] –Partial ACK from BS Snoop protocol [H.Balakrishnan 1995] New Snoop protocol [ Jian-Hao Hu 2000] –Two- layer hierarchical cache scheme (MSC and BS) TCP HACK:TCP Header Checksum Option [R.K.Balan 2001] –
Introduction(contd) Drawbacks using Performance Enhancing Proxies (PEPs) The intermediary will become the bottleneck Add the third point of failure besides the endpoints themselves Cannot handle encrypted traffic Asymmetric routing
Strengths and Drawbacks of Existing Solutions I- TCP M- TCP Snoop New Snoop EBSN Freeze- TCP Hack End-to-end TCP principle? NY YYNYY Requires the intermediate node to modify TCP? Y Y Y Y Y N N Handle encrypted traffic? NNNNNYY Need symmetric routing? YYYYYNN Handle long Disconnections? YYNYYYN Handle frequent disconnections? YYNYYYN Handle high bit error rate? YYYYNNY
TCP HACK TCP HACK (Header Checksum option) is a novel mechanism proposed to improve original TCP in lossy link. It cannot work well when the ACK packets are also corrupted much. Proposing an Extended TCP HACK.
TCP HACK(contd) Data portion is usually much larger than header portion Corruptions are far more likely in data portion Packets with corrupted headers are unlikely to reach destination X X Data Portion Header Portion
TCP Sender Header checksum option enabled? Continue as normal 1 ) Calculate header checksum of segment 2 ) Continue as normal Yes No Data segment to be sent Modifications to the TCP sender TCP HACK(contd)
Modifications to the TCP receiver TCP segment corrupted? Continue as normal 1 ) Recover sequence number of corrupted segment from header. 2 ) Generate special ACK containing the sequence number of the corrupted segment. Yes No Data segment received Header portion corrupted? Discard Packet Yes No TCP Receiver TCP HACK(contd)
Modification to the ACK processing Is this a special ACK? Continue as normal 1) Extract sequence number of corrupted segment 2 ) Selectively retransmit the segment 3 ) ACK is discarded without further processing Yes No ACK segment received ACK Processing TCP HACK(contd)
Proposed Solution:Extended TCP HACK The special ACK in TCP HACK may be lost. Extended TCP HACK: –Add a buffer in the TCP receiver(denoted s_buffer) –Save all sequence numbers into s_buffer these sequence numbers are recovered from those packets transmitted in the same window –Send special ACK to the sender containing all the sequence numbers in the s_buffer. –Sequence numbers in the s_buffer will be cleared if the retransmitted packets are received correctly or the timers are expired.
Extended TCP HACK(contd) Kind=14Length=4 1s complement checksum of TCP header and pseudo-IP header Kind=16 Length: Variable 1 st 32-bit sequence number of corrupted segment to resend 2 nd 32-bit sequence number of corrupted segment to resend n th 32-bit sequence number of corrupted segment to resend …. TCP Header Checksum option Extended TCP header Checksum ACK option 1 st 32-bit sequence number of corrupted segment to resend
Extended TCP HACK(contd) The segments with sequence A, C and E are data corrupted but their headers can be recovered. The segment with sequence B is correct The segment with sequence D is corrupted in the header.
Extended TCP HACK(contd) The process of extended TCP HACK when receiving the segment with sequence number B
Extended TCP HACK(contd) The process of extended TCP HACK when receiving the segment with sequence number C
Extended TCP HACK(contd) The process of extended TCP HACK when receiving the segment with sequence number E
Extended TCP HACK(contd) The process of extended TCP HACK when receiving the retransmitted segment with sequence number A
Extended TCP HACK(contd) TCP Sender Modifications to the TCP sender
Extended TCP HACK(contd) TCP Receiver Modifications to the TCP receiver
Extended TCP HACK(contd) ACK ProcessingACK Processing Modification to the ACK processing
Simulation Model Simulation Parameters (simulation tool: OPNET modeler v8.0) Bandwidth of wireless link: 384Kbytes MSS: 536bytes Burst length : 3 packets size of s_buffer: 40Byte
Simulation Results(2/2) Throughput for various packet loss rates when corrupting on both directions
Conclusions and Future Work With our proposal, we can enhance the performance of TCP HACK in situations where not only the data on the forward path are corrupted much, but also the ACKs on the inverse path susceptible to packet corruption. Simulation results proved the efficiency of our proposal. More simulations should be done to test our extended TCP HACK. Studying on SCTP as streaming protocol in the wireless environment