TCP for Mobile and Wireless Hosts

Wireless Networking Primer
(few topics that
may help in understanding other lectures)
Nitin Vaidya
University of Illinois at Urbana-Champaign
1
What Makes Wireless Interesting?

Absence of wires facilitate mobility
Signal attenuation
Spatial reuse
Diversity

Wireless devices often battery-powered




• Multi-user diversity
• Antenna diversity
• Time diversity
• Frequency diversity
Broadcast medium makes it easier to snoop on, or tamper
with, wireless transmissions
2
Transmission “Range”
Whether a transmission is received reliably or not
depends on
Transmit power level
Channel conditions (time-varying)
Interference (time-varying)
Noise (not deterministic)
Packet size
Modulation scheme (bit rate)
Error control coding
Transmission rate



Transmission not received by all “neighbors” reliably
Not all nodes can “hear” each other
Time-varying outcome of transmissions
3
Medium Access Protocol (MAC)
Wireless channel is a shared medium, requiring suitable MAC
protocol.
Performance of the MAC protocol depends on

Channel properties

Physical capabilities
Single interface?
One packet at a time?
One channel at a time?
Antenna diversity?
Assume single interface, single channel, single antenna, one
packet at a time, small propagation delay
4
“Basic” Protocol

Simple rule (a distributed protocol):
Transmit packet immediately
(if not transmitting already)
Shortcomings
No provision for reliability
No detection of “collisions”
5
Reliability: A Retransmission Protocol

Stop-and-wait
6
A Mechanism to Reduce Collision Cost
Packet loss may occur due to collisions. To reduce cost:




“Reserve” the wireless channel before transmitting
data
Send short control packets for reservation
Collision may occur for control packets, but they are
short
 lower collision cost
Once channel reserved, data transmission
(hopefully) reliable
7
RTS-CTS Exchange

Node A sends RTS to B
Duration of proposed transmission specified in RTS

B responds with CTS

Host A sends data

Other hosts overhearing RTS keep quiet for
duration of proposed transmission
Works alright if all nodes within “range” of each other
8
RTS-CTS


RTS-CTS reduce collision cost
If data packets too small, sending RTS-CTS not
beneficial
A possible implementation:
Send RTS-CTS only for data packets with
size > RTS-threshold
9
Carrier Sense Multiple Access (CSMA)
(to reduce collisions)


Listen-before-you-talk
A host may transmit only if the channel is
sensed as idle
10
Carrier Sensing (Approximation)
Implementation using Carrier Sense (CS) threshold Pcs

If received signal power < CS threshold
 Channel idle

Else channel busy
In reality, efficacy of carrier sensing affected by
noise & interference.
11
Carrier Sense Multiple Access (CSMA)
D perceives idle channel although A is transmitting
B
A
power

C
D
D’s CS Threshold
distance
12
Carrier Sense Multiple Access (CSMA)
D perceives busy channel when A transmits
B
A
C
D
D’s CS Threshold
power

distance
13
Trade-Off

Large carrier sense threshold
 More transmitters
 Greater spatial reuse & more interference

Trade-off between spatial reuse and interference
14
Impact of CS Threshold on Interference

Suppose C transmits even though A is already
transmitting
B
A
C
Path gain g = received power / transmit power
D
15
Hidden Terminals
16
Hidden & Exposed Terminals

Collisions may occur despite carrier sensing

Smaller carrier sensing threshold can help

But increases the incidence of exposed terminals
?
17
Hidden & Exposed Terminals

Cannot eliminate all collisions using carrier sensing

Trade-off between hidden and exposed terminals

Optimal carrier sense threshold function of
network “topology” and traffic characteristics
18
Collision Detection




Ethernet uses carrier sensing & collision detection
(CSMA/CD)
Transmitter also listens to the channel
Mismatch between transmitted & received signal
indicates mismatch
Stop transmitting immediately once collision is
detected
 Reduces time lost on a collision
19
Collision Detection in Wireless Networks


Receiving while transmitting: Received signal
dominated by transmitted signal
Collision occurs at receiver, not the transmitter
 Collision detection difficult at the transmitter
without feedback from the receiver
20
Solutions for Hidden Terminals

Busy-tone

