Wireless TCP Performance Issues

Similar documents
Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

TCP over wireless links

CMPE 257: Wireless and Mobile Networking

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport layer issues

Congestions and Control Mechanisms in Wired and Wireless Networks

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Impact of transmission errors on TCP performance. Outline. Random Errors

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

TRANSMISSION CONTROL PROTOCOL

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008

TCP Congestion Control

TCP Congestion Control

CS321: Computer Networks Congestion Control in TCP

TCP OVER AD HOC NETWORK

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Performance Analysis of TCP Variants

COMP/ELEC 429/556 Introduction to Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

CS3600 SYSTEMS AND NETWORKS

Chapter III: Transport Layer

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

UNIT IV -- TRANSPORT LAYER

TCP congestion control:

Chapter III. congestion situation in Highspeed Networks

Chapter 3 Transport Layer

TRANSMISSION CONTROL PROTOCOL

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking

TCP based Receiver Assistant Congestion Control

8. TCP Congestion Control

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Internet Networking recitation #10 TCP New Reno Vs. Reno

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Advanced Computer Networks

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

Computer Networking Introduction

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

Fall 2012: FCM 708 Bridge Foundation I

Advanced Network Design

Lecture 11. Transport Layer (cont d) Transport Layer 1

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms

TCP Congestion Control

image 3.8 KB Figure 1.6: Example Web Page

ECE 333: Introduction to Communication Networks Fall 2001

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Wireless TCP. TCP mechanism. Wireless Internet: TCP in Wireless. Wireless TCP: transport layer

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

Lecture 4: Congestion Control

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Transport Protocols and TCP

CSE 4215/5431: Mobile Communications Winter Suprakash Datta

CSE 123A Computer Networks

Chapter 09 Network Protocols

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 24: Mobile and Wireless

Outline 9.2. TCP for 2.5G/3G wireless

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

05 Transmission Control Protocol (TCP)

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

II. Principles of Computer Communications Network and Transport Layer

ECS-087: Mobile Computing

Transport Layer Marcos Vieira

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Chapter 12 Network Protocols

CIS 632 / EEC 687 Mobile Computing

Supporting mobility only on lower layers up to the network layer is not

Transport Protocols and TCP: Review

Advanced Computer Networks

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

Transport Layer Congestion Control

Transport Layer Protocols TCP

Chapter 3 Transport Layer

15-744: Computer Networking TCP

Congestion / Flow Control in TCP

UDP, TCP, IP multicast

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Bandwidth Allocation & TCP

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

ECE 435 Network Engineering Lecture 10

cs/ee 143 Communication Networks

Intro to LAN/WAN. Transport Layer

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Mobile Communications Chapter 9: Mobile Transport Layer

SIMPLE MODEL FOR TRANSMISSION CONTROL PROTOCOL (TCP) Irma Aslanishvili, Tariel Khvedelidze

Transcription:

Wireless TCP Performance Issues

Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the rest of these slides

Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends your data reliably Used for email, Web, ftp, telnet, p2p, Makes sure that data is received correctly: right data, right order, exactly once Detects and recovers from any problems that occur at the IP network layer Mechanisms for reliable data transfer: sequence numbers, acknowledgements, timers, retransmissions, flow control...

TCP 101 (Cont d) TCP is a connection-oriented protocol SYN SYN/ACK GET URL ACK Web Client YOUR DATA HERE Web Server FIN ACK FIN/ACK

TCP 101 (Cont d) TCP slow-start and congestion avoidance ACK

TCP 101 (Cont d) TCP slow-start and congestion avoidance ACK

TCP 101 (Cont d) TCP slow-start and congestion avoidance ACK

TCP 101 (Cont d) This (exponential growth) slow start process continues until either: packet loss: after a brief recovery phase, you enter a (linear growth) congestion avoidance phase based on slow-start threshold found limit reached: slow-start threshold, or maximum advertised receive window size all done: terminate connection and go home

CA: Additive Increase, Multiplicative Decrease We have additive increase in the absence of loss events After loss event, decrease congestion window by half multiplicative decrease ssthresh = W/2 9

TCP Reno Window Note how there is Fast Recovery after cutting Window in half Reached initial ssthresh value; switch to CA mode Slow Start Time 10

Detecting Packet Loss Assumption: loss indicates congestion Option 1: time-out Waiting for a time-out can be long! Option 2: duplicate ACKs How many? At least 3. 10 11 11 11 11 10 11 12 13 14 15 16 17 Sender Receiver 11

TCP Reno Window Note how there is Fast Recovery after cutting Window in half Reached initial ssthresh value; switch to CA mode Slow Start Time 12

How do losses occur? Congestion control assumes: due to congestion packets queue in router buffers if queue is full, arriving packets dropped (Drop-Tail) packet being transmitted (delay) A B packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers

