CMPE 257: Wireless and Mobile Networking

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

ECS-087: Mobile Computing

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

CIS 632 / EEC 687 Mobile Computing

TRANSMISSION CONTROL PROTOCOL

TRANSMISSION CONTROL PROTOCOL

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

TCP over wireless links

Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks

ICE 1332/0715 Mobile Computing (Summer, 2008)

Internet Networking recitation #10 TCP New Reno Vs. Reno

Wireless TCP Performance Issues

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

Wireless Heterogeneity. EEC173B/ECS152C, Spring 09. Data Transport Over Wireless. Wireless Performance. Reliable Data Transport over Wireless Networks

Advanced Computer Networks. Wireless TCP

TCP Congestion Control

TCP Congestion Control

Improving TCP End to End Performance in Wireless LANs with Snoop Protocol

TCP congestion control:

CS 268: Wireless Transport Protocols. Kevin Lai Feb 13, 2002

CMPE 257: Wireless and Mobile Networking

Transport layer issues

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

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

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

CS321: Computer Networks Congestion Control in TCP

Contents. CIS 632 / EEC 687 Mobile Computing. TCP in Fixed Networks. Prof. Chansu Yu

A Comparison of Mechanisms for Improving TCP Performance over Wireless Links

Outline 9.2. TCP for 2.5G/3G wireless

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

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

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

DualRTT: Enhancing TCP Performance During Delay Spikes

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

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

PERFORMANCE ANALYSIS OF SNOOP TCP WITH FREEZING AGENT OVER CDMA2000 NETWORKS

A thesis submitted to the Faculty of Graduate Studies and Research. in partial fulfillment of the requirements for the degree of

TCP PERFORMANCE FOR FUTURE IP-BASED WIRELESS NETWORKS

TCP OVER AD HOC NETWORK

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

TCP for Wireless Networks

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

8. TCP Congestion Control

TCP Congestion Control

CSE 4215/5431: Mobile Communications Winter Suprakash Datta

image 3.8 KB Figure 1.6: Example Web Page

Mobile Transport Layer

Mobile Communications Chapter 9: Mobile Transport Layer

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

Advanced Computer Networks

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

under grant CNS This work was supported in part by the National Science Foundation (NSF)

Telecommunication Services Engineering Lab. Roch H. Glitho

Lecture 16: Wireless Networks

Delay Performance of the New Explicit Loss Notification TCP Technique for Wireless Networks

UNIT IV -- TRANSPORT LAYER

Congestions and Control Mechanisms in Wired and Wireless Networks

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

Lecture 7: Flow Control"

Computer Networking Introduction

Chapter 09 Network Protocols

Chapter 12 Network Protocols

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

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

Lecture 4: Congestion Control

CS Transport. Outline. Window Flow Control. Window Flow Control

Networked Systems and Services, Fall 2017 Reliability with TCP

Improving the Robustness of TCP to Non-Congestion Events

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

Multiple unconnected networks

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005

OPNET M-TCP model. Modupe Omueti

Outline. CS5984 Mobile Computing

Congestion Control 3/16/09

ADVANCED COMPUTER NETWORKS

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

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments

Improving Performance of Transmission Control Protocol for Mobile Networks

Mobile Communications Chapter 9: Mobile Transport Layer

TCP Congestion Control

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

CMPE150 Midterm Solutions

TCP based Receiver Assistant Congestion Control

Data Link Control Protocols

TCP Congestion Control in Wired and Wireless networks

Chapter 24. Transport-Layer Protocols

Chapter III. congestion situation in Highspeed Networks

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

Transport Protocols and TCP: Review

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network?

More wireless: Sensor networks and TCP on mobile hosts

ISSN: Index Terms Wireless networks, non - congestion events, packet reordering, spurious timeouts, reduce retransmissions.

Mobile IP and Mobile Transport Protocols

Lecture 3: The Transport Layer: UDP and TCP

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

Exercises TCP/IP Networking With Solutions

Improving of TCP Performance Evaluation in Mobile Ad Hoc Networks

Managing Caching Performance and Differentiated Services

Transcription:

CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1

Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa and Armando May 28: Daniel and Alan June 2: Ben and Maziar June 4: Larissa: user mobility and modeling (May 26) Daniel: location management and geocasting (May 28) Ben: service discovery (June 2) Armando: (May 26) Alan: SDN (May 28) Sam: propagation models (May 21) Anuj: IoT (May 26) Maziar: ICN (June 2) CMPE 257 Spring'15 2

End-to-End Protocols Reliable point-to-point (unicast). Reliable multipoint (multicast). CMPE 257 Spring'15 3

Reliable Point-to-Point Transport: Outline TCP/IP basics. Impact of transmission errors on TCP performance. Approaches to improve TCP performance on wireless networks. Classification. TCP on cellular (last-hop wireless). TCP on MANETs. CMPE 257 Spring'15 4

TCP Error, Flow, Congestion control CMPE 257 Spring'15 5

TCP Control Mechanisms ACKs Timers Sequence numbers Retransmissions CMPE 257 Spring'15 6

TCP Congestion Control Slow start. Congestion avoidance. Fast retransmit. Fast recovery. Selective acknowledgements (SACK). CMPE 257 Spring'15 7

Congestion? On detecting a packet loss, TCP sender assumes network congestion. CMPE 257 Spring'15 8

Timeout On a timeout, slow start is invoked. cwnd is reduced to the initial value of 1 MSS. Slow start threshold is set to half the window size before packet loss, or: ssthresh = maximum(min(cwnd,receiver s advertised window)/2,2 MSS). CMPE 257 Spring'15 9

Timeout (cont d ) After timeout Congestion window (segments) 25 20 15 10 5 cwnd = 20 ssthresh = 8 ssthresh = 10 0 0 3 6 9 12 15 20 22 25 Time (round trips) CMPE 257 Spring'15 10

Fast Retransmit When sender receives multiple (>= 3) duplicate ACKs, assumes packet lost without waiting for timeout. Retransmits packet. TCP Tahoe: slow start, congestion avoidance, fast retransmit. CMPE 257 Spring'15 11

Fast Recovery Avoids slow start after single packet loss. Operates in conjunction with fast retransmit. After TCP sender receives 3 duplicate ACKs: Retransmits one packet. Reduces cwnd by half. Every subsequent duplicate ACK clocks transmission. New ACK causes sender to exit fast recovery. CMPE 257 Spring'15 12

TCP Reno Slow-start Congestion avoidance Fast retransmit Fast recovery CMPE 257 Spring'15 13

Other TCP Variants Reno still suffers when multiple losses per RTT. TCP New-Reno Stay in fast recovery until all packet losses in window are recovered. Can recover 1 packet loss per RTT without causing a timeout. Selective Acknowledgements (SACK) provides information about out-of-order packets received by receiver. Can recover multiple packet losses per RTT. CMPE 257 Spring'15 14

Impact of transmission errors on TCP performance CMPE 257 Spring'15 15

Random Errors If number of errors is small, they may be corrected by an error correcting code. Excessive bit errors result in packet being discarded, possibly before it reaches the transport layer. CMPE 257 Spring'15 16

Random Errors May Cause Fast Retransmit 40 39 38 37 34 Example assumes delayed ack - every other packet ack d CMPE 257 Spring'15 17

Random Errors May Cause Fast Retransmit 41 40 39 38 34 Example assumes delayed ack - every other packet ack d CMPE 257 Spring'15 18

Random Errors May Cause Fast Retransmit 42 41 40 39 dupack Duplicate acks are not delayed CMPE 257 Spring'15 19

Random Errors May Cause Fast Retransmit 43 42 41 40 Duplicate acks CMPE 257 Spring'15 20

Random Errors May Cause Fast Retransmit 44 43 42 41 3 duplicate acks trigger fast retransmit at sender CMPE 257 Spring'15 21

Random Errors May Cause Fast Retransmit Fast retransmit results in: Retransmission of lost packet. Reduction in congestion window. Reducing congestion window in response to transmission errors is unnecessary. CMPE 257 Spring'15 22

Burst Errors and Timeouts If wireless link remains unavailable for extended duration, multiple packets in a window s worth of data may be lost. E.g., driving through a tunnel. Timeout results in slow start. Slow start reduces congestion window to 1 MSS. reducing throughput. CMPE 257 Spring'15 23

