TCP for Mobile and Wireless Hosts

Download Report

Transcript TCP for Mobile and Wireless Hosts

Wireless Medium Access Control
Nitin Vaidya
Department of Computer Science
Texas A&M University
[email protected]
Acknowledgements

Joint work with Victor Bahl, Anurag Dugar, Seema
Gupta, Young-Bae Ko
Outline

Introduction

MAC protocols
Fair scheduling MAC
Directional MAC
Wireless Local Area Network


Similar to a wired LAN, but no wires
Nodes communicate over a broadcast wireless channel
B
A
Wireless channel
D
C
Mobile Ad Hoc Network

Logical next step

Multi-hop wireless

Nodes may be mobile
Mobile Ad Hoc Network

Network formed by wireless mobile hosts
without necessarily using an infrastructure
C
B
A
D
E
F
Many Applications

Personal area networking
cell phone, laptop, ear

Emergency operations
search-and-rescue
policing and fire fighting

Extending the reach of
infrastructure
phone, wrist watch


Military environments
soldiers, tanks, planes
Civilian environments
mobile robots
meeting rooms
sports stadiums
boats, small aircraft
Medium Access Control: Our Research

Distributed fair scheduling

MAC for directional antennas

Power-aware MAC

Adaptive MAC
Our Research on
Medium Access Control (MAC)

Self-imposed constraint :
Maintain compatibility / resemblance to a standard

Much of our work focuses on IEEE 802.11

Some work related to Hiperlan
Distributed Fair Scheduling
Distributed Fair MAC

Distributed

Fair
Distributed Scheduling :
What & Why
Centralized Medium Access Control Protocols

Base station coordinates access to the wireless
channel
Node
1
Node
2
Base
Station
Node
3
Node
n
Distributed MAC Protocols

All nodes have identical responsibilities
We consider a LAN (single-hop network) here
Node
1
Node
2
Wireless LAN
Node
3
Node
n
Disadvantages of Centralized Approach

If a node cannot talk to the base station, it cannot
transmit to any other nodes

Base station needs to keep track of state of other
nodes

Hard to use failure-prone nodes as coordinators in
centralized protocols
Fairness
Weighted Fairness

Packets to be transmitted belong to several flows

Each flow is assigned a weight

Bandwidth assigned to each backlogged flow is
proportional to its weight
Example: Three flows with weights
All flows backlogged
Two flows backlogged
2
1
1
Why Weighed Fairness ?

Distribute bandwidth “uniformly” in proportion of
weights
AAAABBBB… versus ABABABAB…

Can administratively control bandwidth sharing

Possible to bound end-to-end delay for leaky bucket
constrained traffic [Parekh] (under ideal conditions)

Useful for diffserv
Fair Queueing

Many centralized fair queueing protocols exist
WFQ, WF2Q, SCFQ, SFQ, …

Scheduler needs to know state of all flows
Flow 1
Flow 2
Flow n
Output link
Distributed Fair Scheduling
Our Objectives

Fully distributed fair scheduling protocol

Should not have to explicitly exchange state
information
Proposed Approach
Combination of

IEEE 802.11 Distributed Coordination Function (DCF)

A centralized fair queueing protocol
IEEE 802.11 Distributed Coordination Function
CSMA / CA

Carrier Sense Multiple Access

Collision Avoidance
IEEE 802.11 (CSMA/CA)

Choose a backoff interval in [ 0,cw ]
backoff interval
0
cw (contention window)

Count down backoff interval only when medium is idle

When counter reaches 0, transmit
802.11 DCF Example
B1 = 25
B1 = 5
wait
Data
Data
B2 = 20
cw = 31
wait
B2 = 15
B2 = 10
B1 and B2 are backoff intervals
at nodes 1 and 2
Self-Clocked Fair Queueing (SCFQ)
[Golestani]

A centralized fair scheduling protocol

But more amenable to distributed implementation
than many others
Self-Clocked Fair Queueing (SCFQ)
[Golestani]

Maintains a virtual clock

Each packet is assigned start tag and finish tag
Start tag = max (current virtual clock, last finish tag for the flow)
Finish tag = start tag + length/weight

Packet with smallest finish tag is transmitted next

Virtual clock is updated to finish tag of packet in service
Distributed Fair Scheduling

Distributed implementation of SCFQ

Smallest finish tag determined using backoff intervals

Backoff interval

• Backoff interval proportional to finish tag
a
a
(finish tag – virtual clock)
length / weight
No need to maintain explicit virtual clock
Distributed Fair Scheduling (DFS)

Choose backoff interval = length / weight
packet length = 5
weight = 1/3
backoff interval = 5 / (1/3) = 15 slots
Distributed Fair Scheduling (DFS)
B1 = 10
B1 = 15
wait
B1 = 5
wait
Collision !
Data
B2 = 5
Data
B2 = 5
B2 = 5
Packet length = 15
Weight of node 1 = 1 ====> B1 = 15 / 1 = 15
Weight of node 2 = 3 ====> B2 = 15 / 3 = 5
Collisions

Collisions occur when two nodes count down to 0
simultaneously
In centralized fair queueing, ties can be broken without causing
“collisions”

