Top Banner
Quality of Service Quality of Service CSC/ECE 573, Section 001 Fall, 2012
92
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Quality of ServiceQuality of Service

CSC/ECE 573, Section 001

Fall, 2012

Page 2: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

OutlineOutline Expectations from the Internet changing Network mechanisms must change to meet Network architectural issues Approaches – Integrated Services,

Differentiated Services

Copyright Rudra Dutta, NCSU, Fall, 2012 2

Page 3: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Performance and QoSPerformance and QoS

Performance – what we want out of our networks– Defined by metrics– Usually “more the better” flavor

QoS– Defined level of some performance metric or combination of

metrics– Some form of guarantee, expressed as a contract

Metrics– Delay– Throughput– Loss– Variability

Copyright Rudra Dutta, NCSU, Fall, 2012 3

Page 4: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Challenges for the InternetChallenges for the Internet Performance challenges

– Delay, bandwidth, loss are problems– Loss recovery is based on retransmission– Routing is based on bandwidth conservation– Traffic load on network is variable

QoS challenges– All of the above– Traffic streams cannot be identified inside the

network– Metrics are not integrated inside or outside network

Check network traffic loads at CAIDA site

Copyright Rudra Dutta, NCSU, Fall, 2012 4

Page 5: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

QoS ElementsQoS Elements QoS descriptor

– describes QoS requested by user

Traffic descriptor (traffic profile)– describes behavior of user's traffic at the entrance of

the network

Conformance test– specifies criteria to be applied to determine whether

traffic submitted by user complies with traffic descriptor

Traffic contract– user agrees not to violate traffic descriptor, network

promises to deliver QoS

Copyright Rudra Dutta, NCSU, Fall, 2012 5

Page 6: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Traffic DescriptorTraffic Descriptor A set of parameters that describes the behavior

of a source– typically describes the source’s worst behavior, not

average behavior

Traffic descriptor is used by traffic regulators– Policer

rejects out-of-profile traffic, at network entrance only

– Shapershapes output traffic to specified profile (by buffering)at source, just before entrance to the networkalso, at switches/routers inside the network

Copyright Rudra Dutta, NCSU, Fall, 2012 6

Page 7: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Traffic Descriptors (cont'd)Traffic Descriptors (cont'd) Peak rate = highest rate at which source can

ever generate data– trivial bound: speed of access link

Average rate = rate at which traffic will be generated over a long interval

Linear bounded arrival process (LBAP)– bound on the # of bits transmitted in any interval of

length t is a linear function of t

B(t) * t + : the long-term average rate allocated by network

to source : longest “burst” that a source may send

Copyright Rudra Dutta, NCSU, Fall, 2012 7

Page 8: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

LBAP ExampleLBAP Example

Copyright Rudra Dutta, NCSU, Fall, 2012 8

Page 9: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Leaky/Token Bucket Leaky/Token Bucket RegulatorsRegulators

Copyright Rudra Dutta, NCSU, Fall, 2012 9

IncomingPackets

Tokens

• Allows bursts• If no token when packet arrives

– policer: drop packet– shaper: buffer packet

• What does it enforce?

Page 10: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Other Required/Desired FunctionsOther Required/Desired Functions Resource reservation

– link bandwidth– buffer space at switching nodes

Admission control– determine which service requests to grant and which to

deny– based on traffic descriptor and QoS requirements– admitting new users must not unduly degrade quality of

existing users Other signaling

– feedback about network quality– application synchronization– “device” control

Copyright Rudra Dutta, NCSU, Fall, 2012 10

Page 11: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Network MechanismsNetwork Mechanisms• QoS routing: unicast/multicast paths based on QoS

• Need some form of flow switching

• Policing: hold users to committed resources• Buffer management: allocate buffers to user flows• Packet scheduling: determine which packet to

transmit next (Performance and fault management): monitor for

defects that affect performance (Protection switching): protect traffic from failures by

switching to alternate path – fault tolerance

Copyright Rudra Dutta, NCSU, Fall, 2012 11

Page 12: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Router Buffer Management StrategiesRouter Buffer Management Strategies Objectives

– Protection: traffic behavior of one user should not affect the service experienced by other users

Isolation

– minimization of packet loss

Achieved by...– Buffer sharing– Active Queue Management (RED etc)

Copyright Rudra Dutta, NCSU, Fall, 2012 12

