+ All Categories
Home > Documents > Wireless & Mobile Networking CS 752/852 - Spring 2011

Wireless & Mobile Networking CS 752/852 - Spring 2011

Date post: 13-Jan-2016
Category:
Upload: kat
View: 31 times
Download: 0 times
Share this document with a friend
Description:
Wireless & Mobile Networking CS 752/852 - Spring 2011. Wireless TCP. Tamer Nadeem Dept. of Computer Science. The OSI Communication Model. Recall 1: PHY and MAC. MAC. MAC. PHY. PHY. Spread Spectrum radios (DS and FH) RTS/CTS and Carrier Sensing for Hidden Terminals - PowerPoint PPT Presentation
58
Wireless & Mobile Networking CS 752/852 - Spring 2011 Tamer Nadeem Dept. of Computer Science Wireless TCP
Transcript
Page 1: Wireless & Mobile Networking CS 752/852 - Spring 2011

Wireless & Mobile Networking

CS 752/852 - Spring 2011

Tamer NadeemDept. of Computer Science

Wireless TCP

Page 2: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 2 Spring 2011 CS 752/852 - Wireless and Mobile Networking

The OSI Communication Model

Page 3: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 3 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Recall 1: PHY and MAC

MAC MAC

PHY PHY

• Spread Spectrum radios (DS and FH)• RTS/CTS and Carrier Sensing for Hidden Terminals• Directional antennas to reduce interference• Rate control to extract max capacity from available SINR• Power control for spatial reuse & energy savings – topology control• TDMA scheduling, multi-channel use, encryption security

… and many more

Page 4: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 4 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Recall 2: Network Layer

Routing

• The first view of the network

• Coping up with (uncontrolled) user mobility-Flooding the network reactively, or proactive updation

• Mobile IP, coping with handoffs, etc.

• Ad hoc routing – discovery, optimal metric, maintenance, caching• Secure routing – Routes bypassing malicious nodes

Routing

Routing

Routing

Routing

Page 5: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 5 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Role of Transport Layer

TCP

• Transport packets quickly and reliably over this network

• Network properties often unknown (or difficult to track)- Where is the congestion ? How much cross traffic ?- What is the bottleneck bandwidth ?- How much buffers at intermediate nodes ?

Motivation for end to end TCP

TCP

NETWORK

Data

Data

Data

Page 6: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 6 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Some transmission methods

• Stop & Wait

• Pipelined

• Go Back N

• Selective Repeat

Page 7: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 7 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Stop-and-wait operation

first packet bit transmitted, t = 0

sender receiver

RTT

last packet bit transmitted, t = L / R

first packet bit arriveslast packet bit arrives, send ACK

ACK arrives, send next packet, t = RTT + L / R

U sender

= .008

30.008 = 0.00027

microseconds

L / R

RTT + L / R =

Page 8: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 8 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Pipelined protocols

Pipelining: sender allows multiple, “in-flight”, yet-to-be-acknowledged pkts

• range of sequence numbers must be increased

• buffering at sender and/or receiver

• Two generic forms of pipelined protocols: go-Back-N, selective repeat

Page 9: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 9 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Pipelining: increased utilization

first packet bit transmitted, t = 0

sender receiver

RTT

last bit transmitted, t = L / R

first packet bit arriveslast packet bit arrives, send ACK

ACK arrives, send next packet, t = RTT + L / R

last bit of 2nd packet arrives, send ACKlast bit of 3rd packet arrives, send ACK

U sender

= .024

30.008 = 0.0008

microseconds

3 * L / R

RTT + L / R =

Increase utilizationby a factor of 3!

Page 10: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 10 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Go-Back-N

Sender:

• k-bit seq # in pkt header

• “window” of up to N, consecutive unack’ed pkts allowed

ACK(n): ACKs all pkts up to, including seq # n - “cumulative ACK” may receive duplicate ACKs

timer for each in-flight pkt timeout(n): retransmit pkt n and all higher seq # pkts in window

Page 11: Wireless & Mobile Networking CS 752/852 - Spring 2011

GBN inaction

Page 12: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 12 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Selective Repeat

• receiver individually acknowledges all correctly received pkts

• buffers pkts, as needed, for eventual in-order delivery to upper layer

• sender only resends pkts for which ACK not received

• sender timer for each unACKed pkt

• sender window

• N consecutive seq #’s

