CSC/ECE 573 Internet Protocols Transmission Control Protocols.
Quality of Service CSC/ECE 573, Section 001 Fall, 2012.
-
Upload
edmund-shaw -
Category
Documents
-
view
216 -
download
0
Transcript of Quality of Service CSC/ECE 573, Section 001 Fall, 2012.
Quality of ServiceQuality 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
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
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
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
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
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
LBAP ExampleLBAP Example
Copyright Rudra Dutta, NCSU, Fall, 2012 8
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?
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
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
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
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
Protection (cont'd)Protection (cont'd)
Copyright Rudra Dutta, NCSU, Fall, 2012 14
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
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
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
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
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
RED Gateways (cont'd)RED Gateways (cont'd)
Copyright Rudra Dutta, NCSU, Fall, 2012 20
Probability of dropping
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
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
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
Logical View of Scheduler SubsystemLogical View of Scheduler Subsystem
Copyright Rudra Dutta, NCSU, Fall, 2012 24
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
FIFO ExampleFIFO Example
Copyright Rudra Dutta, NCSU, Fall, 2012 26
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
Static Priority ExampleStatic Priority Example
Copyright Rudra Dutta, NCSU, Fall, 2012 28
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
Round-Robin ExampleRound-Robin Example
Copyright Rudra Dutta, NCSU, Fall, 2012 30
Round-Robin ExampleRound-Robin Example With variable length packets…
Copyright Rudra Dutta, NCSU, Fall, 2012 31
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
Weighted Round-Robin ExampleWeighted Round-Robin Example
Copyright Rudra Dutta, NCSU, Fall, 2012 33
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
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
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
Earliest Deadline First (cont'd)Earliest Deadline First (cont'd)
Copyright Rudra Dutta, NCSU, Fall, 2012 37
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
Hierarchical Schedulers (cont'd)Hierarchical Schedulers (cont'd)
Copyright Rudra Dutta, NCSU, Fall, 2012 39
Hierarchical Schedulers (cont'd)Hierarchical Schedulers (cont'd)
Copyright Rudra Dutta, NCSU, Fall, 2012 40
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
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
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
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
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
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
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
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)
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
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
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
Border Router Input Interface Profile MetersBorder Router Input Interface Profile Meters
Copyright Rudra Dutta, NCSU, Fall, 2012 52
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
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
Forwarding Table SizeForwarding Table Size
Copyright Rudra Dutta, NCSU, Fall, 2012 55http://www.routeviews.org
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
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
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?
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
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*
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
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
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
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
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
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
Traffic EngineeringTraffic Engineering “Fish Network” – example Destination based routing cannot engineer
traffic
Copyright Rudra Dutta, NCSU, Fall, 2012 67
R1
R2
R3
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
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:
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
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
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
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
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….
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 …
… … … … …
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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