Ip Qos and Mpls
Ip Qos and Mpls
Ip Qos and Mpls
Outline
IP QoS (Quality of Service) Integrated Services (int-serv)
With RSVP signalling
Traditional IP Networking
Vanilla flavor of IP networking: Connectionless best effort service Each packet treated independently by routers (stateless) Route lookup based on dst IP address and longest prefix match No bandwidth guarantees Delay variations introduced along the path of a packet
IP QoS and MPLS
ROUTER
. .
classification scheduler
Defining a Flow
To recognize flows in the network, classification information is needed This information typically includes src/dst IP addresses and src/dst port numbers Routers along the path examines both IP and transport level headers to identify the flows
A flow can be specified by any combination of these fields Src IP addr Dst IP addr Protocol field ToS field IP hdr
IP QoS and MPLS
Other types of classification info: Link level header information VLAN header information Other extra headers that can exist
UDP hdr
payload
Functions in IP QoS
Classification
Identifying the packets belonging to a certain traffic flow
Policing
Ensure that the flow conforms to a traffic specification
Shaping
Smoothing out packet bursts (traffic is often bursty)
Scheduling
Manage packets in queues so that they receive desired service
Admission control
Check that there are enough resources to accept a new traffic flow
IP QoS
There are basically two approaches by IETF for IP QoS: Integrated services (int-serv)
QoS architecture produced by IETF in the mid 1990s End-to-end guarantees for applications Uses a signaling protocol, RSVP, to make requests for QoS Includes service class definitions
RSVP is used to signal the reservation for each flow Three service classes for applications to choose from
Guaranteed Service hard guarantee of bandwidth and delay Controlled Load lower level of service Best Effort traditional IP service
Guaranteed Service
RFC 2211 Guarantees:
Bounded delay Bandwidth No loss
Guaranteed service comes at a cost Every flow using the service must be queued separately Often results in rather low network utilization
Token Bucket
Token bucket specification is a standard way to represent the bandwidth characteristics of an application that generates data at variable rate A traffic flow is characterized by a token bucket of rate r and burst size b, if for any time interval T, it sends no more than rT + b bytes
Token generator of rate r In practice, token bucket is implemented in bytes. In order to send a packet of n bytes, n tokens are needed
Packets
Controlled Load
RFC 2212 Lower cost compared to guaranteed service Approximation of best effort in a lightly loaded network Network elements (routers) ensure that
There are enough resources to provide the specified QoS (admission control) The flows are queued and scheduled in a way that prevents other flows from degrading with their performance (all end-to-end flows do not have to be queued separately)
from hosts to all routers along the path RSVP is explicitly designed to support multicast.
IP QoS and MPLS
RSVP Model
Receiver PATH msg (TSpec) Sender
RESV message
From receiver, carrying RSpec indicating QoS required by receiver
Functionality
RSVP is receiver oriented protocol.
The receiver is responsible for requesting reservations.
RSVP Summary
RSVP supports multicast and unicast data delivery RSVP adapts to changing group membership and routes RSVP reserves resources for simplex data streams RSVP is receiver oriented, i.e., the receiver requests resources (note that IP multicast is receiver-oriented) RSVP maintains a soft-state in routers
supports gracefully dynamic memberships and automatically adapt to routing changes
RSVP provides several reservation models RSVP is transparent for routers that do not support RSVP
Diff-Serv Architecture
DS Domain DS Domain
DS Domain
DS boundary node
DS Domains
e.g., Autonomous Systems SLAs between domains: contract for diff-serv conditioning
DS interior node
Traffic is classified, marked and policed at ingress Resources are provisioned in the network Packets are queued, forwarded and dropped according to marking
DS Boundary Nodes
Egress/Ingress
DS Interior Nodes
An ingress node aggregates packets into behavior aggregates, each marked by a unique code point (DSCP) DSCP
8-bit ToS Field IP header IP payload
PHB Group
A set of PHBs with similar handling E.g. one traffic class with many levels of drop priority (or drop preference)
Traffic Conditioning
in/out of profile
Packets
Classifier
Meter
Marker
Shaper/ Dropper
Typically, the ingress node performs traffic conditioning on incoming packets according to the SLA with the upstream domain The metering measures the rate of packets. Consequences:
mark packets in one PHB group to be in-profile/out-of-profile may result in shaping and dropping
Three levels of drop preference in each class (green, yellow, red) In-profile packets (green) get assured QoS Out-of-profile packets get best effort sevice or are dropped Class 1
Low Drop Pref Medium Drop Pref High Drop Pref 001010 001100 001110
Class 2
010010 010100 010110
Class 3
011010 011100 011110
Class 4
100010 100100 100110
Background
In the late 1990s (1995-1997) several new techniques to simplify IP forwarding appeared Basic idea was to combine IP routing protocols with a forwarding algorithm based on a header with fixed length label instead of the longest prefix match on the destination IP address in the IP header This resulted in an IETF standardization work, called MPLS (Multiprotocol Label Switching)
Lots of RFCs regarding MPLS (overview in RFC 3031)
At the time these techniques were introduced there was a lot of debate regarding IP versus ATM, the label switching techniques were attempts to marry ATM cell forwarding with IP routing protocols
IP QoS and MPLS
MPLS Advantages
Originally, it was claimed that label switching routers (LSRs) would be much faster thanks to simplified forwarding (fixed size label versus longest prefix match) Performance argument may not be valid anymore, but Label switching makes it possible to make forwarding decisions based on more complex criterias than IP dst address, but still keeping a simple lookup
New routing services, same forwarding paradigm
FEC can be of
Coarse granularity (essential for scalability) Fine granularity (needed for flexibility)
Router
Control Plane (Routing Layer) FIB IP packet OSPF IS-IS BGP
Regular IP Network
MPLS Forwarding
MPLS cloud
Regular IP Network
Add label
Remove label
IP hdr
IP payload
Label applied at ingress LSRlabel is bound to an FEC Forwarding based on label in MPLS cloud (transit LSRs) Label removed at egress LSR
IP QoS and MPLS
Label binding
A label is bound to a FECidentifying that flow Labels cannot be global or network-unique
Too complex to negotiate Too large labels
Labels are unique only between two nodes Labels change at each LSR as a packet traverses a path Labels are assigned by the downstream LSR Example of LFIB:
Incoming label Z Outgoing label V Outgoing interface if2
Ordered
Explicit routing Path completely specified by edge LSR
Encapsulation
20-bit label 3-bit exp 1-bit stack 8-bit TTL
IP hdr
IP payload
Label Stacking
lbl=6 lbl=3 IP pkt lbl=6 lbl=5 IP pkt lbl=7 lbl=3 IP pkt lbl=7 lbl=5 IP pkt lbl=3 IP pkt
lbl=3 IP pkt
lbl=5 IP pkt
Used when packet forwarded through transit routing domain Push label onto stack at ingress LSR, pop label at egress LSR
40
40
40
Independent control LSR assigns labels to every FEC it knows Typically, each IP address prefix will get an assigned label IP routing protocols have been used to obtain the prefixes Fast way to establish an LSP Upstream nodes will use label 40 for IP packets to 192.168.20.x
40
67
Ordered control Label assignment occur in ordered manner Initiated either by ingress or egress LSR of an LSP Used to ensure that a FEC follows a specific path (LSP) All LSRs use the same FEC as the initial advertiser Gives more control, but results in slower LSP establishment
IP QoS and MPLS
Label Distribution
MPLS includes a control component for signaling between LSRs to set up an LSPlabel distribution
Once an LSR creates or destroys a binding between a locally chosen label and an FEC, the LSR needs to inform other LSRs of that binding. This will provide other LSRs with the remote label binding information.
LDP
RFC 3036 (and follow-ups) LDP operates between LSRs
Directly connected LSRs Non-adjacent LSRs
LDP peers
use LDP to exchange label and FEC mapping info
LDP
IP QoS and MPLS
LSR A
Session messages
Establish sessions between LDP peers Sent over TCP
Advertisement messages
Create, change, and delete label mappings Sent over TCP
Notification messages
Provide status, diagnostic, and error information Sent over TCP
RESV
RESV
RESV
The reserved flow can be seen as a new FEC RSVP can express QoS
Each LSR can easily associate QoS resources with LSP
Only the first router needs to be concerned with which packets belong to the flow Micro-flows can be aggregated
IP QoS and MPLS
RESV, lbl=9
RESV, lbl=5
RESV, lbl=6
Loop detection
Push L, Push X
X Y Data
Y Z
Pop X, Pop L
Purpose why a provider needs traffic engineering: Parts of the network is congested and other parts underutilized Use RSVP to assign QoS In short: a provider wants to control the traffic Map traffic streams to available network resources RFC 2702
IP QoS and MPLS
Protection switching
Predefined secondary LSP Rebuild LSP Rebuild LSP segment
Load distribution can be done at L2 and L3! Protection switching can be done at L2 and L3!
IP QoS and MPLS
Link metrics generally not the solution Does not take into account available bandwidth on individual links
BGP/MPLS IP VPNs
RFC 4364 VPN - Virtual Private Networks MPLS well suited for provider supported VPNs The service provider can
Bundle all traffic from one customer into one LSP. Assign QoS to the LSP via RSVP Use traffic engineering Use BGP to distribute VPN routes between edge routers
BGP/MPLS IP VPNs
lbl=6 lbl=3 IP pkt lbl=6 lbl=5 IP pkt lbl=7 lbl=3 IP pkt lbl=7 lbl=5 IP pkt lbl=3 IP pkt PE Service provider VPN B CE lbl=5 IP pkt lbl=5 IP pkt Transit Routing Domain CE VPN B PE CE VPN A
CE VPN A
lbl=3 IP pkt
CECustomer Edge routers PEProvider Edge routers PEs are BGP peers and use BGP to distribute VPN routes Label stacking to provide MPLS tunnel for the VPNs Core routers unaware of VPN routes
Each VPN site must contain one or several CEs CE attached to PE(s), through attachment circuit
network interface or a VLAN ID
Summary
Basics about traditional best-effort IP and IP QoS Two models proposed by IETF:
Integrated services (int-serv)
Flow based end-to-end signaling