Multimedia Networks - 5 - QoS and Traffic Engineering

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 69

Chapter 5

QoS and Traffic Engineering


Chapter 5 outline
• 5.1 Introduction
• 5.2 Queuing Architectures
• 5.3 QoS: DiffServ, IntServ
• 5.4 MPLS
Introduction

• Availability - Ideally, %100 of the time


• Throughput - Effective data transfer rate
• Packet Loss - Queue overflows at routers
• Delay - Source-to-destination time
• Jitter - Delay variation
QoS Enabling a Network

• Goals
– Improve network service perceived by
applications
– Give control the network administrator over
network resource usage
• If there were infinite network resources,
QoS would not be necessary:
– but - there are congestion points
– QoS is about deciding what traffic gets access to
resources at these points

4
QoS Enabled Internet Structure
Chapter 5 outline
• 5.1 Introduction
• 5.2 Queuing Architectures
• 5.3 QoS: DiffServ, IntServ
• 5.4 MPLS
Queueing architectures
• The basic function of a switching element is
the queuing of packages.
• Depending on the physical location of the
queues, you can define three strategies of
queuing:
– Inlet
– Outlet
– Central
Inlet Queuing

• Each inlet has an associated queue. The


logic of decision chooses what packet
is to be removed from the queue.
• This architecture suffers from HOL
(Head of the Line Blocking)
– Packets are blocked by the first packet in
line
• Switching device transfers p packets
selected between the inlets during a
packet timeframe.
Inlet Queuing
1 1

Inlet queue
Logic

N N

Inlet Queue

Switching device
Outlet Queuing

• The packets of different inlets with


destination the same outlet are
transferred during a packet timeframe.
• Output contention is resolved with
queues.
• No logical support needed for decision.
• To avoid packet loss
– Transfer speed of packets=N (number of
inlets) * arrival speed at the inlets
Output Queuing
1 1

Outlet Queue

N N

Switching Device Outlet Queue


Central Queuing
• The queue is shared by the inputs and
outputs.
• Packets are stored in a single queue
and each outlet selects the
corresponding packets as FIFO
• Need of a mechanism to ensure that
each outlet knows what packets needs.
• It is not a simple FIFO. The main
memory is random access.
Central Queuing

1 1
2 2

. .
. .
. .

N N
Central
Queuing Switching Device (II)
Switching Device (I)
Performance

• The average queue length is greater in the


case of Inlet Queuing due to HOL
• Outlet Queues need more memory
• Central Queuing needs less memory, but
faster CPUs
Performance
Inlet Queuing Outlet Queuing

Stamps Certificates Stamps Certificates

S
S C
S

C S C

S
C
Performance

Central Queuing

Stamps Certificates

S C

C
Server
S
Queue length vs. load for
PLR = 10-3
Packet queue
20 - length Inlet
18 - Outlet
16 -
14 -
12 -
10 -
8-
Central
6-
4-
2- Load(%)
0 | | | | | | | | | |
10 20 30 40 50 60 70 80 90 100
Chapter 5 outline
• 5.1 Introduction
• 5.2 Queuing Architectures
• 5.3 QoS: DiffServ, IntServ
• 5.4 MPLS
Motivation
• Internet currently provides only single class of
“best-effort” service.
– No admission control and no assurances about delivery
• Existing applications are elastic.
– Tolerate delays and losses
– Can adapt to congestion
• “Real-time” applications are inelastic.
• Should we modify these applications to be more
adaptive or should we modify the Internet to
support inelastic behavior?
Application Types
• Elastic applications.
– Wide range of acceptable rates, although faster is better
– E.g., data transfers such as FTP
• Continuous media applications.
– Lower and upper limit on acceptable performance
– Sometimes called “tolerant real-time” since they can
adapt to the performance of the network
• E.g., changing frame rate of video stream
• “Network-aware” applications
• Hard real-time applications.
– Require hard limits on performance – “intolerant real-
time”
– E.g., control applications
Summary
IETF Intserv