Virtual carrier sensing
Carrier sensing mechanism discussed earlier will be
referred to as physical carrier sensing, to differentiate
with virtual carrier sensing
21
Virtual Carrier Sensing



RTS specifies duration of transmission
CTS also includes the duration
Any host hearing RTS or CTS stay silent as shown
RTS
CTS
22
Virtual Carrier Sensing



Host C may not receive RTS and still cause
collision at host B
SINR = Signal-to-interference-and-noise ratio
= S / (I + N)
Assume “SINR-threshold model”
 assume that SINR  necessary/sufficient for
reliable delivery
(approximation of reality)
23


SINR for RTS reception at C is upper bounded as
If C transmits while A is receiving an Ack from B,
SINR for Ack reception at A is upper bounded as
RTS
CTS
24

It is possible to find path gains for which we have
and

25
Virtual Carrier Sensing


C’s silent interval below is not adequate to ensure
reliable Ack reception at A
Similarly, D’s silent interval not adequate to
ensure reliable data reception at B
RTS
CTS
26
Virtual Carrier Sensing - Modification


Greater protection from interference
Reduce book-keeping with multiple nearby
transmitters
27
“Space Reserved” by Virtual CS
RTS
RTS
Reminder: “Range” not necessarily circular in practice
28
Physical & Virtual CS


Physical carrier sensing (PCS) &
virtual carrier sensing (VCS)
may be used simultaneously
Channel assumed idle only if both PCS and VCS
indicate that the channel is idle
29
Backoff Intervals



Channel sensing not enough to prevent multiple nodes
to start transmitting “at nearly the same time”
Reduce such collisions by controlling access
probability
Implementation using backoff intervals:
Choose backoff interval uniformly in range [0, cw-1]
Initialize a counter by this value
Decrement counter after each slot if channel detected idle
Transmit when counter reaches 0
30
Responding to Packet Loss



To reduce collisions due to excessive load on the
channel, access probability should be reduced
May be achieved by increasing the window over
which backoff interval is chosen
Exponential backoff : [0,c-1]  [0,2c-1]
31
IEEE 802.11
Distributed Coordination Function (DCF)


Physical & virtual carrier sensing (RTS-CTS)
Contention window (cw) :
Backoff chosen uniformly in [0,cw]

Exponential backoff after a packet loss

Contention window reset to CWmin on a success
32
Infrastructure-Based Networks
33
Hybrid Networks
Ad Hoc Networks
34
Routing Protocols for
Mobile Ad Hoc Networks (MANET)

Proactive protocols
Determine routes independent of traffic pattern
Traditional link-state and distance-vector routing
protocols are proactive (and could be extended for
MANET)


Reactive protocols
Maintain routes only if needed
Hybrid protocols
Similar solutions may be used in “mesh” networks
35
Example of Reactive Routing:
Dynamic Source Routing (DSR) [Johnson96]



When node S wants to send a packet to node D,
but does not know a route to D, node S initiates a
route discovery
Source node S floods Route Request (RREQ)
Each node appends own identifier when forwarding
RREQ
36
Route Discovery in DSR
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents a node that has received RREQ for D from S
37
Route Discovery in DSR
Y
Broadcast transmission
[S]
S
Z
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents transmission of RREQ
[X,Y]
Represents list of identifiers appended to RREQ
38
Route Discovery in DSR
Y
Z
S
E
[S,E]
F
B
C
A
M
J
[S,C]
H
G
K
I
L
D
N
• Node H receives packet RREQ from two neighbors:
potential for collision
39
Route Discovery in DSR
Y
Z
S
E
F
B
[S,E,F]
C
M
J
A
L
G
H
I
[S,C,G] K
D
N
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
40
Route Discovery in DSR
Y
Z
S
E
[S,E,F,J]
F
B
C
M
J
A
L
G
H
K
I
D
[S,C,G,K]
• Nodes J and K both broadcast RREQ to node D
• Since nodes J and K are hidden from each other, their
transmissions may collide
N
41
Route Discovery in DSR
Y
Z
S
E
[S,E,F,J,M]
F
B
C
M
J
A
L
G
H
K
D
I
• Node D does not forward RREQ, because node D
is the intended target of the route discovery
N
42
Route Discovery in DSR



