Tailoring TCP for Wireless Networks. Credits Nitin Vaidya –Tutorial on TCP for Wireless and Mobile Hosts, MobiCom ’99 Balakrishnan, et al. –A Comparison.

Slides:



Advertisements
Similar presentations
An Adaptive TCP Protocol for Lossy Mobile Environment Choong Seon Hong Feb. 27, 2003.
Advertisements

U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science TCP over Wireless Networks CS 653, Fall 2010.
A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Published In IEEE/ACM TRANSACTIONS ON NETWORKING, VOL.5 NO.6,DECEMBER 1997.
1 Improving TCP Performance over Mobile Networks HALA ELAARAG Stetson University Speaker : Aron ACM Computing Surveys 2002.
Improving TCP over Wireless by Selectively Protecting Packet Transmissions Carla F. Chiasserini Michele Garetto Michela Meo Dipartimento di Elettronica.
Hui Zhang, Fall Computer Networking TCP Enhancements.
Univ. of TehranComputer Network1 Special Topics on Wireless Ad-hoc Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Flickner, Eric J Kanury, Sree Ramya Lee, Soohee
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
CMPE 257: Wireless and Mobile Networking
Internet Networking Spring 2003 Tutorial 12 Limited Transmit RFC 3042 Long Thin Networks RFC 2757.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2002 Week 6.
CS 268: Wireless Transport Protocols Kevin Lai Feb 13, 2002.
Improving TCP Performance over Ad-hoc Network 11/28/2000 Xuanming Dong, Duke Lee, and Jin Wang Course Project for EE228A --- Fall 2000 (Professor Jean.
CMPE Wireless and Mobile Networking 1 CMPE 257 Spring 2006 End-to-End Protocols 2 Wireless and Mobile Networks.
CS 552 Wireless TCP slides by B. Nath. Wireless TCP Packet loss in wireless networks may be due to –Bit errors –Handoffs –Congestion (rarely) –Reordering.
Transport Protocols for Wireless Networks CMPE Spring 2001 Marcelo M. de Carvalho.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Reliable Transport Layers in Wireless Networks Mark Perillo Electrical and Computer Engineering.
TCP performance in Wireless Networks Ehsan Hamadani July 2004.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
1 A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Course : CS898T Instructor : Dr.Chang - Swapna Sunkara.
Wireless TCP February 22, 2002 © 2002 Yongguang Zhang CS 395T - Mobile Computing and Wireless Networks Department of Computer SciencesTHE UNIVERSITY OF.
1 TCP over Wireless (I) some slides adapted, notably from tutorial by Nitin Vaidya.
CIS 725 Wireless networks. Low bandwidth High error rates.
CS640: Introduction to Computer Networks Aditya Akella Lecture 22 - Wireless Networking.
Spring 2000Nitin BahadurAdvanced Computer Networks A Comparison of Mechanisms for Improving TCP Performance over Wireless Links By: Hari B., Venkata P.
Transport layer in ad hoc and sensor network
Qian Zhang Department of Computer Science HKUST Advanced Topics in Next- Generation Wireless Networks Transport Protocols in Ad hoc Networks.
Mobile Communications: Mobile Transport Layer Mobile Communications Chapter 10: Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping.
Asstt. Professor Adeel Akram.  Motivation  TCP mechanisms  Indirect TCP  Snooping TCP  Mobile TCP  Fast retransmit/recovery  Transmission freezing.
Improving TCP Performance over Mobile Networks Zahra Imanimehr Rahele Salari.
Lecture 11 Mobile Networks: TCP in Wireless Networks Wireless and Mobile Systems Design.
Wireless TCP Prasun Dewan Department of Computer Science University of North Carolina
1 Impact of transmission errors on TCP performance (Nitin Vaidya)
Obile etworking M-TCP : TCP for Mobile Cellular Networks Kevin Brown and Suresh Singh Department of Computer Science Univ. of South Carolina.
Transport over Wireless Networks Myungchul Kim
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
ECE 695 Sp 2006 Jim Catt TCP Functions TCP is a connection oriented protocol Primary functions  TCP sets up and maintains end-to-end connection between.
Wireless TCP. References r Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan and Randy H. Katz, " A Comparison of Mechanisms for Improving TCP.
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks
Improving TCP Performance over Wireless Networks
Challenges to Reliable Data Transport Over Heterogeneous Wireless Networks.
15-744: Computer Networking L-18 Mobile Transport and Applications.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
MOBILE TCP.
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 11: Mobile Transport Layer Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
ECE 4110 – Internetwork Programming
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in TCP.
Prof. Younghee Lee 1 Computer networks u Lecture 10: TCP: wireless network Prof. Younghee Lee.
Univ. of TehranComputer Network1 Special Topics on Wireless Ad-hoc Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping TCP  Mobile TCP  Fast retransmit/recovery  Transmission freezing  Selective.
PROTOCOL BASICS. 2 Introduction In chapter 3: Circuits and techniques can be employed to transmit a frame of information between 2 DTEs Error detection.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Data Link Layer Flow Control.
Wireless Transport.
Ad-hoc Transport Layer Protocol (ATCP)
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Announcements 10 project groups
TCP for Wireless Networks
TCP over wireless links
TCP for Wireless and Mobile Hosts
Impact of transmission errors on TCP performance
Presentation transcript:

Tailoring TCP for Wireless Networks

Credits Nitin Vaidya –Tutorial on TCP for Wireless and Mobile Hosts, MobiCom ’99 Balakrishnan, et al. –A Comparison of Mechanisms for Improving TCP Performance over Wireless Links, Sigcomm ’96

TCP in a nutshell Sliding window –max. n packets unacknowledged at any time Congestion control –packet loss => congestion –cwnd, ssthresh –timeout recover by slowstart + congestion avoidance –fast retransmit (dupack) fast recover

Slow start Congestion avoidance Slow start threshold Example assumes that acks are not delayed Nitin Vaidya

After fast retransmit and fast recovery window size is reduced in half. Receiver’s advertised window After fast recovery Nitin Vaidya

Problems with TCP TCP assumes all losses are due to network congestion –mostly true for wired networks –when packet loss due to unreliable link (transmission error) retransmission was needed throttling was not needed

Ideal Behavior Ideal TCP –retransmit without congestion control when loss is due to a transmission error Ideal Network –transmission losses are hidden from sender and recovery in all cases

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 18% Done

Link Layer Retransmission Forward Error Correction (FEC) Automatic Repeat Request (ARQ) Hybrid (FEC/ARQ) Sacrifice bandwidth for reliability

Link Layer Retransmission (contd.) If infrequent errors –RTO will be small, RTT won’t account for LL delay –TCP sender will most probably retransmit –TCP congestion control will take place! If frequent errors –RTO will be large enough, RTT will account for LL delay –TCP sender will most probably not retransmit –congestion response very slow (high RTTs)

Link Layer Retransmission (contd.) Out of order delivery –triggers fast retransmit at sender –LL should attempt “almost-FIFO” delivery LL should have a small delay compared to TCP’s RTT –otherwise sender will retransmit (“interference”) LL needs modification at BS and MH

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 27% Done

Split Connection Assumes first/last hop is wireless FH-MH = FH-BS + BS-MH Independent flow control for both parts Protocols may be different –not necessarily TCP for BS-MH FHMHBS Base StationMobile Host Fixed Host

Split Connection (contd.) Indirect TCP (Bakre 97) –FS-BH: Standard TCP –BS-MH: Standard TCP Selective Repeat Protocol (Yavatkar 94) –FS-BH: standard TCP –BS-MH: selective repeat protocol over UDP tuned to wireless behavior

Split Connection (contd.) Variations –on/off flow control for BS-MH –no congestion control over wireless hop –go-back-N (less processing at receiver)

Split Connection Approach : Classification Hides transmission errors from sender Primary responsibility at base station If specialized transport protocol used on wireless, then wireless host also needs modification

Split Connection Approach : Advantages BS-MH connection can be optimized independent of FH-BS connection –Different flow / error control on the two connections Local recovery of errors –Faster recovery due to relatively shorter RTT on wireless link Good performance achievable using appropriate BS-MH protocol –Standard TCP on BS-MH performs poorly when multiple packet losses occur per window (timeouts can occur on the BS-MH connection, stalling during the timeout interval) –Selective acks improve performance for such cases

Split Connection Approach : Disadvantages End-to-end semantics violated –ack may be delivered to sender, before data delivered to the receiver –May not be a problem for applications that do not rely on TCP for the end-to-end semantics FHMHBS

Split Connection Approach : Disadvantages BS retains hard state BS failure can result in loss of data (unreliability) –If BS fails, packet 40 will be lost –Because it is ack’d to sender, the sender does not buffer 40 FHMHBS

Split Connection Approach : Disadvantages BS retains hard state Hand-off latency increases due to state transfer –Data that has been ack’d to sender, must be moved to new base station FHMHBS MH New base station Hand-off 40 39

Split Connection Approach : Disadvantages Buffer space needed at BS for each TCP connection –BS buffers tend to get full, when wireless link slower (one window worth of data on wired connection could be stored at the base station, for each split connection) Window on BS-MH connection reduced in response to errors –may not be an issue for wireless links with small delay- bw product

BS retains hard state Hand-off latency increases due to state transfer –Data that has been ack’d to sender, must be moved to new base station

Split Connection Approach : Disadvantages Extra copying of data at BS –copying from FH-BS socket buffer to BS-MH socket buffer –increases end-to-end latency May not be useful if data and acks traverse different paths (both do not go through the base station) –Example: data on a satellite wireless hop, acks on a dial-up channel FHMH data ack

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 43% Done

TCP-Aware Link Layer Snoop Protocol (Balakrishnan, et al.) –observe TCP ACKs at the BS –discard duplicate ACKs and retransmit prevent fast retransmit at TCP sender –end-to-end reliability –soft state at BS (only buffer packets)

TCP-Aware Link Layer (contd.) Snoop Protocol (contd.) –hides wireless losses from sender –only BS needs modification (network centric approach) –advantages high throughput local recovery

TCP-Aware Link Layer (contd.) Snoop - disadvantages –LL at BS needs to be TCP-aware –not useful if TCP headers are encrypted (IPsec) –cannot be used for asymmetric channels (data and ACKs do not both go through the BS)

Snoop Protocol Buffers data packets at the base station BS –to allow link layer retransmission When dupacks received by BS from MH, retransmit on wireless link, if packet present in buffer Prevents fast retransmit at TCP sender FH by dropping the dupacks at BS FHMHBS

Snoop : Example FHMHBS Example assumes delayed ack - every other packet ack’d TCP state maintained at link layer

Snoop : Example

Snoop : Example Duplicate acks are not delayed 36 dupack

Snoop : Example Duplicate acks

Snoop : Example FHMHBS Discard dupack Dupack triggers retransmission of packet 37 from base station BS needs to be TCP-aware to be able to interpret TCP headers

Snoop : Example

Snoop : Example TCP sender does not fast retransmit

Snoop : Example TCP sender does not fast retransmit 45

Snoop : Example FHMHBS

Snoop Protocol When Beneficial? Snoop prevents fast retransmit from sender despite transmission errors, and out-of-order delivery on the wireless link OOO delivery causes fast retransmit only if it results in at least 3 dupacks If wireless link level delay-bandwidth product is less than 4 packets, a simple (TCP-unaware) link level retransmission scheme can suffice –Since delay-bandwidth product is small, the retransmission scheme can deliver the lost packet without resulting in 3 dupacks from the TCP receiver

Snoop Protocol : Classification Hides wireless losses from the sender Requires modification to only BS (network- centric approach)

Snoop Protocol : Advantages High throughput can be achieved –performance further improved using selective acks Local recovery from wireless losses Fast retransmit not triggered at sender despite out-of-order link layer delivery End-to-end semantics retained Soft state at base station –loss of the soft state affects performance, but not correctness

Snoop Protocol : Disadvantages Link layer at base station needs to be TCP- aware Not useful if TCP headers are encrypted (IPsec) Cannot be used if TCP data and TCP acks traverse different paths (both do not go through the base station)

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 52% Done

TCP-Unaware Approximation of TCP-aware Link Layer Delayed Dupacks Protocol (Mehta 97) –BS provides LL retransmission (not TCP aware), hence out-of-order delivery –if out-of-order packets arrive, delay dupacks to prevent fast retransmit –after interval ‘D’ transmit dupack gives LL chance to retransmit

Delayed Dupacks Protocol Delayed dupacks released after interval D, if missing packet not received by then Link layer maintains state to allow retransmission Link layer state is not TCP-specific

Delayed Dupacks : Example Example assumes delayed ack - every other packet ack’d Link layer acks are not shown Link layer state

Delayed Dupacks : Example BS Removed from BS link layer buffer on receipt of a link layer ack (LL acks not shown in figure)

Delayed Dupacks : Example Duplicate acks are not delayed 36 dupack

Delayed Dupacks : Example Duplicate acks Original ack

Delayed Dupacks : Example Base station forwards dupacks dupackdupacks Delayed dupack

Delayed Dupacks : Example dupacks Delayed dupacks 43

Delayed Dupacks : Example TCP sender does not fast retransmit 44 Delayed dupacks are discarded if lost packet received before delay D expires

Delayed Dupacks Scheme : Advantages Link layer need not be TCP-aware Can be used even if TCP headers are encrypted Works well for relatively small wireless RTT (compared to end-to-end RTT) –relatively small delay D sufficient in such cases

Delayed Dupacks Scheme : Disadvantages Right value of dupack delay D dependent on the wireless link properties Mechanisms to automatically choose D needed Delays dupacks for congestion losses too, delaying congestion loss recovery

TCP-Unaware approximation of TCP-aware link layer (contd.) Delayed Dupacks Protocol (contd.) –Advantages LL is not TCP aware TCP headers can be encrypted only TCP receiver needs to be modified –Disadvantages calculation of ‘D’ delays dupacks for congestion related losses

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 59% Done

Explicit Notification Approximate Ideal TCP –no congestion control after retransmission related to transmission error Wireless node somehow knows whether loss was due to transmission error or congestion

Explicit Notification (contd.) Explicit Loss Notification, MH is sender (Balakrishnan 98) –BS keeps track of holes in the data –when dupack arrives, compare with hole –if there is a match, ELN bit is set dupack was for packet lost due to transmission error MH retransmits without congestion control

Space Communication Protocol Standards- Transport Protocol (SCPS-TP ) The receiving ground station keeps track of how many packets with errors are received (their checksums failed) When the error rate exceeds a threshold, the ground station sends corruption experienced messages to destinations of recent error-free TCP packets –destinations are cached The TCP destinations tag acks with corruption-experienced bit TCP sender, after receiving an ack with corruption- experienced bit, does not back off until it receives an ack without that bit (even if timeout or fast retransmit occurs)

Explicit Loss Notification [Balakrishnan98] when MH is the TCP sender Wireless link first on the path from sender to receiver The base station keeps track of holes in the packet sequence received from the sender When a dupack is received from the receiver, the base station compares the dupack sequence number with the recorded holes –if there is a match, an ELN bit is set in the dupack When sender receives dupack with ELN set, it retransmits packet, but does not reduce congestion window MHFHBS wireless Record hole at Dupack with ELN set

Explicit Bad State Notification [Bakshi97] when MH is TCP receiver Base station attempts to deliver packets to the MH using a link layer retransmission scheme If packet cannot be delivered using a small number of retransmissions, BS sends a Explicit Bad State Notification (EBSN) message to TCP sender When TCP sender receives EBSN, it resets its timer –timeout delayed, when wireless channel in bad state

Explicit Notification (contd.) Explicit Loss Notification, MH is receiver (Bakshi 97) –BS uses LL retransmissions –if failure after a few attempts, Explicit Bad State Notification (EBSN) to TCP sender –TCP sender resets timer

Explicit Notification (contd.) Explicit Loss Notification (contd.) –Advantages sender can make decisions with transmission losses –Disadvantages sender must be modified BS must also be aware (not a true end-to-end solution) data and acks must pass through BS

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 70% Done

Receiver-Based Discrimination Receiver-based scheme (Biaz 98) –MH is TCP receiver –receiver “guesses” cause of packet loss –transmission error notification sent to TCP sender sender retransmits packet, does not reduce congestion window

Receiver-Based Scheme Packet loss due to congestion FHMHBS FHMHBS T Congestion loss Nitin Vaidya

Receiver-Based Scheme Packet loss due to transmission error FHMHBS FHMHBS Error loss 2 T Nitin Vaidya

Receiver-Based Discrimination (contd.) Receiver-based scheme (contd.) –Disadvantages limited applicability slowest link must be slowest to ensure queuing queuing delays for all packets should be uniform –Advantages no modification to BS (end-to-end scheme) can be used with encryption data and acks can traverse different paths

Solution Schemes Link-layer Split-connection TCP-Aware link layer TCP-Unaware approximation of TCP-aware link layer Explicit notification Receiver-based discrimination Sender-based discrimination 82% Done

Sender-Based Discrimination Sender tries to determine cause of packet loss Can use statistics based on RTT, window sizes and loss pattern Most schemes detect upcoming congestion and avoid it Not very promising for detecting transmission errors

Sender-Based Discrimination Scheme [Biaz98ic3n,Biaz99techrep] Sender can attempt to determine cause of a packet loss If packet loss determined to be due to errors, do not reduce congestion window Sender can only use statistics based on round-trip times, window sizes, and loss pattern –unless network provides more information (example: explicit loss notification)

Heuristics for Congestion Avoidance load RTT throughput knee cliff

Heuristics for Congestion Avoidance Define condition C as a function of congestion window size and observed RTTs Condition C evaluated when a new RTT is calculated –condition C typically evaluates to 2 or 3 possible values –for now assume 2 values: TRUE or FALSE If (C == True) reduce congestion window Several proposals for condition C

Heuristics for Congestion Avoidance Some proposals Normalized Delay Gradient [jain89] r = [RTT(i)-RTT(i-1)] / [RTT(i)+RTT(i-1)] w = [W(i)-W(i-1)] / [W(i)+W(i-1)] Condition C = (r/w > 0)

Heuristics for Congestion Avoidance Some proposals Normalized Throughput Gradient [Wang91] Throughput gradient TG(i) = [T(i) - T(i-1) ] / [ W(i)- W(i-1)] Normalized Throughout Gradient NTG = TG(i) / TG(1) Condition C = (NTG < 0.5)

Heuristics for Congestion Avoidance Some proposals TCP Vegas [Brakmo94] expected throughput ET = W(i) / RTTmin actual throughput AT = W(i) / RTT(i) Condition C = ( ET-AT > beta)

Sender-Based Heuristics Record latest value evaluated for condition C When a packet loss is detected –if last evaluation of C is TRUE, assume packet loss is due to congestion –else assume that packet loss is due to transmission errors If packet loss determined to be due to errors, do not reduce congestion window

Impact of Mobility Handoffs –Split connection approach hard state at BS must be moved to new BS –Snoop protocol soft state can be discarded new BS builds state (packet losses cannot be recovered locally for a short period)

Improving TCP Performance in Presence of Mobility Hide mobility from TCP Sender Using fast retransmits after handoff –time wasted until sender times out –after handoff MH sends 3 dupacks to trigger fast retransmit –if MH is sender, go into fast retransmit mode after completion of handoff

Phew... Now you know – what TCP lacks mechanism for reacting to transmission errors, handoffs –some schemes to improve TCP’s performance LL, split connection, snoop, end-to-end, hybrid –the impact of mobility handoffs, inherently lossy links, etc.

Conclusion We have the Big Picture Now we can study individual schemes 100% Done!

References Nitin Vaidya –Tutorial on TCP for Wireless and Mobile Hosts, MobiCom ’99 – wireless-tutorial.ppthttp:// wireless-tutorial.ppt –more references here