SlideShare a Scribd company logo
1 of 55
Download to read offline
Communications Networks 2
Bertrand Faust, School of Electrical & Electronic Engineering
DIT Kevin Street
bertrand.faust@dit.ie
1
bertrand.faust@dit.ie
William Stallings, Data & Computer Communications, Pearson Prentice
Hall, 2007 (8th Edition)
James Kurose & Keith Ross, Computer Networking, Pearson Addison-
Wesley, 2009 (5th Edition)
Some slides in these notes are adapted from material in above books.
Notes 4: Quality of Service
• Interactive Application
• QOS
• Scheduling (Priority, WFQ)
2
• Scheduling (Priority, WFQ)
• Dropping policy (RED, WRED)
• Traffic Policing, Traffic Shaping
• DiffServ
Quality of Service
• Essentially, Quality of Service expresses the need for packets not to
be unduly delayed or lost between source and destination
• How much delay or loss is acceptable depends on the type of
packets, i.e. the application carried by the packets
• voice
• data
• video
3
• Interactive/Multimedia applications have introduced requirements, in
terms of delay especially, that cannot be accommodated by a Best
Effort delivery.
• In Packet Switching technologies, packets from different users and
different applications contend for resources on the network:
Bandwidth and Buffer spaces.
• This affects the perceived QOS per user/application
Quality of Service Parameters
QOS can be characterized by a few key performances:
• Packet delay, from source to destination, including transport and
queuing delays.
• ITU G-114 recommends 150 msec one way end to end delay
for VoIP (over 400 msec, “unacceptable”)
• Packet Delay Variation, as it may affect signal reconstruction
(audio or video) in the receiver (real time services=Interactive
4
(audio or video) in the receiver (real time services=Interactive
Multimedia applications).
• Must be compensated by jitter buffer in receiver (see next
slides)
• Loss ratio, ratio of lost packets to the total number of packets in
transit.
• Throughput, ratio of the number of bits successfully transferred,
over the corresponding period of time.
Application Layer
• Interactive Multimedia
5
Interactive Multimedia: Internet Phone
Telephony over IP
• speaker’s audio: alternating talk spurts, silent periods.
• 64 kbps during talk spurt
• packets generated during talk spurts
• 20 msec chunks at 8 Kbytes/sec: 160 bytes data
6
• application-layer header added to each chunk.
• Chunk+header encapsulated into UDP segment.
• application sends UDP segment into socket every 20 msec during
talkspurt.
• Note: a specific protocol is necessary to initiate the call (Session
Initiation Protocol for example)
Internet Phone: Packet Loss and Delay
• network loss: IP datagram lost due to network congestion
(router buffer overflow)
• delay loss: IP datagram arrives too late for playout at receiver
• delays: processing, queueing in network; end-system
(sender, receiver) delays
• typical maximum tolerable delay: 400 ms
• “good” quality delay ~ 150 ms
7
• “good” quality delay ~ 150 ms
• loss tolerance: depending on voice encoding, a degree of packet
loss rates can be tolerated.
constant bit
rate
transmission
variable
network
delay
client
reception
constant bit
rate playout
at client
buffered
data
Delay Jitter
8
time
delay
(jitter)
client playout
delay
buffered
data
• end-to-end delays of two consecutive packets: difference can be
more or less than 20 msec
Fixed Playout Delay
packets
• Sender generates packets every 20 msec during talk spurt.
• First packet received at time r
• First possible playout schedule: begins at p (late packet loss)
• Second possible playout schedule: begins at p’ (no late loss)
9
time
packets
generated
packets
received
loss
r
p p'
playout schedule
p' - r
playout schedule
p - r
Jitter Buffer and Playout Delay
• Packets arriving at the receiver are not played out (converted in
voice signal) as they arrive, but are stored for a short duration.
• A jitter buffer holds the packets briefly, and then plays them out
at evenly spaced intervals to a decoder (to produce voice signal)
• If voice packets are held for too short a time, variations
(increases) in delay mean that some chunks may be missing
10
(increases) in delay mean that some chunks may be missing
(because delayed) at the time of the playout.
• On the other hand, packets arriving with shorter delays may
cause the buffer to fill up quickly, and subsequent packets to be
dropped, also causing gaps in speech.
• An estimation of the jitter can be performed to adapt the jitter
buffer to evolving network delay.
Jitter Buffer
SENT 1 2 3 4 5 6
RECEIVED 1 2 3 4 5 6
11
PLAYED OUT 1 2 3 4 5 6
Jitter Buffer Delay
Real-Time Protocol (RTP)
• TCP, due to connection establishment, flow control and congestion
control mechanisms is not suitable for real time applications
• No need for retransmission of lost VoIP packets
• UDP is the transport encapsulation on top of IP
• However, UDP does not provide information about:
• The order of voice packets (successive packets may arrive out
of order)
12
of order)
• The position of the sample in a packet with respect to samples
in previously received packets (in case of missing packets, or
silence)
• How to decode the audio (video) samples.
• So an additional is introduced in the transport layer between the
application and UDP: RTP, Real Time Protocol
Real-Time Protocol (RTP)
• RTP specifies a packet structure for
packets carrying audio and video
data (RFC 1889).
• RTP packet provides
• payload type identification
• packet sequence numbering
• Timestamping
• RTP runs in the end systems.
13
• RTP runs in the end systems.
• RTP packets are encapsulated
in UDP segments
Real Time Control Protocol (RTCP): used in conjunction with RTP to
coordinate different media streams, E.g. videoconferencing app for
which each sender generates one RTP stream for video and one for
audio.
Real-Time Protocol (RTP)
• If sending 64 kbps PCM-encoded voice over RTP.
• Application collects the encoded data in chunks, e.g., every 20
msec = 160 bytes in a chunk.
• The audio chunk along with the RTP header form the RTP packet,
which is encapsulated into a UDP segment.
RTP Header Main Fields:
14
Payload Type:
• Indicates type of encoding currently being used. If sender
changes encoding in middle of conference, sender informs the
receiver through this payload type field.
•Payload type 0: PCM mu-law, 64 kbps
•Payload type 3, GSM, 13 kbps
•Payload type 7, LPC, 2.4 kbps
•Payload type 33, MPEG2 video
•….
RTP Header: main fields
Sequence Number:
• Increments by one for each RTP packet sent,
• may be used to detect packet loss and to restore packet sequence (if
packets received out of order).
SSRC (Synchronisation SouRCe identifier) :
• identifies the source of the RTP stream. Each stream in RTP
session should have a distinct SSRC
15
Timestamp:
• sampling instant of data payload measured by the sender.
• If no packet sent during silence period from one party,
• Sequence number increases by 1 when new packet sent,
• Samples number increase by the number of sampling
instants since last packet (Timestamp clock continues to
increase at constant rate when source is inactive).
session should have a distinct SSRC
RTP Header: main fields
Timestamp:
• e.g. if 160 samples in payload, next RTP timestamp will
increase by 160.
• Receiver can use timestamps to estimate Delay Variation
(Jitter).
Tx(i): timestamp packet i
16
Tr(i): reception time for packet i
L(i): network delay for packet i
Tr(i) = Tx(i) + L(i)
Tr(i+1) = Tx(i+1) + L(i+1)
Delay Variation = L(i+1) - L(i) = (Tr(i+1) - Tr(i)) - (Tx(i+1) - Tx(i))
SIP-RTP Capture with Wireshark
17
Quality of Service
• QOS
• DiffServ
18
Quality of Service
• Most of the development of the Internet is based on the concept of
“Best Effort” service, which becomes unsatisfactory for real
time/multimedia applications or network users willing to pay a
premium for a better service.
• This is partially addressed using:
• Overprovisioning of Bandwitdh and routers/switches Capacity,
to maintain performances despite bursty traffic
• Content Distribution/Delivery Network (CDN) to replicate
content in multiple servers closer to clients
19
content in multiple servers closer to clients
• QOS mechanisms are implemented in IP routers to provide more
cost effective and flexible ways to deliver Quality of Service in a
network.
TCP/IP Networks
• These QOS mechanisms can be associated with 3 main groups of
traffic management techniques:
• Dropping policy (Buffer Management, Congestion
Avoidance)
• Scheduling policy (Congestion Management)
• Traffic Policing and Shaping
• These QOS mechanisms can be applied per Traffic Flows or per
Traffic Classes:
20
• These QOS mechanisms can be applied per Traffic Flows or per
Traffic Classes:
• Traffic Flow: the 5-tuple Source IP & Port, Destination IP & Port,
protocol, i.e., a web client-server connection,
• Traffic Class: aggregation of traffic flows for the purpose of
applying a common action, i.e., all VoIP traffic
• They require a means to identify different categories of IP traffic
• Classification
Classification
• Classification: process of identifying flows of packets and
grouping individual traffic flows into aggregated streams that may
be marked to be subjected to same QOS actions
• Basic classification can use:
• Source & Destination IP addresses,
• Source & Destination Transport Port,
• Protocol,
21
• Protocol,
• Interface,
• Marker in the IP header,
• Data from other protocol layers.
• Packets in different classes will then be subjected to different
policing, dropping, scheduling policies
IP Type of Service
• The classification of a packet may be performed in a router at the
edge of a network; the result of the classification is then “marked”
in the header of the IP so that it is available throughout the
network where the packet is forwarded.
• This marking uses a field initially called “Type Of Service” and
introduced to identify different requirements on how an IP packet
should be handled;
• The first 3 bits of this TOS field were called IP Precedence.
22
• The first 3 bits of this TOS field were called IP Precedence.
• This field has been re-designed as Diff Serv Code Point (DSCP),
with 6 bits used to identify different classes of services, and 2 bits
unused (later used for ECN)
TOS
DSCP
bits 1 2 3 4 5 6 7 8
Delay Throughput Reliability Cost
ECT ECN-CE
ECT ECN Capable Transport
ECN-CE ECN Congestion Experienced
Precedence
DSCP
Quality of Service
• Scheduling policy (Priority, WFQ)
(Congestion Management)
23
Traffic Management: Scheduling policy
• Scheduling: process of selecting in what order packets, from
different categories (flows or classes), should be transmitted on a link,
to share the available bandwidth in a pre-defined fashion.
• A scheduler determines which packet is served next, and prioritizes
traffic according to QOS.
• Single Queue
• FIFO scheduling: packets are forwarded in the order they arrive
(first in first out)
24
(first in first out)
• Multiple Queues (assigned to different categories of traffic)
• Priority Queuing
• queues are served by order of priority
• FIFO is used within 1 queue
• as long as a high priority queue is not empty, low priority
queue does not get served: a priority Queue can starve other
queues.
Traffic Management: Scheduling policy
• Fair Queuing
• FQ emulates a mechanism where each queue is serviced bit by bit
in a round robin manner
• FQ determines when a given packet would finish being
transmitted using this mechanism
• the finishing time is used to order the transmissions
• Pi packet length, Fi end of packet transmission, Ai arrival time
in queue, for packet i
25
in queue, for packet i
• Fi=max(Fi-1, Ai) + Pi
• next packet to transmit is the one with lowest Fi
• Shares equally link between Queues
• Weighted Fair Queuing:
• WFQ emulates mechanism where different queue are served by
sending different number of bits instead of 1 for all
• controls percentage of link assigned to each flow/class
Weighted Fair Queuing
1
100
1
Flow
Size
Packet
1
100
1
Flow
Fi
Packet
Example: a router uses 3 buffers to store different traffic flows. It
receives the packets listed below at about the same time, in the order
listed. All buffers are initially empty, and transmission is not possible
until all packets are received.
1
50
1
Flow
Fi
Packet
Weighted Fair Queuing: flow 1 with weight
2, and flows 2 and 3 weight 1 each.
Fair Queuing
26
3
50
8
3
110
7
2
200
6
2
190
5
1
100
4
1
100
3
1
100
2
3
160
8
3
110
7
2
390
6
2
190
5
1
400
4
1
300
3
1
200
2
1
100
1
3
160
8
3
110
7
2
390
6
2
190
5
1
200
4
1
150
3
1
100
2
FIFO:
1,2,3,4,5,6,7,8
FQ:
1,7,8,5,2,3,6,4
WFQ:
1,2,7,3,8,5,4,6
IP Scheduling
• Fair Queuing: the outgoing Link Rate is shared equally between
classes of traffic.
Each class/flow of traffic avails of a data rate:
R
w
w
N
k
i
∗
∑
• Weighted Fair Queuing: each class/flow is allocated a weight
and avails of a data rate
N
R
i
w
27
Scheduler
Link Rate R
N Weighted
Queues
w
k
k
∑
=1
IP Scheduling
Priority
• A strict priority queue (or Low Latency Queue) is often combined
with a set of Weighted Fair Queues, to ensure that real time
interactive data, particularly sensitive to delay and jitter, are
forwarded first.
• However, a mechanism must be introduced so that the priority
queue does not starve the other queues.
28
Scheduler
Packets Queues
Interface FIFO
Link
N Weighted
Queues
Priority
Queue
Quality of Service
• Traffic Policing, Traffic Shaping
29
Traffic Parameters
The Traffic that should benefit from a set of QOS performances may
be characterized with a limited set of parameters:
• Peak rate: maximum rate at which data is transmitted. On a link,
peak rate is limited by the transmission link rate, also identified as
port speed.
• Average rate: rate of data transmission averaged over a given
time interval.
30
time interval.
• Burst size: maximum amount of data that can be transmitted at
peak rate/port speed.
• The 3 parameters can be used to describe the burstiness of a traffic
pattern
• QOS performances are of course affected by changes in traffic
parameters.
Traffic Management: Traffic policing & shaping
• Traffic Policing: monitor traffic flows, and take actions when
characteristics deviate from expected/contracted.
• Packets may be marked (e.g. rewrite its IP precedence code or
DSCP code) or dropped
• Traffic Shaping: monitor traffic flows, and delay traffic not
conforming to the traffic contract, using a buffer to hold packets,
and shape the data rate
• Packets not conforming are queued in a buffer
31
• Packets not conforming are queued in a buffer
• A typical mechanism to perform traffic policing is the Token Bucket;
policing is usually applied to incoming traffic
• A modified version of Token Bucket can be used to perform traffic
shaping. Shaping is usually applied to outgoing traffic.
Token Bucket Principle
• A virtual bucket is filled with tokens at a given Information Rate IR
tokens/sec.
• This bucket has a certain maximum depth S in tokens, and a current
depth T.
• When a packet arrives in the router, the length B of the packet in
bytes is compared to the current depth T of the bucket.
• If T>B, the packet is compliant with the desired traffic pattern and
is forwarded, and B tokens are removed from the bucket,
• If T<B, the packet is dropped or marked.
32
• If T<B, the packet is dropped or marked.
• A group of packets with a total size smaller than the bucket depth
may be forwarded at the maximum capacity of the output link
• The depth S of the bucket limits the size of the largest burst that can
be sent unmarked into the network at maximum rate
• The rate IR is the “long term” average rate at which unmarked
packets are sent into the network
Token Bucket Principle
• Compliant packets can be forwarded at rate r over a period t, if:
• S + IR*t > r*t
• Hence, long term, the average transmission rate r must verify:
• r < S/t + IR which tends towards IR, when t becomes large
• Token rate IR is the maximum long term average transmission rate
• The maximum compliant burst at the outgoing link peak rate R is of
duration t such that:
33
duration tb such that:
S+IR*tb > R*tb hence, tb < S/(R-IR)
• Assume IR = 200 kbits/sec, S = 10 kbytes, peak Rate = 1 Mbits/sec.
=> Token Bucket can forward packets at Peak Rate for 100 msec.
Traffic Policers using Token Buckets
• Two types of Traffic Policers based on the Token Bucket principle
have been defined by IETF in RFC 2697 and 2698.
• The Traffic Policers are also called 3 Color Marker, as they can
produce 3 decisions with regard to the compliance of packets:
• Conform (Green)
• Exceed (Yellow)
• Violate (Red)
• Violate (Red)
• Actions associated with Conform, Exceed and Violate would typically
be:
• Transmit: packet is compliant and is forwarded,
• Mark: packet is non compliant, but is marked in the IP header
for early drop in case of congestion, and forwarded,
• Drop: packet is non compliant and dropped.
34
Traffic Policers using Token Buckets
• The (3 Color Marker) single rate policer (RFC 2697) may use:
• 2 token buckets to provide 3 decisions: Conform, Exceed,
Violate, or
• 1 token bucket with 2 decisions: Conform, Exceed/Violate.
• Only one token rate is used to fill the buckets, corresponding to
the desired average transmission rate.
• The (3 Color Marker) dual rate policer (RFC 2698) uses 2 token
• The (3 Color Marker) dual rate policer (RFC 2698) uses 2 token
buckets to provide 3 decisions: Conform, Exceed, Violate.
• A Peak bucket is filled at a rate corresponding to the max (peak)
acceptable transmission rate.
• The other bucket is filled at a rate corresponding to the desired
average transmission rate
35
(3 Color Marker) Single Rate Policer
• CIR: Committed Information Rate
• CBS: Committed Burst Size
• EBS: Excess Burst Size
• Tc: Current Size of Bucket C
• Te: Current Size of Bucket E
• B Size of Incoming Packet
• If Tc >= B, the packet Conforms (green) and Tc is decremented
by B,
• else if Te >= B, the packets Exceeds (yellow) and Te is
decremented by B,
• else the packet Violates (red) and neither Tc nor Te is
decremented.
• If EBS is chosen equal to CBS, the policer is implemented with a
single token bucket.
36
(3 Color Marker) Single Rate Policer
Token
Bucket C
Max Size of
Bucket C: CBS
Max Size of
Bucket E: EBS
Tc: Current Size of
Bucket C
Token Rate
(CIR)
Token
Bucket E
37
No
No
Yes
Yes
Te: Current Size of
Bucket E
B < Tc
Conform
Packet of Size B
B < Te
Exceed
Violate
Single Rate Policer – EBS=CBS
Token
Bucket C
Max Size of
Bucket C: CBS
Tc: Current Size of
Bucket C
Token Rate
(CIR)
38
No
Yes
B < Tc
Conform
Packet of Size B
Exceed/Violate
(3 Color Marker) Dual Rate Policer
• CIR: Committed Information Rate
• PIR: Peak Information Rate
• CBS: Committed Burst Size
• PBS: Peak Burst Size
• Tc: Current Size of Bucket C (monitoring average rate)
• Tp: Current Size of Bucket P (monitoring peak rate)
• B Size of Incoming Packet
• If Tp < B, the packet Violates (red),
• else if Tc < B, the packets Exceeds (yellow) and Tp is
decremented by B,
• else the packet Conforms (green) and both Tp and Tc are
decremented by B.
39
(3 Color Marker) Dual Rate Policer
Token
Bucket C
Max Size of
Bucket P: PBS
Max Size of
Bucket C: CBS
Tc: Current Size of
Bucket C
Token Rate
(PIR)
Token
Bucket P
Token Rate
(CIR)
40
No
No
Yes
Yes
Tp: Current Size of
Bucket P
B > Tp
Conform
Packet of Size B
B > Tc
Exceed
Violate
Traffic Shaping with a Token Bucket
• A Traffic Policer based on Token bucket operations can be used to
perform Traffic Shaping
• The change is essentially in the way packets that do not Conform
are handled.
• With Traffic Shaping, packets that do not Conform are queued in a
buffer while the Token Buckets accumulates more tokens at the
Token rate.
41
Token rate.
• When the current size of the Token Bucket becomes larger or equal
to the packet size, the packet can be forwarded.
Traffic Shaping
Token
Bucket C
Max Size of
Bucket C: CBS
Tc: Current Size of
Bucket C
Token Rate
(CIR)
42
No
Yes
B < Tc Conform
Packet of Size B
Buffer
Quality of Service
• Buffer Management/Dropping policy (RED, WRED)
(Congestion Avoidance)
43
Dropping policy/Buffer Management
• A dropping policy determines packets to be discarded in case of
congestion building up in buffers (buffers in routers filling up with
packets waiting to be forwarded).
• Basic mechanism: tail drop
• when queue fills up, subsequent incoming packets are dropped
until queue size has decreased
• buffer may remain “almost full” for long periods, which is
not desirable: buffer size is meant to reflect size of bursts to
be absorbed, not steady state queues,
44
be absorbed, not steady state queues,
• Tail drop may create a synchronization of TCP connections,
i.e. multiple TCP flows with same peak and troughs triggered
by packet losses.
• Active Queue Management (AQM) mechanisms detect
congestion before buffers overflow and take actions to force
reaction of end systems.
RED: Random Early Detection
• RED, Random Early Detection, is a Dropping policy introduced to
improve TCP/IP performance by implementing an Active Queue
Management scheme.
• It is based on the following principles:
• In routers, length of queue are monitored.
• When a queue starts to fill up, packets start being dropped, to
prevent full scale congestion,
45
• Arriving packets are dropped with certain probability before
buffer is full
• The longer the average queue, the higher the probability of
the packet being dropped
• Packets to be dropped are selected at random to avoid
undesired synchronization among connections.
Random Early Detection
Qmax Qmin
Packet
46
Random Early Detection
• The router maintains an average of queue length Qavg.
• If Q is the current value of the queue size, as packets arrive and
depart, an average is calculated as:
Qavg = (1-wq)*Qavg +wq*Q
• wq is chosen for the router to detect the early stage of
congestion while filtering out transient phenomena.
• When packet arrives RED makes decision to queue or not, based on
47
• When packet arrives RED makes decision to queue or not, based on
current Qavg:
• If Qavg < Qmin, do nothing (No Dropping)
• If Qavg > Qmax, drop all packets (Full Dropping)
• Else drop packet with a probability proportional to queue length
(Random Dropping; a randomly generated value in [0 1] interval
is compared to the probability)
Random Early Detection
• Qmin < q < Qmax : Randomly drop new incoming packets, with
probability
p = pmax*[Qavg-Qmin]/[Qmax-Qmin]
• pmax is typically not greater than 0.1
• using p directly to make the Drop decision means that there is a
dropped packet on average every 1/p packets.
• Practically the probability of dropping is further calculated as:
48
• Practically the probability of dropping is further calculated as:
pa = p/(1-p*count),
where count is the number of packets since the last dropped
packet.
• using pa instead of p to make the drop decision means that
there is a dropped packet on average every 1/2p packets. The
dropped packets are more evenly distributed.
Random Early Detection
49
Weighted RED (WRED)
• different traffic flows are handled with different Qmin and Qmax
thresholds
• For example traffic marked by policing function is subjected to a
more aggressive RED profile (lower Qmin and Qmax)
50
Quality of Service
• Differentiated Services
51
Differentiated Services
• An important mechanism designed to enable TCP/IP networks to
deliver Quality of Service is DiffServ (Differentiated Services):
• the QOS mechanisms are applied per traffic class, on the basis
of pre-defined generic behaviors'.
• this is a scalable approach, with the disadvantages that there is
no resource reservation, and no control to accept a new traffic
flow in the network; applications can congest each other.
• classification at edge of network
• IP datagrams are classified using the DSCP (Diff Serv Code Point)
52
• IP datagrams are classified using the DSCP (Diff Serv Code Point)
field (formerly ToS) in the datagram format,
• the actual treatment by a router of a packet tha belongs to a DSCP
class is described by a Per Hop Behaviour, PHB, that the node must
apply, (drop policy, scheduling policy,..)
DiffServ Classes
Low Drop Medium Drop High Drop
Class 1 AF11 = '001010' AF12 = '001100' AF13 = '001110'
Class 2 AF21 = '010010' AF22 = '010100' AF23 = '010110'
• Classes identified by DSCP, used to select PHB
• DSCP = xxxxx1 reserved. xxxxx0 available for traffic classes
• Assured Forwarding (AF): different levels of forwarding
assurances for IP packets, with different amount of guaranteed
bandwidth, and different drop probabilities.
53
Class 2 AF21 = '010010' AF22 = '010100' AF23 = '010110'
Class 3 AF31 = '011010' AF32 = '011100' AF33 = '011110'
Class 4 AF41 = '100010' AF42 = '100100' AF43 = '100110'.
• Expedited Forwarding (EF): traffic requiring low loss, low
latency, low jitter, assured bandwidth
• ‘101110’ is recommended for the EF PHB, which corresponds to
a DSCP value of 46
• Default Class: 000000 is the default class, typically handled as Best
Effort.
Example of IP QOS router implementation
Scheduler
Interface FIFO
Link
Weighted Queue
Priority Queue
Weighted Queue
Dropping
Tail Drop
Dropping
WRED
Dropping
RED
Classifier
Policing
Exceed Drop
Policing
Exceed Mark
54
RED
• Real time applications such as VoIP would be served with a Priority Queue
(EF PHB)
• Note: policing before Priority Queue must drop rather than mark
to prevent the priority queue from starving other queues
• Premium traffic would be allocated a high percentage of the remaining
bandwidth, with Weighted RED on the marked traffic
• Standard traffic would be allocated a low percentage of the remaining
bandwidth
Example of IP QOS router implementation with
shaping
Scheduler
Interface
Link
Priority Queue
Weighted Queue
Dropping
Tail Drop
Dropping
WRED
Classifier
Policing
Exceed Drop
Policing
Exceed Mark
Shaping
55
Interface
FIFO
Weighted Queue
Dropping
RED

