Open Issues on TCP for Mobile Computing Ibrahim Matta Computer Science, Boston University Vassilis Tsaoussidis Computer Science, Northeastern University.

Slides:



Advertisements
Similar presentations
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
Advertisements

CSCI-1680 Transport Layer II Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
TCP Variants.
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.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Performance Improvement of TCP in Wireless Cellular Network Based on Acknowledgement Control Osaka University Masahiro Miyoshi, Masashi Sugano, Masayuki.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
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.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
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.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP Congestion Control
1 A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Course : CS898T Instructor : Dr.Chang - Swapna Sunkara.
Spring 2000Nitin BahadurAdvanced Computer Networks A Comparison of Mechanisms for Improving TCP Performance over Wireless Links By: Hari B., Venkata P.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Qian Zhang Department of Computer Science HKUST Advanced Topics in Next- Generation Wireless Networks Transport Protocols in Ad hoc Networks.
1 RCP (Reception Control Protocol) A Receiver-Centric Transport Protocol for Mobile Hosts with heterogeneous Wireless Interfaces MOBICOM 2003 H. Hsieh,
Improving TCP Performance over Mobile Networks Zahra Imanimehr Rahele Salari.
Lecture 11 Mobile Networks: TCP in Wireless Networks Wireless and Mobile Systems Design.
TCP PERFORMANCE OVER AD HOC NETWORKS Presented by Vishwanee Raghoonundun Assisted by Maheshwarnath Behary MSc Computer Networks Middlesex University.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Wireless TCP Prasun Dewan Department of Computer Science University of North Carolina
1 Impact of transmission errors on TCP performance (Nitin Vaidya)
CA-RTO: A Contention- Adaptive Retransmission Timeout I. Psaras, V. Tsaoussidis, L. Mamatas Demokritos University of Thrace, Xanthi, Greece This study.
Transport over Wireless Networks Myungchul Kim
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.
Lecture 9 – More TCP & Congestion Control
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Improving TCP Performance over Wireless Networks
Challenges to Reliable Data Transport Over Heterogeneous Wireless Networks.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 Transport Control Protocol for Wireless Connections ElAarag and Bassiouni Vehicle Technology Conference 1999.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Congestion Avoidance and Control Van Jacobson and Michael Karels Presented by Sui-Yu Wang.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 11: Mobile Transport Layer Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Peer-to-Peer Networks 13 Internet – The Underlay Network
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Chapter 3 outline 3.1 transport-layer services
COMP 431 Internet Services & Protocols
Congestion Control.
Introduction to Congestion Control
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
TCP Congestion Control
Computer Science Division
Transport Layer: Congestion Control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Impact of transmission errors on TCP performance
Presentation transcript:

Open Issues on TCP for Mobile Computing Ibrahim Matta Computer Science, Boston University Vassilis Tsaoussidis Computer Science, Northeastern University Technical Report, 2001 Presented by Brad Burres

First things First SORRY! SORRY! This paper was interesting, but it was long This paper was interesting, but it was long Apparently picking another paper based solely on the author wasn’t a good idea! Apparently picking another paper based solely on the author wasn’t a good idea!

Agenda Introduction Introduction Review of TCP Review of TCP TCP problems in a wireless world TCP problems in a wireless world Fixing TCP: Error Detection Fixing TCP: Error Detection TCP error recovery and performance enhancements TCP error recovery and performance enhancements TCP Strategy TCP Strategy Conclusions Conclusions

Introduction Mobile networking is growing quickly Mobile networking is growing quickly Protocols were tuned the “wired” world Protocols were tuned the “wired” world TCP is the most prevalent example TCP is the most prevalent example Packet loss meant congestion (or total link failure) Packet loss meant congestion (or total link failure) The only performance metric was throughput The only performance metric was throughput Assuming fairness, stability, etc. Assuming fairness, stability, etc. TCP is insufficient for the wired/wireless world of today and tomorrow TCP is insufficient for the wired/wireless world of today and tomorrow

What does TCP need? TCP needs to not only detect an error, but to detect the nature of an error TCP needs to not only detect an error, but to detect the nature of an error That is, detect the error characteristics of the link That is, detect the error characteristics of the link TCP needs have more flexible and robust recovery mechanisms TCP needs have more flexible and robust recovery mechanisms Awareness of the wireless power constraint – reduce a clients energy consumption Awareness of the wireless power constraint – reduce a clients energy consumption