Observations Sometimes congestion response may be appropriate in response to random errors. Example: errors may occur due to interference from other users or noise. Interference due to other users is an indication of congestion, and thus it is appropriate to reduce congestion window. If noise causes errors, it is not appropriate to reduce window. When a channel is in a bad state for a long duration, it might be better to let TCP backoff, so that it does not unnecessarily attempt retransmissions. CMPE 257 Spring'15 24

Impact of Transmission Errors TCP cannot distinguish between packet losses due to congestion and transmission errors. Unnecessarily reduces congestion window. Throughput suffers. CMPE 257 Spring'15 25

Reliable Point2Point Transport Layer: Outline! TCP/IP basics.! Impact of transmission errors on TCP performance. Approaches to improve TCP performance on wireless networks. Classification. TCP on cellular. TCP on MANETs. CMPE 257 Spring'15 26

Approaches to Improve Performance of TCP in Wireless Networks CMPE 257 Spring'15 27

Infrastructure-Based Wireless Earlier efforts to improve TCP s performance focused on inrastructurebased wireless environments. CMPE 257 Spring'15 28

Classification Based on who takes the action and What kind of action taken. E2E versus cross-layer approaches. CMPE 257 Spring'15 29

Classification: E2E versus cross-layer E2E approaches: connection end points try to distinguish between congestion and non-congestion losses. Cross-layer approaches: combination of e2e and intermediate node participation. CMPE 257 Spring'15 30

Cross-Layer Approaches Link layer error recovery. Link layer retransmission. TCP-awareness. TCP-unawareness. Split connection. CMPE 257 Spring'15 31

Link Layer Mechanisms: Error Correction Example: Forward Error Correction (FEC) can be used to correct limited number of errors. Correctable errors hidden from the TCP sender. FEC incurs overhead even when errors do not occur Adaptive FEC schemes can reduce the overhead by choosing appropriate FEC dynamically. CMPE 257 Spring'15 32

Link Layer Mechanisms: Link Level Retransmissions Link level retransmission schemes retransmit a packet at the link layer, if errors are detected. Retransmission overhead incurred only if errors occur. CMPE 257 Spring'15 33

Link Layer Mechanisms May combine both FEC and retransmissions: Use FEC to correct small number of errors. Use link level retransmission when FEC capability is exceeded. CMPE 257 Spring'15 34

Link Level Retransmissions TCP connection Link layer state application application application transport transport transport network link network link rxmt network link physical physical physical wireless CMPE 257 Spring'15 35

Link Level Retransmissions Issues How many times to retransmit at the link level before giving up? Finite bound -- semi-reliable link layer No bound -- reliable link layer What triggers link level retransmissions? Link layer timeout mechanism Link level acks (negative acks, dupacks, ) CMPE 257 Spring'15

Link Level Retransmissions Issues How much time is required to trigger link layer retransmission? Small fraction of end-to-end TCP RTT. Multiple of end-to-end TCP RTT. Should link layer deliver packets as they arrive, or deliver them in-order? Link layer may need to buffer packets and reorder if necessary so as to deliver packets in-order. CMPE 257 Spring'15 37

Link Layer Schemes: Summary When is a reliable link layer beneficial to TCP performance? If it provides almost in-order delivery. and TCP retransmission timeout large enough to tolerate additional delays due to link level retransmits. CMPE 257 Spring'15 38

Cross-Layer Approaches! Link layer error recovery. Link layer retransmission. TCP-awareness. TCP-unawareness. Split connection. CMPE 257 Spring'15 39

TCP-Aware Link Layer CMPE 257 Spring'15 40

Snoop Protocol [Balakrishnan95] Retains local recovery of Split Connection approach. Link level retransmissions. Differs from split connection schemes: End-to-end semantics retained Soft state at base station. CMPE 257 Spring'15 41

Snoop Protocol TCP connection Per TCP-connection state application application application transport transport transport network link network link rxmt network link physical physical physical FH BS wireless MH CMPE 257 Spring'15 42

Snoop Protocol Buffers data packets at base station. Data sent by FH not yet ack d by MH. Allow link layer retransmission. When dupacks received by BS from MH (or local timeout), retransmit on wireless link, if packet in buffer. Prevents fast retransmit by TCP sender at FH by suppressing dupacks at BS. CMPE 257 Spring'15 43