• again limits seq #s of sent, unACKed pkts

Page 13: Wireless & Mobile Networking CS 752/852 - Spring 2011

Selective repeat: sender, receiver windows

Page 14: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 14 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Selective repeat

data from above :

• if next available seq # in window, send pkt

timeout(n):

• resend pkt n, restart timer

ACK(n) in [sendbase,sendbase+N]:

• mark pkt n as received

• if n smallest unACKed pkt, advance window base to next unACKed seq #

sender

pkt n in [rcvbase, rcvbase+N-1]

send ACK(n) out-of-order: buffer in-order: deliver (also deliver

buffered, in-order pkts), advance window to next not-yet-received pkt

pkt n in [rcvbase-N,rcvbase-1]

ACK(n)

otherwise: ignore

receiver

Page 15: Wireless & Mobile Networking CS 752/852 - Spring 2011

Selective repeat in action

Page 16: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 16 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP

Page 17: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 17 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP Congestion Control

• Problem Definition

• How much data should I pump into the network to ensure

• Intermediate router queues not filling up

• Fairness achieved among multiple TCP flows

• Why is this problem difficult?

• TCP cannot have information about the network

• Only TCP receiver can give some feedbacks

Page 18: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 18 Spring 2011 CS 752/852 - Wireless and Mobile Networking

The Control Problem

• Two main components in TCP

• Flow Control and Congestion Control

• Flow Control

• If receiver’s bucket filling up, pour less water

• Congestion Control

• Don’t pour too much if there are leaks in intermediate pipes

• Regulate your flow based on how much is leaking out

• Aggressive pouring calls for retransmission of lost packets

• Conservative pouring lower e2e capacity

• Challenge: At what rate(t) should you pour ?

Page 19: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 19 Spring 2011 CS 752/852 - Wireless and Mobile Networking

The TCP Protocol (in a nutshell)

• T transmits few packets, waits for ACK

• Called slow start

• R acknowledges all packet till seq #i by ACK i (optimizations possible)

• ACK sent out only on receiving a packet

• Can be Duplicate ACK if expected packet not received

• ACK reaches T indicator of more capacity

• T transmits larger burst of packets (self clocking) … so on

• Burst size increased until packet drops (i.e., DupACK)

• When T gets DupACK or waits for longer than RTO

• Assumes congestion reduces burst size (congestion window)

Page 20: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 20 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP Timeline

Host A

one segment

RT

T

Host B

time

two segments

four segments

Think of a blind

person trying to

stand up in a low

ceiling room

Objective:

Don’t bang your

head, but stand

up quickly

Think of a blind

person trying to

stand up in a low

ceiling room

Objective:

Don’t bang your

head, but stand

up quickly

Page 21: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 21 Spring 2011 CS 752/852 - Wireless and Mobile Networking

When waited for > RTO

0

5

10

15

20

25

Time (round trips)

Con

gest

ion

win

dow

(se

gmen

ts)

ssthresh = 8 ssthresh = 10

cwnd = 20

After RTO timeout

Page 22: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 22 Spring 2011 CS 752/852 - Wireless and Mobile Networking

The TCP Protocol (in a nutshell)

• DupACK not necessarily indicator of congestion

• Can happen due to out of order (OOO) delivery of packets

• If 3 OOO pkts, then CW need not be cut drastically

• The DupACK packet retransmitted

• Continue with same pace of transmission as before

(fast recovery)

• R advertizes its receiver window in ACKs

• If filling up, T reduces congestion window

Page 23: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 23 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Fast Recovery on 3 OOO DupACKs

0

2

4

6

8

10

Time (round trips)

Win

dow

size

(seg

men

ts)

Receiver’s advertized window

After fast recovery

Page 24: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 24 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP Round Trip Time and Timeout

EstimatedRTT = (1- )*EstimatedRTT + *SampleRTTEstimatedRTT = (1- )*EstimatedRTT + *SampleRTT

Exponential weighted moving average influence of past sample decreases exponentially fast typical value: = 0.125

Page 25: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 25 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Example RTT estimation:

RTT: gaia.cs.umass.edu to fantasia.eurecom.fr

100

150

200

250

300

350

1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106

time (seconnds)

RTT

(mill

isec

onds

)

SampleRTT Estimated RTT

Page 26: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 26 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP Round Trip Time and Timeout

Setting the timeout

• EstimtedRTT plus “safety margin”