To reduce the possibility of collisions:
Backoff interval =
Scaling_Factor * length / weight * random number with
mean 1
Backoff Interval

Initial formula: Length / weight = 15 / 1 = 15
0

15
Scaling_factor * length / weight * random number
=
=
4
* 15 /
[54,66]
1
* [0.9,1.1]
Backoff Interval
802.11
0
cw
Proposed DFS
0
Collision Resolution

Collision occurs when two nodes count down to 0
simultaneously

Counting to 0 implies that it is a given node’s “turn” to
transmit

To reduce “priority” reversals, a small backoff interval
is chosen after the first collision

Backoff interval increased exponentially on further
collisions
Impact of Small Weights

Backoff interval:
Scaling_factor * length / weight * random number

Backoff intervals can become large when weights are
small

Large backoff intervals may degrade performance
(time wasted in counting down)
Impact of Small Weights

Recall: Backoff intervals are being used to compare
“length/weight”

Intuition: Any non-decreasing function of
length/weight may to calculate backoff
Alternative Mappings
Chosen
backoff
interval
Linear mapping
SQRT
EXP
Scaling_factor * length / weight * random number
Alternative Mappings

Advantage
smaller backoff intervals
less time wasted in counting down when weights of all
backlogged flows are small

Disadvantage
backoff intervals that are different on a linear scale may
become identical on the compressed scale
possibility for greater number of collisions
Performance Evaluation

Using modified ns-2 simulator: 2 Mbps channel

Number of nodes = N
Number of flows = N/2
Odd-numbered nodes are destinations,
even-numbered nodes are sources



Unless otherwise specified:
flow weight = 1 / number of flows
backlogged flows with packet size 584 bytes (including UDP/IP headers)
Scaling_Factor = 0.02
Throughput / Weight
Variation Across Flows (with 16 Flows)
802.11
Throughput /
Weight
Flatter
curve
is fairer
DFS
is fairer
Flow destination identifier
Throughput - Fairness Trade-Off
802.11
Aggregate
throughput
(all flows
combined)
Number of flows
Fairness Index

Fairness index: function of (throughput T / weight f)
for each flow f over some interval of time
Unless specified, the interval is 6 seconds
Throughput - Fairness Trade-Off
Fairness
index
802.11
Number of flows
Impact of Scaling Factor
(six flows with weights 1/2,1/4,1/8,1/16,1/32,1/32)
Fairness
index
DFS
Scaling Factor
Impact of Scaling Factor
(six flows with weights 1/2,1/4,1/8,1/16,1/32,1/32)
Aggregate
throughput
DFS
Scaling factor
Scaled 802.11

Is DFS fairer simply because it uses large backoff
intervals ?

Fairness of 802.11 can also be improved by using
larger backoff intervals

Scaled 802.11 = 802.11 which uses backoff interval
range comparable with DFS
Backoff Interval
802.11
0
cw
DFS
0
Scaled 802.11
Fairness versus Sampling Interval Size
(24 flows)
DFS
Fairness
index
Scaled
802.11
802.11
Interval Size
Short-Term Fairness
Narrow
distribution
is fairer
Frequency
DFS
Scaled 802.11
802.11
Number of packets transmitted by a flow
(over 0.04 second windows)
DFS is
fairer
Variable Packet Size
Packet size:
584
328
200 bytes
Alternative Mappings for Backoff Intervals

EXP and SQRT improve throughput compared to
LINEAR mapping when all backlogged flows have
low weights

If at least one backlogged flow has a high weight, not
much benefit
Further Work:
Impact of Transmission Errors

Transmission errors can affect fairness

DFS can adapt weights to account for error

Protocol complexity not affected by dynamic weight
change
Further Work:
Priority and Weights

Another MAC protocol based on Hiperlan

Allows priority differentiation & weighted fairness

Less sensitive to parameter choice (scaling factor)
DFS in Multi-Hop Networks

Mixed success
Topic of on-going research

Fundamental problem: Differentiating between
Congestion
Hidden terminal
Errors
A
B
C
D
Conclusions

DFS improves fairness compared to 802.11

No extra cost if weights are changed on a per-packet
basis

Open issues:
How to choose scaling factor dynamically?
Multi-hop network: How to achieve fairness and congestion
control both?
Directional MAC
Omnidirectional Antennas

Transmissions propagate in all directions

When P transmits to Q,
S should not transmit to R
R
S
P
Q
Directional Antennas


Directional antennas can
Reduce interference
Increase spatial reuse
R
S
P
Q
But need new MAC protocols to best utilize
directional antennas
Our Contributions

Developed protocols similar to IEEE 802.11, but
useful with directional antennas
Other Work on MAC

Adaptive MAC protocols

Power-aware MAC
• Adapt to channel conditions
Thanks!
Thanks!
Thanks!
Thanks!
Thanks!
Family of D-MAC Protocols

Directional versus Omnidirectional control packets
ORTS / DRTS
OCTS / DCTS
Trade-off between collisions and spatial reuse

Variety of antennas
Fixed
Adaptive
Heterogeneous environments

Issues
Propagation characteristics of directional antennas
Quality-of-service
Fairness
Three flows with weights 2,
1, 1
Allocated
bandwidth
Backlogged
flows: