TCP over Wireless Networks

Slides:



Advertisements
Similar presentations
The Transmission Control Protocol (TCP) carries most Internet traffic, so performance of the Internet depends to a great extent on how well TCP works.
Advertisements

A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Published In IEEE/ACM TRANSACTIONS ON NETWORKING, VOL.5 NO.6,DECEMBER 1997.
LOGO Transmission Control Protocol 12 (TCP) Data Flow.
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.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
EE 4272Spring, 2003 Chapter 17 Transport Protocols Connection-Oriented Transport Protocol  Under Reliable Network Service  Design Issues  Under Unreliable.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
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.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-4690: Experimental Networking Informal Quiz: TCP Shiv Kalyanaraman:
6/3/ Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness CS495 – Spring 2005 Northwestern University.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Open Issues on TCP for Mobile Computing Ibrahim Matta Computer Science, Boston University Vassilis Tsaoussidis Computer Science, Northeastern University.
1 ATP: A Reliable Transport Protocol for Ad-hoc Networks Sundaresan, Anantharam, Hseih, Sivakumar.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
Reliable Transport Layers in Wireless Networks Mark Perillo Electrical and Computer Engineering.
TCP performance in Wireless Networks Ehsan Hamadani July 2004.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Wireless TCP February 22, 2002 © 2002 Yongguang Zhang CS 395T - Mobile Computing and Wireless Networks Department of Computer SciencesTHE UNIVERSITY OF.
CIS 725 Wireless networks. Low bandwidth High error rates.
Spring 2000Nitin BahadurAdvanced Computer Networks A Comparison of Mechanisms for Improving TCP Performance over Wireless Links By: Hari B., Venkata P.
Improving TCP Performance over Mobile Networks Zahra Imanimehr Rahele Salari.
Wireless TCP Prasun Dewan Department of Computer Science University of North Carolina
1 Impact of transmission errors on TCP performance (Nitin Vaidya)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport over Wireless Networks Myungchul Kim
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
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
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/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
1 Ad-hoc Transport Layer Protocol (ATCP) EECS 4215.
1 ICCCN 2003 Modelling TCP Reno with Spurious Timeouts in Wireless Mobile Environments Shaojian Fu School of Computer Science University of Oklahoma.
RCP (Receiver Centric Transport Protocol)
H. Hsieh, K. Kim, Y. Zhu and R. Sivakumar ACM Mobicom 2003
Accelerating Peer-to-Peer Networks for Video Streaming
MPTCP Implementation: Use cases for Enhancement Opportunities
Chapter 9: Transport Layer
Corelite Architecture: Achieving Rated Weight Fairness
Instructor Materials Chapter 9: Transport Layer
Satellite TCP Lecture 19 04/10/02.
Group 5 ECE 4605 Neha Jain Shashwat Yadav
Reddy Mainampati Udit Parikh Alex Kardomateas
COMP 431 Internet Services & Protocols
Congestion Control.
Transmission Control Protocol (TCP)
Ad-hoc Networks.
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Transmission Control Protocol (TCP)
CIS, University of Delaware
Wireless Transport.
PART 5 Transport Layer Computer Networks.
Transport Protocols over Circuits/VCs
Ad-hoc Transport Layer Protocol (ATCP)
TCP over Wireless Networks
Transport Layer Unit 5.
TCP Sequence Number Plots
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 in Mobile Ad-hoc Networks
IT351: Mobile & Wireless Computing
TCP in Wireless Ad-hoc Networks
Advanced Computer Networks
CS4470 Computer Networking Protocols
Transport Layer: Congestion Control
Impact of transmission errors on TCP performance
Presentation transcript:

TCP over Wireless Networks

WTCP Reliable transport protocol for wide-area wireless networks Alternative to TCP (but completely different unlike the schemes we have seen so far) End-to-end approach

WTCP Approach Rate based transmission control Inter-packet separation based congestion detection Distinguishing cause of packet loss Transmission control computations at receiver Variable granularity rate adjustment Quick start

WTCP Reliability SACK algorithm Probe packets

Reliability Selective acknowledgements SACKs very useful in TCP when random losses occur Better utilization of the network resources (no unnecessary retransmissions)

Reliability (contd.) No retransmit timeouts Since RTOs cannot be relied upon, WTCP does not use RTOs Use probe packets to recover from suffix losses ACK frequency tuned by sender based on factors such as (a) observed loss rate on reverse path, (b) round-trip time, (c ) half-duplex or full-duplex nature of channel

WTCP Algorithm Congestion control 3 phases: increase, decrease, and maintain Chosen based on long-term and short term averages in inter-packet separation RTT computation (for probing) Using loss profile Increase, decrease, maintain phases

WTCP Recap E2E approach Completely different from TCP Uses rate based transmissions Uses inter-packet separation as congestion indication Performs loss classification No RTOs SACK + probe packets