Snoop : Example 35 TCP state maintained at link layer 37 38 FH 40 39 38 37 34 BS MH Example assumes delayed ack - every other packet ack d CMPE 257 Spring'15 44

Snoop : Example 35 39 37 38 41 40 39 38 34 CMPE 257 Spring'15 45

Snoop : Example 37 40 38 39 42 41 40 39 Duplicate acks are not delayed dupack CMPE 257 Spring'15 46

Snoop : Example 37 38 40 41 39 43 42 41 40 Duplicate acks CMPE 257 Spring'15 47

Snoop : Example 37 38 39 40 41 42 44 43 37 41 FH BS MH Dupack triggers retransmission of packet 37 from base station Discard dupack BS needs to be TCP-aware to be able to interpret TCP headers CMPE 257 Spring'15 48

Snoop : Example 37 38 39 40 41 42 43 45 44 42 37 CMPE 257 Spring'15 49

Snoop : Example 37 38 39 40 41 42 43 44 46 45 43 42 41 TCP sender does not fast retransmit CMPE 257 Spring'15 50

Snoop : Example 37 38 39 40 41 42 43 44 45 47 46 44 43 41 TCP sender does not fast retransmit CMPE 257 Spring'15 51

Snoop : Example 42 43 45 46 44 FH 48 47 41 BS 45 44 43 MH CMPE 257 Spring'15 52

Performance bits/sec 2000000 1600000 1200000 800000 400000 0 base TCP Snoop 64K 32K 16K 1/error rate no error 256K 128K (in bytes) 2 Mbps Wireless link CMPE 257 Spring'15 53

Snoop Protocol: Advantages Snoop prevents fast retransmit from sender despite transmission errors and out-of-order delivery on the wireless link. NOTE: If wireless link delay-bandwidth product less than 4 packets: simple (TCPunaware) link level retransmission scheme may suffice. Since delay-bandwidth product is small, retransmission scheme can deliver lost packet without causing MH to send 3 dupacks. CMPE 257 Spring'15 54

Snoop Protocol: Advantages Higher throughput can be achieved. 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. CMPE 257 Spring'15 55

Snoop Protocol:Disadvantages Link layer at base station needs to be TCP-aware. Not useful if TCP headers are encrypted (IPsec). CMPE 257 Spring'15 56

Delayed Dupacks CMPE 257 Spring'15 57

Delayed Dupacks Approach TCP-unaware approximation of TCP-aware link layer. Attempts to imitate Snoop without making BS TCP-aware. Snoop implements two features at BS: Link layer retransmission. Dupack handling: reduced interference between TCP and link layer retransmissions (drop dupacks). CMPE 257 Spring'15 58

Delayed Dupacks Implements same two features: at BS : link layer retransmission. at MH : reducing interference between TCP and link layer retransmissions (by delaying dupacks). CMPE 257 Spring'15 59

Delayed Dupacks Protocols TCP receiver delays dupacks (third and subsequent) for interval D, when out-of-order packets received. Dupack delay intended to give link level retransmission time to succeed. Benefit: Delayed dupacks can result in recovery from a transmission loss without triggering a response from the TCP sender. Disadvantage: Recovery from congestion losses delayed. CMPE 257 Spring'15 60

Delayed Dupacks Protocols Delayed dupacks released after interval D, if missing packet not received. Link layer maintains state to allow retransmission. CMPE 257 Spring'15 61

Delayed Dupacks: Example 35 Link layer state 37 38 40 39 38 37 34 Example assumes delayed ack - every other packet ack d Link layer acks are not shown CMPE 257 Spring'15 62

Delayed Dupacks: Example 37 38 39 41 40 39 38 34 BS 35 Removed from BS link layer buffer on receipt of a link layer ack (LL acks not shown in figure) CMPE 257 Spring'15 63

Delayed Dupacks: Example 37 40 38 39 42 41 40 39 Duplicate acks are not delayed dupack CMPE 257 Spring'15 64

Delayed Dupacks: Example 37 38 40 41 39 43 42 41 40 Original ack Duplicate ack CMPE 257 Spring'15 65

Delayed Dupacks: Example 37 39 40 41 42 44 43 37 41 dupack Base station forwards dupacks dupack CMPE 257 Spring'15 66 Delayed dupack