• Focus on per-flow QoS.


– Support specific applications such as video
streaming.
– Based on mathematical guarantees.
• Many concerns:
– Complexity
– Scalability
– Business model
– Charging
Components of Integrated
Services
• Type of service model
– What does the network offers?
• Service interface
– How does the application describe what it wants?
• Packet scheduling
– How does the network meet requirements?
• Establishing the guarantee
– How is the offer communicated to/from the network?
– How is admission of new applications controlled?
Service Models
• Network can support traffic streams with different
“quality of service”.
– Best effort
– Predictive or differentiated services
– Strong guarantees on the level of service (real-time)
• The set of services that is supported on a specific
network can be viewed as a service model:
– Model that can be used to select a service
• E.g., cost Vs performance tradeoffs
– Network architecture that supports the set of services
• Considers interactions between services
Service Models
• Guaranteed service
– Targets hard real-time applications.
– User specifies traffic characteristics and service requirements.
– Requires admission control at each of the routers.
– Can mathematically guarantee bandwidth, delay, and jitter.
• Controlled load.
– Targets applications that can adapt to network conditions within
a certain performance window.
– User specifies traffic characteristics and bandwidth.
– Requires admission control at each of the routers.
– Guarantee not as strong as with the guaranteed service.
• e.g., measurement-based admission control.
• Best effort
Service Interface
• Session must first declare its QoS requirements
and characterize the traffic it will send through the
network
• R-spec: defines the QoS being requested by
receiver (e.g., rate r)
• T-spec: defines the traffic characteristics of sender
(e.g., leaky bucket with rate r and buffer size b).
• Signaling protocol to carry the R-spec and T-spec
to the routers where reservation is required:
– RSVP
Packet scheduling

• Guaranteed service
– Use token bucket filter to characterize traffic
• Described by rate r and bucket depth b
– Use WFQ at the routers
– Parekh’s bound for worst case queuing delay =
b/r
Call Admission
• Call Admission: routers will admit calls based on
their R-spec and T-spec and based on the current
resource allocated at the routers to other calls.
Differentiated Services
• Intended to address the following difficulties with
Intserv and RSVP:
– Scalability: maintaining per-router state in high speed
networks is unfeasible due to the very large number of
flows
– Flexible Service Models: Intserv has only two classes,
need for providing more qualitative service classes; need
for providing ‘relative’ service distinction (Platinum, Gold,
Silver, RT,…)
– Simpler signaling: (than RSVP) many applications and
users may only want to specify a more qualitative notion
of service
Diffserv - Motivation
• Fine-grained enforcement only at the edge of the
network.
– Typically lower speed links at edges
– E.g., mail sorting in post office
• Label packets with a field.
– E.g., a priority stamp
• The core of the network uses only the type field
for QoS management.
– Small number of types with well defined forwarding
behavior
– Can be handled fast
• Example: expedited service versus best effort
Diffserv - Discussion
• Diffserv defines an architecture and a set of
forwarding behaviors.
– It is up to the service providers to define and implement
end-to-end services on top of this architecture.
– Offers a more flexible service model; different providers
can offer different service.
• One of the main motivations for Diffserv is
scalability.
– Keep the core of the network simple.
• Diffserv is about supporting QoS for flow
aggregates.
– Although architecture does not asseses more fine-grained
guarantees.
Edge Router/Host Functions
• Classification: marks
packets according to
classification rules to
be specified.
• Metering: checks
whether the traffic is
compliant with the
negotiated profile.
• Marking: marks traffic
that is compliant with
the profile.
• Conditioning: delays
and then forwards,
discards, or remarks
other traffic.
Classification and Conditioning

• Packet is marked in the Type of Service