More Related Content

Similar to Communications Networks 2 Quality of Service Notes

CN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdfCN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdfMayankRaj687571
 
QoSintro.PPT
QoSintro.PPTQoSintro.PPT
QoSintro.PPTpayal445263
 
Introduction to VOIP
Introduction to VOIPIntroduction to VOIP
Introduction to VOIPTausun Akhtary
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3Seung-Bum Lee
 
Traffic Characterization
Traffic CharacterizationTraffic Characterization
Traffic CharacterizationIsmail Mukiibi
 
Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP ThousandEyes
 
RIPE 80: Buffers and Protocols
RIPE 80: Buffers and ProtocolsRIPE 80: Buffers and Protocols
RIPE 80: Buffers and ProtocolsAPNIC
 
Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocolN.Jagadish Kumar
 
Transport layer services
Transport layer servicesTransport layer services
Transport layer servicesMelvin Cabatuan
 
Multimedia-Applications.ppt
Multimedia-Applications.pptMultimedia-Applications.ppt
Multimedia-Applications.pptLightYagami490518
 
10 coms 525 tcpip - internet protocol - ip
10   coms 525 tcpip -  internet protocol - ip10   coms 525 tcpip -  internet protocol - ip
10 coms 525 tcpip - internet protocol - ipPalanivel Kuppusamy
 