pTCP: A Transport Layer Approach for Achieving Aggregate Bandwidths on Multi-homed Mobile Hosts

Introduction A multitude of wireless access technologies How can these technologies co-exist in providing the best service to a multi-homed mobile user? Use only the interface with the highest data rate at any given time Objective Allow simultaneous use of multiple wireless access technologies (striping) Design a transport layer protocol that provides reliable and sequenced delivery like in TCP, and achieves effective bandwidth aggregation existing solutions have been considered using the best… for example, … However, the objective of our work is to consider simultaneous use… For example, 7Mbps To achieve this objective, we design… -- effective cost-qos tradeoffs an interesting problem that arises is … the concept of vertical handoff has been proposed to address this problem, where a mobile user is provided access through the higher data connection when it migrates across coverage areas. For example, when a user with 2Mbps Wireless WAN access moves within the coverage of 10Mbps Wireless LAN, … why transport layer emphasize simultaneous use and bandwidth aggregation illustrate bandwidth aggregation?

Why Not Lower Layers? Link layer striping [Adiseshu ’96, Snoeren ’99] Stripe according to estimates of link bandwidths Optimal link layer striping  optimal bandwidth aggregation across multi-hop paths Not applicable to multi-homed mobile hosts Network layer striping [Phatak ’02] IP performs tunneling and striping TCP’s RTT estimates lose meaning TCP adversely reacts to packet reordering bandwidth aggregation at the link layer has been proposed -- But more importantly, TCP’s adversely… causes the problem. adverse reaction: mention fast retransmit causes window cutdown Lower layer approaches fail due to the multi-hop nature of paths and TCP’s reliance on FIFO delivery!

Why Not Multiple Sockets? Application layer striping Open multiple TCP sockets Each socket is in charge of only one path (pipe) Perform bandwidth estimation at the sending end and packet re-sequencing at the receiving end Optimal aggregate bandwidth = sum of maximum achievable bandwidths on the individual pipes pipe 1 pipe 2 an alternative approach is to use application layer striping by opening multiple … to achieve bandwidth aggregation, the sending end…, and to provide in-sequence, .. Note that what we mean by effective bandwidth aggregation is to achieve.. -- smart application coarse level Problems Data rate differential Data rate fluctuations Blackouts

Data Rate Differential Head of line blocking will result in the slower pipes stalling the faster pipes Example Two pipes with mismatched bandwidths Unaware application Write until blocked Sequence Number (Unaware Application) 1 2 3 4 5 6 35 36 37 38 39 40 Time (sec) Sequence Number (x1000) Pipe 1 (2500kbps) Pipe 2 (500kbps) Throughput vs. Bandwidth Ratio 1 2 3 4 5 6 7 8 9 10 Bandwidth Ratio (to 500kbps) Throughput (Mbps) Ideal Smart Application Unaware Application mention ideal here snapshot , a more generic scenario … describe the problem put up ideal with unaware application smart application stripes based on 5:1 Unaware application does not work. Need some kind of bandwidth estimation Smart application Coarse-grained bandwidth estimation The aggregate bandwidth is limited by the slower pipe in the unaware application

Data Rate Fluctuations Data rate fluctuations cause disproportional striping Data Rate Fluctuations 1.5 1.7 1.9 2.1 2.3 2.5 2.7 2.9 3.1 3.3 3.5 10 9 8 7 6 5 4 3 2 1 Fluctuation Period (sec) Throughput (Mbps) Ideal Smart Application Unaware Application 1 2 3 4 5 6 20 40 60 80 100 Bandwidth (Mbps) Time (sec) Bandwidth Fluctuations (5Mbps Pipe) Example Two pipes with random data rate fluctuations every t seconds Smart application Performs bandwidth estimation every T seconds put up smart application after the fluctuation curve 1. general description 2. describe the link fluctuations (1 to 5Mbps, 200Kbps to 1Mbps) 3. smart application performs coarse grain for every T seconds Need aggressive bandwidth estimation, which will cause overhead Packets will be unnecessarily held up in each socket Smart application’s performance is limited by disproportional striping

Blackouts Undelivered packet in the blackout pipe will cause head of line blocking Smart Application during Blackouts 5 10 15 20 25 30 40 50 60 70 80 90 100 Time (sec) Sequence Number (x1000) Pipe 1 (does not experience blackout) Pipe 2 (experiences blackout) Example One of the two pipes experiences blackout The other pipe does not experience any blackout stalled due to pipe 1 blackout blackout is a phenomenon where the data rate goes to zero -- 1. one generic statement 2. scenario true even for multiple pipes blackout Blackouts on one pipe will stall the entire aggregate connection

