120 likes | 213 Views
The Importance of Being TCP-Friendly. DCP. UDP. TCP. Eiman Zolfaghari E190 – Professor Hatton May 2002. What is TCP?. TCP: Transport Layer Protocol – The way the majority of data on the Internet is passed around Web pages, file transfers, chat programs Used because its reliable and fair.
E N D
The Importance of Being TCP-Friendly DCP UDP TCP Eiman Zolfaghari E190 – Professor Hatton May 2002
What is TCP? • TCP: Transport Layer Protocol – The way the majority of data on the Internet is passed around • Web pages, file transfers, chat programs • Used because its reliable and fair One TCP connection Congestion Max Bandwidth Packets sent / second Time (seconds)
What is TCP? • TCP: Transport Layer Protocol – The way the majority of data on the Internet is passed around • Web pages, file transfers, chat programs • Used because its reliable and fair A second TCP connection Congestion Max Bandwidth Packets sent / second Time (seconds)
What is UDP? • UDP: User Datagram Protocol – The way video and audio streams are passed around • No congestion control, thus not fair • Not reliable at all One Innocent TCP connection Congestion Max Bandwidth Packets sent / second Time (seconds)
What is UDP? • UDP: User Datagram Protocol – The way video and audio streams are passed around • No congestion control, thus not fair • Not reliable at all A Mean UDP Connection Comes In Max Bandwidth Packets sent / second Innocent TCP Connection Time (milliseconds)
Why wasn’t this an issue before? • Lots of unused bandwidth (not anymore) • Little number of users (not anymore) • Video streams? Audio Streams? Who’ll use it? (Cable/DSL increased the demand) TCP UDP
The Importance of being TCP-Friendly • Since the majority of the Internet uses TCP, other protocols must behave fairly towards it • A protocol is TCP-Friendly if its “long-term throughput does not exceed the throughput of a conformant TCP connection under the same conditions” • Thus, UDP is out of the picture
A TCP-Friendliness Equation • Calculates estimated TCP throughput (packets/second) • lact is the ‘actual packet loss fraction’ of TCP packets • tRTT is the TCP round trip time • t0 is the TCP timeout value • Source: Padhye et al.
What about applications that use UDP? • Make a new protocol that application developers can easily convert to • Make a protocol that is both unreliable and yet has congestion control UDP TCP DCP
A Solution: DCP • Datagram Control Protocol • Variable reliability • Reliable for initial connection rate negotiations • No guarantees on other data • Congestion Control Mechanisms • each direction of flow gets to choose what kind of congestion control they wish to use • The algorithms used for most congestion control mechanisms ensure TCP-friendliness • Lightweight, like UDP
Congestion Control Mechanisms • New research has come up with better ways of detecting and dealing with congestion • TFRC: TCP-Friendly Rate Control • When packet is lost in TCP, throughput fluctuates a lot • TFRC attempts to alleviate this, while maintaining TCP-friendliness • TEAR: TCP Emulation At Receivers • Claims that it will be more TCP-friendly than TFRC
The Importance of Being TCP-Friendly DCP UDP TCP To reduce Internet congestion, applications must use less UDP, and more TCP-friendly protocols like DCP