Page 13: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Protection – How to Achieve?Protection – How to Achieve? Main tradeoff: aggregation vs. service differentiation Complete aggregation: all flows share a single queue

– no guarantees == best-effort

No aggregation: each flow assigned its own queue– per-flow state information, expensive for backbone routers– per-flow guarantees == maximum QoS

Per-class aggregation: one queue per class of flows– class-based queueing, per-class state info, manageable– per-class guarantees == QoS classes

Copyright Rudra Dutta, NCSU, Fall, 2012 13

Page 14: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Protection (cont'd)Protection (cont'd)

Copyright Rudra Dutta, NCSU, Fall, 2012 14

Page 15: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Buffer Sharing StrategiesBuffer Sharing Strategies Given: N flows and B buffers

– objective: to divide the B buffers among the N queues– tradeoff: protection vs. probability of packet loss

Complete partitioning: each flow has access to single buffer pool of size B/N– full protection– high loss probability

Complete sharing: each flow has access to total pool, of size B– no protection– low loss probability

Copyright Rudra Dutta, NCSU, Fall, 2012 15

Page 16: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Buffer Sharing Strategies (cont'd)Buffer Sharing Strategies (cont'd) Sharing with minimum allocation

– flow i given exclusive access to ai buffers

– sum of the ai’s < B

– remaining buffers shared among flows– effective in terms of protection, loss minimization

Copyright Rudra Dutta, NCSU, Fall, 2012 16

Page 17: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Packet Dropping for Best-Effort TrafficPacket Dropping for Best-Effort Traffic

Overloaded network– losses from best-effort flows are inevitable– losses from guaranteed-service applications should be rare

Packet-drop strategy: which packet to drop upon overload?

– should protect “well-behaved” flows from misbehaving ones

Drop-tail strategy: drop incoming packet if queue full – simple, but no protection– packet dropping of different users is synchronized– penalizes bursty flows

Copyright Rudra Dutta, NCSU, Fall, 2012 17

Page 18: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Random Early Detection StrategyRandom Early Detection Strategy Provides congestion avoidance by controlling

the average queue length– average queue size should be kept low– fluctuations in queue size should be allowed to

accommodate bursty traffic and transient congestion

– Prevents router synchronization

Copyright Rudra Dutta, NCSU, Fall, 2012 18

Page 19: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

RED Routers: Basic OperationRED Routers: Basic Operation Router maintains...

– an exponential average of queue length– a threshold

If average queue length > threshold: drop incoming packet with probability p– prevents severe reaction to a moderate overload

condition

Probability that flow loses packets is proportional to its sending rate – misbehaving sources more likely to lose packets– does not penalize bursty flows

Copyright Rudra Dutta, NCSU, Fall, 2012 19

Page 20: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

RED Gateways (cont'd)RED Gateways (cont'd)

Copyright Rudra Dutta, NCSU, Fall, 2012 20

Probability of dropping

Page 21: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Link Scheduling DisciplinesLink Scheduling Disciplines Function: determine the order in which packets

are transmitted on a link Objectives

– “fair” sharing of bandwidth among best-effort applications

– performance bounds for guaranteed-service applications

minimum bandwidth or ratemaximum delay guaranteemaximum delay jitter guarantee

Copyright Rudra Dutta, NCSU, Fall, 2012 21

Page 22: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Scheduling: Fundamental ChoicesScheduling: Fundamental Choices1. Work-conserving or non-work-conserving

discipline

2. Number of priority levels

3. Service order within level

Copyright Rudra Dutta, NCSU, Fall, 2012 22

Page 23: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Work-conserving vs. Non-work-conservingWork-conserving vs. Non-work-conserving Work-conserving: link is never idle when there

are packets waiting for service – no bound on delay-jitter

Non-work-conserving: link may be idle even if it has packets to serve (i.e., packets are delayed) – reason for delaying traffic: to reduce jitter– To enforce “share”

Or, can pre-empt

Copyright Rudra Dutta, NCSU, Fall, 2012 23

Page 24: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Logical View of Scheduler SubsystemLogical View of Scheduler Subsystem

Copyright Rudra Dutta, NCSU, Fall, 2012 24

Page 25: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

FIFOFIFO (First-in, First-out) Scheduling (First-in, First-out) Scheduling Serve packets in the order in which they arrive Most widely-implemented scheduler; benefits…

