Download Mobile - CSE, IIT Bombay

Document related concepts

Wake-on-LAN wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Network tap wikipedia , lookup

Computer network wikipedia , lookup

RapidIO wikipedia , lookup

Policies promoting wireless broadband in the United States wikipedia , lookup

Wireless security wikipedia , lookup

Deep packet inspection wikipedia , lookup

Remote Desktop Services wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

IEEE 1355 wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Internet protocol suite wikipedia , lookup

TCP congestion control wikipedia , lookup

Transcript
IT 601: Mobile Computing
TCP over wireless
TCP and mobility
Slides from Prof. Sridhar Iyer’s lecture
IIT Bombay
Session: 15
Prof. Sridhar Iyer
15.1
Effect of Mobility on Protocol Stack
•
•
•
•
•
Application: new applications and adaptations
Transport: congestion and flow control
Network: addressing and routing
Link: media access and handoff
Physical: transmission errors and interference
Session: 15
Prof. Sridhar Iyer
15.2
TCP basics
• Reliable, ordered delivery
– uses sequence numbers, acknowledgements,
timeouts and retransmissions
– End-to-end semantics (ACK after data recd)
• Provides flow and congestion control
– uses sliding window based buffers and feedback
from receiver/network to adjust transmission rate
Session: 15
Prof. Sridhar Iyer
15.3
Window based flow control
• Window size minimum of
– receiver’s advertised window - determined by
available buffer space at the receiver
– congestion window - determined by sender, based on
network feedback
Sender’s window
1 2 3 4 5 6 7 8 9 10 11 12 13
Acks received
Session: 15
Not transmitted
Prof. Sridhar Iyer
15.4
Timeouts and retransmission
• TCP manages four different timers for each
connection
– retransmission timer: when awaiting ACK
– persist timer: keeps window size information flowing
– keepalive timer: when other end crashes or reboots
– 2MSL timer: for the TIME_WAIT state
Session: 15
Prof. Sridhar Iyer
15.5
TCP: retransmission scenarios
X
loss
premature timeout,
cumulative ACKs
lost ACK scenario
Session: 15
Host B
Seq=92 timeout
Host A
Host B
Seq=100 timeout
timeout
Host A
Prof. Sridhar Iyer
15.6
RTT estimation
Exponential Averaging Filter:
• Measure SampleRTT for segment/ACK pair
• Compute weighted average of RTT
• EstimatedRTT = α PrevEstimatedRTT + (1 – α)
SampleRTT
– RTO = β * EstimatedRTT
• Typically α = 0.9; β = 2
Session: 15
Prof. Sridhar Iyer
15.7
Ideal window size
• Ideal size = delay * bandwidth
– delay-bandwidth product
• If window size < delay*bw
– Inefficiency (wasted bandwidth)
• If window size > delay*bw
– Queuing at intermediate routers (increased RTT)
– Potentially, packet loss
Session: 15
Prof. Sridhar Iyer
15.8
Congestion control
• On detecting a packet loss, TCP sender assumes
that network congestion has occurred
• On detecting packet loss, TCP sender drastically
reduces the congestion window
• Reducing congestion window reduces amount of
data that can be sent per RTT
Session: 15
Prof. Sridhar Iyer
15.9
Typical TCP behaviour
25
cwnd = 20
20
15
10
ssthresh = 10
ssthresh = 8
5
25
22
20
15
12
9
6
3
0
0
Congestion window (segments)
After timeout
Time (round trips)
Session: 15
Prof. Sridhar Iyer
15.10
Window size (segments)
Fast retransmit and Fast recovery
10
advertised window
8
6
4
After fast recovery
2
0
0
2
4
6
8
10
12
14
Time (round trips)
Session: 15
Prof. Sridhar Iyer
15.11
Typical mobile wireless scenario
• FH: Fixed Host
• MH: Mobile Host
• BS: Base Station (gateway)
Session: 15
Prof. Sridhar Iyer
15.12
Burst errors may cause Timeouts
• If wireless link remains unavailable for extended
duration, a window worth of data may be lost
– driving through a tunnel; passing a truck
• Timeout results in slow start
– Slow start reduces congestion window to 1 MSS,
reducing throughput
• Reduction in window in response to errors
unnecessary
Session: 15
Prof. Sridhar Iyer
15.13
Random errors may cause
Fast Retransmit or Timeout
• If a packet is lost due to transient link conditions
– Channel noise leading to CRC error
• Fast retransmit results in fast recovery
– Fast recovery reduces congestion window to 1/2
• If multiple packets losses happen in a window,
– Results in timeout
• Reduction in window in response to errors
unnecessary
Session: 15
Prof. Sridhar Iyer
15.14
Example: Random errors
40
39
38
37
34
42
41
37
40
39
37
44
43
42
37
Session: 15
37
Prof. Sridhar Iyer
41
37
37
15.15
TCP and wireless/mobility
TCP assumes congestion if packets dropped
• typically wrong in wireless networks
– often packet loss due to transmission errors
• mobility itself can cause packet loss
– nodes roam from one access point or foreign agent
to another with packets in transit
Session: 15
Prof. Sridhar Iyer
15.16
Motivation for TCP adaptation
Performance of an unchanged TCP degrades severely
for wireless/mobile environments
• TCP cannot be changed fundamentally
– Widely deployed in the fixed network
– Internet interoperability requirement
• TCP for wireless/mobility has to be compatible with
“standard” TCP
Session: 15
Prof. Sridhar Iyer
15.17
Adaptation for TCP over wireless
Several proposals to adapt TCP to wireless
environments
• Modifications to TCP implementation at
– Fixed Host
– Base Station
– Mobile Host
• Approaches
– Hide error losses from the sender
– Let sender know the cause of packet loss
Session: 15
Prof. Sridhar Iyer
15.18
Ideal behavior
• Ideal TCP behavior: TCP sender should simply retransmit a
packet lost due to transmission errors, without taking any
congestion control actions
– Ideal TCP typically not realizable
• Ideal network behavior: Transmission errors should be
hidden from the sender
– Errors should be recovered transparently and efficiently
• Proposed schemes attempt to approximate one of the
above two ideals
Session: 15
Prof. Sridhar Iyer
15.19
Link Layer mechanisms
• Forward Error Correction (FEC)
– Can be use to correct small number of errors
– Incurs overhead even when errors do not occur
• Link Level Retransmissions
– Retransmit a packet at the link layer, if errors are
detected
– Retransmission overhead incurred only if errors occur
Session: 15
Prof. Sridhar Iyer
15.20
Link Level Retransmissions
Link layer state
TCP connection
application
application
application
transport
transport
transport
network
network
link
link
link
physical
physical
physical
Session: 15
Prof. Sridhar Iyer
rxmt
wireless
network
15.21
Issues
• How many times to retransmit at the link level
before giving up?
• What triggers link level retransmissions?
• How much time is required for a link layer
retransmission?
• Should the link layer deliver packets as they arrive,
or deliver them in-order?
Session: 15
Prof. Sridhar Iyer
15.22
Split connection approach
• End-to-end TCP connection is broken into one
connection on the wired part of route and one over
wireless part of the route
• FH-MH = FH-BS + BS-MH
FH
Fixed Host
Session: 15
BS
Base Station
Prof. Sridhar Iyer
MH
Mobile Host
15.23
I-TCP: Split connection
Per-TCP connection state
TCP connection
TCP connection
application
application
application
rxmt
transport
transport
transport
network
network
network
link
link
link
physical
physical
physical
wireless
Session: 15
Prof. Sridhar Iyer
15.24
Source: Vaidya
I-TCP advantages
• No changes to TCP for FH
• BS-MH connection can be optimized independent of
FH-BS connection
– Different flow / error control on the two connections
– Faster recovery due to relatively shorter RTT on
wireless link
Session: 15
Prof. Sridhar Iyer
15.25
I-TCP disadvantages
• End-to-end semantics violated
– ack may be delivered to sender, before data
delivered to the receiver
• BS retains hard state
– Buffer space required at BS on a per-TCPconnection basis
– BS failure can result in permanent loss of data
(unreliability)
– Hand-off latency increases
Session: 15
Prof. Sridhar Iyer
15.26
Hand-off in I-TCP
• Data that has been ack’d to sender, must be moved to new
base station
FH
41
39
40
BS
38
37
37
39
40
MH
MH
Hand-off
New base station
Session: 15
Prof. Sridhar Iyer
15.27
Snoop Protocol
• Retains local recovery of Split Connection approach
and uses link level retransmission
• Improves on split connection
– end-to-end semantics retained
– soft state at base station, instead of hard state
Session: 15
Prof. Sridhar Iyer
15.28
Snoop Protocol
• Buffers data packets at the base station BS
– to allow link layer retransmission
• When duplicate ACK received by BS from MH
– retransmit on wireless link, if packet present in buffer
– drop duplicate ACK
• Prevents fast retransmit at TCP sender FH
FH
Session: 15
BS
Prof. Sridhar Iyer
MH
15.29
Snoop Protocol
Per TCP-connection state
TCP connection
application
application
application
transport
transport
transport
network
network
link
link
link
physical
physical
physical
FH
Session: 15
BS
rxmt
wireless
Prof. Sridhar Iyer
network
MH
15.30
Source: Vaidya
Snoop : Example
35
36
TCP state
maintained at
link layer
37
38
40
39
38
FH
BS
35
Session: 15
37
Prof. Sridhar Iyer
MH
37
15.31
Snoop : Example
44
FH
37
40
38
41
39
42
43
37
41
BS
Discard
dupack
MH
37
37
37
Session: 15
Prof. Sridhar Iyer
15.32
Snoop advantages
• Local recovery from wireless losses
• Fast retransmit not triggered at sender despite out-oforder link layer delivery
• High throughput can be achieved
• End-to-end semantics retained
• Soft state at base station
– loss of the soft state affects performance, but not
correctness
Session: 15
Prof. Sridhar Iyer
15.33
Snoop disadvantages
• Link layer at base station needs to be TCP-aware
• Not useful if TCP headers are encrypted (IPsec)
Session: 15
Prof. Sridhar Iyer
15.34
Delayed Dupacks
• Attempts to imitate Snoop, without making the base
station TCP-aware
• Delayed Dupacks implements the same two
features
– at BS : link layer retransmission
– at MH : reducing interference between TCP and link
layer retransmissions (by delaying dupacks)
Session: 15
Prof. Sridhar Iyer
15.35
Delayed Dupacks
• TCP receiver delays dupacks for interval D, when
out-of-order packets received
– Dupack delay intended to give link level retransmit
time to succeed
• Benefit: can result in recovery from a transmission
loss without triggering a response from the TCP
sender
Session: 15
Prof. Sridhar Iyer
15.36
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 delay D sufficient in such cases
Session: 15
Prof. Sridhar Iyer
15.37
Delayed dupacks disadvantages
• Right value of dupack delay D dependent on the
wireless link properties
• Mechanisms to automatically choose D needed
• Delays dupacks for congestion losses too, delaying
congestion loss recovery
Session: 15
Prof. Sridhar Iyer
15.38
Mobility and handoff
• Hand-offs may result in temporary loss of route to MH
– with non-overlapping cells, it may be a while before the
mobile host receives a beacon from the new BS
• While routes are being reestablished during handoff,
MH and old BS may attempt to send packets to each
other, resulting in loss of packets
Session: 15
Prof. Sridhar Iyer
15.39
Impact of handoff
• Split connection approach
– hard state at base station must be moved to new
base station
• Snoop protocol
– soft state need not be moved
– while the new base station builds new state, packet
losses may not be recovered locally
Session: 15
Prof. Sridhar Iyer
15.40
Handoff issues
• During the long delay for a handoff to complete
– a whole window worth of data may be lost
• After handoff is complete
– acks are not received by the TCP sender
• Sender eventually times out, and retransmits
– If handoff still not complete, another timeout will occur
• Performance penalty
– Time wasted until timeout occurs
– Window shrunk after timeout
Session: 15
Prof. Sridhar Iyer
15.41
Using Fast Retransmit
• When MH is the TCP receiver:
– after handoff is complete, it sends 3 dupacks to the
sender
– this triggers fast retransmit at the sender
• When MH is the TCP sender:
– invoke fast retransmit after completion of handoff
Session: 15
Prof. Sridhar Iyer
15.42
Mobile TCP (M-TCP)
• Handling of lengthy or frequent disconnections
• M-TCP splits as I-TCP does
– unmodified TCP for FH to BS
– optimized TCP for BS to MH
• BS (Foreign Agent)
– monitors all packets, if disconnection detected
• set advertised window size to 0
• sender automatically goes into persistent mode
– no caching, no retransmission at the BS
• If a packet is lost on the wireless link, it has to be
retransmitted by the original sender
Session: 15
Prof. Sridhar Iyer
15.43
M-TCP
• BS does not send an ack to FH, unless BS has received
an ack from MH
– maintains end-to-end semantics
• BS withholds ack for the last byte ack’d by MH
• When BS does not receive ACK for sometime, it chokes
sender by setting advertise window to 0
Ack 999
FH
Session: 15
Ack 1000
BS
Prof. Sridhar Iyer
MH
15.44
M-TCP
• When a new ack is received with receiver’s advertised
window = 0, the sender enters persist mode
• Sender does not send any data in persist mode
– except when persist timer goes off
• When a positive window advertisement is received, sender
exits persist mode
• On exiting persist mode, RTO and cwnd are same as
before the persist mode
Session: 15
Prof. Sridhar Iyer
15.45
M-TCP
• Avoids reduction of congestion window due to
handoff, unlike the fast retransmit scheme
• Is not reducing the window a good idea?
– When host moves, route changes, and new route
may be more congested
– It is not obvious that starting full window after handoff
is right
Session: 15
Prof. Sridhar Iyer
15.46
FreezeTCP
• M-TCP needs help from base station (BS)
– BS withholds ack for one byte
– BS uses this ack to send a zero window advertisement
when MH moves to another cell
• FreezeTCP
– Receiver sends zero window advertisement (ZWA),
upon impending disconnection
– Receiver sends full window advertisement (FWA),
upon reconnection
Session: 15
Prof. Sridhar Iyer
15.47
FreezeTCP
• TCP receiver determines if a handoff is about to
happen
– determination may be based on signal strength
• Receiver should attempt to send ZWA 1 RTT before
handoff
• Receiver sends 3 dupacks when route is
reestablished
• No help needed from the base station
Session: 15
Prof. Sridhar Iyer
15.48
Multi-hop Wireless (MANET)
• Mobility causes route changes
Session: 15
Prof. Sridhar Iyer
15.49
TCP Issues
• Route changes due to mobility
• Wireless transmission errors
– problem compounded with multiple hops
• Out-of-order packet delivery
– frequent route changes may cause out-of-order
delivery
• Multiple access protocol
– choice of MAC protocol can impact TCP
performance significantly
Session: 15
Prof. Sridhar Iyer
15.50
TCP over multi hop wireless
• When contention-based MAC protocol is used,
connections over multiple hops are at a
disadvantage compared to shorter connections
– because they have to contend for wireless access at
each hop
– extent of packet delay or drop increases with number
of hops
Session: 15
Prof. Sridhar Iyer
15.51
Impact of Multi-Hop Wireless Paths
1600
1400
1200
1000
800
600
400
200
0
TCP Throughtput
(Kbps)
1 2 3 4 5 6 7 8 9 10
Number of hops
TCP Throughput using 2 Mbps 802.11 MAC
Session: 15
Prof. Sridhar Iyer
15.52
Impact of mobility
mobility causes
link breakage,
resulting in route
failure
Route is
repaired
TCP sender times out.
Starts sending packets again
No throughput
No throughput
despite route repair
Session: 15
TCP data and acks
en route discarded
Prof. Sridhar Iyer
15.53
Positive impact of mobility
C
B
D
C
D
B
A
C
B
D
A
A
1.5 second route failure
Route from A to D is broken for ~1.5 second.
When TCP sender times out after 1 second, route still broken.
TCP times out after another 2 seconds, and only then resumes.
Throughput improves because number of hops reduced.
Session: 15
Prof. Sridhar Iyer
15.54
Improving throughput
• Network feedback
• Inform TCP of route failure by explicit message
• Let TCP know when route is repaired
– Probing
– Explicit notification
• Reduces repeated TCP timeouts and backoff
Session: 15
Prof. Sridhar Iyer
15.55
Network Feedback
• Network feedback beneficial
• Need to modify transport & network layer to
receive/send feedback
• Need mechanisms for information exchange
between layers
Session: 15
Prof. Sridhar Iyer
15.56
References
•
•
•
•
Bakre, A., Badrinath, B., “I-TCP: Indirect TCP for mobile hosts”- IEEE ICDCS 1995.
Balakrishnan, H., Srinivasan, S., Amir, E., and Katz, R., “Improving TCP/IP
Performance over Wireless Networks” – ACM Mobicom 1995.
Brown, K., Singh, S., “M-TCP: TCP for mobile cellular networks” – ACM Computer
Communication Review, 27 (5), 1997.
Goff, T. Moronski, J. Phatak, D.S. Gupta, V. “Freeze-TCP: a true end-to-end TCP
enhancement mechanism for mobile environments” – IEEE Infocom 2000.
Session: 15
Prof. Sridhar Iyer
15.57