Destination D on receiving the first RREQ, sends a
Route Reply (RREP)
RREP is sent on a route obtained by reversing the
route appended to received RREQ
RREP includes the route from S to D on which
RREQ was received by node D
43
Route Reply in DSR
Y
Z
S
E
RREP [S,E,F,J,D]
F
B
C
M
J
A
L
G
H
K
I
Represents RREP control message
D
N
44
Dynamic Source Routing (DSR)



Node S on receiving RREP, caches the route
included in the RREP
When node S sends a data packet to D, the entire
route is included in the packet header
hence the name source routing
Intermediate nodes use the source route included
in a packet to determine to whom a packet should
be forwarded
45
Data Delivery in DSR
Y
DATA [S,E,F,J,D]
S
Z
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Packet header size grows with route length
46
DSR Optimization: Route Caching






Each node caches a new route it learns by any
means
When node S finds route [S,E,F,J,D] to node D,
node S also learns route [S,E,F] to node F
When node K receives Route Request [S,C,G]
destined for node, node K learns route [K,G,C,S] to
node S
When node F forwards Route Reply RREP
[S,E,F,J,D], node F learns route [F,J,D] to node D
When node E forwards Data [S,E,F,J,D] it learns
route [E,F,J,D] to node D
A node may also learn a route when it overhears
47
Data packets
Use of Route Caching



When node S learns that a route to node D is
broken, it uses another route from its local cache,
if such a route to D exists in its cache. Otherwise,
node S initiates route discovery by sending a route
request
Node X on receiving a Route Request for some
node D can send a Route Reply if node X knows a
route to node D
Use of route cache
can speed up route discovery
48
Use of Route Caching
[S,E,F,J,D]
[E,F,J,D]
S
[F,J,D],[F,E,S]
E
F
B
[J,F,E,S]
C
J
[C,S]
A
M
L
G
H
[G,C,S]
D
K
I
N
Z
[P,Q,R] Represents cached route at a node
(DSR maintains the cached routes in a tree format)
49
Use of Route Caching:
Can Speed up Route Discovery
[S,E,F,J,D]
[E,F,J,D]
S
[F,J,D],[F,E,S]
E
F
B
C
[G,C,S]
[C,S]
A
[J,F,E,S]
M
J
L
G
H
I
[K,G,C,S] K
D
RREP
N
RREQ
When node Z sends a route request
for node C, node K sends back a route
reply [Z,K,G,C] to node Z using a locally
cached route
Z
50
Route Caching: Beware!




Stale caches can adversely affect performance
With passage of time and host mobility, cached
routes may become invalid
A sender host may try several stale routes
(obtained from local cache, or replied from cache
by other nodes), before finding a good route
Can affect higher layer performance adversely
(e.g., TCP) [Holland99]
51
Rate Region

Rate region characterizes rates that can be
supported simultaneously on various links
Useful in determining a transmission “schedule”
l1
Feasible
Rate vector
1
52
Rate Region
Rate region = all feasible rate vectors
Determined by

Channel state

Power constraints

Physical capabilities & constraints:
Examples:
• Use multiple channels simultaneously?
• Number of interfaces
53
Rate Region
Simple example scenarios

Downlink scenario (common transmitter)
B
2
1

Uplink scenario (common receiver)
B
1
2
54
Downlink Scenario
B
1

2
Treating interference as noise
55
Downlink Scenario:
Treating Interference as Noise
W = 10 MHz
P = 1 mW
56
Downlink Scenario:
Treating Interference as Noise

Power-sharing
57
Downlink Scenario

Power-sharing & Time-sharing
58
Downlink Scenario:
Power-sharing & Bandwidth sharing
59
Downlink Scenario:
Successive Interference Cancellation
B
At node 1, treat other
Signal as interference
1
2
60
Downlink Scenario:
Successive Interference Cancellation
At node 2, “cancel”
the interference
B
1
2

61
Downlink Scenario:
Successive Interference Cancellation
B
1


2
Decode signal for 1, and “cancel” it
Decode signal for 2
62
Downlink Scenario:
Successive Interference Cancellation
63
For more information …

See tutorials at
http://www.crhc.illinois.edu/wireless/tutorials.html

UIUC course ECE/CS 439 Wireless Networks
slides at
http://users.crhc.illinois.edu/nhv/09spring.439/
64