– simple– minimal scheduling state

Problems– packets requiring low delay cannot skip to head of

queue– rewards “greediness”: flows receive service

(bandwidth) roughly in proportion to the rate at which they send data

Copyright Rudra Dutta, NCSU, Fall, 2012 25

Page 26: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

FIFO ExampleFIFO Example

Copyright Rudra Dutta, NCSU, Fall, 2012 26

Page 27: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

StaticStatic (Strict) Priority(Strict) Priority Scheduler Scheduler Each flow is associated with one of K priority

levels A packet from priority level k is served only if

there are no packets in levels k+1 and higher Benefits

– simple to implement– small amount of scheduling state for each priority

level

Problems– may result in “starvation” for lower-priority flows

Copyright Rudra Dutta, NCSU, Fall, 2012 27

Page 28: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Static Priority ExampleStatic Priority Example

Copyright Rudra Dutta, NCSU, Fall, 2012 28

Page 29: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Round-RobinRound-Robin Scheduling Scheduling During each round of service...

– consider each queue in a predefined order– transmit (serve) one packet from each non-empty

queue

Benefits– simple– little scheduling state

Problems– can be unfair when packet size is variable

Copyright Rudra Dutta, NCSU, Fall, 2012 29

Page 30: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Round-Robin ExampleRound-Robin Example

Copyright Rudra Dutta, NCSU, Fall, 2012 30

Page 31: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Round-Robin ExampleRound-Robin Example With variable length packets…

Copyright Rudra Dutta, NCSU, Fall, 2012 31

Page 32: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Weighted Round-RobinWeighted Round-Robin Variant of round-robin which...

– allocates different amount of bandwidth to different classes

– overcomes the unfairness problems of round-robin

Weight wk assigned to queue k

Whenever queue k is backlogged, it receives a fraction k of the link bandwidth such that k wk / (sum of the wi’s)

Copyright Rudra Dutta, NCSU, Fall, 2012 32

Page 33: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Weighted Round-Robin ExampleWeighted Round-Robin Example

Copyright Rudra Dutta, NCSU, Fall, 2012 33

Page 34: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Generalized Processor SchedulingGeneralized Processor Scheduling Ideal algorithm Operation: bit-by-bit (possibly weighted) Round-

Robin (ideally fluid) Benefits

– end-to-end delay bound for guaranteed-service applications

– fair allocation of bandwidth among best-effort flows

Problem: not implementable!

Copyright Rudra Dutta, NCSU, Fall, 2012 34

Page 35: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Weighted Fair QueueingWeighted Fair Queueing Designed to approximate GPS

– simulates GPS "on the side", uses results to determine the service order of packets

– finish number: a packet's finishing time under GPS

WFQ serves packets in order of increasing finish number

Benefits– similar properties to GPS

Problems– complex, finish number computation expensive– difficult to implement in hardware

Copyright Rudra Dutta, NCSU, Fall, 2012 35

Page 36: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Earliest Deadline FirstEarliest Deadline First At each router...

– traffic stream i associated with a local delay bound di

– packet arriving at time t is stamped with deadline t+di

– packets served in order of increasing deadlines Benefits

– relatively simple to implement in hardware– can provide rate guarantees– end-to-end delay bound similar to that of WFQ– optimal for a single router

Problems – requires shaping at each router for end-to-end delay bound

rate-controlled EDF (RC-EDF)

Copyright Rudra Dutta, NCSU, Fall, 2012 36

Page 37: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Earliest Deadline First (cont'd)Earliest Deadline First (cont'd)

Copyright Rudra Dutta, NCSU, Fall, 2012 37

Page 38: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Hierarchical SchedulersHierarchical Schedulers Link sharing among traffic streams grouped

according to...– administration affiliation– traffic type– protocol type– etc…

Link share may also need to be further subdivided based on application types

Copyright Rudra Dutta, NCSU, Fall, 2012 38

Page 39: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Hierarchical Schedulers (cont'd)Hierarchical Schedulers (cont'd)

Copyright Rudra Dutta, NCSU, Fall, 2012 39

Page 40: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Hierarchical Schedulers (cont'd)Hierarchical Schedulers (cont'd)

Copyright Rudra Dutta, NCSU, Fall, 2012 40

Page 41: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

QoS GuaranteesQoS Guarantees Deterministic (100%) guarantees