Design Elements Decoupling of functionalities Per-pipe (TCP-v) behavior vs. aggregate connection (pTCP) behavior TCP-v: virtual packets; pTCP: data packets TCP-v: congestion control; pTCP: reliability TCP-v: how much to send; pTCP: what to send The fundamental design element of the pTCP protocol is the decoupling of functionalities… in terms of key functionalities, TCP-v handles… Note that although we present pTCP as a wrapper around TCP-v, it can be used in tandem with any single-pipe transport layer protocol TCP-v congestion control, pTCP reliability Allow plug-in of different congestion control schemes for different pipes

Design Elements Congestion window based striping Dynamic reassignment A packet is given to a TCP-v only when its congestion window has space Reuse TCP’s congestion control for bandwidth estimation Dynamic reassignment Reassign packets that fall out of TCP-v’s window Avoid packets being held up by one pipe -> differential [say here that pTCP can use any congestion control; also mention that this is fine-grained bandwidth-based striping] -> fluctuations [mention that this addresses the problem caused by fluctuations (disproportional striping)] -> blackouts binding mention Redundant striping Redundantly stripe the first packet after timeouts Allow the concerned pipe to probe while not potentially stalling the rest

pTCP Architecture Application pTCP TCP-v IP data packet virtual packet control read write ptcp-recv ip-output Application IP pTCP TCP-v open/close established/closed receive send shrunk resume recv buffer send buffer bindings active pipes virtual recv buffer virtual send buffer briefly mention open/close/established/closed only can link back to the design?

pTCP Architecture Application pTCP TCP-v IP data packet virtual packet control read write ptcp-recv ip-output Application IP pTCP TCP-v open/close established/closed recv buffer send buffer bindings active pipes receive send virtual recv buffer virtual send buffer resume mention application reads at the end briefly mention open/close/established/closed only can link back to the design? shrunk

pTCP Protocol Congestion control Flow control Reliability Performed by each TCP-v on a per-pipe basis Any congestion control mechanism can be used Flow control Managed by pTCP through window advertisement No flow control by TCP-v Reliability pTCP delegates reliability to each TCP-v unless the packet has to be reassigned congestion control: Any congestion control mechanism can be used (current prototype and results using TCP’s CC) flow control: No flow control by TCP-v which component handles it how does it do it Connection management pTCP manages the aggregation connection while TCP-v manages the individual pipes

Simulation Environment Topology Pipe 1: BW = 500kbps ~ 5Mbps, RTT = 100ms Pipe 2: BW = 2Mbps, RTT = 400ms Pipe 3: BW = 500kbps, RTT = 400ms Approaches Ideal pTCP Smart application Unaware application 3 types of pipes representative of different wireless evironments and we consider 4 different types of approaches why such values simulation does not matter

Data Rate Differential Throughput vs. Bandwidth Ratio 1 2 3 4 5 6 7 8 9 10 Bandwidth Ratio (to 500kbps) Throughput (Mbps) Ideal pTCP Smart Application Unaware Application

Data Rate Fluctuations Throughput vs. Number of Pipes (with Fluctuations) 2 4 6 8 10 12 14 16 3 5 7 9 Number of Pipes Throughput (Mbps) Ideal pTCP Smart Application Unaware Application take the same scenario as the “different number of pipes”, and we now introduce data rate fluctuations

Blackouts (pTCP) pTCP during Blackouts 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 Time (sec) Sequence Number (x1000) Pipe 1 (does not experience blackout) Pipe 2 (experiences blackout) continues progression blackout

Multiple Congestion Control Schemes Use TCP-ELN for lossy link (Pipe 2) Multiple Congestion Control Schemes 1 2 3 4 5 6 7 1.00E-05 1.00E-04 1.00E-03 1.00E-02 Packet Drop Probability (Pipe 2) Throughput (Mbps) Ideal: TCP (Pipe 1) + ELN (Pipe 2) pTCP: TCP (Pipe 1) + ELN (Pipe 2) Smart Application: TCP (Pipe 1) + ELN (Pipe 2) Smart Application: TCP (Pipe 1) + TCP (Pipe 2) mention bw for each pipe ideal first link back to decoupling of functionalities

Related Work Link layer Network layer Transport layer Scalable striping [Adiseshu ’96] Adaptive inverse multiplexing [Snoeren ’99] Network layer Multi-IP links streaming [Phatak ’02] Transport layer SCTP [Stewart ’00] RMTP no animation? RMTP [Magalhaes ’01] Application layer PSockets [Sivakumar ’00]

Recap Bandwidth aggregation can be used to provide better service to multi-homed mobile hosts A transport layer approach is more effective than other layers in the target environment pTCP achieves effective bandwidth aggregation despite the data rate mismatch, fluctuations, and blackouts of different pipes mention 3 characteristics first then target environment For more information: http://www.ece.gatech.edu/research/GNAN

Puzzle You have a chain consisting of 63 inter-linked gold links You have to stay at a motel where the charge per day is 1 gold link You do not trust the motel manager and neither does he trust you What is the minimum number of links you need to break in order to stay for 63 days? Clue: The manager will not sell the links till you check out