How do losses occur? In wireless (and mobile) environment... We find many other reasons A Packet losses due to - wireless characteristics (e.g., interference, bit errors, etc.) - mobility (including handover issues)

Wireless, mobility: impact on higher layer protocols logically, impact should be minimal best effort service model remains unchanged TCP and UDP can (and do) run over wireless, mobile but performance-wise: packet loss/delay due to bit-errors (discarded packets, delays for link-layer retransmissions), and handoff TCP interprets loss as congestion, will decrease congestion window un-necessarily delay impairments for real-time traffic limited bandwidth of wireless links

Also, not all packet losses the same What happens when a packet loss occurs? Quiz Time... Consider a 14-packet Web document For simplicity, consider only a single packet loss 17

SeqNum Key: Data Packet Ack Packet Time 18

SeqNum Key: Data Packet Ack Packet? Time 19

SeqNum Key: Data Packet Ack Packet Time 20

SeqNum Key: Data Packet Ack Packet Time 21

SeqNum Key: Data Packet Ack Packet? Time 22

SeqNum Key: Data Packet Ack Packet Time 23

SeqNum Key: Data Packet Ack Packet Time 24

SeqNum Key: Data Packet Ack Packet? Time 25

SeqNum Key: Data Packet Ack Packet Time 26

SeqNum Key: Data Packet Ack Packet Time 27

SeqNum Key: Data Packet Ack Packet? Time 28

SeqNum Key: Data Packet Ack Packet Time 29

TCP 301 (Cont d) Main observation: Not all packet losses are created equal Losses early in the transfer have a huge adverse impact on the transfer latency Losses near the end of the transfer always cost at least a retransmit timeout Losses in the middle may or may not hurt, depending on congestion window size at the time of the loss 30

TCP Reno Window Note how there is Fast Recovery after cutting Window in half Reached initial ssthresh value; switch to CA mode Slow Start Time 32

Let s reason about TCP throughput Wired: What s the average throughout of TCP as a function of window size and RTT? Ignore slow start Let W be the window size when loss occurs. When window is W, throughput is W/RTT Just after loss, window drops to W/2, throughput to W/2RTT. Average throughout:.75 W/RTT Loss rate proportional to 1/W 2 33

TCP under lots of losses Throughput in terms of loss rate: 1.22 MSS RTT Wireless TCP versions or handling losses where they occur L 34

Example #1 Wireless TCP Performance Problems Low capacity, high error rate Wireless Access Wired Internet Hard to distinguish losses here from losses here High capacity, low error rate

Example #1 (Cont d) Solution: wireless-aware TCP (I-TCP, ProxyTCP, Snoop-TCP, split connections...)

Example trends and issues... Middle boxes [e2e arguments, equation] Customized wireless TCP solutions Multi-path TCP 37

Example #2 Wireless TCP Fairness Problems D DATA Wireless Bottleneck U ACK AP DATA ACK Wired Internet Loss of ACK = Loss of DATA

Example #3 Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking (e.g., TCP-F, TCP-ELFN, etc.) Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking (e.g., TCP-F, TCP-ELFN, etc.) Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking (e.g., TCP-F, TCP-ELFN, etc.) Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking (e.g., TCP-F, TCP-ELFN, etc.) Kelly Carey

Example #3 (Cont d) Multi-hop ad hoc networking (e.g., TCP-F, TCP-ELFN, etc.) Kelly Carey

TCP performance issues in adhoc networks Route failure TCP may lose a congestion window of packets Large RTT variation Degrades TCP throughput Route re-computations Incur extra delay Inflated re-transmission time-out

TCP performance issues in adhoc networks (cont d) Network partition TCP may reset the connection if the partition lasts for more than 100 sec. TCP enters slow-start phase after cutting down its window size to 1 Degrades TCP throughput

Summary of Wireless TCP TCP is the four wheel drive of TP s Wireless is a newly emerging technology with rapidly growing deployment popularity TCP and Wireless don t fit together all that well Making TCP smarter about wireless helps!

More slides

TCP performance issues in Ad-hoc networks Misinterpretation of packet loss E.g., packet loss/delay due to bit-errors (discarded packets, delays for link-layer retransmissions), and handoff Frequent path breaks Network partitioning and remerging Path length effects Misinterpretation of congestion window Asymmetric link behavior Uni-directional paths Multi-path routing The use of sliding window

More interesting problems Two interesting subproblems: Dynamic ad hoc routing: node movement can disrupt the IP routing path at any time, disrupting TCP connection; yet another way to lose packets!!!; possible solution: Explicit Loss Notification (ELN)? Handoff? Route prediction? TCP flow control: the bursty nature of TCP packet transmissions can create contention for the shared wireless channel among forwarding nodes; collisions between DATA and ACKs possible solution: rate-based flow control? Burst mode? Spatial reuse of channels?