360 likes | 640 Views
CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan Internet has proliferated rapidly Date Hosts 12/69 4 12/79 188 01/89 80,000 07/95 6,642,000 07/95 8,200,000 07/96 16,729,000 07/97 26,053,000
E N D
CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan
Internet has proliferated rapidly Date Hosts 12/69 4 12/79 18801/89 80,000 07/95 6,642,000 07/95 8,200,000 07/96 16,729,000 07/97 26,053,000 07/98 36,739,000 07/99 56,218,000 07/00 80,000,000 (projection)
Strong Interest in carrying Voice traffic over the • Internet- 250 billion conversation minutes by 2005 • Internet is designed for non-real time data communications - Assuring QoS is a problem.
Tele-X Tele-X Why there is no such problem in POTS? Trunk lines • Statistical guarantees are provided
Voice Flow VoIP Gateway VoIP Gateway Internet
Technical challenges • Lack of guarantees in terms of BW, packet loss, • delay and jitter - Quality of Voice over Internet suffers. IP is only best effort!! • QoS guarantees are primarily provided by two mechanisms: • RSVP (Resource Reservation Protocol) • Priority Queue Mechanism • DiffServ framework initiative under IETF and • QBone initiative under Internet2 or Next Generation Internet hold promise.
Objectives • To search for and acquire various hardware and / or software tools which can generate application specific traffic which follow TCP dynamics. • To verify and evaluate the properties and capabilities of TCP tunnels. • To develop a complete system which uses TCP tunnels to provide QoS for various classes of traffic. This system should also be adaptive and thus be able to adjust itself to the traffic conditions on the network. • To develop a mechanism by which the system can be used as an efficient yet reliable link layer protocol for transmitting TCP data over lossy links.
TCP-Trunking Testbed Setup (Centre For Internet Research) Internet Earth-1 Earth-2 Jupiter-1 10.10.1.1 10.10.2.1 10.10.2.2 Compaq Intel Compaq Intel Compaq Intel Mercury Earth Jupiter-2 Trunking Gateway ananda-r9 Jupiter 10.10.3.1 Linux Linux 137.132.89.91 Compaq Intel Intel EtherExpress Pro 100B (Org) Delay / Drop Box Compaq Intel Pluto-2 Linux 10.10.1.254 Intel OEM Saturn-1 10.10.3.2 Compaq Intel Pluto-1 Neptune 10.10.0.254 Pluto Uranus-2 10.10.5.2 Intel OEM 10.10.5.4 Linux Traffic Aggregator Saturn Compaq Intel Intel OEM Linux Saturn-2 Trunking Gateway Linux 10.10.4.1 Compaq Intel Uranus-1 10.10.5.3 Krypton-1 Compaq Intel 10.10.4.254 Intel OEM 10.10.5.3 Venus Mars Linux 10.10.0.3 10.10.0.4 Compaq Intel Linux Linux Krypton-2 Intel EtherExpress Pro 100B (Org) 10.10.5.254 Intel OEM Intel OEM Krypton Rajesh & Boon Peng Traffic Aggregator 3rd September 1999 Linux Revised on 19th July 2000 10.10.0.2 Uranus
Traffic Generators • Need for Realistic Traffic Generators • Mathematical Models (Poisson, Erlang, Exponential etc.) • Trace-based Models (collect usage statistics / data and replay etc.) • Ad-Hoc Models (models with no realistic component. E.g. models which just generate packets and send them out as fast as possible etc.)
Hardware Traffic Generators • Very expensive ( > $70,000 for a full system) • Used for stress testing production networks • Generally unable to generate application level traffic (telnet, HTTP etc.) which follow TCP dynamics (re-transmissions, window size negotiations etc.)
TCP tunnel encapsulationmechanisms traffic management outgoing encapsulated packet admission control incoming packet Subsystem 1 Subsystem 2 TCP tunnel TCP trunk TCP tunnel TCP trunk decapsulationmechanisms incoming encapsulated packet original data packets sent to destination via normal routing Subsystem 3 Principle of TCP Tunnels • TCP tunnels are virtual circuits through which all • traffic belonging to a class of application are aggregated. • A single aggregated flow in a tunnel can be managed better • than individual flows across a congested link.
TCP trunk encapsulationmechanisms traffic management outgoing encapsulated packet admission control incoming packet Subsystem 1 Subsystem 2 TCP trunk TCP trunk decapsulationmechanisms incoming encapsulated packet original data packets sent to destination via normal routing Subsystem 3 Principle of TCP Tunnels (cont) • Provides statistical guarantees to classes of traffic (eg., voice • traffic should get at least 5% of the BW; Video traffic should • get at least 10% of the BW, but no more than 20%). • Guarantees can be assured because of the traffic • distribution pattern (eg., all flows do not peak at the same time) • Aggregation of traffic • Reliable link level protocol • Protection of flows • Congestion handling is moved from core to edge of the network
Limit=1000 Tunnel Router Max=96 Core Router Instantaneous Queue occupancies for core and tunnel routers using TCP tunnels Back Pressure Effect of TCP Tunnels
The Chameleon • A complete solution that can help in the design of Voice over IP Gateways with QoS guarantees. • Traffic -Modeling of VoIP. • Research and development at the network protocol layer (TCP/IP etc.). • Started in co-operation with Harvard University.
Tele-X Tele-X Chameleon Border Router Border Router Encapsulated aggregated data in the TCP tunnels End Machines End Machines Aggregation of Incoming Data into TCP Tunnels by Chameleon INTERNET Chameleon Designed to support multiple classes of traffic over the Internet with explicit minimum statistical guarantees.
Chameleon Implementation • QoS routines are compiled into the Linux kernel to enable the various QoS providing buffer and scheduling mechanisms (like RED, CBQ etc.) in the Linux kernel. • User level program, TC used to activate the various buffer and scheduling mechanisms. This requires different parameters to be passed into the program TC.
outgoing encapsulated packet Remove packets from list and place into TCP tunnels after adding length of packet in front of packet Place packet into linked list User space libpcap Kernel space incoming packet Firewall TCP tunnels 1) Read length of pack 2) Read packet 1) Read IP destination of packet 2) Write packet into raw socket. User space Kernel space incoming encapsulated packet Packet sent to TCP tunnel receiver as that is the destination address for TCP tunnel packets original data packets sent to destination via normal routing Data Flow Diagram of TCP Tunnel Software Chameleon Implementation (2)
Border Router Running Chameleon Border Router Running Chameleon INTERNET INTERNET LANs LANs LANs LANs Commodity Linux Machine running Chameleon Border Router Border Router Commodity Linux Machine running Chameleon Deployment
Virtual TCP tunnels between the 2 border routers Border Router Delay/Error Box Border Router End Machines End Machines Logical setup of Experimental Testbed Experimental Setup
1 2 2 1 Results - TCP Bulk Traffic Shows effectiveness in protecting TCP bulk traffic One 2Mbps UDP CBR stream One 2Mbps UDP exponential on/off stream Ten TTCP bulk transfer
Results - Web Traffic • Jitter is less • Substantial improvement in • End-to-end response time • Traffic Mix • 100 web sources • 2 video streams
Results - UDP Packet Loss • Traffic Mix • 10 TCP bulk sources • 2 video stream • Packet loss is less
4 1 2 3 4 1 3 2 Results - Adaptive Nature • Traffic Mix • 10 TCP bulk sources • 2 UDP streams
Reliable Data Link Layer • Lossy / Wireless links are becoming increasingly common in todays networks • However, TCP performs poorly in cases where packets are lost due to corruption • Chameleon can be used to “isolate” the lossy links from the rest of the network • Versions of TCP optimised for lossy environments, like TCP HACK, can be used by the Chameleon
Virtual TCP tunnels between the 2 border routers Border Router Delay/Error Box Border Router Lossy Link being simulated by Delay/Error Box End Machines End Machines Logical Setup of Experimental Testbed for lossy link experiments Reliable Data Link Layer (2)
1 2 3 4 Throughput of Chameleon versus percentage packet loss for short latency (10 ms) link with random single packet errors 2 1 3 4 Reliable Data Link Layer - Results
Throughput of Chameleon versus percentage packet loss for long latency (300 ms) link with random single packet errors 1 2 3 4 3 1 4 2 Reliable Data Link Layer - Results (2)
5% burst error 2% burst error Reliable Data Link Layer - Results Burst Errors
15% burst error 10% burst error Reliable Data Link Layer - Results Burst Errors (2)
Future Work • Port Chameleon fully into kernel space • Test Chameleon in different network conditions • Optimise Chameleon for UDP traffic • Optimise Chameleon as a VoIP gateway • More work needs to be done on the use of the Chameleon as a reliable data link layer • Fully automate the Chameleon
Summary • Chameleon enables the provisioning of QoS for various classes of traffic in an easy yet effective manner • No modifications to existing protocols and applications and is totally transparent to the end users • The Chameleon is also adaptive and reacts seamlessly to changes in network bandwidth. It will strive to satisfy all statistical QoS contracts • Applicable not only to voice, but other multimedia traffic as well. • Expertise in traffic generation and analysis: • Poisson - telnet; Heavy-tail (Pareto) - web traffic; exponential on-off - voice
Acknowledgements • A/P A. L. Ananda • Mr. Lee Boon Peng • TCP Trunk Project Group • Dr. Lillykutty Jacob • Dr Winston Seah Khoon Guan • Renjish Kumar • Liu Yong Xiang • Chan Lee Lee • Yeo Ann Kian