(TOS) in IPv4, and Traffic Class in IPv6.
• 6 bits used for Differentiated Service Code
Point (DSCP) and determine PHB (Per-Hop
Behavior) that the packet will receive.
• 2 bits are currently unused.
Core Functions

• Forwarding: according to “Per-Hop-


Behavior” (PHB) specified for the particular
packet class; such PHB is strictly based on
class marking (no other header fields can
be used to influence PHB).

• Advantage:
No state info to be maintained by routers!
Forwarding (PHB)

• PHB results in a different observable


(measurable) forwarding performance
behavior.
• PHB does not specify what mechanisms to
use to ensure required PHB performance
behavior.
• Examples:
– Class A gets x% of outgoing link bandwidth over
time intervals of a specified length.
– Class A packets leave first before packets from
class B.
Forwarding (PHB)

• Expedited Forwarding (EF):


– Guarantees a certain minimum rate for the EF
traffic.
– Implies isolation: guarantee for the EF traffic
should not be influenced by the other traffic
classes.
– Admission based on peak rate.
– Non-conformant traffic  dropped or shaped.
– Possible service: providing a virtual wire.
Forwarding (PHB)

• Assured Forwarding (AF):


– AF defines 4 classes with some bandwidth and
buffers allocated to them.
– Used to implement services that differ relatively
to each other (e.g., gold, silver,…).
• E.g. different services for same customer
– Within each class, there are 3 drop priorities:
• Low, Medium, High
• Marks which packets will get dropped first if there is
congestion.
– Non-conformant traffic is marked again.
Example of EF: A Virtual Leased
Line Service
• Service offers users a dedicated traffic pipe.
– Guaranteed bandwidth between two points.
– Very low latency and jitter since there should be no
queuing delay (peak rate allocation).
• Admission control makes sure that all links in the
network core have sufficient EF bandwidth.
– Simple case: sum of all virtual link bandwidth is less than
the capacity of the slowest core link.
• Traffic enforcement for EF traffic limits how much
EF traffic enters the network.
Differentiated Services Issues
• AF and EF are not even standard
• The key to making Diffserv work is bandwidth management
at the network core.
– Simple for simple services such as the virtual pipe, but it is
much more challenging for complex service level agreements.
– Notion of a “bandwidth broker” that manages the core network
bandwidth.
• Definition of end-to-end services for paths that cross
networks with different forwarding behaviors (e.g. different
ISPs)
– Some packets will be handled differently in different routers.
– Some routers are not DiffServ capable.
Service Differentiation (other
alternatives)
• Nowadays traffic differentiation is not only based
in ToS field:
– Source/Destination IP addresses
– Source/Destination TCP/UDP ports
– VLAN tag (802.1Q)  priority field
• Typically used by ISPs (voice, IPTV and best-effort data
differentiation)
• Added by domestic user router or equipment
– Packet payload:
• Packet inspected used DPI (Deep Packet Inspection) techniques
• Traffic marked based on application data (e.g. whatsapp, youtube,
skype, etc.)
Queuing Disciplines

• FIFO: standard queue


– Different drop policies (tail drop, random)
• Priority queuing: priority traffic is served
first
• Fair Queuing: N queues, each one
represents 1/N of the total bandwidth
– Queues are visited following a round-robin
approach
– Packet losses if incoming traffic > 1/N
– Solution  use weights instead of fixed limits

41
Queuing Disciplines

• Weighted Fair Queuing (WFQ): N queues


with different weights
– Access in round-robin fashion within the
assigned weights
– Implicit class bandwidth limitation
– Ci=C*wi /(w1 + w2 + …+wN)
• Shaped Round Robin (SRR): bandwidth
assigned to each queue is strictly assigned
– Queues are traversed in round-robin
– Time slot assigned for each queue  similar to
TDM
42
Traffic Shaping and Policing

• Main idea  keep traffic rate below a


