Title: Improving TCP Performance in 802'11 Multihop Ad Hoc Networks
1Improving TCP Performance in 802.11 Multihop Ad
Hoc Networks
- Xu Yuedong (ANSR_at_CSE)
- December 12, 2006
2Outline
- Problem Overview
- Related Works
- DCC A Cross-Layer Design
- DTCP A Utility Based Algorithm
- Future Works
3Overview
- TCP is designed for wired networks
- A window-based reliable end-to-end transmission.
- Reliable physical Layer with fixed bandwidth.
- Large bandwidth delay product (BDP).
- TCP over 802.11 multihop ad hoc networks
- Relatively unreliable physical layer. (SINR,
Mobility, etc.) - An interference limited, shared medium. (CSMA
MAC) - Very small bandwidth delay product (BDP).
Objective Improve TCP Throughput Fairness in
Multihop Ad Hoc Networks
4Review of TCP Congestion Control
- Primary Goal
- Prevent the network from being overloaded
- TCP Congestion Control
- Slow Start
- Additive Increase Multiplicative Decrease
- Fast Recovery Fast Retransmission.
- A Brief Review of TCP AIMD
Note I will not go into the details of TCP
congestion control in Wired Networks.
5Review of TCP Congestion Control
- AIMD Mechanism (Tahoe/Reno/Newreno)
6TCP Performance in MANET
- Throughput Problems
- Throughput instability
- Transmission failure due to mobility noise
- Drastic thru. decrease when hop number increases
7TCP Performance in MANET
TCP over 802.11
TCP Throughput VS Hops
8TCP Performance in MANET
- Fairness Problems
- Neighboring node one-hop unfairness
- Unfairness in symmetric topologies
- Unfairness among heterogeneous TCP Flows
- Short-term Long-term unfairness
- TCP in wireless cum wired networks
9TCP Performance in MANET
- Neighboring node one-hop unfairness
- 2 TCP Connections
- First session starts at 10.0s ( 6 ? 4 )
- Second session starts 20.0s later ( 2 ? 3 )
10TCP Performance in MANET
First session start
Second session start
11TCP Performance in MANET
- What are the reasons? and the Solutions?
- Mobility induced packet loss and routing failure
- TCP sender differentiates the congestion induced
packet losses from those caused by routing
failure and transmission error. - The router can be a bit more smart, i.e. dont
flush the packets when links is broken, or send
back the routing failure information. We can also
modify the TCP retransmission timeout in order to
avoid long freezing time.
12TCP Performance in MANET
- What are the reasons? and the Solutions?
- The 802.11 MAC contentions, i.e. hidden
terminals -
Cs transmission range
F
E
D
B
C
Congestion
Collision at Node B
Ds interference range
13TCP Performance in MANET
- What are the reasons? and the Solutions?
- The aggressiveness of TCP AIMD.
- Limit the TCP aggressiveness using various
methods. - Contention loss of TCP data sub-flow and ack
sub-flow. - Use delayed acknowledgement method to reduce the
contention loss of data packets and ack packets. - Some other problems as well as their solutions.
14Our WorksUtility Based Congestion Control
- Prove that an important algorithm in Infocom03 is
wrong. Propose a distributed congestion control
(DCC) algorithm for multihop networks. - Propose a delay based congestion control
mechanism, namely DTCP that controls TCP-like
traffic in multihop ad hoc networks. Present an
alternative implementation of DTCP in the MAC
layer.
Our research are the first practical utility
based solutions to improve TCP performance in
multihop ad hoc networks
15Outline
- Problem Overview
- Related Works
- DCC A Cross-Layer Design
- DTCP A Utility Based Algorithm
- Future Works
16Classification
- Fruitful research efforts
- Quite a few papers in good conf./Journals since
1998. - Layered Design
- Find efficient solutions in the transport layer
or MAC layer independently. - CWL, FEW, DACK
- Cross Layer Design
- Learn how to adjust the congestion window, RTO or
acknowledgement based on the cross-layer
information. - Link RED, TCP-AP, ATP, AD-TCP, TCP-ELFN
17Related Papers
18Comments
- Problems of previous research
- Existing solutions are insufficient to balance
throughput and fairness in multihop ad hoc
networks. - Previous algorithms concentrated on long-term
fairness instead of short-term fairness. While
long-term fairness conceals the unfairness nature
of wireless ad hoc networks
19Outline
- Problem Overview
- Related Works
- DCC A Cross-Layer Design
- DTCP A Utility Based Algorithm
- Future Works
20LRED Algorithm
- Link RED (LRED) Infocom03, TMC05, Cited by 149
times (Google Scholar) - Use average number of MAC retries to determine
ECN prob. - Introduce Adaptive Pacing of CSMA.
-
- Algorithm Specification (1)
-
21LRED Algorithm
- Algorithm Specification (2)
- If avg_retry lt min_th
- Random Backoff
- elseif avg_retry gt min_th
- Backoff ? RandomBackoff
ExtraBackoff - endif
- Improve throughput and fairness!
22LRED Algorithm
ECN Binary feedback
23LRED Algorithm
24DCC Algorithm
- A Counter example
- Collision probability of a meek flow is not less
than that of an aggressive competing flow. - Link RED penalizes the wrong flow by marking the
meek flow with a larger probability. - Most of previous researches neglect short-term
fairness.
Cross Topology
Contention Graph
25DCC Algorithm
- Under certain assumptions, we prove
- Theorem 1 If the airtime of link 1 (x1) is
larger than that of link 5 (x5), the collision
probability of link 5 (?5 ) is not less than that
of link 1 (?1 ), and vise versa. Formally, we
have - Congestion Index We define a novel congestion
index for link ,
26Evaluation of Congestion Index
- We run fixed-rate TCP to evaluate Congestion
Index in - Light traffic in cross-chain network (2Mbps link
capacity) - Flow A ? E 100Kbps Flow F ? I 50Kbps
27Evaluation of Congestion Index
- We run fixed-rate TCP to evaluate Congestion
Index in - Heavy traffic in cross-chain network (2Mbps link
capacity) - Flow A ? E 200Kbps Flow F ? I 100Kbps
28The Model
- We formulate the TCP congestion control as a
unconstraint optimization for four reasons.
(omitted) - where and are constant parameters,
is the mark probability of the
flow. - Defining the mark probability of flow in link
to be , - we obtain the mark probability of flow ,
29The Model
Calculate mark probability of a link
Tl Airtime of link ,
Collision prob. Proportional
controller Coefficient Constant
Based on the sub-gradient method, we have
30Distributed Algorithm
Theorem 2 Suppose all flows in the networks
have concave, differentiable, strict increasing
utility function U(r) for r gt 0, the fully
distributed congestion control algorithm
converges to the unique equilibrium point r
for some positive constants and .
31Distributed Algorithm
Distributed Algorithm 1). We adopt rate based
TCP instead of Window based TCP. 2). Algorithm
Description (Updating sending interval Tintv)
If an ECN echo is received, If
a received ack is not ECN echoed,
32Performance Evaluation (1)
- Chain Topology
- Eliminating the throughput instability.
- High throughput over long chain topologies.
- Robustness of parameter configuration.
33Performance Evaluation (1)
- Chain Topology
- Eliminating the throughput instability.
- High throughput over long chain topologies.
- Robustness of parameter configuration.
34Performance Evaluation (1)
- Chain Topology
- Eliminating the throughput instability.
- High throughput over long chain topologies.
- Robustness of parameter configuration.
35Performance Evaluation (2)
- Cross-Chain Topology
- Achieve Short-term fairness
- The throughput is still larger than standard
802.11
36Performance Evaluation (2)
- Cross-Chain Topology
- Achieve Short-term fairness
- The throughput is still larger than standard
802.11
37Performance Evaluation (2)
- Cross-Chain Topology
- Achieve Short-term fairness
- The throughput is still larger than standard
802.11
38Performance Evaluation (3)
- Grid Topology
- Achieve both long-term and short-term fairness
- A very high instantaneous fairness index for
competing flows
39Performance Evaluation (3)
40Performance Evaluation (3)
41Outline
- Problem Overview
- Related Works
- DCC A Cross-Layer Design
- DTCP A Utility Based Algorithm
- Future Works
42Motivations
- Queuing delay increases when channel is
congested. - TCP source adapts its sending rate according to
average queuing delays. - Almost all the improved algorithm cannot compete
with standard TCP Newreno. What if the standard
TCP is not allowed to be changed or heterogeneous
TCP flows coexist in the same wireless network?
43Noncooperative Game Framework
- A general framework of congestion control for
multihop ad hoc networks - A non-cooperative game framework
- Maximize the utility of individual flows
- Find a good penalty function
- maximize
- where is the utility of flow
, and g(xi) is the penalty function of flow i.
44An Example
- A Delay Based Method
- The objective function is composed of two parts.
- a). Individual utility function
- b). Average k-hop forward queuing delay as a
penalty
45An Example
- A Delay Based Method
- Penalty Function (di is the average per-hop
queuing delay) -
- Why ?
- Avoid over-penalizing the long-hop flow
- Not good to accumulate Delay in different
cells
46An Example
- A Delay Based Method
- Required Information
- hop counts obtained from AODV messages
- forward queuing delay (Two methods)
- a) RFC1323 can record the total
forward delay. - b) Use RTT to estimate to queuing
delay. (similar to TCP-AP algorithm) -
- Forward transmission delay is known (hops
per-hop - transmission time)
47An Example
- Delay Based TCP (DTCP)
- Utility Function
- Distributed rate adaptation
-
48An Example
- Delay Based TCP (DTCP)
- A loose Upper-bound of the sending interval
- a). If the number of hops (h) is larger than 4,
- Upper-bound T4 s (T4 4 hop Trans.
delay) - b). If the number of hops (h) is less than 4,
- Upper-bound T1 s (T1 one hop Trans.
delay) - A loose Lower-bound of the sending interval
- Three exponential weighted moving average RTTs
(3RTT) - (not including of extreme large RTTs)
49Performance Evaluation (1)
- Chain Topologies
- Eliminating the throughput instability.
50Performance Evaluation (1)
- Chain Topologies
- High throughput over long chain topologies.
51Performance Evaluation (1)
- Chain Topologies
- Robustness of parameter configuration.
52Performance Evaluation (2)
- Chain Topology with Multiple Flows
- Flow A ? I and flow D ? F
53Performance Evaluation (2)
- Chain Topology with Multiple Flows
- Flow A ? I and flow C ? G
54Performance Evaluation (2)
- Neighboring Node One-Hop Unfairness
55Performance Evaluation (2)
- Cross-Chain Topology
- Throughput and Fairness Comparison
56Performance Evaluation (3)
- Large-Scale Grid Topology
- A grid lattice with 169 nodes
- Even number of flows
- Half of them are vertical flows
- The rest ones are horizontal
- Flows are evenly spaced
57Performance Evaluation (3)
- Large-Scale Grid Topology
-
58PQC Pacing Queue Controller
- An alternative implementation in the MAC IFQ
- If we are not allowed to modify TCP or
- No modifications to existing TCP, routing and
802.11 CSMA protocols. - Generally, the number of TCP sessions of a node
is small in multihop ad hoc networks.
?????
Key Decision Can IFQ play the role of flow
control ?
59PQC Pacing Queue Controller
- How to implement the PQC ?
- TCP protocol is merely used to guarantee the
reliable end-to-end transmissions. - The main function of TCP flow control is moved to
the IFQ of the source nodes. - The PQC architecture increases the complexity of
MAC layer.
60PQC Pacing Queue Controller
- Methodology
- We introduce another queue named Pacing Queue in
the MAC layer. - TCP data packets are stored in the pacing queue
of the source nodes. After waiting for a
pre-calculated time interval, the head of line
(HOL) packet is send to the real interface queue
(IFQ) for transmission.
61PQC Pacing Queue Controller
- Methodology
- The relaying packets are directly put into the
IFQ - A packet table in the pacing queue is maintained
for recording the departure of a data packet and
arrival of its ack packet. (The packet table is
extreme small due to small bandwidth delay
product.) - In order to avoid the overflow of the Pacing
Queue, we introduce a simple scheduling
(management) method to control the buffer size.
62PQC Pacing Queue Controller
63Outline
- Problem Overview
- Related Works
- DCC A Cross-Layer Design
- DTCP A Utility Based Algorithm
- Future Works
64Future Works
- Cross-Layer Optimization for Utility Fairness in
Wireless Networks. - Multi-Channel Multi-Rate Multi-hop Routing.
- Cross-Layer Design of MAC and Congestion Control
with Network Coding.
65Questions ?
66Thank You!