36
CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Embed Size (px)

Citation preview

Page 1: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

CHAMELEON - A System for Adaptive QoS Provisioning

Rajesh Krishna Balan

Page 2: 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,00007/95 8,200,00007/96 16,729,00007/97 26,053,00007/98 36,739,00007/99 56,218,00007/00 80,000,000

(projection)

Page 3: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

• 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.

Page 4: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Tele-X Tele-X

Trunk lines

Why there is no such problem in POTS?

• Statistical guarantees are provided

Page 5: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

VoIPGateway

VoIPGateway

Internet

VoiceFlow

Page 6: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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.

Page 7: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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.

Page 8: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Earth-110.10.1.1

Compaq Intel

Neptune10.10.5.2

LinuxIntel OEM

Mars10.10.0.4

LinuxIntel OEM

Venus10.10.0.3

LinuxIntel EtherExpress Pro 100B (Org)

Mercury

LinuxIntel EtherExpress Pro 100B (Org)

EarthTrunking Gateway

Linux

Linux

Jupiter

Saturn

TCP-Trunking Testbed Setup(Centre For Internet Research)

Rajesh & Boon Peng3rd September 1999

InternetEarth-2

10.10.2.1Compaq Intel

10.10.5.3

Compaq Intel

Uranus-110.10.5.3

Compaq Intel

ananda-r9137.132.89.91Compaq Intel

Saturn-210.10.4.1

Compaq Intel

Saturn-110.10.3.2

Compaq Intel

Jupiter-210.10.3.1

Compaq Intel

Jupiter-110.10.2.2

Compaq Intel

Pluto

Linux

Pluto-110.10.0.254Intel OEM

Pluto-210.10.1.254Intel OEM

Trunking GatewayLinux

Traffic Aggregator

Delay / Drop BoxLinux

Revised on 19th July 2000

KryptonTraffic Aggregator

Linux

Uranus-210.10.5.4

Compaq Intel

Krypton-110.10.4.254Intel OEM

Krypton-210.10.5.254Intel OEM

Uranus

10.10.0.2

Page 9: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan
Page 10: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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.)

Page 11: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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.)

Page 12: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Ttcp Iperf Surge IPB AB Tcplib TG Netperf Netspec Rtpplay

Telnet NO NO NO NO NO YES YES NO YES NO

ftp (1)

(TCP bulk)

YES YES NO NO NO NO NO YES YES NO

ftp (2) (realistic) NO NO NO NO NO YES YES NO NO NO

HTTP NO NO YES YES YES NO NO NO YES NO

UDP voice (3)

(UDP bulk)

NO NO NO NO NO NO YES NO NO NO

UDP video (4)

(UDP bulk)

NO NO NO NO NO NO YES NO NO NO

RTP voice (5)

(realistic)

NO NO NO NO NO NO NO NO NO YES

RTP video (6)

(realistic)

NO NO NO NO NO NO NO NO NO YES

Works

properly?

YES YES YES YES YES Only a

library

(7)

NO

(8)

YES NO (9) YES

Software Traffic Generators

Page 13: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

admission control

traffic management TCP tunnel

encapsulation mechanisms

incoming packet

outgoing encapsulated packet

Subsystem 1 Subsystem 2

TCP trunk

decapsulation mechanisms

incoming encapsulated

packet

original data packets sent to destination via normal routing

TCP tunnel

Subsystem 3

TCP trunkTCP tunnel

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.

Page 14: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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)

admission control

traffic management TCP trunk

encapsulation mechanisms

incoming packet

outgoing encapsulated packet

Subsystem 1 Subsystem 2

TCP trunk

decapsulation mechanisms

incoming encapsulated

packet

original data packets sent to destination via normal routing

TCP trunk

Subsystem 3

• Aggregation of traffic• Reliable link level protocol• Protection of flows• Congestion handling is moved from core

to edge of the network

Page 15: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Back Pressure Effect of TCP Tunnels

0

200

400

600

800

1000

1200

0

14.6

28.7 43

57.2

71.3

85.4

99.6

114

128

142

157

171

185

199

213

228

242

256

270

285

299

313

Time (sec)

Insta

nta

neou

s Q

ueu

e O

ccu

pan

cy

(packets

)

Core RouterMax=96

Limit=1000

Tunnel Router

Instantaneous Queue occupancies for core and tunnel routers using TCP tunnels

Page 16: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

The ChameleonA 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.

Page 17: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

ChameleonTele-X Tele-X

Designed to support multiple classes of traffic over the Internet with explicit minimum statistical guarantees.

INTERNET

End Machines

Border Router

Encapsulated aggregated data in the TCP tunnels

Border Router

Chameleon

Aggregation of Incoming Data into TCP Tunnels by Chameleon

End Machines

Page 18: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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.

Page 19: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Chameleon Implementation (2)Place packet into linked list

Remove packets from list and place into TCP tunnels after adding length of packet in front of packet

incoming packet

outgoing encapsulated packet

Firewall

1) Read length of pack2) Read packet

incoming encapsulated