Review of TCP This is review for all of us, but I’m going to hit a few key points This is review for all of us, but I’m going to hit a few key points TCP was designed with a few key goals: TCP was designed with a few key goals: Reliable Transmission Reliable Transmission Reasonable Fairness between flows Reasonable Fairness between flows The ability to quickly adapt to fluctuations in available bandwidth The ability to quickly adapt to fluctuations in available bandwidth Mechanisms for congestion avoidance and error recovery Mechanisms for congestion avoidance and error recovery

TCP Key Concepts TCP controls data transmissions through a sliding window TCP controls data transmissions through a sliding window Error control consists of error detection and then error recovery Error control consists of error detection and then error recovery TCP detects errors by monitoring acknowledged data segments (if a timeout occurs, a packet was lost) TCP detects errors by monitoring acknowledged data segments (if a timeout occurs, a packet was lost) Error recovery consists of two things Error recovery consists of two things The retransmission of lost data The retransmission of lost data The reduction of the congestion window size The reduction of the congestion window size AIMD: Additive Increase Multiplicative Decrease AIMD: Additive Increase Multiplicative Decrease

TCP Flavors of Congestion Control TCP Tahoe – basic TCP mechanisms (Slow Start) but added the idea of Fast Retransmit TCP Tahoe – basic TCP mechanisms (Slow Start) but added the idea of Fast Retransmit TCP Reno – TCP Tahoe + Fast Recovery TCP Reno – TCP Tahoe + Fast Recovery Retransmit the lost segment, and continue (after reducing CWND by ½) Retransmit the lost segment, and continue (after reducing CWND by ½) TCP Vegas – Totally different. Keep a RTT estimate, and use that to see if the channel is being utilized (and hence to resize the transmission window). TCP Vegas – Totally different. Keep a RTT estimate, and use that to see if the channel is being utilized (and hence to resize the transmission window).

A Picture is worth 1000 words

TCP problems in a wireless world TCP is NOT capable of detecting the nature of an error. It only knows a drop occurred. (at least two general types of errors) TCP is NOT capable of detecting the nature of an error. It only knows a drop occurred. (at least two general types of errors) Short Lived Errors Short Lived Errors Entering Slow Start or decreasing the transmission window causes missed opportunities to send error-free data and increases connection time. Entering Slow Start or decreasing the transmission window causes missed opportunities to send error-free data and increases connection time. Persistent Errors Persistent Errors Forced re-transmission over bad links leads to high energy consumption with minimal goodput gain Forced re-transmission over bad links leads to high energy consumption with minimal goodput gain TCP backs off too much when it should not and too little when it should, thereby hurting battery life TCP backs off too much when it should not and too little when it should, thereby hurting battery life

Other TCP comments TCP error control is designed for congestion induced errors only TCP error control is designed for congestion induced errors only ECN contributions are limited in wired/wireless networks ECN contributions are limited in wired/wireless networks Not receiving an ECN doesn’t mean the packet wasn’t dropped Not receiving an ECN doesn’t mean the packet wasn’t dropped Congestion algorithms running on top of TCP (RED) could constrain the evolution of TCP Congestion algorithms running on top of TCP (RED) could constrain the evolution of TCP If TCP evolves, it might make RED unfair If TCP evolves, it might make RED unfair

Fixing TCP: Error Detection The nature of an error calls for a distinctive recovery strategy The nature of an error calls for a distinctive recovery strategy Congestion – same as wired, gradual retransmission Congestion – same as wired, gradual retransmission Hand-Off – suspend transmission for short amount of time, then send aggressively Hand-Off – suspend transmission for short amount of time, then send aggressively Fading – reduce transmission until the channel is better Fading – reduce transmission until the channel is better Tsaoussidis and Badr propose TCP-Probing Tsaoussidis and Badr propose TCP-Probing

TCP-Probing When a packet is lost, enter a Probe Cycle When a packet is lost, enter a Probe Cycle In a Probe Cycle In a Probe Cycle All data transmission is suspended All data transmission is suspended A probe (small packet) is sent A probe (small packet) is sent If Probe or Ack is lost, re-initiate Probe Cycle If Probe or Ack is lost, re-initiate Probe Cycle Otherwise, estimate RTT (and congestion) Otherwise, estimate RTT (and congestion) If Congested, enter Tahoe/Reno congestion response If Congested, enter Tahoe/Reno congestion response If not Congested, enter Immediate Recovery and being sending with the full window enabled If not Congested, enter Immediate Recovery and being sending with the full window enabled