– based on peak traffic rate– simple, predictable, conservative– Guaranteed Service (RFC 2212)

Statistical (< 100%) guarantees– based on peak and mean traffic rates– complex, less predictable, higher utilization– Controlled Load Service

No guarantees– the network performance is what it is– Best Effort Service

Copyright Rudra Dutta, NCSU, Fall, 2012 41

Page 42: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

The RSVP Protocol (RFC2205)The RSVP Protocol (RFC2205) Purpose: announce / signal...

– the sending application requirements to receivers – the receivers' resource requirements to the network

Senders announce their traffic characteristics and requirements: PATH messages

Receivers initiate request for resources along the path: RESV messages

Calculation of resource requirements or QoS is not within RSVP scope!

Copyright Rudra Dutta, NCSU, Fall, 2012 42

Page 43: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

RSVP (contRSVP (cont’’d)d) RSVP is unidirectional

– reservations are established from sender to receiver

Runs directly over IP (unreliable) RSVP is a hop-by-hop protocol

– routers have to process the messages and possibly modify their contents

– requires the IP "router alert" option to be specified

Copyright Rudra Dutta, NCSU, Fall, 2012 43

Page 44: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Is that the Only Approach?Is that the Only Approach? QoS: some levels of network service are better

than others Intserv: QoS managed on a per-flow basis

– per-flow state stored in all routers in the path– per-flow scheduling, policing, shaping– hop-by-hop reservations signaling overhead,

complexity

Copyright Rudra Dutta, NCSU, Fall, 2012 44

Page 45: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Another Approach: Airline Seating!Another Approach: Airline Seating! First-class, business-class, and coach-class

– Coach class (best-effort) carries bulk of traffic– business/first-class: small amount of traffic, but quite

profitable Differentiated services

– not expected to comprise all traffic in the Internet– goal: healthy service offerings and profit opportunities

Copyright Rudra Dutta, NCSU, Fall, 2012 45

Page 46: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Another Approach: Carpool Lanes!Another Approach: Carpool Lanes! One lane reserved for exclusive use of High-

Occupancy Vehicles (HOVs) during rush hour– outside rush hour, other vehicles may also use the

HOV lane

HOVs experience little congestion, less delay Work Conservation law: total queueing delay

remains constant over all cars improved service for HOVs means worse service for

everyone else

Copyright Rudra Dutta, NCSU, Fall, 2012 46

Page 47: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

DiffServ GoalsDiffServ Goals1. Ease of use and generality

– but, limited flexibility

2. Simple processing in core routers– push complexity to network edge

Copyright Rudra Dutta, NCSU, Fall, 2012 47

Core Network

Core Network

Access

Network

Access

Network

Access Networ

k

Access Networ

k

Access Networ

k

Access Networ

k

Access Networ

k

Access Networ

k

R1

R2 R4

R3

Page 48: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

ArchitectureArchitecture Neither…

– best-effort (connectionless) model– guaranteed service (connection-oriented) model

In-between: service guarantees for aggregations of flows– implemented in the core network only

Copyright Rudra Dutta, NCSU, Fall, 2012 48

Architecture… IntServ DiffServ

Focus is on… Users, applications Network owners / administrators

Standardizes… End-to-end service Per-hop service (behavior)

Page 49: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Diffserv Codepoint (DSCP)Diffserv Codepoint (DSCP) Field in the IP header specifying the class of

service the packet is to receive– replaces the previous (8-bit) TOS field

Copyright Rudra Dutta, NCSU, Fall, 2012 49

Page 50: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Per-Hop Behavior (PHB)Per-Hop Behavior (PHB) Behavior aggregate (BA) = a collection of flows

with the same Diffserv codepoint (DSCP) , and sharing a link

Per-hop behavior (PHB) = the QoS (absolute or relative) given to a BA

DSCP maps to a PHB Protocol defined in terms of various PHBs

Copyright Rudra Dutta, NCSU, Fall, 2012 50

Page 51: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Traffic ConditioningTraffic Conditioning Edge routers

– Classifies/remarks traffic (i.e., sets the DSCP)– Meters traffic in a BA

measures performance and arrival statistics

– Polices (shapes, drops) traffic in a BA Implements PHBs

– Best Effort (none) and Class Selector (compatibility)

– Expedited Forwarding – absolute rate, other qualitative

– Virtual Wire – apparent channel– Assured Forwarding – high probability, not firm