• large variation in EstimatedRTT -> larger safety margin

• first estimate of how much SampleRTT deviates from EstimatedRTT:

TimeoutInterval = EstimatedRTT + 4*DevRTT

DevRTT = (1-)*DevRTT + *|SampleRTT-EstimatedRTT|

(typically, = 0.25)

DevRTT = (1-)*DevRTT + *|SampleRTT-EstimatedRTT|

(typically, = 0.25)

Then set timeout interval:

Page 27: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 27 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Several flavors of TCP: combines options / optimizations

Reno, Vegas, Eifel, Westwood …

Overall TCP has worked well – proven on the internet

Then why study it again

for wireless networks ?

Page 28: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 28 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Renewed Challenge

• Key assumption in TCP

• A packet loss is indicative of network congestion

• Source needs to regulate flow by reducing CW

• Assumption closely true for wired networks

• BER ~ 10 -6

• With wireless, errors due to fading, fluctuations

• Need not reduce CW in response …

• But, TCP is e2e CANNOT see the network

• Thus, TCP cannot classify the cause of loss CHALLENGE

Page 29: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 29 Spring 2011 CS 752/852 - Wireless and Mobile Networking

The Problem Model

wireless

physical

link

network

transport

application

physical

link

network

transport

application

physical

link

network

transport

application

rxmt

TCP connection

Wireline

Page 30: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 30 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Impact of Misclassification

0.0E+00

5.0E+05

1.0E+06

1.5E+06

2.0E+06

0 10 20 30 40 50 60

Time (s)

Se

que

nce

nu

mb

er

(byt

es)

TCP Reno(280 Kbps)

Best possible TCP with no errors(1.30 Mbps)

2 MB wide-area TCP transfer over 2 Mbps WaveLAN

Page 31: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 31 Spring 2011 CS 752/852 - Wireless and Mobile Networking

The Solution Space

• Much research on TCP over wireless

• Difficult to cover complete ground

• We peek into some of the key ideas

• Link layer mechanisms

• Split connection approach

• TCP-Aware link layer

• TCP-Unaware approximation of TCP-aware link layer

• Explicit notification

• Receiver-based discrimination

• Sender-based discrimination

Page 32: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 32 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Link Layer Mechanisms

Page 33: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 33 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Link Layer Mechanisms

• Forward error corrections

• Add redundancy in the packets to correct bit-errors

• TCP retransmissions can be alleviated

• Link layer retransmissions

• MAC layer ACKnowledgments

• Overhead only when errors occur (unlike FEC)

Such mechanisms require no change in TCP

Is that breaking e2e argument ??

Page 34: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 34 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Issues with Link Layer Mechanisms

• Link layer cannot guarantee reliability

• Have to drop packets after some finite limit

• What is the retransmission limit (??)

• Retransmission can take quite long

• Can be significant fraction of RTT

• TCP can timeout and retransmit the same packet again

• Increasing RTO can avoid this

• But that impacts TCP’s recovery from congestion

• Head of the line blocking

• Link layer has to keep retransmitting even if bad channel

• Blocks other streams

Page 35: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 35 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Findings

• Link layer retransmission good

• When channel errors infrequent

• When retransmit time << RTO

• When modifying TCP is not an acceptable solution

Page 36: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 36 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Split Connection Approach

Page 37: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 37 Spring 2011 CS 752/852 - Wireless and Mobile Networking

1 TCP = ½ TCP + ½ (TCP or XXX)

wireless

physical

link

network

transport

application

physical

link

network

transport

application

physical

link

network

transport

application rxmt

Per-TCP connection state

TCP connection TCP connection

Base Station

Page 38: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 38 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Splitting Approaches

• Indirect TCP [Baker97]

• Fixed host (FH) to base station (BS) uses TCP

• BS to mobile host (MH) uses another TCP connection

• Selective Repeat [Yavatkar94]

• Over FH to BS: Use TCP

• Over BS to MH: Use selective repeat on top of UDP

• No congestion control over wireless [Haas97]

• Also use less headers over wireless

• Header compression

Page 39: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 39 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Issues with Splitting

• E2E totally broken

• 2 separate connections

• BS maintains hard state for each connection

• What if MH disconnected from BS ?

• Huge buffer requirements at BS

• What if BS fails ?

• Handoff between BS requires state transfer

• What if Data and ACK travel on different routes ?

• BS will not see the ACK at all – splitting not feasible