WTCP (proxy) Add intelligence to the wireless base station (BS) and let it detect the nature of the error Add intelligence to the wireless base station (BS) and let it detect the nature of the error Essential two TCP connections: between the Sender and BS, and between the BS and receiver Essential two TCP connections: between the Sender and BS, and between the BS and receiver BS buffers the data segment BS buffers the data segment Re-transmit non-ACK’d segments Re-transmit non-ACK’d segments Subtract out WTCP residence time when ACKing segments back to the sender Subtract out WTCP residence time when ACKing segments back to the sender Data lost over the wireless link could adversely effect the Time Out value Data lost over the wireless link could adversely effect the Time Out value

Error Recovery If nature of the error is known, be smart about the recovery If nature of the error is known, be smart about the recovery CWND CWND ACK strategy ACK strategy Timeout Mechanism Timeout Mechanism Entering Slow Start Entering Slow Start Others…. Others…. If it’s not a congestion based error, don’t apply a congestion derived strategy. If it’s not a congestion based error, don’t apply a congestion derived strategy.

Congestion Window Freeze-TCP – avoid a penalty during handoff Freeze-TCP – avoid a penalty during handoff Immediate Recovery – if the failure is not due to congestion, don’t adjust the CWND or enter Slow Start. Immediate Recovery – if the failure is not due to congestion, don’t adjust the CWND or enter Slow Start. Re-transmit aggressively when the channel recovers. Re-transmit aggressively when the channel recovers. Decouple the CWND from RTT. A lost or delayed ACK doesn’t say anything about the forward path, only the backward path. Decouple the CWND from RTT. A lost or delayed ACK doesn’t say anything about the forward path, only the backward path.

ACK Strategy The ACK strategy sets the transmission rate The ACK strategy sets the transmission rate Fast Retransmission = improved hand-off Fast Retransmission = improved hand-off After HO, send Duplicate ACKs. After HO, send Duplicate ACKs. Using partial ACKs to re-transmit can lead to transmitting a non-lost packet. Using partial ACKs to re-transmit can lead to transmitting a non-lost packet. This is bad from the energy conservation perspective This is bad from the energy conservation perspective Implementing SACKs (selective ACKs) gives the sender more information Implementing SACKs (selective ACKs) gives the sender more information

Proxy Based Approach Proxy lies between the wired and wireless networks Proxy lies between the wired and wireless networks Tries to hide wireless losses from TCP Tries to hide wireless losses from TCP ITCP – Implement TCP up to the Application layer in the BS ITCP – Implement TCP up to the Application layer in the BS WTCP – like ITCP, but up to the Transport layer. WTCP – like ITCP, but up to the Transport layer. Snoop - Like WTCP, but up to the Link layer. Less buffering (no guarantee) of finding data locally. Snoop - Like WTCP, but up to the Link layer. Less buffering (no guarantee) of finding data locally.

Proxy performing Local Recovery

Increased Improvement by not increasing the Time-Out Value

TCP Strategy TCP needs to move towards the adaptive error control TCP needs to move towards the adaptive error control One way to achieve this is to implement the discussed TCP-Probing One way to achieve this is to implement the discussed TCP-Probing By determining the nature of the error and reacting in an appropriate manner, the total throughput will be increased By determining the nature of the error and reacting in an appropriate manner, the total throughput will be increased

Faster Task Completion with Probing

Even Faster Completion with Longer Delays (100ms extra)

TCP for Handhelds TCP for wireless networks needs to make tradeoffs between the effort expended and the goodput achieved TCP for wireless networks needs to make tradeoffs between the effort expended and the goodput achieved A good performance metric is goodput/overhead ratio because it shows the efficiency of a battery powered transfer A good performance metric is goodput/overhead ratio because it shows the efficiency of a battery powered transfer In general, reducing the total time spent transferring data will reduce power consumed In general, reducing the total time spent transferring data will reduce power consumed More research is needed in this area… More research is needed in this area…

Probing Reduces Overhead

Probing Reduces Overhead more with longer propagation delays

Conclusions Traditionally, protocols (namely TCP) did not account for wireless architecture Traditionally, protocols (namely TCP) did not account for wireless architecture Key issues for wireless networks: Key issues for wireless networks: error characteristics of the link error characteristics of the link performance metrics to evaluate efficiency performance metrics to evaluate efficiency TCP needs TCP needs Adaptive Error Control to respond to each error appropriately Adaptive Error Control to respond to each error appropriately Energy- and time-saving capabilities to support the mobile, battery powered nature of wireless devices Energy- and time-saving capabilities to support the mobile, battery powered nature of wireless devices

Acknowledgements “borrowed” fast retransmit picture from s/wan/wireless_TCP/sld003.htm “borrowed” fast retransmit picture from s/wan/wireless_TCP/sld003.htm s/wan/wireless_TCP/sld003.htm s/wan/wireless_TCP/sld003.htm