| SAHNS07 |
|---|
| Motivation |
|---|
| TCP Protocol |
|---|
| Congestion Control in TCP Protocol |
|---|
| AIMD Windows Size Adjustment |
|---|
| TCP Problems on Ad-Hoc Networks |
|---|
| TCP Problems on MANET |
|---|
| Frequent Slow Start |
|---|
| How to Improve? |
|---|
| Problem of Loss-Based TCP |
|---|
| Objectives |
|---|
| Related Work |
|---|
| Related Work |
|---|
| TCP-F (TCP-Feedback) |
|---|
| TCP-ELFN |
|---|
| ATCP (Ad Hoc TCP) |
|---|
| Adaptive CWL (Congestion Window Limit) |
|---|
| Our Approach |
|---|
| Design Philosophy |
|---|
| Design Issues |
|---|
| TCP Muzha |
|---|
| TCP Muzha |
|---|
| Modification of slow-start |
|---|
| Estimation and Sharing of Available Bandwidth |
|---|
| Data Rate Adjustment Index |
|---|
| Minimum Data Rate Adjustment Index |
|---|
| Handling of Random loss |
|---|
| TCP Muzha - Two Phases |
|---|
| Congestion Control in TCP Muzha |
|---|
| Performance Evaluation |
|---|
| Performance Evaluation - Experiment Setup |
|---|
| Performance Evaluation - CWND |
|---|
| Performance Evaluation - CWND |
|---|
| Performance Evaluation - Throughput |
|---|
| Performance Evaluation - Retransmission |
|---|
| Fairness Test |
|---|
| Fairness comparison - Throughput |
|---|
| Fairness comparison - Jain's Index |
|---|
| Fairness Test 2 |
|---|
| Test - Chain Topology |
|---|
| Test - Cross Topology |
|---|
| Conclusion |
|---|
| Motivation |
|---|
| TCP Protocol |
|---|

a transport layer protocol
| guarantee data delivery
| data flow driven by acknowledge packets
| built-in with a congestion control mechanism
| perform well without any support from the network elements at IP layer
| |
|---|
| Congestion Control in TCP Protocol |
|---|
Utilize resource as much as it can
| Avoid congestive collapse
| Dissolve congestion
| |
|---|
| AIMD Windows Size Adjustment |
|---|
![]() |
♦ Slow Start♦ Congestion Avoidance♦ Fast Retransmits and Fast Recovery |
| TCP Problems on Ad-Hoc Networks |
|---|
Contention based Media Access Protocol
| Broadcast nature of Radio Signals - Blocking Effect
| Forwarding and Routing performed in every node
| |
|---|
| TCP Problems on MANET |
|---|
Congestion loss
| Random loss or Transmission error
| Link failure or route change (in most case)
| |
|---|
| Frequent Slow Start |
|---|
Connections spend most of time in Slow Start phase due to frequent timeout -- up to 40% of connection timeIt takes several RTTs for slow-start to reach the max. available bandwidthEnd of slow-start phase tends to generate too much packetsFrequent network overloaded!! |
![]() |
| How to Improve? |
|---|
Use Router to Help |
|---|
| Problem of Loss-Based TCP |
|---|

| Objectives |
|---|
| Related Work |
|---|
Related Work |
|---|
| Related Work |
|---|
| TCP-F (TCP-Feedback) |
|---|
| TCP-ELFN |
|---|
| ATCP (Ad Hoc TCP) |
|---|
| Adaptive CWL (Congestion Window Limit) |
|---|
| Our Approach |
|---|
Our Approach |
|---|
| Design Philosophy |
|---|
Allowing sender to reach appropriate sending rate quickly
| Fully utilize the available bandwidth alone the path
| Dissolve congestion
| Provide fairness with other TCP variants
| |
|---|
Distinguish the loss between congestion loss and random loss
| Reducing the chance of congestion
| Identify the bottleneck and share its residual bandwidth
| |
|---|
| Design Issues |
|---|
| TCP Muzha |
|---|
TCP Muzha |
|---|
| TCP Muzha |
|---|
| Sender function | Modification of Slow Start
| Router function
| |
Receiver function
| Return ACK with DRAI back to Sender
| |
|---|
| Modification of slow-start |
|---|
| Estimation and Sharing of Available Bandwidth |
|---|
| Option 1 : Direct publish actual available bandwidth | Option 2 : Publish
| Option 3 : Our approach - feedback DRAI
| May seduce greedy TCP senders and cause bandwidth fluctuation
| Router has to be TCP-aware
| Routers compute a quantized index according to available bandwidth as a guideline for sender to adjust sending rate
|
| ![]() | ||
|---|---|---|---|---|---|---|---|---|
| Data Rate Adjustment Index |
|---|
| Advice | DRAI | Change of CWND
| Aggressive Acceleration | 5 | CWND = CWND *2
| Moderate Acceleration | 4 | CWND = CWND+1
| Stabilizing | 3 | CWND = CWND
| Moderate Deceleration | 2 | CWND = CWND -1
| Aggressive Deceleration | 1 | CWND =CWND *1/2
| |
|---|
| Pros | Cons
|
|
Number of levels determined by simulation
| |
|---|
| Minimum Data Rate Adjustment Index |
|---|