Copyright Rudra Dutta, NCSU, Fall, 2012 51

Page 52: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Border Router Input Interface Profile MetersBorder Router Input Interface Profile Meters

Copyright Rudra Dutta, NCSU, Fall, 2012 52

Page 53: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

IssuesIssues Signaling for DiffServ: RSVP?? SNMP?? Greatest burden of flow matching and shaping will be

at access routers– the speeds and buffering required should be less than those

required deeper in the network

State maintained for aggregations of flows, not individual flows

– proper provisioning for DiffServ BAs is key to acceptable performance

– resource provisioning, admission control: difficult? unknown?!

Organizational control – “Policy Decision Points”– Security

Copyright Rudra Dutta, NCSU, Fall, 2012 53

Page 54: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

IP Address LookupIP Address Lookup Every forwarding engine needs to perform rule

matching Remember: structure of rule:

<CIDR Prefix> <Next-hop i/f>

Requirement: match longest prefix– In reality: rarely see prefix of prefix

Requirement: prefix can be any length– In reality: rarely more than /24, many are /24

Requirement: complete matching at wire-speed– At 1 Gbps, 40 byte TCP ACK ?– Memory access takes, say, 10 ns– ???

Copyright Rudra Dutta, NCSU, Fall, 2012 54

Page 55: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Forwarding Table SizeForwarding Table Size

Copyright Rudra Dutta, NCSU, Fall, 2012 55http://www.routeviews.org

Page 56: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Reducing Lookup TimeReducing Lookup Time

Prefix Label

Prefix Prefix Meaning

P1 0 0*******************************

P2 00001 00001*

P3 001 001*

P4 1 1*

P5 1000 1000*

P6 1001 1001*

P7 1010 1010*

P8 1011 1011*

P9 111 111*

Number of prefixes N can be very large– Even when the number of interfaces is fairly small– Maximum length W of prefix is fixed

Copyright Rudra Dutta, NCSU, Fall, 2012 56

Page 57: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Trie as FIB Data StructureTrie as FIB Data Structure Originally used for file searching or retrieval Binary tries can be used for prefix lookup More sophisticated tries possible

– Requires adaptation for prefix lookup

Copyright Rudra Dutta, NCSU, Fall, 2012 57

Page 58: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Trie as FIB Data StructureTrie as FIB Data Structure

Copyright Rudra Dutta, NCSU, Fall, 2012 58

Prefix Label

Prefix

P1 0

P2 00001

P3 001

P4 1

P5 1000

P6 1001

P7 1010

P8 1011

P9 111

Left = ‘()’ Right = ‘1’

k-bit prefix matches at level k How to: Lookup? Insert? Delete?

Page 59: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Storing Lookup InformationStoring Lookup Information

Copyright Rudra Dutta, NCSU, Fall, 2012 59

Prefix Label

Prefix

P1 0

P2 00001

P3 001

P4 1

P5 1000

P6 1001

P7 1010

P8 1011

P9 111

P1 P2

P3

P2

P5 P6 P7 P8

P9

Page 60: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Path CompressionPath Compression

Copyright Rudra Dutta, NCSU, Fall, 2012 60

Eliminate all but “decision” nodes Requires labeling surviving nodes

Prefix Label

Prefix

P1 0

P2 00001

P3 001

P4 1

P5 1000

P6 1001

P7 1010

P8 1011

P9 111

0*

00001* 001*

Page 61: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

More Sophisticated TriesMore Sophisticated Tries Multibit tries

– More than two way branch– More than one bit coded at each level

Prefix transformation– Transform prefixes so that only leaves match– No longer precisely corresponding to addresses– Content of node stores actual address

Fixed stride multibit trie– More fanout, less depth– Reduces constant lookup complexity

Hardware – RAM, TCAM Tuple matching – hierarchical tries

Copyright Rudra Dutta, NCSU, Fall, 2012 61

Page 62: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Fixed-stride Multibit TrieFixed-stride Multibit Trie

Copyright Rudra Dutta, NCSU, Fall, 2012 62

Prefix Label

Prefix

P1 0

P2 00001

P3 001

P4 1

P5 1000

P6 1001

P7 1010

P8 1011

P9 111

000

001111

Page 63: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

MPLSMPLS In QoS, we run up against the problem of introducing

complexity inside network Routers have to forward each packet

– Can only do so much

