multi-protocol label switching (mpls) · mpls operation • at ingress lsr of an mpls domain, an...
TRANSCRIPT
![Page 1: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/1.jpg)
1
Multi-Protocol Label Switching (MPLS)
![Page 2: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/2.jpg)
Disadvantages
• Header analysis performed at each hop
• Increased demand on routers
• Utilizes the best available path
• Some congested links and some underutilized links! Degradation of throughput Long delays More losses
• No QoS No service differentiation Not possible with connectionless protocols
![Page 3: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/3.jpg)
What is MPLS?
• Multi Protocol – supports protocols even other than IP Supports IPv4, IPv6, IPX, AppleTalk at the network layer Supports Ethernet, Token Ring, FDDI, ATM, Frame Relay, PPP at
the link layer
• Label – short fixed length identifier to determine a route Labels are added to the top of the IP packet Labels are assigned when the packet enters the MPLS domain
• Switching – forwarding a packet Packets are forwarded based on the label value NOT on the basis of IP header information
![Page 4: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/4.jpg)
4
MPLS Overview
• A forwarding scheme designed to speed up IP packet forwarding (RFC 3031)
• Idea: use a fixed length label in the packet header to decide packet forwarding– Label carried in an MPLS header between the
link layer header and network layer header
• Support any network layer protocol and link layer protocol
![Page 5: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/5.jpg)
IP/MPLS comparison
• Routing decisions IP routing – based on destination IP address Label switching – based on labels
• Entire IP header analysis IP routing – performed at each hop of the packets path in the
network Label switching – performed only at the ingress router
![Page 6: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/6.jpg)
Objectives of MPLS
• Speed up IP packet forwarding– By cutting down on the amount of processing at
every intermediate router
• Prioritize IP packet forwarding– By providing ability to engineer traffic flow and
assure differential QoS
• Without losing on the flexibility of IP based network
![Page 7: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/7.jpg)
7
MPLS Header Format
• Label: 20-bit label value• Exp: experimental use
– Can indicate class of service
• S: bottom of stack indicator– 1 for the bottom label, 0 otherwise
• TTL: time to live
Label Exp S TTL
20 3 1 8
![Page 8: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/8.jpg)
8
Forwarding Equivalence Class
• An MPLS capable router is called a label switching router (LSR)
• Forwarding Equivalence Class (FEC): A subset of packets that are all treated the same way by an LSR
• A packet is assigned to an FEC at the ingress of an MPLS domain
![Page 9: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/9.jpg)
9
Forwarding Equivalence Class
• A packet’s FEC can be determined by one or more of the following:– Source and/or destination IP address
– Source and/or destination port number
– Protocol ID
– Differentiated services code point
– Incoming interface
• A particular PHB (scheduling and discard policy) can be defined for a given FEC
![Page 10: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/10.jpg)
10
MPLS Operation
• At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded– Label in the MPLS header encodes the packet’s FEC
• At subsequent LSRs– The label is used as an index into a forwarding table
that specifies the next hop and a new label. – The old label is replaced with the new label, and the
packet is forwarded to the next hop.
• Egress LSR strips the label and forwards the packet to final destination based on the IP packet header
![Page 11: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/11.jpg)
11
MPLS Operation
Intf In
Label In
Intf Out
3 40 1
Intf In
Label In
Intf Out
Label Out
3 50 1 40
1
2
31
2
1
23
3FEC Intf
Out Label Out
a 1 50
50
40
![Page 12: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/12.jpg)
MPLS Cloud
LSR
Egress LER
LSR
Ingress LER
IP PacketIP Packet w/ Label
L3 RoutingL3 Routing
Label SwappingLabel Swapping
LER
LER
LER
L3 Routing
L3 Routing
L3 Routing
LSP
LER• Can be an ATM switch or a router• Ingress LER performs the following:
– Receives the packet– Adds label– Forwards the packet into the MPLS domain
• Egress LER removes the label and delivers the packet
LSR A router/switch that supports MPLS Can be a router Can be an ATM switch + label switch controller Label swapping
Each LSR examines the label on top of the stack Uses LIB to decide the outgoing path and the outgoing label Removes the old label and attaches the new label Forwards the packet on the predetermined path
LSP LSP defines the path through LSRs from ingress to egress router FEC is determined at the LER-ingress LSPs are unidirectional LSP might deviate from the IGP shortest path
LSR
OrdinaryIP Router
![Page 13: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/13.jpg)
13
Label Switched Path
• For each FEC, a specific path called Label Switched Path (LSP) is assigned– The LSP is unidirectional
• To set up an LSP, each LSR must– Assign an incoming label to the LSP for the corresponding FEC
• Labels have only local significance
– Inform the upstream node of the assigned label– Learn the label that the downstream node has assigned to the LSP
• Need a label distribution protocol so that an LSR can inform others of the label/FEC bindings it has made
• A forwarding table is constructed as the result of label distribution.
![Page 14: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/14.jpg)
14
A Label Switched Path (LSP)
417 data 666 data 233 data datadata
POP! PUSH!SWAP! SWAP!
A label switched path“tail end” “head end”
Often called an MPLS tunnel: payload headers are not Inspected inside of an LSP. Payload could be MPLS …
![Page 15: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/15.jpg)
15
Intf In
Label In
Intf Out
3 40 1
Intf In
Label In
Intf Out
Label Out
3 50 1 40
Label Distribution
47.1
47.247.3
12
3
1
2
1
2
3
3Dest Intf Out
Label Out
47.1 1 50
Mapping: 40
Request: 47.1
Mapping: 50
Request: 47.1
![Page 16: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/16.jpg)
MPLS forwarding example
1 2 8 . 8 9 . 2 5 . 4
1 2 8 . 8 9 . * . *
1 7 1 . 6 9 . * . *
d a t a
I nL a b e l
A d d r e s s P r e fi x
O u tI n t f
1
1
0
O u tL a b e l
X 1 2 8 . 8 9 1 4
X 1 7 1 . 6 9 1 5
. . . . . . . . .
I nL a b e l
A d d r e s s P r e fi x
O u tI n t f
O u tL a b e l
4 1 2 8 . 8 9 0 9
5 1 7 1 . 6 9 1 7
. . . . . . . . . . . .
I nL a b e l
A d d r e s s P r e fi x
O u tI n t f
O u tL a b e l
9 1 2 8 . 8 9 0 X
X 1 7 1 . 6 9 2 5
. . . . . . . . . . . .
2 0
. . .
1 2 8 . 8 9 . 2 5 . 4 d a t a4
1 2 8 . 8 9 . 2 5 . 4 d a t a9
1 2 8 . 8 9 . 2 5 . 4 d a t a
![Page 17: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/17.jpg)
17
Basic MPLS Control Plane
MPLS control plane = IP control plane + label distribution
Label distribution protocols are needed to (1) create label FEC bindings (2) distribute bindings to neighbors, (3) maintain consistent label swapping tables
![Page 18: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/18.jpg)
18
LSP Route Selection
• Hop-by-hop routing: use the route determined by the dynamic routing protocol
• Explicit routing (ER): the sender LSR can specify an explicit route for the LSP– Explicit route can be selected ahead of time or
dynamically
![Page 19: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/19.jpg)
19
Explicitly Routed LSP
• Advantages– Can establish LSP’s based on policy, QoS, etc.
– Can have pre-established LSP’s that can be used in case of failures.
• Signaling protocols– CR-LDP
– RSVP-TE
![Page 20: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/20.jpg)
20
Summary of MPLS
• Simplify packet forwarding based on a fixed length label
• Enable explicit routing in IP networks– Can be used for traffic management, QoS
routing
• Enable fast restoration from failures.
![Page 21: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/21.jpg)
Forwarding Equivalence Class (FEC)
• A group of packets that require the same forwarding treatment across the same path
• Packets are grouped based on any of the following Address prefix Host address Quality of Service (QoS)
• FEC is encoded as the label
![Page 22: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/22.jpg)
FEC example
Assume packets have the destination address as
• 124.48.45.20
• 143.67.25.77
• 143.67.84.22
• 124.48.66.90
FEC –1 label x FEC – 2 label y
143.67.25.77 124.48.45.20
143.67.84.22 124.48.66.90
![Page 23: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/23.jpg)
FEC example (contd)
- Assume packets have the destination address and QoS requirements as
• 124.48.45.20 qos = 1• 143.67.25.77 qos = 1• 143.67.84.22 qos = 3• 124.48.66.90 qos = 4• 143.67.12.01 qos = 3
FEC –1 label a FEC – 2 label b FEC – 3 label c FEC – 4 label d
143.67.25.77 124.48.45.20 143.67.84.22 124.48.66.90 143.67.12.01
![Page 24: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/24.jpg)
Label Edge Router (LER)
• Can be an ATM switch or a router
• Ingress LER performs the following: Receives the packet Adds label Forwards the packet into the MPLS domain
• Egress LER removes the label and delivers the packet
![Page 25: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/25.jpg)
LER
![Page 26: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/26.jpg)
Label Switching Router (LSR)
• A router/switch that supports MPLS
• Can be a router
• Can be an ATM switch + label switch controller
• Label swapping Each LSR examines the label on top of the stack Uses the Label Information Base (LIB) to decide the outgoing path
and the outgoing label Removes the old label and attaches the new label Forwards the packet on the predetermined path
![Page 27: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/27.jpg)
Label Switching Router (contd)
• Upstream Router (Ru) – router that sends packets
• Downstream Router(Rd) – router that receives packets Need not be an end router Rd for one link can be the Ru for the other
Ru Rd Ru Rd
![Page 28: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/28.jpg)
LSR
![Page 29: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/29.jpg)
Label Switched Path(LSP)
• LSP defines the path through LSRs from ingress to egress router
• FEC is determined at the LER-ingress
• LSPs are unidirectional
• LSP might deviate from the IGP shortest path
![Page 30: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/30.jpg)
LSP
LSP
![Page 31: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/31.jpg)
Label
• A short, fixed length identifier (32 bits)
• Sent with each packet
• Local between two routers
• Can have different labels if entering from different routers
• One label for one FEC
• Decided by the downstream router LSR binds a label to an FEC It then informs the upstream LSR of the binding
![Page 32: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/32.jpg)
Label (contd)
• ATM VCI/VPI field of ATM header
• Frame Relay DLCI field of FR header
• PPP/LAN ‘shim’ header inserted between layer 2 and layer 3
![Page 33: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/33.jpg)
Label (contd)
PPP Header
LAN MAC Header
ATM Cell Header
Layer 3 Header PPP Header
Layer 3 Header MAC Header
DATA HEC CLP PTI VCI VPI GFC
Label
Label
Label
![Page 34: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/34.jpg)
Shim Header
31 23 22 19 0
Label = 20 bits
EXP = Experimental bits, 3 bits
S = Bottom of stack, 1 bit
TTL = Time To Live, 8 bits
TTL S EXP Label
![Page 35: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/35.jpg)
Shim Header (contd)
• EXP field Also known as Class of Service (CoS) bits Used for experimentation to indicate packet’s treatment Queuing as well as scheduling Different packets can receive different treatment depending on the
CoS value
• S bit Supports hierarchical label stack 1 – if the label is the bottom most label in the label stack 0 – for all other labels
![Page 36: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/36.jpg)
Time To Live (TTL)
• TTL value decremented by 1 when it passes through an LSR
• If TTL value = 0 before the destination, discard the packet
• Avoids loops may exist because of some misconfigurations
• Multicast scoping – limit the scope of a packet
• Supporting the traceroute command
![Page 37: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/37.jpg)
TTL (contd)
• Shim header Has an explicit TTL field Initially loaded from the IP header TTL field At the egress LER, value of TTL is copied into the TTL field of
the IP header
• Data link layer header (e.g VPI/VCI) No explicit TTL field Ingress LER estimates the LSP length Decrements the TTL count by the LSP length If initial count of TTL less than the LSP length, discard the packet
![Page 38: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/38.jpg)
Label stack
• MPLS supports hierarchy
• A packet can carry a number of labels
• Each LSR processes the topmost label Irrespective of the level of hierarchy
• If traffic crosses several networks, it can be tunneled across them
• Use stacked labels
• Advantage – reduces the LIB table of each router drastically
![Page 39: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/39.jpg)
Label stack (contd)
Layer 2 Header Label 3 IP PacketLabel 2 Label 1
MPLS Domain 1
MPLS Domain 2
MPLS Domain 3
![Page 40: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/40.jpg)
Labels – scope and uniqueness
• Labels are local between two LSRs• Rd might give label L1 for FEC F and distribute it to Ru1• At the same time, it might give a label L2 to FEC F and
distribute it to Ru2• L1 might not necessarily be equal to L2• Can there be a same label for different FECs?
Generally, NO BUT no such specification LSR must have different label spaces to accommodate both SHIM header specifies that different label spaces used for unicast
packets and multicast packets
![Page 41: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/41.jpg)
Invalid labels
• What should be done if an LSR receives an invalid label?
• Should it be forwarded as an unlabeled IP packet?
• Should it be discarded?
• MUST be discarded!
• Forwarding it can cause a loop
• Same treatment if there is no valid outgoing label
![Page 42: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/42.jpg)
Route selection
• Refers to the method of selecting an LSP for a particular FEC
• Done by LDP Set of procedures and messages Messages exchanged between LSRs to establish an LSP LSRs associate an FEC with each LSP created
• Two types of LDP Hop by hop routing Explicit routing
![Page 43: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/43.jpg)
Route selection (contd)
• Hop by Hop Allows each LSR to individually choose the next hop This is the usual mode today in existing IP networks No overhead processing as compared to IP
• Explicit routing A single router, generally the ingress LER,specifies several or all
of the LSRs in the LSP Provides functionality for traffic engineering and QoS
o Several: loosely explicitly routed
o All: strictly explicitly routed
E.g. CR-LDP, TE-RSVP
![Page 44: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/44.jpg)
Label Information Base (LIB)
• Table maintained by the LSRs
• Contents of the table Incoming label Outgoing label Outgoing path Address prefix
![Page 45: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/45.jpg)
Label Information Base (LIB)
Incoming label
Address Prefix Outgoing Path
Outgoing label
![Page 46: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/46.jpg)
MPLS forwarding
• Existing routing protocols establish routes
• LDP establishes label to route mappings
• LDP creates LIB entries for each LSR
• Ingress LER receives packet,adds a label
• LSRs forward labeled packets using label swapping
• Egress LER removes the label and delivers the packet
![Page 47: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/47.jpg)
MPLS forwarding (contd)
Use label 8 for 145.40
Use label 9 for 125.50
Use label 2 for 125.50 and label 1 for 145.40
3
1
0125.50
145.40
2
AddressAddress PrefixPrefix
AddressAddress PrefixPrefix
Out Out PathPath
In In LabelLabel
Out Out PathPath
Out Out PathPath
In In LabelLabel
In In LabelLabel
Out Out LabelLabel
Out Out LabelLabel
Out Out LabelLabel
125.5125.500
125.5125.500
125.5125.500
145.40145.40 145.40145.40
33
33
22
11
22
11 88
99
99
00
11
22AddressAddress PrefixPrefix
![Page 48: Multi-Protocol Label Switching (MPLS) · MPLS Operation • At ingress LSR of an MPLS domain, an MPLS header is inserted to a packet before the packet is forwarded – Label in the](https://reader031.vdocuments.us/reader031/viewer/2022021612/5e65abee31994548247fac2c/html5/thumbnails/48.jpg)
MPLS forwarding (contd)
3
1
0125.50
145.40
2
AddressAddress PrefixPrefix
AddressAddress PrefixPrefix
AddressAddress PrefixPrefix
Out Out PathPath
In In LabelLabel
Out Out PathPath
Out Out PathPath
In In LabelLabel
In In LabelLabel
Out Out LabelLabel
Out Out LabelLabel
Out Out LabelLabel
125.5125.500
125.50125.50
125.50125.50
145.40145.40 145.40145.40
33
33
22
11
22
11 88
99
99
00
11
22
Data 125.50.33.85 2
Data 125.50.33.85 9