MPLS_0204(SNM)
-
Upload
hemanta-kumar-sahoo -
Category
Documents
-
view
215 -
download
0
Transcript of MPLS_0204(SNM)
-
8/3/2019 MPLS_0204(SNM)
1/61
Multi-Protocol Label Switching
-MPLS-
S.N.Mishra
-
8/3/2019 MPLS_0204(SNM)
2/61
RTTC/Bhubaneswar 2
TE-Mid 1990s
IGP route calculation is topology based Some links become congested while other
remained under utilised
11
11
11 11
11
22
Numbers are metricsNumbers are metrics
R1R1 R2R2
R4R4
R3R3
R5R5 R6R6
-
8/3/2019 MPLS_0204(SNM)
3/61
RTTC/Bhubaneswar 3
TE-Mid to Late 1990s
Routed edge/ATM core L3 decision at edge router
L2 decision at each core switch
PVCs are mapped edge to edge to evenlydistribute traffic across all the links
Routed PVCRouted PVC
PhysicalPhysicalTopologyTopology
-
8/3/2019 MPLS_0204(SNM)
4/61
RTTC/Bhubaneswar 4
Routing
Internet delivers the data packets on a BestEffort basis using the TCP/IP protocol suite
The routing job is accomplished by a device calledRouter
The router sends the packets from one network toanother by processing layer-3 network header
Different routing protocols discover the routes atlayer-3 to create Routing Information Base-RIB orRouting Table
-
8/3/2019 MPLS_0204(SNM)
5/61
RTTC/Bhubaneswar 5
Routing-Data Traffic
S0 S1
N
D
P
3
2
1
Routing Information Base
Receive Logic Transmit Logic
Input port Output port
Forwarding Information Base
101001001 11
DH4H3H2 T2
DH4H3 DH4H3 ICI
DH4H3
DH4H3H2 T2
101001001 11
-
8/3/2019 MPLS_0204(SNM)
6/61
RTTC/Bhubaneswar 6
Routing-Control Traffic
S0 S1
N
D
P
3
2
1
Receive Logic Receive Logic
Input port Output port
Forwarding Information Base
OSPF
Routing Information Base
101001001 11101001001 11
COH3 COH3
COH3H2 T2 COH3H2 T2
CO CO
-
8/3/2019 MPLS_0204(SNM)
7/61
RTTC/Bhubaneswar 7
Fast Path vs Slow Path
Control Traffic
Control traffic is the protocols traffic at layer-3
Control packets are processed slowly because
they need to be examined by the software Data Traffic
Follows the fast path and is processed by thenetwork devices in an efficient and timely
manner Generally realised in hardware
-
8/3/2019 MPLS_0204(SNM)
8/61
RTTC/Bhubaneswar 8
Fast Path vs Slow Path
Control Path
Forwarding Path
Software
Hardware
Router-A
Control Path
Forwarding Path
Software
Hardware
Router-B
C
ontrol
Slow Path
Data
Fast Path
-
8/3/2019 MPLS_0204(SNM)
9/61
RTTC/Bhubaneswar 9
Router Planes
S0 S1
N
D
P
3
2
1
Routing Information Base
Receive Logic Transmit Logic
Input port Output port
Forwarding Information Base
Control Plane
Forwarding Plane
Routing
Switching
Forwarding
-
8/3/2019 MPLS_0204(SNM)
10/61
RTTC/Bhubaneswar 10
Routing-Switching-Forwarding
Routing
Process of setting up routes to understand thenext hop a packet should take towards itsdestination
Switching
The knowledge of directing the forwardingprocess to choose the correct output port
Forwarding The process of receiving a packet on an input
port and sending it out an output port
-
8/3/2019 MPLS_0204(SNM)
11/61
RTTC/Bhubaneswar 11
Evolution of MPLS
IETF in the year 1997 met to achieve thefollowing objectives
Enhance the performance and scalability of IP
routing Facilitate explicit routing and traffic engineering
Separate control from forwarding mechanism
Develop a single forwarding algorithm to
support wide range of routing and switchingfunctionality
-
8/3/2019 MPLS_0204(SNM)
12/61
RTTC/Bhubaneswar 12
Evolution of MPLS
Solution to support multi-layer switching:
IP Switching (Ipsilon/Nokia)
Tag Switching (Cisco)
IP Navigator (Cascade/Ascend/Lucent)
ARIS (IBM)
-
8/3/2019 MPLS_0204(SNM)
13/61
RTTC/Bhubaneswar 13
MPLS
S0 S1
N
D
P
3
2
1
Routing Information Base
Receive Logic Transmit Logic
Input port Output port
Forwarding Information Base
Layer 2.5MPLS
-
8/3/2019 MPLS_0204(SNM)
14/61
RTTC/Bhubaneswar 14
MPLS
MPLS is a binding of the control plane at the
bottom of the network layer with the data
forwarding plane at the top of data link layer
MPLS is a hybrid of a traditional networks layer-3routing protocols and layer-2 switching
technologies
MPLS is not a new network layer protocol because
it does not have its own routing capabilities andaddressing schemes
-
8/3/2019 MPLS_0204(SNM)
15/61
RTTC/Bhubaneswar 15
MPLS
MPLS is not a new data link layer protocol
because it is designed to work over many of the
data link technologies that provides requisite layer-
2 addressing and functionality
MPLS is also known by the name of Layer 2.5
Technology
MPLS allows current layer-2 transport
technologies like ATM, FR and Ethernet toseamlessly interoperate and co-exits with layer-3
protocols
-
8/3/2019 MPLS_0204(SNM)
16/61
RTTC/Bhubaneswar 16
MPLS Model
Upper Layers
IPv4 IPv6 IPX Apple Talk DCEnet CLNP Others
MPLS
PPP ATM FR Ethernet FDDI Others
Physical Layer
3
2
1
4-7
-
8/3/2019 MPLS_0204(SNM)
17/61
RTTC/Bhubaneswar 17
MPLS Data Encapsulation
Data
DataH4
Application
TPT Layer
NW Layer
Data Link
MPLS
H3 DataH4
LVL H3 DataH4
H2 T2LVL H3 DataH4
-
8/3/2019 MPLS_0204(SNM)
18/61
RTTC/Bhubaneswar 18
Traditional Systemof Mail Sorting
1. All the sortingstations should havelist of all the cities,towns and villages
2. Searching fordestination from huge
list of cities, townsand villages was a
time consuming job
3. Language problemalso poses a problem
and tends to delay the
mail sorting
Mr.XYZQr.No-1,RTTC ,
Bhubaneswar-751007
-
8/3/2019 MPLS_0204(SNM)
19/61
RTTC/Bhubaneswar 19
3. Beyond main cities lettersare sorted & forwarded basedon the actual village or town
address
2. At main citiesLetters are sorted
& forwardedquickly based on
the PIN Code
Postal IndexNumber System of
Mail Sorting
4. Language alsodoes not pose anyproblem in writing
the address
Mr.XYZ
Qr.No-1,RTTC ,
Bhubaneswar751007
-
8/3/2019 MPLS_0204(SNM)
20/61
RTTC/Bhubaneswar 20
Normal IP Routing
1. Routers maintainRouting Tables
2. Packets are routed on thebasis of Destination IP
Address and Big RoutingTables
IP Header is Carryingthe Routing Information
Source IP Address andDestination IP Address
-
8/3/2019 MPLS_0204(SNM)
21/61
RTTC/Bhubaneswar 21
2. Outside MPLS Domainpackets are routed on the basisof information in the IP Header
1. In MPLS Domain packets areswitched on the basis of labelinformation in the MPLS Header
MPLS BasedRouting
MPLS Router
Normal Router
MPLS Router
MPLS Router
MPLS Domain
-
8/3/2019 MPLS_0204(SNM)
22/61
RTTC/Bhubaneswar 22
MPLS Labels
MPLS uses Label Switched Path (LSP) for layer-2
switching that have been set up with layer-3
routing and signaling protocols
MPLS signaling and label distributing protocol willdistribute the proper labels within the MPLS
domain to create LSP
LSPs are roughly equivalent to virtual circuit
Label Switched Path is unidirectional If the traffic flow on the same route in opposite direction
is required, two label paths are to be set up
-
8/3/2019 MPLS_0204(SNM)
23/61
RTTC/Bhubaneswar 23
LSP
Label-Switched Path
Simplex L2 tunnel across a network
Concatenation of one or more label switched hops
Analogous to an ATM or Frame Relay PVC
New DelhiNew Delhi
MumbaiMumbai
LSPLSP
-
8/3/2019 MPLS_0204(SNM)
24/61
RTTC/Bhubaneswar 24
LSR
MPLS enabled router is called label SwitchingRouter
Forwards MPLS packets using label-switching Capable of forwarding native IP packets
Executes one or more IP routing protocols
Participates in MPLS control protocols
New DelhiNew Delhi
MumbaiMumbai
LSPLSP
LSRLSR
LSRLSR
LSRLSRLSRLSR
-
8/3/2019 MPLS_0204(SNM)
25/61
RTTC/Bhubaneswar 25
MPLS Terminology
SanSanFranciscoFrancisco
NewNewYorkYork
LSPLSP
Ingress LSR (head-end LSR) Examines inbound IP packets and assigns them to an FEC
Generates MPLS header and assigns initial label
Transit LSR Forwards MPLS packets using label swapping
Egress LSR (tail-end LSR) Removes the MPLS header
IngressIngressLSRLSR TransitTransit
LSRLSR TransitTransitLSRLSR
EgressEgressLSRLSR
-
8/3/2019 MPLS_0204(SNM)
26/61
RTTC/Bhubaneswar 26
FEC
A forwarding equivalence class (FEC) is a stream
of IP packets that are forwarded over the same
path, treated in the same manner and mapped to
the same label
LDP associates a set of destinations with each
data link LSP
This set of destinations is called the FEC
These destinations all share a common data LSPpath egress and a common unicast routing path
-
8/3/2019 MPLS_0204(SNM)
27/61
RTTC/Bhubaneswar 27
FEC
Packets could be assigned to a LSP based
on
A combination of destination address and
application type A combination of destination address and
source address
A specific quality of service requirement
A VPN identifier
-
8/3/2019 MPLS_0204(SNM)
28/61
RTTC/Bhubaneswar 28
MPLS Label Assignment/Binding
Label values and FEC-bindings are
negotiated before any MPLS traffic ever
flows on data path for a particular label
Labels are downstream-assigned
FEC-Label bindings are distributed
downstream-to- upstream direction
-
8/3/2019 MPLS_0204(SNM)
29/61
RTTC/Bhubaneswar 29
MPLS Label Assignment/Binding
LSR-A LSR-B
Assign label
Label assigned
DataData
Control
Data
Control
Upstream Node Downstream Node
-
8/3/2019 MPLS_0204(SNM)
30/61
RTTC/Bhubaneswar 30
Label Request for FEC
10.0.0.0
MPLS Label Assignment/Binding
UpstreamUpstream
LDP peerLDP peer
DownstreamDownstream
LDP peerLDP peerLSRLSR
325413
Net: 10.0.0.0Net: 10.0.0.0
Label: 52Label: 52
(3, 29)
Net: 10.0.0.0Net: 10.0.0.0
Label: 29Label: 29
MPLS TableMPLS Table
In Out
(2, 52)
MPLS TableMPLS TableIn Out
(1, 17)
MPLS TableMPLS Table
In Out
(5, 52)
ReceiveReceiveoutgoingoutgoing
labellabel(4, 17)
Net: 10.0.0.0Net: 10.0.0.0
Label: 17Label: 17
AdvertiseAdvertiseincomingincoming
labellabel
(3, 35)
-
8/3/2019 MPLS_0204(SNM)
31/61
RTTC/Bhubaneswar 31
MPLS Labels
MPLS label assignment can be done in two
ways
Control Driven
Labels are assigned and distributed before any labelswapping of data occurs
Mostly used
Traffic Driven
Labels are assigned and distributed as packetsbelonging to a specified flow or class enter the
network
Rarely used
-
8/3/2019 MPLS_0204(SNM)
32/61
RTTC/Bhubaneswar 32
Label Distribution
MPLS architecture does not mandate a
single method of signalling for label
distribution. Various schemes for label
exchange is as follows : LDP- maps unicast destinations into labels
RSVP,CR-LDP-used for traffic engineering and
resource reservation
Protocol-independent multicast(PIM)-used for
multicast states label mapping
BGP-external labels(VPN)
-
8/3/2019 MPLS_0204(SNM)
33/61
RTTC/Bhubaneswar 33
Label Processing
Push
Add a new label to the top of the packet
The TTL, stack and CoS fields are derived from the IP
packet header
Can be performed on an existing MPLS packet-Label
Stacking
Pop
Remove the label
TTL is copied from the label to the IP header
IP packet is forwarded as a native IP packet
-
8/3/2019 MPLS_0204(SNM)
34/61
RTTC/Bhubaneswar 34
Label Processing
Swap Replace the label at the top of the label stack with a
new label
The TTL, stack and CoS fields are copied from the
previous label Multiple Push
Adding multiple labels (up to 3)
Swap and Push
Replace the existing top of the label stack with a newlabel followed by pushing another new label on top
Used when a LDP signaled LSP transits an RSVP-TSsignaled core
-
8/3/2019 MPLS_0204(SNM)
35/61
RTTC/Bhubaneswar 35
Label Pushing
S0 S1
N
D
P
3
2
1
Routing Information Base
Receive Logic Transmit Logic
Input port Output port
Forwarding Information Base
MPLS
Ingress Node
DH4H3H2 T2
DH4H3
101001001 11S
DH4H3H2 T2S
DH4H3S
101001001 11
DH4H3
-
8/3/2019 MPLS_0204(SNM)
36/61
RTTC/Bhubaneswar 36
Label Swapping
S0 S1
N
D
P
3
2
1
Routing Information Base
Receive Logic Transmit Logic
Input port Output port
Forwarding Information Base
MPLS
Transit Node
101001001 11S
DH4H3S
101001001 11S
DH4H3H2 T2S
DH4H3S
DH4H3H2 T2S
-
8/3/2019 MPLS_0204(SNM)
37/61
RTTC/Bhubaneswar 37
Label Popping
S0 S1
N
D
P
3
2
1
Routing Information Base
Receive Logic Transmit Logic
Input port Output port
Forwarding Information Base
MPLS
Egress Node
DH4H3H2 T2S
101001001 11
DH4H3H2 T2
101001001 11S
DH4H3
DH4H3S
DH4H3
-
8/3/2019 MPLS_0204(SNM)
38/61
RTTC/Bhubaneswar 38
MPLS Forwarding Model
Ingress LSR determines FEC and assigns a label
Forwards Mumbai traffic on the Green LSP
ForwardsC
hennai traffic on theB
lue LSP Traffic is label swapped at each transit LSR
Egress LSR
Removes MPLS header
Forwards packet based on destination address
EgressEgressLSRLSRIngressIngress
LSRLSRMumbaiMumbai
ChennaiChennai
SourceSource
-
8/3/2019 MPLS_0204(SNM)
39/61
RTTC/Bhubaneswar 39
LSR Operation
Each LSR maintains a connection table
Port 1
Port 3
Port 2
Port 4
Connection TableConnection Table
In(port, label)
Out(port, label)
(1, 22)
(1, 24)
(1, 25)
(2, 23)
(2, 17)
(3, 17)
(4, 19)
(3, 12)
LabelOperation
Swap
Swap
Swap
Swap
25IP
19IP
-
8/3/2019 MPLS_0204(SNM)
40/61
RTTC/Bhubaneswar 40
1 2Ingress Routing TableIngress Routing TableDestination Next Hop
134.5/16
200.3.2/24
(2, 84)
(3, 99)
MPLS TableMPLS Table
In Out
(2, 84) (6, 0)
MPLS TableMPLS TableIn Out
(1, 99) (2, 56)
MPLS TableMPLS TableIn Out
(3, 56) (5, 0)
3 5
2
3
2 6134.5.1.5134.5.1.5
200.3.2.7200.3.2.7200.3.2.1200.3.2.1
134.5.6.1134.5.6.1
Destination
Egress Routing TableEgress Routing TableNext Hop
134.5/16
200.3.2/24
134.5.6.1
200.3.2.1
MPLS Forwarding Example
200.3.2.7
200.3.2.7
-
8/3/2019 MPLS_0204(SNM)
41/61
RTTC/Bhubaneswar 41
MPLS v IP Routing
SourceSourceIP Routing DomainIP Routing Domain
Examine IP headerExamine IP header
Assign to FECAssign to FECForwardForward
Examine IP headerExamine IP header
Assign to FECAssign to FECForwardForward
Examine IP headerExamine IP header
Assign to FECAssign to FECForwardForward
Examine IP headerExamine IP header
Assign to FECAssign to FECForwardForward
EgressEgressLSRLSR
IngressIngressLSRLSR
SourceSourceMPLS DomainMPLS Domain
Label swapLabel swapForwardForward
Label swapLabel swapForwardForward
Examine IP headerExamine IP headerAssign to FECAssign to FEC
ForwardForward
Examine IP headerExamine IP headerAssign to FECAssign to FEC
ForwardForward
DestinationDestination
DestinationDestination
-
8/3/2019 MPLS_0204(SNM)
42/61
RTTC/Bhubaneswar 42
MPLS Header
Label-(20 Bits)
Used for all of the subsequent label operations Push
Pop
Swap
Multiple Push
Swap and Push
A label only has a local significance between two
communicating LSRs
LABEL EXP S TTL
-
8/3/2019 MPLS_0204(SNM)
43/61
-
8/3/2019 MPLS_0204(SNM)
44/61
RTTC/Bhubaneswar 44
MPLS Header
2-IPv6 Explicit NULL Label
Label stack must be popped
Subsequent forwarding of the packet will be based on the
IPv6network header
Used only as the bottom most label
3-Implicit NULL Label
Label is virtual in the sense that this value can be distributed but
never appears in the MPLS header encapsulation
Causes the LSR to pop the stack instead of normal swap
operation, where a new label value will be introduced 4:15-Reserved
-
8/3/2019 MPLS_0204(SNM)
45/61
RTTC/Bhubaneswar 45
Label Spaces
Each label space consists of the assignable labelsfrom 0-1048574 (0-15 Reserved)
Two basic notions of label spaces Per-Platform Label Space
There is one set of labels for the entire LSR All interfaces share this common label pool
Per-Interface Label Space Each interface has its own label pool
Used particularly with ATM-LSRs
Decision to choose the label platform to beimplemented on a particular LSR is a function ofhow the interfaces are used
-
8/3/2019 MPLS_0204(SNM)
46/61
RTTC/Bhubaneswar 46
Label Spaces
Platform Labels
(0-1048574)
Label Manager Process
LSR
Int-1 Int-n
Per-Platform Label Space
Int-1 Labels
(0-1048574)
Label Manager Process
LSR
Int-1 Int-n
Per-Interface Label Space
Int-n Labels
(0-1048574)
-
8/3/2019 MPLS_0204(SNM)
47/61
RTTC/Bhubaneswar 47
MPLS Header
EXP-(3 Bits)-Experimental Bits
Reserved for experimentation
Will be used for differentiated services (Diff-serv) and
providing class of service
S Bit-Stack Bit
Used to support hierarchical MPLS label stacking
Set to indicate the last header in the stack
Set to 0 for all other MPLS headers MPLS stack follows LIFO arrangement
L2
HDR
MPLS
HDR#3
(S=0)
MPLS
HDR#2
(S=0)
MPLS
HDR#1
(S=1)
L3
HDR Data
-
8/3/2019 MPLS_0204(SNM)
48/61
RTTC/Bhubaneswar 48
MPLS Header
TTL-(8 Bits)-Time To Live
Works in a similar fashion to the TTL field in an
IP header
The valid range is 0-255
-
8/3/2019 MPLS_0204(SNM)
49/61
RTTC/Bhubaneswar 49
MPLS Applications
There are 3 major MPLS applications
currently being implemented
Traffic Engineering
Virtual Private Network Internet QoS
-
8/3/2019 MPLS_0204(SNM)
50/61
RTTC/Bhubaneswar 50
MPLS-Traffic Engineering
11
11
11 11
11
22
Numbers are metricsNumbers are metrics
R1R1 R2R2
R4R4
R3R3
R5R5 R6R6
IGP PathMPLS Path
-
8/3/2019 MPLS_0204(SNM)
51/61
RTTC/Bhubaneswar 51
MPLS-QoS
Different types of service quality can be providedfor different types of traffic
QoS is the guarantee of providing a requested
level of service QoS requires every element from the start of an
application flow till its completion to be aware and
respond to QoS requirements
CoS is the category of service requested by eachpacket that is part of a particular application flow
-
8/3/2019 MPLS_0204(SNM)
52/61
RTTC/Bhubaneswar 52
MPLS-QoS
IETF has created two efforts to directly relate QoSans CoS IntServ
Diff-Serv
IntServ and Diff-Serv can be used together withMPLS to realise an MPLS QoS application
IntServ deals with resource reservations Network resources are apportioned to the needs of the
application flows RSVP is the only currently implemented signaling
protocol used for IntServ
-
8/3/2019 MPLS_0204(SNM)
53/61
RTTC/Bhubaneswar 53
MPLS-QoS
Diff-Serv is often compared to a set ofbuilding blocks that can be used to prioritisepackets in the QoS flow
Packets can be classified by designatedfields in the header and are examined ateach node for the predefined treatment
TOS field in IP Header
Diff-Serv redefines the TOS byte syntax as wellas its semantics
-
8/3/2019 MPLS_0204(SNM)
54/61
RTTC/Bhubaneswar 54
TOS Byte-IP Header
76543210
Reliability0-Normal1-Maximise
Precedence000-Routine001-Priority010-Immediate011-Flash
100-Flash Override101-CRITIC/ECP110-Internetwork Control111-Network Control
Delay0-Normal1-Minimise
Throughput0-Normal1-Maximise
Cost0-Normal1-Minimise
Reserved:Always set to 0
-
8/3/2019 MPLS_0204(SNM)
55/61
RTTC/Bhubaneswar 55
DS Byte-IP Header
DS byte field uses the formerTOS field location inthe IP header
Bits (0-5) are used as an index value called
DSC
P(Diff-ServC
ode Point) field 6 bits can give 26=64 independent values called
Code Points
Bits 6 & 7 are unused
76543210
DSCP-Diff-Serve Code Point Reserved
-
8/3/2019 MPLS_0204(SNM)
56/61
RTTC/Bhubaneswar 56
Per Hop Behaviors (PHB)
The DSCP index maps to various data treatmentsthat handle CoS
These data treatments are called Per HopBehaviors (PHB)
A Per Hop Behavior PHB includes CoS handlingmechanism such as queue selection, schedulingand congestion control.
The currently defined PHBs include Expedited Forwarding (EF) Gold
Assured Forwarding (AF) Silver
Default Behavior (DE) - Bronze
-
8/3/2019 MPLS_0204(SNM)
57/61
RTTC/Bhubaneswar 57
Per Hop Behaviors (PHB)
An EF PHB is required when loss,jitter, and
delay must be low. This PHB generally
prevents any queues in the node from
increasing in size An AF PHB assures the delivery but does
not guarantees the delay, jitter and other
QoS parameters A DE PHB is the default best effort behavior
-
8/3/2019 MPLS_0204(SNM)
58/61
RTTC/Bhubaneswar 58
EXP(CoS) Bits-MPLS Header
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Queue No 4
Queue No 3
Queue No 2
Queue No 1
Packet Loss
Priority (PLP) Bit
Premium Traffic (Guaranteed Bandwidth, Latency and Delivery)
Gold Traffic (Expedited Forwarding, Guaranteed Latency
And Delivery
Silver Traffic (Assured Forwarding, Guaranteed delivery)
Bronze Traffic (Best Effort)
If PLP bit is set to 1 packet discard probability is high in case of
Network congestion.
-
8/3/2019 MPLS_0204(SNM)
59/61
RTTC/Bhubaneswar 59
Implementing Network Policy
Video
Conferencing
Business
Applications
Email,
Web browsing,
Pointcast
Gold
Silver
Bronze
Traffic
Classification
VPN
Application-level QoS and
bandwidth management
Multiple Service Classes
(can be customized
per customer)
IP Network
-
8/3/2019 MPLS_0204(SNM)
60/61
RTTC/Bhubaneswar 60
Traffic Differentiation
CE
CE
Separate queuesfor different VPNs
Gold VPNs
preferred over
Silver VPNs.
Gold
VPN
Customer
Silver
VPN
Customer
Bronze
VPN
Customer
CCE
S
VRF
VRF Base
Tunnel
Stacked
Tunnel
C
C
L2I
nterface
VRF
Schedule
r
Classifier sets MPLS EXP bits
Could have different
traffic-engineered base
tunnels for Gold and
Silver VPNs.
C
-
8/3/2019 MPLS_0204(SNM)
61/61