260 likes | 352 Views
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.
E N D
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(cont’d) 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
I- TCP TCP Hack M- TCP Freeze- TCP New Snoop Snoop EBSN End-to-end TCP principle? N Y Y Y N Y Y Requires the intermediate node to modify TCP? Y Y Y Y Y N N Handle encrypted traffic? N N N N N Y Y Need symmetric routing? Y Y Y Y Y N N Handle long Disconnections? Y Y N Y Y Y N Handle frequent disconnections? Y Y N Y Y Y N Handle high bit error rate? Y Y Y Y N N Y Strengths and Drawbacks of Existing Solutions
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.
Header Portion X X Data Portion TCP HACK(cont’d) • 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
TCP HACK(cont’d) TCP Header Checksum option TCP Header Checksum ACK option
Data segment to be sent No Header checksum option enabled? Yes • )Calculate header checksum of segment • ) Continue as normal Modifications to the TCP sender Continue as normal TCP HACK(cont’d) TCP Sender
Data segment received No TCP segment corrupted? Continue as normal Yes Yes Header portion corrupted? Discard Packet No • )Recover sequence number of corrupted segment from header. • ) Generate ‘special’ ACK containing the sequence number of the corrupted segment. Modifications to the TCP receiver TCP HACK(cont’d) TCP Receiver
ACK segment received No Is this a special ACK? Yes 1) Extract sequence number of corrupted segment • ) Selectively retransmit the segment • ) ACK is discarded without further processing Modification to the ACK processing Continue as normal TCP HACK(cont’d) ACK Processing
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(cont’d) 1’s complement checksum of TCP header and pseudo-IP header Kind=14 Length=4 TCP Header Checksum option Kind=16 Length: Variable 1st 32-bit sequence number of corrupted segment to resend 1st 32-bit sequence number of corrupted segment to resend 2nd 32-bit sequence number of corrupted segment to resend …. nth 32-bit sequence number of corrupted segment to resend Extended TCP header Checksum ACK option
Extended TCP HACK(cont’d) • 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(cont’d) The process of extended TCP HACK when receiving the segment with sequence number B
Extended TCP HACK(cont’d) The process of extended TCP HACK when receiving the segment with sequence number C
Extended TCP HACK(cont’d) The process of extended TCP HACK when receiving the segment with sequence number E
Extended TCP HACK(cont’d) The process of extended TCP HACK when receiving the retransmitted segment with sequence number A
Extended TCP HACK(cont’d) TCP Sender Modifications to the TCP sender
Extended TCP HACK(cont’d) TCP Receiver Modifications to the TCP receiver
Extended TCP HACK(cont’d) • ACK 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
Questions? cshong@khu.ac.kr