certain limit
• Typically implemented using token bucket
• Policers:
– Exceeding traffic is dropped or marked
– Policing does not modify original traffic
characteristics
• Delay is maintained
• Packet losses present for non-conforming traffic
(traffic that exceeds the rate)
– Applicable inbound or outbound
43
Traffic Shaping and Policing

• Shapers:
– Exceeding traffic is queued and dequeued
according to conforming rate
– Traffic bursts are smoothed
– Shaping modifies original traffic characteristics:
• Possible delay increment
– Non suitable for RT and multimedia traffic
– Shaping is only applicable to outbound traffic

44
Traffic Shaping and Policing

45
Chapter 5 outline
• 5.1 Introduction
• 5.2 Queuing Architectures
• 5.3 QoS: DiffServ, IntServ
• 5.4 MPLS
So what is MPLS ?

• Hop-by-hop or source routing


to establish labels
• Uses label native to the media
• Multi-level label substitution transport
Route at edge, switch in core

IP IP #L1 IP #L2 IP #L3 IP

IP Forwarding LABEL SWITCHING IP Forwarding


MPLS: How does it work
TIME UDP-Hello

UDP-Hello

TCP-open

Initialization(s)

Label request
IP

#L2
Label mapping
Why MPLS ?

• Leverage existing ATM/IP deployed


hardware
• Fast forwarding
• IP Traffic Engineering
– Constraint-based Routing
• Virtual Private Networks
– Controllable tunneling mechanism
• Voice/Video on IP
– Delay variation + QoS constraints
“The fish problem” - IP
• IP routes are based on the shortest path calculated
using weights assigned to links

• If one of the links gets overloaded, it is not easy to


redirect traffic to the other link. An alternative is to
change the weights so that both routes have the same
cost, but in complex networks it is almost impossible
“The fish problem”- MPLS
• "Label Switched Paths", also called
"tunnels" are defined in MPLS

• The routing of the shipment of packets (forwarding)


independent of IP routes. Tags embedded in packets
are used in Label Switching Routers (LSR) for
forwarding.
Best of both worlds
PACKET
HYBRID
CIRCUIT
ROUTING SWITCHING

IP MPLS ATM
+IP
• MPLS + IP form a middle ground that combines the best of
IP and the best of circuit switching technologies.
• ATM and Frame Relay cannot easily come to the middle so
IP has!!
MPLS Terminology

• LDP: Label Distribution Protocol


• LSP: Label Switched Path
• FEC: Forwarding Equivalence Class
• LSR: Label Switching Router
• LER: Label Edge Router (Useful term
not in standards)
MPLS Label Format

20bits 3bits 1bit 8bits


MPLS MPLS Shim
EXP S TTL
Label header

MPLS IP IP
Header Header Payload

• MPLS label: label used for MPLS tunnel


• EXP (experimental bits):Nowadays used for Class of Service
(CoS) marking
• S (stack): more labels are appended after this one
• TTL: time-to-live (similar as IP)
MPLS Label Stack

Last-In, First-Out (LIFO).

Label m First to exit


..
m
..
Label 2
Label 1
Forwarding Equivalence Classes
LSR LSR
LER LER

LSP

IP1 IP1
IP1 #L1 IP1 #L2 IP1 #L3

IP2 #L1 IP2 #L2 IP2 #L3


IP2 IP2

Packets with different destination address prefixes can be


mapped to common path

• FEC (Forwarding Equivalence Class)= “A subset of packets that are all


treated the same way by a router”
• The concept of FECs provides for a great deal of flexibility and scalability
• In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3
look-up), in MPLS it is only done once at the network ingress
Forwarding Equivalence
Classes
• In the current Label Distribution Protocol
specification, only three types of FECs are
specified:
– IP Address Prefix
– Router ID
– Flow (src/dst port, src/dst addr, protocol, etc.)

58
Label Switched Path (vanilla)
#14 #311
#216 #99 #311
#96 #311

#96
#14
#612 #462
#311
#5 #99

