| Is Data Rate a Big Issue? |
|---|
Data Rate
Is Data Rate a Big Issue? |
|---|
| Data Rate Control |
|---|
|
What is proper data rate?
|
|
How to determine proper data rate?
|
|
Which component control data rate?
|

| 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
| |
|---|
| 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
|
| What makes a good Congestion Control? |
|---|
|
Short packet transmission time
|
|
Maximize throughput
|
|
Minimize retransmission
|
|
Maintain network harmony and fairness
|
| 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
|
| AIMD Additive Increase/Multiplicative Decrease |
|---|

| Bandwidth Competition Capability |
|---|

| 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
|
| 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)
|
| 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
| |
|---|
| Experimental Fairness Study |
|---|
![]() |
|
| Formula of Throughput Calculation for CCID 3 |
|---|

| Throughput Competition: UDP vs. NewReno |
|---|
| UDP first | NewReno First
|
| ![]()
| ![]() |
|---|
| Throughput Competition: DCCP vs. NewReno and Vegas |
|---|
| DCCP first | NewReno First
|
| ![]()
| ![]() DCCP first
| Vegas First
|
| ![]()
| ![]() |
|---|
| Summary of Fairness Study |
|---|
![]() |
| ||||
|
| |||||
| DCCP run first, one out of five TCPs was injected every 10 seconds |
|---|
| Quality of VoIP - Coexisting with NewReno |
|---|
| |||||||
| Avg. Delay Time | Avg. Loss Rate
|
| ![]()
| ![]() | ||||
|---|---|---|---|---|---|---|---|
| Quality of VoIP - coexisting with Vegas |
|---|
| ||||
| Avg. Delay Time | Avg. Loss Rate
|
| ![]()
| ![]() | |
|---|---|---|---|---|
| Quality of VoIP |
|---|
| Throughput Ratio |
|
| ![]()
|
Avg. Delay Time
| Avg. Loss Rate
|
| ![]()
| ![]() |
|---|
| 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
|

| Motivation of Flexible Bit Rate |
|---|
|
Hypothesis: Use lower bit rate in congestion may have higher quality
|
|
| ||||
|
|
|
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
|
| Experiment of Flexible Bit Rate |
|---|

| Detection of Network Congestion |
|---|
|
Change of Run Trip Time
![]() |
|
|
| 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 |
|---|
| Performance Evaluation |
|---|
![]() | ||||||
|---|---|---|---|---|---|---|
|
| 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
| |
|---|
| Speex Codec |
|---|
|
|
| Performance of UDP based VoIP |
|---|
![]() |
![]() | ||||
| |||||
| Performance of DCCP based VoIP |
|---|
| DCCP with constant bit rate | DCCP with variable bit rate
|
| ![]()
| ![]()
| ![]()
| ![]()
|
| |||
|---|---|---|---|---|---|---|---|---|---|
| Summary of Performance Evaluation |
|---|
![]() |
![]() |
| 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
|