Delayed Dupacks: Example 37 40 42 43 41 45 44 42 37 dupacks Delayed dupacks CMPE 257 Spring'15 67

Delayed Dupacks : Example 37 41 43 44 42 46 45 43 42 TCP sender does not fast retransmit 41 Delayed dupacks are discarded if lost packet received before delay D expires CMPE 257 Spring'15 68

Delayed Dupacks [Vaidya99] 2000000 1600000 1200000 800000 400000 0 16384 32768 1/error rate 655 1E+05 (in bytes) 2 Mbps wireless duplex link with 20 ms delay No congestion losses base TCP dupack delay 80ms + LL Retransmit Only LL retransmit 20 ms 20 ms 10 Mbps 2 Mbps CMPE 257 Spring'15 69

Delayed Dupacks [Vaidya99] 160000 140000 120000 100000 80000 60000 40000 20000 0 16384 32768 655 1E+05 base TCP dupack delay 80ms + LL Retransmit Only LL retransmit 1/error rate (in bytes) 20 ms 20 ms 5% packet loss due to congestion 10 Mbps 2 Mbps CMPE 257 Spring'15 70

Delayed Dupacks: 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 D sufficient in such cases. CMPE 257 Spring'15 71

Delayed Dupacks: Disadvantages Right value of dupack delay D dependent on wireless link properties. Mechanisms to determine D needed. Delays dupacks for congestion losses too, delaying congestion loss recovery. CMPE 257 Spring'15 72

Cross-Layer Approaches Link layer error recovery. Link layer retransmission. TCP-awareness. TCP-unawareness. Split connection. CMPE 257 Spring'15 73

Split Connection Approach CMPE 257 Spring'15 74

Split Connection Approach End-to-end TCP connection is broken into one connection on the wired part of route and one over wireless part. CMPE 257 Spring'15 75

Split Connection Approach Connection between wireless host MH and fixed host FH goes through base station BS. FH-MH = FH-BS + BS-MH FH BS MH Fixed Host Base Station Mobile Host CMPE 257 Spring'15 76

Split Connection Approach Split connection results in independent control for the two parts. Congestion/error control protocols, packet size, time-outs, may be different for each part. FH Fixed Host BS Base Station MH Mobile Host CMPE 257 Spring'15 77

Split Connection Approach Per-TCP connection state TCP connection TCP connection application transport application transport rxmt application transport network network network link link link physical physical physical wireless CMPE 257 Spring'15 78

Split Connection Approach Hides transmission errors from sender Primary responsibility at base station If specialized transport protocol used on wireless, then wireless host also needs modification CMPE 257 Spring'15 79

Split Connection Approach: Example Indirect TCP [Bakre94] FH - BS connection : Standard TCP. BS - MH connection : Standard TCP. CMPE 257 Spring'15 80

Split Connection: Advantages BS-MH connection can be optimized independent of FH-BS connection. Different congestion/error control. 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 per window. Selective ACKs improve performance. CMPE 257 Spring'15 81

Split Connection: Disadvantages End-to-end semantics violated. ACK may be delivered to sender before data delivered to receiver. 39 FH 40 BS 38 37 MH 40 CMPE 257 Spring'15 82

Split Connection: Disadvantages BS retains hard state. BS failure can result in loss of data. If BS fails, packets 39 and 40 will be lost. Both ack d to sender; sender does not buffer. 39 FH 40 40 BS 38 37 MH CMPE 257 Spring'15 83

Split Connection: 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. CMPE 257 Spring'15 84

Handoff 39 FH 40 40 BS 38 37 MH 39 40 MH Hand-off New base station CMPE 257 Spring'15 85

Split Connection: 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). Extra copying of data at BS Copying from FH-BS socket buffer to BS-MH socket buffer. Increases end-to-end latency. CMPE 257 Spring'15 86

Split Connection: Disadvantages May not be useful if data and acks traverse different paths. Example: data on a satellite wireless hop, acks on a dial-up channel. BS data FH MH ack CMPE 257 Spring'15 87

E2E Approaches Strict E2E versus E2E with intermediate node involvement. E2E with intermediate node involvement: Explicit notifications. CMPE 257 Spring'15 88