Measurements of Quality Differentiation
Transcript of Measurements of Quality Differentiation
Measurements of Quality Differentiation
Jari HuttunenHelsinki University of Technology
Networking laboratory
Contents• Network prototype
– Topology and system configuration• Traffic generation
– Traffic generators and traffic tracing• Applications• Theory
– PHBs• Assured Forwarding• Expedited Forwarding
• Test cases– Best Effort (BE)– Expedited Forwarding (EF)– Assured Forwarding (AF)– EF + AF– AF: Bad provisioning
• Summary• Conclusions• Future work
Network prototype
• Standard PC-hardware– AMD 1300 MHz/256 MB– 4 * 3Com 10/100 Ethernet NICs
• 3 core and 5 edge routers• Dummynet network emulator
– 30 ms extra delay (low and high delay paths)• Several traffic generators
ALTQ 1
ALTQ 2
CORE 1
Dummynet
ALTQ 3
ALTQ 4
CORE 2
ALTQ 5
CORE 3
VoIP-A
HTTP-client 1
HTTP-client 2
UDPHTTP-client 3
HTTP-server
FTP-client
Video source
Video sink
VoIP-B
FTP-server
UDP
System configuration
• FreeBSD OS with ALTQ-package– QoS mechanisms (queueing, scheduling, shaping, metering, marking)
• All NICs configured to 10Base-Tx full duplex• CBQ is used in traffic shaping
– WRR as a general scheduler• Static provisioning, no borrowing between classes
– Capacity differentation (a predefined amount of link capacity for each traffic class)
• Queue management: tail-drop, RED, RIO• Token Bucket (TB) and two rate Three Color Marker (TrTCM) used
for metering/marking (color blind)
Traffic generation
• Applications with different properties– Real time / non-real time– Bandwidth sensitive / delay sensitive– TCP / UDP based– Constant bitrate / varying bitrate– Long “friendly” TCP flows / short “aggressive” flows
• How to carry all this traffic in a single network and same time provide quality of service?
Traffic generation (cont.)
• Traffic generators– SmartBits 600– PC hardware
• SmartBits 600– SmartMetrics 10/100 BaseT
Ethernet module– SmartVoIPQoS
• A test application to stress and analyze the networks ability to carry voice and data traffic simultaniously
• Can generate multiple IP flows and simulate VoIP gateways and phones
• Measure delay, jitter, throughput and packet loss (+define overall voice quality)
• PC hardware– Linux / FreeBSD TCP stack
implementation– Synchronized by using
Network Time Protocol (NTP)
Traffic tracing
• SmartBits 600 can trace the traffic it sends and give aggregated results– Transmit flows → Collect data from cards → Display
results
• We perform also packet capturing using Tcpdump at client and server side– Analysis of TCP traffic
• RTT, throuhput etc.
– Packet captures are analyzed with Tcptrace tool (http://irg.cs.ohiou.edu/software/tcptrace/idex.html)
Applications• VoIP
– SmartBits 600 and SmartVoIPQoS software– G.711 µ-law voice coding with 20 ms framing
• Packets size of 218 Bytes
– We apply 20 flows per client, bi-directional• =40 VoIP flows
– Silence detection is not being modelled• Constant bitrate application
– Mapping to PSQM (Perceptual Speech Quality Measure) voice scoring system (0.4→6.5)
• Comparing measurement results to a matrix that includes mappings between PSQM scores and the effect of impairments (jitter, packet loss)
• Low PSQM value indicates of high voice quality• PSQM values are affected by:
– Frame loss– Jitter– Type of codec used
Applications (cont.)• Video streaming
– Rude/Crude UDP traffic generator/receiver• Used with video trace files
– MPEG-4 encoded video stream from a movie– 25 frames per second (40 ms interval)– Mean bitrate 1.029 Mbps, max 8.797 Mbps
• Varying bitrate application
Video stream data rate profile
Applications (cont.)• FTP
– Client-server transactions– A modified version of Markus Peuhkuri’s Kilent-Server application– Packets size of 1500 B (MTU)– 50 individual file transfers– File size modelled by geometric distribution (mean 500 kB)– Example of long lasting TCP connections
Applications (cont.)• HTTP
– Apache 2.0 www-server• Most popular web server in the Internet
– Siege is used at the client side• http testing and benchmarking utility• Simulates a predefined number of users• Reports of response times, amount of data transferred, etc.
– 2 clients with high delay paths and 1 client (client #3) with a low delay path
• Study the effect of dissimilar RTT
– HTTP 1.0– Simulating 165 users– Object size modelled by geometric ditsribution (mean 10 kB)– Reading time 12 s– Example of short, interactive TCP connections
Test procedure
• A one minute warm up period before actual measurements– To ensure that network is in stable condition
• We apply 15 seconds UDP bursts to congest the network– Packets of size 512 B (8 Mbit/s)
• Does not aim to model any particular application• An aggressive, unresponsive source
– VoIP flows
• We record all TCP traffic in the network for later analysis
Warm up Start traffic sources/tracing UDP bursts END
- wait one minute - transmit 15 seconds, wait about 10 s- collect VoIP data during waiting time
- terminate sources and tracing
Per Hop Behavior (PHB)
• Defines the treatment how traffic belonging to a certain behavior group is forwarded at the individual network node
• DiffServ codepoint of a packet (DSCP) is used to select the PHB
• Two standardized PHB groups– Assured Forwarding– Expedited Forwarding
Assured Forwarding (AF)
• Four independent forwarding classes with three drop precedences per class (RFC 2597)
• The forwarding assurance of an IP packet in a network node is determined by:– Resources allocated to the particular AF class– The current load of the AF class– Drop precedence of a packet
Expedited Forwarding (EF)
• ” Leased line emulation”– Low loss, low latency and assured bandwidth service
• Defined in RFC 2598• Strict queueing treatment• Arrival rate < minimum service rate
– Requires powerful forwarding from the router
Test cases
� Case 1: Best Effort (BE): No differentation between traffic flows
� Case 2: Expedited Forwarding (EF): EF service for VoIP flows.
� Case 3: Assured Forwarding (AF): Four independent forwarding classes.
� Case 4: EF+AF� Case 5: AF: Different provisioning
Connection pairsHTTP
Dummynet
VoIP-A
HTTP-client 1
HTTP-client 2
UDPHTTP-client 3
HTTP-server
FTP-client
Video source
Video sink
VoIP-B
FTP-server
UDP
VoIPFTP
Case 1: BE
• Baseline (reference) for our studies• No differentiation
– Traffic sources are competing of the resources– Situation in today’s Internet
Case 1: BE (cont.)Video streaming delay• TCP is not able to send new
data during congestion• High delay and packet loss
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0 10 20 30 40 50 60
Del
ay (
s)Time (s)
TCP sequence number congestion (FTP connection)
3152650000
3152600000
3152550000
3152500000
3152450000
30.000 s25.000 s20.000 s15.000 s10.000 s5.000 s
sequence number
time
O3
RRO3
OO3ROO3
RRO3RORO3RORROOOOOO3
Packet loss (%) PSQM Avg latency (ms) Avg jitter (ms)A->B 14.57 3.16 220.87 1.95B->A 18.15 3.49 231.16 2.82Total avg 16.36 3.3 225.56 2.37
VoIP
Case 1: BE (cont.)
• Delays not acceptable, heavy packet loss
• http client (client 3) with low delay path is dominating
FTP throughput
300000
200000
100000
50.000 s40.000 s30.000 s20.000 s 10.000 s0 s
bytes/second
time
154315611562156515461554155715361552153115341541
HTTP
500
400
300
200
100
50.000 s 40.000 s 30.000 s 20.000 s 10.000 s0 s
RTT (msecs)
time
white
HTTPSource Data transferred (B) Response time (s) Throughput (kbps)
Client 1 2751418 3.23 365.33Client 2 2616671 2.84 350.17Client 3 4272803 0.11 570.75
Case 2: EF
• Two scenarios– 20 % of the link capacity provisioned for VoIP traffic– 30 % of the link capacity provisioned for VoIP traffic
• Other traffic sources get BE service• Max delay set to 20 ms• Leased line emulation
Case 2: EF (cont.)
20 % provisioning Packet loss (%) PSQM Avg latency (ms) Avg jitter (ms)
A->B 0.080 0.46 109.60 1.019B->A 0.067 0.45 98.56 1.271Total avg 0.073 0.46 103.94 1.144
VoIP 30 % provisioning
Packet loss (%) PSQM Avg latency (ms) Avg jitter (ms)A->B 0 0.4 30.870 1.123B->A 0 0.4 33.992 1.572Total avg 0 0.4 32.431 1.348
• Increasing provisioning improves the quality of VoIP calls
–However, there is someoskillation in jitter
Case 2: EF (cont.)
80 % for BE service
• Low delay path more dominant when more resources allocated for BE traffic
• EF can be used to provide a leased line emulation
Source Data transferred (B) Response time (s) Throughput (kbps)Client 1 2848275 2.68 380.66Client 2 3149460 2.35 421.12Client 3 4256773 0.14 565,5
HTTP70 % for BE service
Source Data transferred (B) Response time (s) Throughput (kbps)Client 1 2814368 2.89 374.56Client 2 3352512 1.85 445.37Client 3 4088847 0.46 543.01
Case 3: AF
Class Application Bandwidth % Buffer size Conditioner CIR (Mbps) Peak rate (Mbps)AF1 VoIP+Video 50 20 ms TB 5 N/AAF2 HTTP 20 60 ms trTCM 4 5AF3 FTP 18 120 ms trTCM 2 3AF4 Other 10 360 ms trTCM 2 3
• 2 % of resources is assigned for the control traffic• Class AF1 for real time applications
• Class AF2 for interactive TCP traffic (HTTP)• Class AF3 for non-interactive TCP traffic
(FTP)• Class AF4 for the traffic that does not
conform to AF1, AF2 or AF3
Case 3: AF (cont.)FTP throughput
200000
150000
100000
50000
50.000 s 40.000 s 30.000 s 20.000 s 10.000 s0 s
bytes/second
time
16051606161416161595160716091593159615991601
• FTP throughput is bounded to about 1.8 Mbit/s (the target rate for class AF3)
Case 3: AF (cont.)Video streaming delay
• Fairness between HTTP clients– AF helps to diminish the effect
of RTT• Real time applications get decent
quality of service• TCP sources achieve (almost)
their target rate
0.03
0.035
0.04
0.045
0.05
0.055
0.06
0.065
0.07
0 10 20 30 40 50 60
Del
ay (
s)
Time (s)
VoIPPacket loss (%) PSQM Avg latency (ms) Avg jitter (ms)
A->B 1.06 1.02 32.27 2.28B->A 0.0 0.4 34.77 3.91Total avg 0.53 0.7 33.48 3.10 HTTP
Source Data transferred (B) Response time (s) Throughput (kbps)Client 1 3742733 1.26 500.20Client 2 3744647 1.27 501.21Client 3 3931651 0.79 522.31
Case 4: EF+AF
Class Application Bandwidth % Buffer sizeEF VoIP 20 20 msAF1 Video 30 20 msAF2 HTTP 20 60 msAF3 FTP 18 120 msAF4 Other 10 360 ms
• A finer differentiation between real time applications– EF PHB for VoIP flows
• Otherwise same as in previous case
Case 4: EF+AF (cont.)
• VoIP and HTTP flows experience similar QoS as in AF case
Packet loss (%) PSQM Avg latency (ms) Avg jitter (ms)A->B 0 0.4 32.199 1.807B->A 0.040 0.43 34.386 3.665Total avg 0 0.4 33.293 2.736
Source Data transferred (B) Response time (s) Throughput (kbps)Client 1 3613647 1.45 483.75Client 2 3760971 1.29 495.84Client 3 3922848 0.82 525.32
VoIP
HTTP
Case 4: EF+AF (cont.)
• Resources are exhausted during the first UDP burst in AF1 class (video streaming)– Bad provisioning (overload in
the class)
Video streaming delay
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0 10 20 30 40 50 60
Del
ay (
s)
Time (s)
Video streaming
Video streaming delay variance / packet loss
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0 200 400 600 800 1000 1200 1400 1600
Del
ay v
aria
nce
(s)
Frame #
Case 5: AF different provisioning
Class Application Bandwidth % Buffer size Conditioner CIR (Mbps) Peak rate (Mbps)AF1 VoIP+Video 30 20 ms TB 5 N/AAF2 HTTP 40 60 ms trTCM 4 5AF3 FTP 10 120 ms trTCM 2 3AF4 Other 18 360 ms trTCM 2 3
• More bandwidth allocated for TCP traffic
Case 5: AF different provisioning (cont.)
Packet loss (%) PSQM Avg latency (ms) Avg jitter (ms)A->B 14.62667 3.21 32.026 1.768B->A 0 0.4 33.666 2.656Total avg 0 1.81 33.846 2.212
VoIP
Source Data transferred (B) Response time (s) Throughput (kbps)Client 1 4148934 0.40 554.67Client 2 4136732 0.45 549.64Client 3 4251938 0.21 565.70
HTTP
Summary
VoIP HTTP response time (s) Video streamingCase PSQM Client 1 Client 2 Client 3 Packet loss %
BE 3.3 3.23 2.84 0.11 15.1EF (30%) 0.4 2.89 1.85 0.46 56.3EF (20%) 0.46 2.68 2.35 0.14 23.2AF 0.7 1.26 1.27 0.79 2.46EF+AF 0.4 1.45 1.29 0.82 7.69Case 5 1.81 0.40 0.45 0.21 32.2
Conclusions
• In Best Effort network the traffic sources are interfering with each other
• EF can be used to provide premium service • AF helps to reduce the effect of RTT for TCP connections
– Better fairness• CBQ is not a perfect solution
– Need for adaptive schedulers?• It’s all about provisioning
– The problem of provisioning the resources– Need for dynamic provisioning
• Tuning the parameters is not easy
Future work
• Test different mechanisms– Borrowing, different schedulers, queuing algorithms etc.
• Measurements using dynamic provisioning• Adding more flows / connections per class• More realistic traffic distribution
– More TCP connections• Deeper analysis on data• Measurements using Adtech AX4000• Development of centralized management platform
– Easier to manage the network and traffic generators