Page 40: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 40 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP-Aware Link Layer

Page 41: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 41 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop

• Link layer at BS buffers un-acknowledged packets

• Now, BS peeks into every returning TCP ACK from MH

• If DupACK

• Retransmits the necessary packet

• Drops the DupACK

• DupACK does not reach sender

• Prevents fast retransmit

Page 42: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 42 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

FH MHBS

40 39 3738

3634

Example assumes delayed ack - every other packet ack’d

36

37

38

35 TCP statemaintained at

link layer

Page 43: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 43 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

41 40 3839

3634

36

37

38

35 39

Page 44: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 44 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

42 41 3940

36

Duplicate acks are not delayed

36

dupack

37

38

39

40

Page 45: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 45 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

40

363636

Duplicate acks

4143 42

37

38

39

40

41

Page 46: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 46 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

FH MHBS

41

3636

3744 43

36

37

38

39

40

41

42

Discarddupack

Dupack triggers retransmissionof packet 37 from base station

BS needs to be TCP-aware to

be able to interpret TCP headers

Page 47: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 47 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

37

36

36

4245 44

36

37

38

39

40

41

42

43

36

Page 48: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 48 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

42

36

36

4346 45

36

37

38

39

40

41

42

43

41

36

44

TCP sender does notfast retransmit

Page 49: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 49 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

43

3636

4447 46

36

37

38

39

40

41

42

43

41

36

44

TCP sender does notfast retransmit

45

Page 50: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 50 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop : Example

FH MHBS

44

3636

4548 47

36

42

43

41

36

44

45

43

46

Page 51: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 51 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Snoop [Balakrishnan95acm]

0

400000

800000

1200000

1600000

2000000

16

K

32

K

64

K

12

8K

25

6K

no

erro

r

1/error rate (in bytes)

bit

s/s

ec

base TCP

Snoop

2 Mbps Wireless link

Page 52: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 52 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Issues with Snoop

• Link layer needs to be TCP aware

• Smelling cross layer

• Link layer needs to buffer and perform sliding window

• Not useful when TCP headers encrypted

• Not feasible when Data and ACK travel different routes

• RTT estimates can still go up due to link layer retransmission

• Affects performance of Snoop

Page 53: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 53 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Wireless TCP

• WTCP attempts to nullify RTT estimation problem

• When data packets are lost due to errors

• Link layer includes own time stamp in ACK packet

• ACK packets that have BS time stamps indicate a wireless loss

• RTT of these packets not considered for RTO calculation

• But then, what if wireless hop is also congested !!!!!!

• Time stamping cannot take care of that

Page 54: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 54 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Quick look at other schemes

TCP-unaware schemes

Explicit notification

Receiver-based

Page 55: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 55 Spring 2011 CS 752/852 - Wireless and Mobile Networking

TCP-Unaware, ELN

• Delayed DupACKs

• Receiver waits for sometime before sending DupACK

• If link retransmission solves problem

• Then TCP sender does not send redundant packet

• Explicit Loss Notification (ELN)

• BS remembers only packet’s sequence numbers

• When DupACKs return through them, they check

• If packet was received by BS, then colors the DupACK

• Sender realizes that packet lost on wireless link

• Does not cut down CW, just retransmits that packet

Page 56: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 56 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Closing Thoughts

• Reliable and in-order packet delivery important

• TCP aims to support these features

• Implements congestion control and flow control

• TCP widely tuned for wireline networks

• Proven to be efficient on the internet

• When network periphery has wireless “last mile”

• TCP exhibits myriad problems

• Mainly because of

“misclassification between congestion and channel errors”

• Several solution approaches but many open problems

Page 57: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 57 Spring 2011 CS 752/852 - Wireless and Mobile Networking

What’s Hot Now ??

• TCP over wireless multihop (mesh)

• Each hop has contention-based MAC

• Unpredictable delays and congestion

• Fairness between TCP e2e flows a very challenging problem

• Mobility can significantly affect TCP

(Very difficult set of open problems)

• More fundamental: Is TCP the way to go for wireless

• Strong ongoing debate in community

• Useful queuing solutions in ad hoc networks

• Neighborhood RED solution

… and many many more …

Page 58: Wireless & Mobile Networking CS 752/852 - Spring 2011

Page 58 Spring 2011 CS 752/852 - Wireless and Mobile Networking

Questions ?


Recommended