DCCP

Is Data Rate a Big Issue?

Data Rate Control

UDP and TCP

Transport Protocol

What makes a good Congestion Control?

TCP Congestion Control

AIMD Additive Increase/Multiplicative Decrease

Bandwidth Competition Capability

Problem

DCCP

TFRC (TCP-Friendly Rate Control)

Experimental Fairness Study

Formula of Throughput Calculation for CCID 3

Throughput Competition: UDP vs. NewReno

Throughput Competition: DCCP vs. NewReno and Vegas

Summary of Fairness Study

Quality of VoIP - Coexisting with NewReno

Quality of VoIP - coexisting with Vegas

Quality of VoIP

Where is the Problem?

Motivation of Flexible Bit Rate

Experiment of Flexible Bit Rate

Detection of Network Congestion

Proposed Congestion Control

Performance Evaluation

Speex Codec

Performance of UDP based VoIP

Performance of DCCP based VoIP

Summary of Performance Evaluation

Conclusion


Untitled Document
Is Data Rate a Big Issue?

       Data  Rate
   Is  Data Rate a Big Issue? 
Thu Mar 31 01:08:08 CST 2011

Untitled Document
Data Rate Control
What is proper data rate?
How to determine proper data rate?
Which component control data rate?
Thu Mar 31 01:08:10 CST 2011 Untitled Document
UDP and TCP
 
Every network application is trying to acquire sufficient bandwidth from network
 
It also has to prevent the network from congestion Congestion Control
Congestion Control Adpotion Approaches
No control e.g. choose an initital data rate, then use UDP to send data
Use TCP Easy and nice to network, but not adequate for real time applications
Embedded in Application e.g. Skype
Thu Mar 31 01:08:10 CST 2011 Untitled Document
Transport Protocol
   
A transport protocol enables two hosts to establish a connection and exchange streams of data.
UDP (User Datagram Protocol)
   
doesn't guarantee data delivery
   
constant packet rate, no congestion control
TCP (Transmission Control Protocol)
   
guarantee data delivery
   
with congestion control
   
require possitive acknowlegement
 
Tahoe, Reno, New Reno, SACK, Vegas
Thu Mar 31 01:08:11 CST 2011 Untitled Document
What makes a good Congestion Control?
Short packet transmission time
Maximize throughput
Minimize retransmission
Maintain network harmony and fairness
Thu Mar 31 01:08:11 CST 2011 Untitled Document
TCP Congestion Control
use Sliding Window to control data transmission
 
data transmission is clocked by ACK
CWND (Congestion Window Slize) Control
 
Event Driven by packet loss --- trial-and-error
 
Calculation by RTT (Run Trip Time)
 
Calculation by packet loss rate
Thu Mar 31 01:08:11 CST 2011 Untitled Document
AIMD Additive Increase/Multiplicative Decrease
Thu Mar 31 01:08:12 CST 2011 Untitled Document
Bandwidth Competition Capability
Thu Mar 31 01:08:12 CST 2011 Untitled Document
Problem
 
UDP doesn't care network congestion at all
   
TCP compromises itself on network congestion
   
congetion control mechanism takes effect
   
provide buffering effect for network traffic
 
So far so good, but
   
Not tolerable in the future - too many multidedia applicaitons
   
Degradatin of Buffering effect
Thu Mar 31 01:08:13 CST 2011 Untitled Document
DCCP
DCCP (Datagram Congestion Control Protocol)
   
UDP + Congestion Control
   
is proposed to replace UDP to support real time application with congestion control
 
CCID 2 - TCP-like Congestion Control (AIMD Sliding window)
 
CCID 3 - TFRC Congestion Control
Question:     Work or not?
Elements of Evalution
   
Bandwidth competition
   
Quality support for real-time applications (VoIP)
Thu Mar 31 01:08:13 CST 2011 Untitled Document
TFRC (TCP-Friendly Rate Control)
 
Designed for streaming applications
   
Receiver measures loss event rate and returns it to the sender.
   
Sender uses this feedback messages to calculate RTT
   
Sender uses RTT and loss event rate to calculate data rate

s Packet Size
R Round Trip Time
p Loss Event Rate
t_RTO TCP Retransmission Timeout Value
b # of Packets Acknowledged by a Single TCP ACK
Thu Mar 31 01:08:14 CST 2011 Untitled Document
Experimental Fairness Study
   
Use NS-2 Network Simulator
   
Scenario 1. VoIP (DCCP/UDP) run first, one out of five TCPs was injected every 10 seconds
   
Scenario 2. Five TCP run first, VoIP (DCCP/UDP) was injected at 20 sec.
   
Thu Mar 31 01:08:14 CST 2011 Untitled Document
Formula of Throughput Calculation for CCID 3

Thu Mar 31 01:08:15 CST 2011 Untitled Document
Throughput Competition: UDP vs. NewReno
UDP first NewReno First
Thu Mar 31 01:08:15 CST 2011 Untitled Document
Throughput Competition: DCCP vs. NewReno and Vegas
DCCP first NewReno First
DCCP first Vegas First
Thu Mar 31 01:08:16 CST 2011 Untitled Document
Summary of Fairness Study
 
UDP has the highest priority
 
