130 likes | 225 Views
School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols TCP-Friendly Transport Protocols. Motivations. Congestion Control Prevents congestive network collapse Improve Quality of Service (QoS) for UDP Control transmission rate
E N D
School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols TCP-Friendly Transport Protocols
Motivations • Congestion Control • Prevents congestive network collapse • Improve Quality of Service (QoS) for UDP • Control transmission rate • Fair bandwidth utilization • Prevents starvation of TCP traffic • ~95% of Internet traffic are TCP • In short, a TCP-Friendly protocol based on UDP
Approaches • Resources Reservation • Impossible to know exact bandwidth • May leads to over-allocate • Priority Mechanisms • Require supports by path routers • Adaptive Sending Rate • Easy to implement, application level • Can adapt to changes in bandwidth availability • Improve QoS through loss reduction
Adaptive Sending Rate • Congestion Control • Achieved by varying sending rate • 12+ algorithms for calculating transmission rate • Main idea is to use TCP throughput model • All claims to be the most effective • Loss-Delay Based Adjustment Algorithm (LDA) • TCP like approach • Increase sending rate during network under-load • Uses feedback to accurately measure RTT • Intended for video and audio streaming • Network and Operating System Support for Digital Audio and Video (NOSSDAV ‘98)
Loss-Delay Based Adjustment Algorithm • Loss-Delay Based Adjustment Algorithm (LDA) • Start with a small value, 10 kb/s • Additive increase rate (AIR) • If packet drop, back off to initial value (10 kb/s) • Increase until similar rate as TCP • Relies on feedback • Uses Real Time Protocol (RTP) on top of UDP • Feedback contains losses and round-trip time (RTT) • How much to increase? • Bf = bandwidth factor • AIR = initial value (10 kb/s)
Loss-Delay Based Adjustment Algorithm • How do we calculate ? • r = current transmission rate • b = bottleneck bandwidth • Calculating bottleneck bandwidth • b = probe packet size / gap between 2 probe packets • Two sequential packets with small gap means less delay
Understanding TCP • Detecting Congestion • Recall TCP average throughput • Fairness mean we must not exceed • Recall TCP average throughput simplistic model • TCP throughput is inversely proportional to • RTT and square root of packet loss probability p
Loss-Delay Based Adjustment Algorithm • Calculating RTT • No ACK in UDP • Use feedback report • Where t= arrival time, = time elapsed since last report, and = last received sender report
Performance of LDA • LDA and TCP
Performance of LDA • LDA scalability
In Theory, It Works • Not In Practice • Additional network overhead (RTP) • Additional application level complexity • Rogue UDP process could starve TCP-Friendly protocols • Performance Driven • UDP is intended to be light weight and fast • TCP-Friendly protocols would have to yield to UDP • Developers are lazy, they want the fastest connection with minimal amount of work
Summary • TCP-Friendly Protocols • UDP based protocols with congestion control • Able to sense the network and adjust send rate accordingly • Promote fair bandwidth sharing • Prevents Network Collapse • Work together with TCP to balance bandwidth • Fill The Gap • TCP-Friendly protocols can fill the gap between TCP and UDP
References • TCP-Friendly, Advanced Networking: Pittsburgh Supercomputing Center, http://www.psc.edu/networking/projects/tcpfriendly/ • D. Sisalem, H. Schulzrinne, “The Loss-Delay Adjustment Algorithm: A TCP-friendly Adaptation Scheme”, Network and Operating System Support for Digital Audio and Video (NOSSDAV ‘98), Cambridge, UK, July 8-10, 1998. • J. Mahdavi, S. Floyd, TCP-Friendly Unicast Rate-Based Flow Control http://www.psc.edu/networking/papers/tcp_friendly.html • Lorenzo Vicisano, Luigi Rizzo (Pisa) and Jon Crowcroft, TCP-like Congestion Control for Layered Multicast Data Transfer (INFOCOM ‘98).