-Hop-by-hop
-A Vanilla LSP is actually part of a tree from every source
to that destination (unidirectional).
-Vanilla LDP builds that tree using existing IP forwarding
tables to route the control messages.
MPLS built on standard IP
Dest Out
47.1 1
Dest Out
47.2 2
47.1 1
47.3 3
47.2 2

1 47.1
47.3 3

1 3
2
Dest Out 3 2
47.1 1
47.2 2
47.3 3

47.3 1 47.2
3 2

• Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.


IP Forwarding used by
HOP-BY-HOP Control
Dest Out
47.1 1
Dest Out 47.2 2
47.1 1 47.3 3
47.2 2

1 47.1
47.3 3

1 IP 47.1.1.1
IP 47.1.1.1
Dest Out
47.1
47.2
1
2
3 2 2
47.3 3 IP 47.1.1.1

47.3 3 1 47.2
IP 47.1.1.1
2
MPLS Label Distribution

Intf Label Dest Intf Label Intf Label Dest Intf


In In Out Out In In Out
3 50 47.1 1 40 3 40 47.1 1
Intf Dest Intf Label
In Out Out Request: 47.1 1 47.1
3 47.1 1 50
: 4 7 .1
uest 3
Req 3 2
1 Mapping: 40
1 : 50
47.3 pin g 47.2
Map
3
2
2
Label Switched Path (LSP)

Intf Label Dest Intf Label Intf Label Dest Intf


In In Out Out In In Out
3 50 47.1 1 40 3 40 47.1 1

Intf Dest Intf Label IP 47.1.1.1


1 47.1
In Out Out
1 3
3 47.1 1 50 3
2
1 2
47.3 3 47.2
2
IP 47.1.1.1
Route=
{A,B,C}
Explicitly Routed ER-LSP
#14 #972
#216
B

#14 C
A
#972
#462

- ER-LSP follows route that source chooses. In


other words, the control message to establish the
LSP (label request) is source routed.
Explicitly Routed ER-LSP

Intf Label Dest Intf Label Intf Label Dest Intf


In In Out Out In In Out
3 50 47.1 1 40 3 40 47.1 1
Intf Dest Intf Label
In Out Out IP 47.1.1.1
1 47.1
3 47.1.1 2 33 3
3 47.1 1 50 3 1
2
1
47.3 3 2 47.2
2
IP 47.1.1.1
ER LSP - Advantages

• Network manager has routing flexibility


– LSP based on QoS, policy, etc.
– Pre-established LSPs for failures  high
availability
• Load Distribution
• Routes based on dynamic constraints
– Available Bandwith
– Delay

66
MPLS Traffic Engineering

• Source routing to steer traffic on desired


paths
• Reactive TE (move flows dynamically):
– Which flow?
• Flows with packets discarded
• Traffic from high priority clients
– Where to move?
• Use ER
• Constraint routing (“not this link”)
• Non-optimal LSP (shortest path not used)

67
Label Encapsulation

L2 ATM FR Ethernet PPP

Label VPI VCI DLCI “Shim Label”

“Shim Label” …….

IP | PAYLOAD

MPLS Encapsulation is specified over various


media types. Top labels may use existing format,
lower label(s) use a new “shim” label format.
MPLS Encapsulation - PPP &
LAN Data Links
MPLS Headers ‘Shim’ (1-n)
n ••• 1
Level 2 header Level 3 header (eg. IP)
(eg. PPP, 802.3)

4 Octets

Label Exp. S TTL

• Network layer must be inferable from value of bottom label of the stack
• TTL must be set to the value of the IP TTL field when packet is first labeled
• When last label is popped off stack, MPLS TTL to be copied to IP TTL field
• Pushing multiple labels may cause length of frame to exceed layer-2 MTU
- LSR must support “Max. IP Datagram Size for Labeling” parameter
- any unlabelled datagram greater in size than this parameter is to be fragmented

You might also like