Download presentation
Presentation is loading. Please wait.
1
Datagram Congestion Control Protocol Timothy Sohn Eiman Zolfaghari CS268 Project May 15, 2002
2
Motivation Real-time applications built on top of UDP are growing in bandwidth usage on the Internet (RealAudio, Counter Strike, IP Telephony) Real-time applications built on top of UDP are growing in bandwidth usage on the Internet (RealAudio, Counter Strike, IP Telephony) Do not need Additive Increase Multiplicative Decrease congestion mechanism Do not need Additive Increase Multiplicative Decrease congestion mechanism But congestion control is difficult to correctly implement But congestion control is difficult to correctly implement
3
Protocol Overview Plug and Play congestion control mechanisms on the fly Plug and Play congestion control mechanisms on the fly Half-Connections allow each client can choose its own congestion control id (CCID) to use Half-Connections allow each client can choose its own congestion control id (CCID) to use Low overhead like UDP Low overhead like UDP Applications using UDP can easily change to this new protocol Applications using UDP can easily change to this new protocol
4
Congestion Control ID3 (TFRC) TCP-Friendly Rate Control is intended for applications that do not require a fully reliable connection and to be “friendly” towards TCP flows in terms of send rates TCP-Friendly Rate Control is intended for applications that do not require a fully reliable connection and to be “friendly” towards TCP flows in terms of send rates Receiver sends rate estimate and loss event history Receiver sends rate estimate and loss event history Sender uses equation that models SACK TCP to determine appropriate send rate Sender uses equation that models SACK TCP to determine appropriate send rate
5
Implementation Basic Protocol implemented in user space on top of UDP using an event-based model rather than thread-based Basic Protocol implemented in user space on top of UDP using an event-based model rather than thread-based CCID3 implementation based off of TFRC code in ns-simulator CCID3 implementation based off of TFRC code in ns-simulator
6
Testing Tests done using two machines running Nistnet (network emulation tool), tcpdump, some parsing scripts, and gnuplot to make graphs. Tests done using two machines running Nistnet (network emulation tool), tcpdump, some parsing scripts, and gnuplot to make graphs. Performance Metrics Performance Metrics Send rate over time Send rate over time TCP-Friendliness of a single CCID3 over time TCP-Friendliness of a single CCID3 over time Average TCP-Friendliness of a single CCID3 flow competing with TCP flows Average TCP-Friendliness of a single CCID3 flow competing with TCP flows
7
Friendliness Measured friendliness of DCCP with CCID3 with respect to increasing TCP connections Measured friendliness of DCCP with CCID3 with respect to increasing TCP connections Exhibits relatively fair rate changes with respect to background flows Exhibits relatively fair rate changes with respect to background flows
8
More Friendliness Friendliness ratio of DCCP with respect to itself and with respect to background TCP connections Friendliness ratio of DCCP with respect to itself and with respect to background TCP connections
9
Results CCID3 implementation is complete CCID3 implementation is complete CCID3 is, on average, TCP-Friendly CCID3 is, on average, TCP-Friendly
10
Future Work We hope to implement CCID2 (TCP-like congestion control) and test the idea of half- connections We hope to implement CCID2 (TCP-like congestion control) and test the idea of half- connections There is no sense of reliability in DCCP, but implementing and testing a layer on top of the protocol would be interesting There is no sense of reliability in DCCP, but implementing and testing a layer on top of the protocol would be interesting Move our implementation from user space to kernel space Move our implementation from user space to kernel space
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.