packet

original data packets sent to destination via normal routing

TCP tunnels

Data Flow Diagram of TCP Tunnel Software

User spaceKernel space

libpcap

User space

Kernel spacePacket sent to TCP tunnel receiver as that is the destination address for TCP tunnel packets

1) Read IP destination of packet2) Write packet into raw socket.

Page 20: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Deployment

INTERNET

Border RouterRunning Chameleon

LANsLANs

Border RouterRunning Chameleon

INTERNET

Border Router

LANsLANs

Border Router Commodity Linux Machine running Chameleon

Commodity Linux Machine running Chameleon

Page 21: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Experimental Setup

Border Router Border RouterDelay/Error Box

End Machines End Machines

Virtual TCP tunnels between the 2 border routers

Logical setup of Experimental Testbed

Page 22: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Results - TCP Bulk Traffic

0

10

20

30

40

50

60

70

80

1 15

29

43

57

71

85

99

113

127

141

155

169

183

197

211

225

Time (s)

Th

rou

gh

pu

t (K

Byte

s/s

)

s

Without Chameleon

With Chameleon2

2

1

1

One 2Mbps UDP CBR streamOne 2Mbps UDP exponential on/off streamTen TTCP bulk transfer

Shows effectiveness in protecting TCP bulk traffic

Page 23: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Results - Web TrafficTraffic Mix• 100 web sources• 2 video streams

• Jitter is less• Substantial improvement in

End-to-end response time

% Improvement in RTT values with Chameleon

123.31%31.86%

923.82%

434.27%

0100200300400500600700800900

1000

Average RTT MaximumRTT

MinimumRTT

RTT Std

% Im

pro

ve

me

nt % Improvement with

Chameleon

Page 24: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Results - UDP Packet LossTraffic Mix• 10 TCP bulk sources• 2 video stream

• Packet loss is less

Data Bytes Received for UDP Traffic

96.70%

79.65%

0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%80.00%90.00%

100.00%

With Chameleon Without Chameleon

Data Bytes Received

Page 25: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Results - Adaptive NatureTraffic Mix• 10 TCP bulk sources• 2 UDP streams

200

400

600

800

1000

1200

1400

1 91 181 271 361 451 541 631 721 811 901 991

Time (s)

Th

rou

gh

pu

t (K

By

tes

/s)

UDP CBRUDP on/offTCP BulkTotal

1

12

2

3

3

4

4

Page 26: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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

Page 27: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Reliable Data Link Layer (2)

Border Router Border RouterDelay/Error Box

End Machines End Machines

Virtual TCP tunnels between the 2 border routers

Logical Setup of Experimental Testbed for lossy link experiments

Lossy Link being simulated by Delay/Error Box

Page 28: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Reliable Data Link Layer - Results

0

10000

20000

30000

40000

50000

60000

70000

80000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Percentage Packet Loss (%)

Th

rou

gh

pu

t (K

Byte

s/s

)

sack

hack+sack

hack

new reno

1

2

34

1234

Throughput of Chameleon versus percentage packet loss for short latency (10 ms) link with random single packet

errors

Page 29: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Reliable Data Link Layer - Results (2)

0

5000

10000

15000

20000

25000

30000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Percentage Packet Loss (%)

Th

rou

gh

pu

t (K

Byte

s/s

)

sack

hack+sack

hack

new reno

1

2

3

4

1234

Throughput of Chameleon versus percentage packet loss for long latency (300 ms) link with random single packet errors

Page 30: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Reliable Data Link Layer - Results Burst Errors

12988

20083.8 19759.5

15595.8

3540.6

16436

19948.6

540.2

4642.8

0

5000

10000

15000

20000

25000

2 5 10Length of Burst Error (packets)

Thro

ughp

ut (K

B/s)

hack+sackhacksack

2% burst error

11016.211693.4

8531

5958.27696.4

1402.2

211.2745.4

8560.8

0

2000

4000

6000

8000

10000

12000

2 5 10Length of Burst Error (packets)

Thro

ughp

ut (K

B/s)

hack+sackhacksack

5% burst error

Page 31: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Reliable Data Link Layer - Results Burst Errors (2)

4854.4

0

1653.22011.2

788.6

3151.8

2109.41071

350

1000

2000

3000

4000

5000

6000

2 5 10Length of Burst Error (packets)

Thro

ughp

ut (K

B/s)

hack+sack

hack

sack

15% burst error

7193.85992.2

2772.44440.2

2931.61402.2

2949.4

142 360

2000

4000

6000

8000

10000

2 5 10Length of Burst Error (packets)

Thro

ughp

ut (K

B/s)

hack+sack

hack

sack

10% burst error

Page 32: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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

Page 33: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Summary

Chameleon enables the provisioning of QoS for various classes of traffic in an easy yet effective mannerNo modifications to existing protocols and applications and is totally transparent to the end usersThe 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

Page 34: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

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

Page 35: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan

Questions?

Page 36: CHAMELEON - A System for Adaptive QoS Provisioning Rajesh Krishna Balan