If the value is greater, then DRAI stays untouched
| Otherwise, replaces it with new DRAI
| The smallest value of DRAI will reach the receiver --
| Minimum data Rate Adjustment Index (MRAI) |
|---|
| Handling of Random loss |
|---|
| Timeout or 3 Duplicated ACK | Reduction of congestion window size |
|---|
3 duplicate ACK with deceleration marking (congestion) | 3 duplicate ACK with acceleration marking or no marking (random loss) | |
|---|
| TCP Muzha - Two Phases |
|---|
♦ We simplify three phases of TCP NewReno into two phases |
![]() |
⊕ Congestion Avoidance (CA) | |
⊕ Fast Retransmit and Fast Recovery (FF) |
| Congestion Control in TCP Muzha |
|---|
| Event | Status | Sender Behavior | Note
| Receive the ACK of the pervious packet
| Congestion Avoidance (CA)
| Dynamically adjust CWND according to the returning MRAI
| Adjust CWND in every RTT
| Receiving marked 3 duplicate ACKs
| Congestion Avoidance (CA)
| (1)CWND = CWND * (1/2) | (2) Enter FF phase Fast respond and half the CWND
| Receiving 3 duplicate ACKs
| Congestion Avoidance (CA)
| (1) Enter FF phase without change of CWND
| Retransmit the lost packets
| Timeout
| Congestion Avoidance (CA)
| (1)CWND = 1 | (2)Re-enter CA phase Re-enter the CA phase
| |
|---|
| Performance Evaluation |
|---|
Performance Evaluation |
|---|
| Performance Evaluation - Experiment Setup |
|---|
| NS-2 Network Simulator |
Chain topology (4~32 hops)
|
| ![]() Link Layer
| IEEE 802.11 MAC
| Bandwidth
| 2MB/s
| Transmission Radius
| 250m
| Routing
| AODV
| Evaluation Metrics
| CWND change,
Throughput
| Retransmission, Fairness | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Performance Evaluation - CWND |
|---|
![]() |
![]() |
| Performance Evaluation - CWND |
|---|
![]() |
![]() |
![]() | |
| Performance Evaluation - Throughput |
|---|
![]() |
![]() |
| Performance Evaluation - Retransmission |
|---|
![]() |
![]() |
| Fairness Test |
|---|
♦ Cross Topology♦ TCP Vegas vs. TCP NewReno♦ TCP Muzha vs. TCP NewReno |
![]() |
|
| Fairness test 1 | Avg. Throughput
| Fairness test 2
| Throughput Dynamics
| |
|---|
| Num. of Hops | 4, 6, and 8
| Bandwidth
| 2Mbps
| Simulation time
| 50 sec.
| |
|---|
| Fairness comparison - Throughput |
|---|
![]() |
![]() |
| Fairness comparison - Jain's Index |
|---|

| Fairness Test 2 |
|---|
![]() |
![]() |
![]() |
![]() |
| Test - Chain Topology |
|---|
| TCP NewReno | TCP Vegas | TCP Muzha
| Avg. Throughput (Kbps)
| 175
| 214
| 186
| Avg. Retransmission
| 14
| 6
| 10
| Fairness (with NewReno)
|
| 0.925
| 0.99
| |
|---|
| TCP NewReno | TCP Vegas | TCP Muzha
| Avg. Throughput (Kbps)
| 54
| 89
| 65
| Avg. Retransmission
| 16
| 6
| 10
| Fairness (with NewReno)
|
| 0.74
| 0.99
| |
|---|
| TCP NewReno | TCP Vegas | TCP Muzha
| Avg. Throughput (Kbps)
| 34
| 35
| 37
| Avg. Retransmission
| 25
| 9
| 18
| Fairness (with NewReno)
|
| 0.89
| 0.99
| |
|---|
| Test - Cross Topology |
|---|
| Vegas+NewReno | Muzha+NewReno | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
| Vegas+NewReno | Muzha+NewReno
|
|
|
|
|---|
| Vegas+NewReno | Muzha+NewReno
|
|
|
|
|---|
| Conclusion |
|---|