Virtual circuits can help– Serve to reduce router load, as well as– QoS can be related to circuit/channel

Flows/circuits can be labeled– Now switch labels, not packets

Conceptual predecessors – cut-through switching, IP switching, tag switching, …

Copyright Rudra Dutta, NCSU, Fall, 2012 63

Page 64: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Conventional Packet ForwardingConventional Packet Forwarding As a packet travels in an IP network, each router...

– analyzes the packet's header– consults the routing, or forwarding, table– chooses a next hop router for the packet

independently of any choices made for other packets

Packet headers contain many fields for varying purposes

– only some of them are used for routing purposes

Choosing the next hop involves two steps– partition the entire set of possible packets into forwarding

equivalence classes (FECs) Corresponding to router rules, roughly

– map each FEC to a next hop Execute forwarding algorithm for each datagram

Copyright Rudra Dutta, NCSU, Fall, 2012 64

Page 65: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Forwarding Equivalence ClassesForwarding Equivalence Classes

Example: two packets arrive at a router– packet with destination D1 and longest prefix

match X1– packet with destination D2 and longest prefix

match X2

If X1 = X2, the two packets are “in the same FEC”

Each hop in turn reexamines packet and assigns it to a FEC

Copyright Rudra Dutta, NCSU, Fall, 2012 65

Page 66: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Limitations of IP ForwardingLimitations of IP Forwarding For forwarding purposes

– different packets mapped to same FEC are indistinguishable– all packets in the same FEC from the same router must

follow the same path

Current forwarding scheme has limitations– uses only destination IP address from packet– doesn’t support QoS, traffic engineering, fast recovery from

failures, …

Hop-by-hop forwarding architecture has remained unchanged since the very early days of the Internet

– even though routing architecture has undergone many changes

Copyright Rudra Dutta, NCSU, Fall, 2012 66

Page 67: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Traffic EngineeringTraffic Engineering “Fish Network” – example Destination based routing cannot engineer

traffic

Copyright Rudra Dutta, NCSU, Fall, 2012 67

R1

R2

R3

Page 68: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Connection-Oriented ArchitecturesConnection-Oriented Architectures Ex.: ATM, Frame Relay, X.25 A logical connection must be set up before data is

exchanged– the state of the connection is maintained at each network

switch

A flow is the sequence of datagrams exchanged over a TCP or UDP connection

– multiple flows may be multiplexed into a single logical connection

Connection-oriented architectures enable the type of services that are not well-supported by conventional IP datagram routing

Page 69: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

What is What is ““Label SubstitutionLabel Substitution”” ? ?

Copyright Rudra Dutta, NCSU, Fall, 2012 69

• BROADCAST: Go everywhere, stop when you get to B, never ask for directions.

• HOP BY HOP ROUTING: Continually ask who’s closer to B go there, repeat … stop when you get to B.

“Going to B? You’d better go to X, its on the way”.

• SOURCE ROUTING: Ask for a list (that you carry with you) of places to go that eventually lead you to B.

“Going to B? Go straight 5 blocks, take the next left, 6 more blocks and take a right at the lights”.

One of the many ways of getting from A to B:

Page 70: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Label SubstitutionLabel Substitution

Copyright Rudra Dutta, NCSU, Fall, 2012 70

Have a friend go to B ahead of you using one of the previous two techniques. At every road they reserve a lane just for you. At every intersection they post a big sign that says for a given lane which way to turn and what new lane to take.

LANE#1

LANE#2

LANE#1 TURN RIGHT USE LANE#2

Page 71: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Copyright Rudra Dutta, NCSU, Fall, 2011 71

Connection Oriented ForwardingConnection Oriented Forwarding

A’s FIB C’s FIB E’s FIB

H1 sends request to A A assigns label “1”, forwards

request to C C assigns label “6”, forwards

request to E E assigns label “3”, forwards

request to F F accepts request, replies to

E with label “11” E notes label, replies to C

with assigned label C notes label, replies to A

with assigned label A notes label, replies to H1

with assigned label H1 sends packets with label

“1” to A on “virtual circuit”6 6 3 3 11

Page 72: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

MPLS NetworksMPLS Networks A logical connection is established between two points in a pure

datagram network– connection carries normal datagram traffic

MPLS adds an additional header, containing a label– identifies the connection

A hybrid architecture (advantages of both?)– logical connections can be used for connection-oriented services– normal datagram processing (forwarding) still available for