DCCP and TCP Vegas has the lowest priority
DCCP run first, one out of five TCPs was injected every 10 seconds
Thu Mar 31 01:08:16 CST 2011 Untitled Document
Quality of VoIP - Coexisting with NewReno
   
DCCP/UDP based VoIP run first, one out of five TCPs was injected every 10 seconds
   
Late Packets (> 350ms) were considered lost
Avg. Delay Time Avg. Loss Rate
Thu Mar 31 01:08:16 CST 2011 Untitled Document
Quality of VoIP - coexisting with Vegas
   
DCCP/UDP based VoIP run first, one out of five TCPs was injected every 10 seconds
Avg. Delay Time Avg. Loss Rate
Thu Mar 31 01:08:17 CST 2011 Untitled Document
Quality of VoIP
Throughput Ratio  
   
UDP and DCCP coexisting with TCP (injected every 10 sec.)

 
DCCP based VoIP has very poor quality
when coexisting with other TCP streams

Avg. Delay Time Avg. Loss Rate
Thu Mar 31 01:08:17 CST 2011 Untitled Document
Where is the Problem?
 
VoIP prefers constant packet stream
 
Change of Inter-packet time will delay packet arrival time
 
Better alternative:
   
Change packet size, but not inter-packet time
Flexible VoIP bit rate, Constant inter-packet time
Thu Mar 31 01:08:17 CST 2011 Untitled Document
Motivation of Flexible Bit Rate
Hypothesis: Use lower bit rate in congestion may have higher quality
  
Higher Bit rate with higher loss rate (e.g. 16.8K bps)
  
Lower Bit rate with lower loss rate (e.g. 5.75K bps)
 
Experiment (real network in lab environment with Speex Codec)

Transmitted packets Received packets Bit Rate Loss Rate MOS
326 326 7.75 0 3.01
326 326 9.8 0 3.30
326 305 12.8 0.064 3.22
326 279 16.8 0.1285 2.15
326 254 20.6 0.2225 1.81
Results
   
Use lower bit rate in congestion may have higher quality
Thu Mar 31 01:08:18 CST 2011 Untitled Document
Experiment of Flexible Bit Rate
Thu Mar 31 01:08:18 CST 2011 Untitled Document
Detection of Network Congestion
 
Change of Run Trip Time

 
Assumtion: RTT is Normal Distribution
 
Condition of network congestion
Inter-packet arrival time exceeds 
 3 standard deiviations than average 
for consecutive a times
Example:
32.98 35.02 32.59 33.61 32.92 32.52 32.56 39.41 38.58 38.58

Avg33.6 STD1.647 Avg+3std38.54 a 3
Thu Mar 31 01:08:19 CST 2011 Untitled Document
Proposed Congestion Control
   
If Network Congestion Detected
Then, activate congestion control - lower bit rate
   
If in lower bit rate state, raise bit rate by one level for every b second
when receive a new packet at T  i  ,Then t  new  =T  i  -T  i-1  
if t  new  >= t  avg  +3σ  t   and congestion frequency >= α
send decrease bitrate command to sender 
congestion frequency=0
else if t  new  >= t  avg  +3σ  t  
congestion frequency=congestion frequency+1
else
	congestion frequency=0
calculate new t  avg    and new σ  t  
fi
Thu Mar 31 01:08:19 CST 2011 Untitled Document
Performance Evaluation
   
Add 10 VoIP stream every 10 sec. up to 100,
   
Experimental time is 210 sec.

Parameter Value
Packet Size 15-106 Kbytes (Payload only)
Inter Packet Interval 30 ms
VoIP Codec Speex
Link Bandwidth Up Link : 2 Mbps
Down Link: 10 Mbps
# of VoIP session 0-100
Thu Mar 31 01:08:20 CST 2011 Untitled Document
Speex Codec
 
Free VoIP codec
 
11 variable bit rate
 
Sampling Freq: 8K/16K Hz
 
Frame Size: 20ms/40ms
Quality
Level
Bit-rate
(Kbps)
Packet Size (Bytes)
(Payload only)
MOS
0 3.95 10 2.26
1 5.75 15 2.72
2 7.75 20 3.01
3 9.8 25 3.30
4 12.8 32 3.30
5 16.8 42 3.53
6 20.6 52 3.53
7 23.8 60 3.61
8 27.8 70 3.61
9 34.2 86 3.94
10 42.2 106 4.09
Thu Mar 31 01:08:20 CST 2011 Untitled Document
Performance of UDP based VoIP
 
Congestion between 70 and 140 seconds
 
MOS droped below 2
Thu Mar 31 01:08:20 CST 2011 Untitled Document
Performance of DCCP based VoIP
DCCP with constant bit rate DCCP with variable bit rate
 
Flexible bit rate protocol accommodates better to network congestion
Thu Mar 31 01:08:21 CST 2011 Untitled Document
Summary of Performance Evaluation
Thu Mar 31 01:08:23 CST 2011 Untitled Document
Conclusion
DCCP Based VoIP has poor performance when other TCPs (except Vegas) coexist
Flexible bit rate VoIP can maintain quality while doing congestion control
Need to improve DCCP
Challenge: To maintain the separation between Applicaiton and Transport layers
Thu Mar 31 01:08:24 CST 2011