TCP/IP Protocols
TCP/IP ProtocolsTCP/IP Protocols
TCP/IP ProtocolsDanial Mirza
 
Sdh total final
Sdh total finalSdh total final
Sdh total finalManish Desai
 

Similar to Communications Networks 2 Quality of Service Notes (20)

CN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdfCN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdf
 
QoSintro.PPT
QoSintro.PPTQoSintro.PPT
QoSintro.PPT
 
Introduction to VOIP
Introduction to VOIPIntroduction to VOIP
Introduction to VOIP
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
 
TCP/IP and UDP protocols
TCP/IP and UDP protocolsTCP/IP and UDP protocols
TCP/IP and UDP protocols
 
Traffic Characterization
Traffic CharacterizationTraffic Characterization
Traffic Characterization
 
Rtp
RtpRtp
Rtp
 
A glance-at-voip
A glance-at-voipA glance-at-voip
A glance-at-voip
 
Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP
 
RIPE 80: Buffers and Protocols
RIPE 80: Buffers and ProtocolsRIPE 80: Buffers and Protocols
RIPE 80: Buffers and Protocols
 
Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocol
 
Transport layer services
Transport layer servicesTransport layer services
Transport layer services
 
qos-f05.ppt
qos-f05.pptqos-f05.ppt
qos-f05.ppt
 