datagram services

Copyright Rudra Dutta, NCSU, Fall, 2012 72

Page 73: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Where it FitsWhere it Fits Below the network layer

– not an end-to-end protocol

Copyright Rudra Dutta, NCSU, Fall, 2012 73

IPv4 IPv6 IPX Appletalk

MPLS

ATMFrame Relay

Ether-net

PPP FDDI…

Network Layer

Link Layer

Page 74: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

MPLS Labels and EncapsulationMPLS Labels and Encapsulation Insert in each packet a new header ("shim

header")

Copyright Rudra Dutta, NCSU, Fall, 2012 74

• A label = short, fixed length value

• used to identify the FEC

• Labels have local significance only

• adjacent routers must agree on the binding of label FEC

• does not have to be globally unique

• no meaning to the label; just an identifier

Link Layer Header

MPLS “Shim” Header

IP Header

Payload….

Page 75: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

The MPLS Forwarding TableThe MPLS Forwarding Table Add a new table to router: the Label Switching

Forwarding Table– may be other info in this table, as well (e.g., quality of

service)– trivial to match a label in the table

Copyright Rudra Dutta, NCSU, Fall, 2012 75

Forwarding Table

Incoming Label

Outgoing Interface

Next Hop Address

Outgoing Label

Other Requirements

6 eth0 192.0.168.100 12 …

… … … … …

Page 76: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Basic MPLS IdeaBasic MPLS Idea Look at the label to pick an outgoing interface Then replace the incoming label with the

appropriate outgoing label Routers that don’t support MPLS do normal

packet forwarding

Copyright Rudra Dutta, NCSU, Fall, 2012 76

-- 6 ------ -- 12 ------Router

incoming label

outgoing label

Page 77: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

MPLS TerminologyMPLS Terminology A label-switched router (LSR) can perform MPLS

label-switching A label-switched path (LSP) is a consecutive

sequence of LSRs that forward a packet using MPLS An ingress LSR is the first LSR on a LSP

– determines FEC for packet from routing table– inserts a label (shim header) in front of the packet– at this point, the label is bound to the FEC at this router

An egress LSR is the last LSR on a LSP– responsible for removing the label from in front of the packet

Copyright Rudra Dutta, NCSU, Fall, 2012 77

Page 78: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Label-Switched PathsLabel-Switched Paths

Can start and terminate in the middle of the network

Copyright Rudra Dutta, NCSU, Fall, 2012 78

Rc

Ra

Rb

Rd

Re

Rf

Page 79: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

NotesNotes Labels are an optimization

– packets can be routed even if labels aren't set up at all, or are set up on just parts of the path

Assignment of a packet to an FEC is done only once, as the packet enters the MPLS network

– subsequent hops do not need to examine the network layer header

Important questions– on what basis are LSPs set up?– how are they set up, and how long do they last?– RSVP can be reused to request label setup: -TE extension

Copyright Rudra Dutta, NCSU, Fall, 2012 79

Page 80: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

StandardizingStandardizing MPLS Working Group (within Sub-IP area) Some RFCs

– Multiprotocol Label Switching Architecture (RFC 3031) – Requirements for Traffic Engineering Over MPLS (RFC

2702)– LDP Specification (RFC 3036) (274855 bytes)– MPLS Loop Prevention Mechanism (RFC 3063) – Carrying Label Information in BGP-4 (RFC 3107)

Reinventing ATM (minus small packets)???– label-switched path = VC, label = VCI

Copyright Rudra Dutta, NCSU, Fall, 2012 80

Page 81: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Some Benefits / Applications of MPLSSome Benefits / Applications of MPLS1. Traffic engineering

2. Route pinning

3. Virtual circuit emulation

4. Protection and fast rerouting

5. Hierarchical forwarding

Also: faster packet processing at routers (= greater throughput)

Copyright Rudra Dutta, NCSU, Fall, 2012 81

Page 82: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

GMPLSGMPLS GMPLS stands for “Generalized Multi-Protocol

Label Switching” A previous version is “Multi-Protocol Lambda

Switching” Developed from MPLS A suite of protocols that provides common

control to packet, TDM, and wavelength services.

Currently, in development by the IETF

Copyright Rudra Dutta, NCSU, Fall, 2012 82

Page 83: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Why GMPLS?Why GMPLS? GMPLS is proposed as the signaling protocol for optical networks What do service providers want?

Carry a large volume of traffic in a cost-effective way Turns out to be a challenge within current data network architecture

Problems:– Complexity in management of multiple layers – Inefficient bandwidth usage– Not scalable

Solutions: eliminate middle layers IP/WDM Need a protocol to perform functions of middle layers

IP

ATM

SONET/SDH

DWDM

Carry applications and services

Traffic Engineering

Transport/Protection

Capacity

Copyright Rudra Dutta, NCSU, Fall, 2012 83

Page 84: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Why GMPLS? (Cont.)Why GMPLS? (Cont.) Optical Architectures

A control protocol support both overlay model and peer model will bring big flexibility

– The selection of architecture can be based on business decision

Peer ModelOverlay Model

UNI UNI

Copyright Rudra Dutta, NCSU, Fall, 2012 84

Page 85: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Why GMPLS? (Cont.)Why GMPLS? (Cont.) What we need? A common control plane

– Support multiple types of traffic (ATM, IP, SONET and etc.)

– Support both peer and overlay models– Support multi-vendors– Perform fast provisioning

Why MPLS is selected? – Provisioning and traffic engineering capability

Copyright Rudra Dutta, NCSU, Fall, 2012 85

Page 86: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

GMPLS and MPLSGMPLS and MPLS

GMPLS is deployed from MPLS

– Apply MPLS control plane techniques to optical switches and IP routing algorithms to manage lightpaths in an optical network

GMPLS made some modifications on MPLS

– Separation of signaling and data channel– Support more types of control interface– Other enhancement

Copyright Rudra Dutta, NCSU, Fall, 2012 86

Page 87: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Control interfacesControl interfaces Extend the MPLS to support more interfaces other than packet

switch– Packet Switch Capable (PSC)

Router/ATM Switch/Frame Reply Switch

– Time Division Multiplexing Capable (TDMC) SONET/SDH ADM/Digital Crossconnects

– Lambda Switch Capable (LSC) All Optical ADM or Optical Crossconnects (OXC)

– Fiber-Switch Capable (FSC) LSPs of different interfaces can be nested inside another

FSCLSC

LSC

TDMC

TDMC

PSC

Copyright Rudra Dutta, NCSU, Fall, 2012 87

Page 88: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

ChallengesChallenges Routing challenges

– Limited number of labels– Very large number of links

Link identification will be a big problem Scalability of the Link state protocol Port connection detection

Signaling challenges– Long label setup time– Bi-directional LSPs setup

Management challenges– Failure detection– Failure protection and restoration

Copyright Rudra Dutta, NCSU, Fall, 2012 88

Page 89: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Suggested labelSuggested label Problem: it takes time for the optical switch to program switch

– Long setup time Solution:

– Each LSR selects a label (Suggested Label) and signals this label to downstream LSR, and start program its switch.

reduce LSP setup overhead

Suggested Label = Program Switch X

Suggested Label =

Reserved Label = Reserved Label =

Make sure the programming request has completed

Request

Program Switch X

Request

Map Label = Map Label =

No suggested label with suggested label

Copyright Rudra Dutta, NCSU, Fall, 2012 89

Page 90: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Bi-Directional LSP setupBi-Directional LSP setup Problem: How to set up bi-directional LSP? Solution:

– Set up 2 uni-directional LSPSignaling overheadEnd points coordination

– One single message exchange for one bi-directional LSP

Upstream Label. Suggested Label = Upstream Label = a

Suggested Label = Upstream Label = b

Reserved Label = Reserved Label =

a b

Copyright Rudra Dutta, NCSU, Fall, 2012 90

Page 91: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

Link Management ProtocolLink Management Protocol

Problem:– How to localize the precise location of a fault? – How to validate the connectivity between adjacent nodes?

Solution: link management protocol– Control Channel Management– Link Connectivity Verification – Link Property Correlation – Fault Management – Authentication

Copyright Rudra Dutta, NCSU, Fall, 2012 91

Page 92: Quality of Service CSC/ECE 573, Section 001 Fall, 2012.

GMPLS SummaryGMPLS Summary Provides a new way of managing network

resources and provisioning Provide a common control plane for multiple

layers and multi-vendors Fast and automatic service provisioning Greater service intelligence and efficiency

Copyright Rudra Dutta, NCSU, Fall, 2012 92