qos-f05 (2).ppt
qos-f05 (2).pptqos-f05 (2).ppt
qos-f05 (2).ppt
 
qos-f05 (3).ppt
qos-f05 (3).pptqos-f05 (3).ppt
qos-f05 (3).ppt
 
qos-f05.pdf
qos-f05.pdfqos-f05.pdf
qos-f05.pdf
 
Multimedia-Applications.ppt
Multimedia-Applications.pptMultimedia-Applications.ppt
Multimedia-Applications.ppt
 
10 coms 525 tcpip - internet protocol - ip
10   coms 525 tcpip -  internet protocol - ip10   coms 525 tcpip -  internet protocol - ip
10 coms 525 tcpip - internet protocol - ip
 
TCP/IP Protocols
TCP/IP ProtocolsTCP/IP Protocols
TCP/IP Protocols
 
Sdh total final
Sdh total finalSdh total final
Sdh total final
 

Recently uploaded

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 

Recently uploaded (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 

Communications Networks 2 Quality of Service Notes

  • 1. Communications Networks 2 Bertrand Faust, School of Electrical & Electronic Engineering DIT Kevin Street bertrand.faust@dit.ie 1 bertrand.faust@dit.ie William Stallings, Data & Computer Communications, Pearson Prentice Hall, 2007 (8th Edition) James Kurose & Keith Ross, Computer Networking, Pearson Addison- Wesley, 2009 (5th Edition) Some slides in these notes are adapted from material in above books.
  • 2. Notes 4: Quality of Service • Interactive Application • QOS • Scheduling (Priority, WFQ) 2 • Scheduling (Priority, WFQ) • Dropping policy (RED, WRED) • Traffic Policing, Traffic Shaping • DiffServ
  • 3. Quality of Service • Essentially, Quality of Service expresses the need for packets not to be unduly delayed or lost between source and destination • How much delay or loss is acceptable depends on the type of packets, i.e. the application carried by the packets • voice • data • video 3 • Interactive/Multimedia applications have introduced requirements, in terms of delay especially, that cannot be accommodated by a Best Effort delivery. • In Packet Switching technologies, packets from different users and different applications contend for resources on the network: Bandwidth and Buffer spaces. • This affects the perceived QOS per user/application
  • 4. Quality of Service Parameters QOS can be characterized by a few key performances: • Packet delay, from source to destination, including transport and queuing delays. • ITU G-114 recommends 150 msec one way end to end delay for VoIP (over 400 msec, “unacceptable”) • Packet Delay Variation, as it may affect signal reconstruction (audio or video) in the receiver (real time services=Interactive 4 (audio or video) in the receiver (real time services=Interactive Multimedia applications). • Must be compensated by jitter buffer in receiver (see next slides) • Loss ratio, ratio of lost packets to the total number of packets in transit. • Throughput, ratio of the number of bits successfully transferred, over the corresponding period of time.
  • 6. Interactive Multimedia: Internet Phone Telephony over IP • speaker’s audio: alternating talk spurts, silent periods. • 64 kbps during talk spurt • packets generated during talk spurts • 20 msec chunks at 8 Kbytes/sec: 160 bytes data 6 • application-layer header added to each chunk. • Chunk+header encapsulated into UDP segment. • application sends UDP segment into socket every 20 msec during talkspurt. • Note: a specific protocol is necessary to initiate the call (Session Initiation Protocol for example)
  • 7. Internet Phone: Packet Loss and Delay • network loss: IP datagram lost due to network congestion (router buffer overflow) • delay loss: IP datagram arrives too late for playout at receiver • delays: processing, queueing in network; end-system (sender, receiver) delays • typical maximum tolerable delay: 400 ms • “good” quality delay ~ 150 ms 7 • “good” quality delay ~ 150 ms • loss tolerance: depending on voice encoding, a degree of packet loss rates can be tolerated.
  • 8. constant bit rate transmission variable network delay client reception constant bit rate playout at client buffered data Delay Jitter 8 time delay (jitter) client playout delay buffered data • end-to-end delays of two consecutive packets: difference can be more or less than 20 msec
  • 9. Fixed Playout Delay packets • Sender generates packets every 20 msec during talk spurt. • First packet received at time r • First possible playout schedule: begins at p (late packet loss) • Second possible playout schedule: begins at p’ (no late loss) 9 time packets generated packets received loss r p p' playout schedule p' - r playout schedule p - r
  • 10. Jitter Buffer and Playout Delay • Packets arriving at the receiver are not played out (converted in voice signal) as they arrive, but are stored for a short duration. • A jitter buffer holds the packets briefly, and then plays them out at evenly spaced intervals to a decoder (to produce voice signal) • If voice packets are held for too short a time, variations (increases) in delay mean that some chunks may be missing 10 (increases) in delay mean that some chunks may be missing (because delayed) at the time of the playout. • On the other hand, packets arriving with shorter delays may cause the buffer to fill up quickly, and subsequent packets to be dropped, also causing gaps in speech. • An estimation of the jitter can be performed to adapt the jitter buffer to evolving network delay.
  • 11. Jitter Buffer SENT 1 2 3 4 5 6 RECEIVED 1 2 3 4 5 6 11 PLAYED OUT 1 2 3 4 5 6 Jitter Buffer Delay
  • 12. Real-Time Protocol (RTP) • TCP, due to connection establishment, flow control and congestion control mechanisms is not suitable for real time applications • No need for retransmission of lost VoIP packets • UDP is the transport encapsulation on top of IP • However, UDP does not provide information about: • The order of voice packets (successive packets may arrive out of order) 12 of order) • The position of the sample in a packet with respect to samples in previously received packets (in case of missing packets, or silence) • How to decode the audio (video) samples. • So an additional is introduced in the transport layer between the application and UDP: RTP, Real Time Protocol
  • 13. Real-Time Protocol (RTP) • RTP specifies a packet structure for packets carrying audio and video data (RFC 1889). • RTP packet provides • payload type identification • packet sequence numbering • Timestamping • RTP runs in the end systems. 13 • RTP runs in the end systems. • RTP packets are encapsulated in UDP segments Real Time Control Protocol (RTCP): used in conjunction with RTP to coordinate different media streams, E.g. videoconferencing app for which each sender generates one RTP stream for video and one for audio.
  • 14. Real-Time Protocol (RTP) • If sending 64 kbps PCM-encoded voice over RTP. • Application collects the encoded data in chunks, e.g., every 20 msec = 160 bytes in a chunk. • The audio chunk along with the RTP header form the RTP packet, which is encapsulated into a UDP segment. RTP Header Main Fields: 14 Payload Type: • Indicates type of encoding currently being used. If sender changes encoding in middle of conference, sender informs the receiver through this payload type field. •Payload type 0: PCM mu-law, 64 kbps •Payload type 3, GSM, 13 kbps •Payload type 7, LPC, 2.4 kbps •Payload type 33, MPEG2 video •….
  • 15. RTP Header: main fields Sequence Number: • Increments by one for each RTP packet sent, • may be used to detect packet loss and to restore packet sequence (if packets received out of order). SSRC (Synchronisation SouRCe identifier) : • identifies the source of the RTP stream. Each stream in RTP session should have a distinct SSRC 15 Timestamp: • sampling instant of data payload measured by the sender. • If no packet sent during silence period from one party, • Sequence number increases by 1 when new packet sent, • Samples number increase by the number of sampling instants since last packet (Timestamp clock continues to increase at constant rate when source is inactive). session should have a distinct SSRC
  • 16. RTP Header: main fields Timestamp: • e.g. if 160 samples in payload, next RTP timestamp will increase by 160. • Receiver can use timestamps to estimate Delay Variation (Jitter). Tx(i): timestamp packet i 16 Tr(i): reception time for packet i L(i): network delay for packet i Tr(i) = Tx(i) + L(i) Tr(i+1) = Tx(i+1) + L(i+1) Delay Variation = L(i+1) - L(i) = (Tr(i+1) - Tr(i)) - (Tx(i+1) - Tx(i))
  • 17. SIP-RTP Capture with Wireshark 17
  • 18. Quality of Service • QOS • DiffServ 18
  • 19. Quality of Service • Most of the development of the Internet is based on the concept of “Best Effort” service, which becomes unsatisfactory for real time/multimedia applications or network users willing to pay a premium for a better service. • This is partially addressed using: • Overprovisioning of Bandwitdh and routers/switches Capacity, to maintain performances despite bursty traffic • Content Distribution/Delivery Network (CDN) to replicate content in multiple servers closer to clients 19 content in multiple servers closer to clients • QOS mechanisms are implemented in IP routers to provide more cost effective and flexible ways to deliver Quality of Service in a network.
  • 20. TCP/IP Networks • These QOS mechanisms can be associated with 3 main groups of traffic management techniques: • Dropping policy (Buffer Management, Congestion Avoidance) • Scheduling policy (Congestion Management) • Traffic Policing and Shaping • These QOS mechanisms can be applied per Traffic Flows or per Traffic Classes: 20 • These QOS mechanisms can be applied per Traffic Flows or per Traffic Classes: • Traffic Flow: the 5-tuple Source IP & Port, Destination IP & Port, protocol, i.e., a web client-server connection, • Traffic Class: aggregation of traffic flows for the purpose of applying a common action, i.e., all VoIP traffic • They require a means to identify different categories of IP traffic • Classification
  • 21. Classification • Classification: process of identifying flows of packets and grouping individual traffic flows into aggregated streams that may be marked to be subjected to same QOS actions • Basic classification can use: • Source & Destination IP addresses, • Source & Destination Transport Port, • Protocol, 21 • Protocol, • Interface, • Marker in the IP header, • Data from other protocol layers. • Packets in different classes will then be subjected to different policing, dropping, scheduling policies
  • 22. IP Type of Service • The classification of a packet may be performed in a router at the edge of a network; the result of the classification is then “marked” in the header of the IP so that it is available throughout the network where the packet is forwarded. • This marking uses a field initially called “Type Of Service” and introduced to identify different requirements on how an IP packet should be handled; • The first 3 bits of this TOS field were called IP Precedence. 22 • The first 3 bits of this TOS field were called IP Precedence. • This field has been re-designed as Diff Serv Code Point (DSCP), with 6 bits used to identify different classes of services, and 2 bits unused (later used for ECN) TOS DSCP bits 1 2 3 4 5 6 7 8 Delay Throughput Reliability Cost ECT ECN-CE ECT ECN Capable Transport ECN-CE ECN Congestion Experienced Precedence DSCP
  • 23. Quality of Service • Scheduling policy (Priority, WFQ) (Congestion Management) 23
  • 24. Traffic Management: Scheduling policy • Scheduling: process of selecting in what order packets, from different categories (flows or classes), should be transmitted on a link, to share the available bandwidth in a pre-defined fashion. • A scheduler determines which packet is served next, and prioritizes traffic according to QOS. • Single Queue • FIFO scheduling: packets are forwarded in the order they arrive (first in first out) 24 (first in first out) • Multiple Queues (assigned to different categories of traffic) • Priority Queuing • queues are served by order of priority • FIFO is used within 1 queue • as long as a high priority queue is not empty, low priority queue does not get served: a priority Queue can starve other queues.
  • 25. Traffic Management: Scheduling policy • Fair Queuing • FQ emulates a mechanism where each queue is serviced bit by bit in a round robin manner • FQ determines when a given packet would finish being transmitted using this mechanism • the finishing time is used to order the transmissions • Pi packet length, Fi end of packet transmission, Ai arrival time in queue, for packet i 25 in queue, for packet i • Fi=max(Fi-1, Ai) + Pi • next packet to transmit is the one with lowest Fi • Shares equally link between Queues • Weighted Fair Queuing: • WFQ emulates mechanism where different queue are served by sending different number of bits instead of 1 for all • controls percentage of link assigned to each flow/class
  • 26. Weighted Fair Queuing 1 100 1 Flow Size Packet 1 100 1 Flow Fi Packet Example: a router uses 3 buffers to store different traffic flows. It receives the packets listed below at about the same time, in the order listed. All buffers are initially empty, and transmission is not possible until all packets are received. 1 50 1 Flow Fi Packet Weighted Fair Queuing: flow 1 with weight 2, and flows 2 and 3 weight 1 each. Fair Queuing 26 3 50 8 3 110 7 2 200 6 2 190 5 1 100 4 1 100 3 1 100 2 3 160 8 3 110 7 2 390 6 2 190 5 1 400 4 1 300 3 1 200 2 1 100 1 3 160 8 3 110 7 2 390 6 2 190 5 1 200 4 1 150 3 1 100 2 FIFO: 1,2,3,4,5,6,7,8 FQ: 1,7,8,5,2,3,6,4 WFQ: 1,2,7,3,8,5,4,6
  • 27. IP Scheduling • Fair Queuing: the outgoing Link Rate is shared equally between classes of traffic. Each class/flow of traffic avails of a data rate: R w w N k i ∗ ∑ • Weighted Fair Queuing: each class/flow is allocated a weight and avails of a data rate N R i w 27 Scheduler Link Rate R N Weighted Queues w k k ∑ =1
  • 28. IP Scheduling Priority • A strict priority queue (or Low Latency Queue) is often combined with a set of Weighted Fair Queues, to ensure that real time interactive data, particularly sensitive to delay and jitter, are forwarded first. • However, a mechanism must be introduced so that the priority queue does not starve the other queues. 28 Scheduler Packets Queues Interface FIFO Link N Weighted Queues Priority Queue
  • 29. Quality of Service • Traffic Policing, Traffic Shaping 29
  • 30. Traffic Parameters The Traffic that should benefit from a set of QOS performances may be characterized with a limited set of parameters: • Peak rate: maximum rate at which data is transmitted. On a link, peak rate is limited by the transmission link rate, also identified as port speed. • Average rate: rate of data transmission averaged over a given time interval. 30 time interval. • Burst size: maximum amount of data that can be transmitted at peak rate/port speed. • The 3 parameters can be used to describe the burstiness of a traffic pattern • QOS performances are of course affected by changes in traffic parameters.
  • 31. Traffic Management: Traffic policing & shaping • Traffic Policing: monitor traffic flows, and take actions when characteristics deviate from expected/contracted. • Packets may be marked (e.g. rewrite its IP precedence code or DSCP code) or dropped • Traffic Shaping: monitor traffic flows, and delay traffic not conforming to the traffic contract, using a buffer to hold packets, and shape the data rate • Packets not conforming are queued in a buffer 31 • Packets not conforming are queued in a buffer • A typical mechanism to perform traffic policing is the Token Bucket; policing is usually applied to incoming traffic • A modified version of Token Bucket can be used to perform traffic shaping. Shaping is usually applied to outgoing traffic.
  • 32. Token Bucket Principle • A virtual bucket is filled with tokens at a given Information Rate IR tokens/sec. • This bucket has a certain maximum depth S in tokens, and a current depth T. • When a packet arrives in the router, the length B of the packet in bytes is compared to the current depth T of the bucket. • If T>B, the packet is compliant with the desired traffic pattern and is forwarded, and B tokens are removed from the bucket, • If T<B, the packet is dropped or marked. 32 • If T<B, the packet is dropped or marked. • A group of packets with a total size smaller than the bucket depth may be forwarded at the maximum capacity of the output link • The depth S of the bucket limits the size of the largest burst that can be sent unmarked into the network at maximum rate • The rate IR is the “long term” average rate at which unmarked packets are sent into the network
  • 33. Token Bucket Principle • Compliant packets can be forwarded at rate r over a period t, if: • S + IR*t > r*t • Hence, long term, the average transmission rate r must verify: • r < S/t + IR which tends towards IR, when t becomes large • Token rate IR is the maximum long term average transmission rate • The maximum compliant burst at the outgoing link peak rate R is of duration t such that: 33 duration tb such that: S+IR*tb > R*tb hence, tb < S/(R-IR) • Assume IR = 200 kbits/sec, S = 10 kbytes, peak Rate = 1 Mbits/sec. => Token Bucket can forward packets at Peak Rate for 100 msec.
  • 34. Traffic Policers using Token Buckets • Two types of Traffic Policers based on the Token Bucket principle have been defined by IETF in RFC 2697 and 2698. • The Traffic Policers are also called 3 Color Marker, as they can produce 3 decisions with regard to the compliance of packets: • Conform (Green) • Exceed (Yellow) • Violate (Red) • Violate (Red) • Actions associated with Conform, Exceed and Violate would typically be: • Transmit: packet is compliant and is forwarded, • Mark: packet is non compliant, but is marked in the IP header for early drop in case of congestion, and forwarded, • Drop: packet is non compliant and dropped. 34
  • 35. Traffic Policers using Token Buckets • The (3 Color Marker) single rate policer (RFC 2697) may use: • 2 token buckets to provide 3 decisions: Conform, Exceed, Violate, or • 1 token bucket with 2 decisions: Conform, Exceed/Violate. • Only one token rate is used to fill the buckets, corresponding to the desired average transmission rate. • The (3 Color Marker) dual rate policer (RFC 2698) uses 2 token • The (3 Color Marker) dual rate policer (RFC 2698) uses 2 token buckets to provide 3 decisions: Conform, Exceed, Violate. • A Peak bucket is filled at a rate corresponding to the max (peak) acceptable transmission rate. • The other bucket is filled at a rate corresponding to the desired average transmission rate 35
  • 36. (3 Color Marker) Single Rate Policer • CIR: Committed Information Rate • CBS: Committed Burst Size • EBS: Excess Burst Size • Tc: Current Size of Bucket C • Te: Current Size of Bucket E • B Size of Incoming Packet • If Tc >= B, the packet Conforms (green) and Tc is decremented by B, • else if Te >= B, the packets Exceeds (yellow) and Te is decremented by B, • else the packet Violates (red) and neither Tc nor Te is decremented. • If EBS is chosen equal to CBS, the policer is implemented with a single token bucket. 36
  • 37. (3 Color Marker) Single Rate Policer Token Bucket C Max Size of Bucket C: CBS Max Size of Bucket E: EBS Tc: Current Size of Bucket C Token Rate (CIR) Token Bucket E 37 No No Yes Yes Te: Current Size of Bucket E B < Tc Conform Packet of Size B B < Te Exceed Violate
  • 38. Single Rate Policer – EBS=CBS Token Bucket C Max Size of Bucket C: CBS Tc: Current Size of Bucket C Token Rate (CIR) 38 No Yes B < Tc Conform Packet of Size B Exceed/Violate
  • 39. (3 Color Marker) Dual Rate Policer • CIR: Committed Information Rate • PIR: Peak Information Rate • CBS: Committed Burst Size • PBS: Peak Burst Size • Tc: Current Size of Bucket C (monitoring average rate) • Tp: Current Size of Bucket P (monitoring peak rate) • B Size of Incoming Packet • If Tp < B, the packet Violates (red), • else if Tc < B, the packets Exceeds (yellow) and Tp is decremented by B, • else the packet Conforms (green) and both Tp and Tc are decremented by B. 39
  • 40. (3 Color Marker) Dual Rate Policer Token Bucket C Max Size of Bucket P: PBS Max Size of Bucket C: CBS Tc: Current Size of Bucket C Token Rate (PIR) Token Bucket P Token Rate (CIR) 40 No No Yes Yes Tp: Current Size of Bucket P B > Tp Conform Packet of Size B B > Tc Exceed Violate
  • 41. Traffic Shaping with a Token Bucket • A Traffic Policer based on Token bucket operations can be used to perform Traffic Shaping • The change is essentially in the way packets that do not Conform are handled. • With Traffic Shaping, packets that do not Conform are queued in a buffer while the Token Buckets accumulates more tokens at the Token rate. 41 Token rate. • When the current size of the Token Bucket becomes larger or equal to the packet size, the packet can be forwarded.
  • 42. Traffic Shaping Token Bucket C Max Size of Bucket C: CBS Tc: Current Size of Bucket C Token Rate (CIR) 42 No Yes B < Tc Conform Packet of Size B Buffer
  • 43. Quality of Service • Buffer Management/Dropping policy (RED, WRED) (Congestion Avoidance) 43
  • 44. Dropping policy/Buffer Management • A dropping policy determines packets to be discarded in case of congestion building up in buffers (buffers in routers filling up with packets waiting to be forwarded). • Basic mechanism: tail drop • when queue fills up, subsequent incoming packets are dropped until queue size has decreased • buffer may remain “almost full” for long periods, which is not desirable: buffer size is meant to reflect size of bursts to be absorbed, not steady state queues, 44 be absorbed, not steady state queues, • Tail drop may create a synchronization of TCP connections, i.e. multiple TCP flows with same peak and troughs triggered by packet losses. • Active Queue Management (AQM) mechanisms detect congestion before buffers overflow and take actions to force reaction of end systems.
  • 45. RED: Random Early Detection • RED, Random Early Detection, is a Dropping policy introduced to improve TCP/IP performance by implementing an Active Queue Management scheme. • It is based on the following principles: • In routers, length of queue are monitored. • When a queue starts to fill up, packets start being dropped, to prevent full scale congestion, 45 • Arriving packets are dropped with certain probability before buffer is full • The longer the average queue, the higher the probability of the packet being dropped • Packets to be dropped are selected at random to avoid undesired synchronization among connections.
  • 46. Random Early Detection Qmax Qmin Packet 46
  • 47. Random Early Detection • The router maintains an average of queue length Qavg. • If Q is the current value of the queue size, as packets arrive and depart, an average is calculated as: Qavg = (1-wq)*Qavg +wq*Q • wq is chosen for the router to detect the early stage of congestion while filtering out transient phenomena. • When packet arrives RED makes decision to queue or not, based on 47 • When packet arrives RED makes decision to queue or not, based on current Qavg: • If Qavg < Qmin, do nothing (No Dropping) • If Qavg > Qmax, drop all packets (Full Dropping) • Else drop packet with a probability proportional to queue length (Random Dropping; a randomly generated value in [0 1] interval is compared to the probability)
  • 48. Random Early Detection • Qmin < q < Qmax : Randomly drop new incoming packets, with probability p = pmax*[Qavg-Qmin]/[Qmax-Qmin] • pmax is typically not greater than 0.1 • using p directly to make the Drop decision means that there is a dropped packet on average every 1/p packets. • Practically the probability of dropping is further calculated as: 48 • Practically the probability of dropping is further calculated as: pa = p/(1-p*count), where count is the number of packets since the last dropped packet. • using pa instead of p to make the drop decision means that there is a dropped packet on average every 1/2p packets. The dropped packets are more evenly distributed.
  • 50. Weighted RED (WRED) • different traffic flows are handled with different Qmin and Qmax thresholds • For example traffic marked by policing function is subjected to a more aggressive RED profile (lower Qmin and Qmax) 50
  • 51. Quality of Service • Differentiated Services 51
  • 52. Differentiated Services • An important mechanism designed to enable TCP/IP networks to deliver Quality of Service is DiffServ (Differentiated Services): • the QOS mechanisms are applied per traffic class, on the basis of pre-defined generic behaviors'. • this is a scalable approach, with the disadvantages that there is no resource reservation, and no control to accept a new traffic flow in the network; applications can congest each other. • classification at edge of network • IP datagrams are classified using the DSCP (Diff Serv Code Point) 52 • IP datagrams are classified using the DSCP (Diff Serv Code Point) field (formerly ToS) in the datagram format, • the actual treatment by a router of a packet tha belongs to a DSCP class is described by a Per Hop Behaviour, PHB, that the node must apply, (drop policy, scheduling policy,..)
  • 53. DiffServ Classes Low Drop Medium Drop High Drop Class 1 AF11 = '001010' AF12 = '001100' AF13 = '001110' Class 2 AF21 = '010010' AF22 = '010100' AF23 = '010110' • Classes identified by DSCP, used to select PHB • DSCP = xxxxx1 reserved. xxxxx0 available for traffic classes • Assured Forwarding (AF): different levels of forwarding assurances for IP packets, with different amount of guaranteed bandwidth, and different drop probabilities. 53 Class 2 AF21 = '010010' AF22 = '010100' AF23 = '010110' Class 3 AF31 = '011010' AF32 = '011100' AF33 = '011110' Class 4 AF41 = '100010' AF42 = '100100' AF43 = '100110'. • Expedited Forwarding (EF): traffic requiring low loss, low latency, low jitter, assured bandwidth • ‘101110’ is recommended for the EF PHB, which corresponds to a DSCP value of 46 • Default Class: 000000 is the default class, typically handled as Best Effort.
  • 54. Example of IP QOS router implementation Scheduler Interface FIFO Link Weighted Queue Priority Queue Weighted Queue Dropping Tail Drop Dropping WRED Dropping RED Classifier Policing Exceed Drop Policing Exceed Mark 54 RED • Real time applications such as VoIP would be served with a Priority Queue (EF PHB) • Note: policing before Priority Queue must drop rather than mark to prevent the priority queue from starving other queues • Premium traffic would be allocated a high percentage of the remaining bandwidth, with Weighted RED on the marked traffic • Standard traffic would be allocated a low percentage of the remaining bandwidth
  • 55. Example of IP QOS router implementation with shaping Scheduler Interface Link Priority Queue Weighted Queue Dropping Tail Drop Dropping WRED Classifier Policing Exceed Drop Policing Exceed Mark Shaping 55 Interface FIFO Weighted Queue Dropping RED