Вы находитесь на странице: 1из 34

MPLS Networks

An Introduction to MPLS Networks and Applications By Shawn Zandi CCIE (Routing & Switching / Security / Service Provider)

MPLS History

Cisco joined the MPLS story in 1998 (IOS 11.1) with tag switching... IETF released RFC 2547 "BGP/MPLS VPNs" in 1999

http://blog.shafagh.com

by Shawn Zandi

Terminology
Old Terminology Tag Switching Tag TDP TFIB TSR TSC TSP New Terminology MPLS Label LDP (Label Distribution Protocol) LFIB (Label Forwarding Information Base) LSR (Label Switch Router) LSC (Label Switch Controller) LSP (Label Switched Path)

MPLS Applications

MPLS VPN

Most Popular Application of MPLS

Traffic Engineering

First called RRR or R3 (Routing & Resource Reservation)


Point-to-point circuits over MPLS Frame Relay, ATM, PPP, HDLC, Ethernet and IEEE 802.1Q Ethernet Supported in a multipoint fashion.

AToM (Any Transport over MPLS)

VPLS (Virtual Private LAN Service)

http://blog.shafagh.com

by Shawn Zandi

Advantages of MPLS

MPLS VPN

VRF routing tables and ease of growth. Carrier for any technology - ATM, FR, PPP, Ethernet, IPv4 and IPv6. AAL5 - RFC1483, LANE, Multiprotocol over ATM - MPOA providers need IP routing but BGP is only required on edges.

Unified infrastructure

Better IP over ATM than pervious solutions BGP-free core Optimal Traffic Flow

Connections logically are fully mesh and no extra circuit mapping is required.
Different path from least cost path, Source-based routing & Fast ReRouting (FRR)

Traffic Engineering

MPLS Label
BOS

Label

EXP

TTL

32 bits header (4 Bytes) = each stack

Unlimited Stacks supported, The last stack BOS flag=1

Label: 20 bits EXP: 3 bits BOS: 1 bit (bottom of stack) TTL: 8 bits
http://blog.shafagh.com by Shawn Zandi

Label Stack

Top label and bottom label on a stack:

Label Label

EXP EXP

0 0

TTL TTL

Label

EXP

TTL

Label Stack (cont.)

Some MPLS applications like MPLS VPNs require more than one label in the label stack to forward the packets. MPLS VPNs and AToM put two labels in the label stack.

PPP

Label

Label

IPv4

MPLS is not a Layer 2 Protocol, not even Layer 3 MPLS is viewed as a Layer 2.5 protocol.
http://blog.shafagh.com by Shawn Zandi

Protocol Identifier

Data Link Layer Protocol Identifier


Layer 2 Protocol PPP Ethernet SNAP HDLC Identifier Field Protocol Field Ether-type Protocol Value (hex) 0281 8847 8847

Frame Relay

NLPID

80

ATM uses a different way for encapsulating the Label.

Label Switch Router

LSR is a router that supports MPLS. Ingress LSR

Inserts a label (push) and sends packet to MPLS network. Removes the label (pop) and sends packet on a data link.

Egress LSR

Intermediate LSR

Modifies the label (swap) and switches the packets.

Edge LSR = Ingress and Egress LSRs


10 http://blog.shafagh.com by Shawn Zandi

Label Switch Router (cont.)

Ingress LSR

Intermediate LSR

Egress LSR

Imposing LSR MPLS Network

Disposing LSR

11

Label Switch Router (cont.)

Customer Edge Provider Edge

PE

CE

MPLS VPN

12

http://blog.shafagh.com

by Shawn Zandi

Label Switched Path


LSP : Sequence of LSRs a path through the MPLS network. (Unidirectional)
LSP

Ingress LSR

LSR

LSR

LSR

Ingress LSR

MPLS Network

13

Nested LSP
LSP inside LSP The second Label spans the entire MPLS network.
LSP LSP

Ingress LSR

LSR

LSR

LSR

Ingress LSR

MPLS Network

14

http://blog.shafagh.com

by Shawn Zandi

Forwarding Equivalence Class

FEC is group or flow of packets classified for a forwarding decision and have similar EXP. Ingress LSR decides which packet belongs to which FEC.

All packets with same FEC get the same label imposed by the ingress LSR

Same FEC = Same Label. Same Label <> Same FEC. (might have different FEC)

15

FEC Classification

Ingress LSR Classifies traffic (FEC) based on:

Certain multicast group Based on DSCP or Precedence Based on VC (sub-interface) Based on Destination IP Based on BGP Prefixes pointing to the same Next-hop.

In this case all traffic for an Egress LSR (iBGP Peer) can be forwarded through a specific LSP.

16

http://blog.shafagh.com

by Shawn Zandi

Label Distribution

Adjacent LSRs must agree to use specific Label for a specific IP Prefix. Labels are local and have no global meaning. Labels are between adjacent LSRs.
A label distribution protocol is required.

Using IP Routing Protocol (EIGRP, ISIS, OSPF) Using Label Distribution Protocol (TDP, LDP, RSVP)

17

Label Distribution with Routing Protocol

Advantage:

Does not need a new label distribution protocol. Routing and Label distribution are always in sync. EIGRP implementation is straight forward.

Disadvantage:

Link state routing protocols do not function this way.

18

http://blog.shafagh.com

by Shawn Zandi

Label Distribution with LDP

Label Information Base (LIB) holds remote and local label bindings. One local binding per prefix.
Label Space:

Per platform Per interface (LC-ATM)

19

LFIB is Label Forwarding Instance Base, a table used to forward incoming and outgoing labels for LSPs. All remote bindings LIB Only one possible outgoing label in LIB
LDP Static MPBGP RSVP
20

1.

2.

LFIB

LIB

LFIB

http://blog.shafagh.com

by Shawn Zandi

MPLS Payload

The MPLS has no Network Level Protocol Identifier. NLPID exists in all Layer 2 protocols (different names) Intermediate LSRs do not need to know what payload is. Egress LSR should know what the payload is, to forward. Egress LSR is the one who created label binding for FEC.

21

LDP Modes

Label Distribution Mode


DOD Downstream-on-Demand (pull mode LC-ATM) UD Unsolicited Downstream (push mode Default) LLR Liberal Label Retention (keep all bindings in LIB - Default) CLR Conservative Label Retention (LC-ATM) Independent LSP (immediate local binding for FEC - Default) Ordered LSP (IOS ATM switches)

Label Retention Mode


LSP Control Mode


22

http://blog.shafagh.com

by Shawn Zandi

LFIB Forwarding Commands


show show show show show show show

ip cef x.x.x.x adjacency table mpls forwarding-table mpls forwarding-table x.x.x.x mpls forwarding-table x.x.x.x detail mpls forwarding-table vrf mpls interfaces detail

23

Label Operation

Pop Swap Push Untagged/No Label Aggregate

Remove the label stack then perform IP Lookup.

24

http://blog.shafagh.com

by Shawn Zandi

IOS Label Range

Default Label Range 16 to 100,000

Router(config)# mpls label range 16 1048575

Unknown Label: drop

Reserved Label 0 to 15:

Implicit NULL Label (3)

Set by egress LSR for connected and summarized prefixes to penultimate LSR to not send Label. penultimate hop popping PHP


25

Explicit NULL Label(0, for IPv6=2)

Like implicit NULL but send label=0 to retain EXP value.


Perform software Lookup instead of hardware

Router Alert Label (1)

OAM Alert Label (14) RFC 3429 not supported on IOS

TTL and MPLS

TTL (-1) is copied from IP header to MPLS and vice versa. Dont copy if TTL value is greater than packet TTL.
IP to Label Label to Label Label to IP

TTL=253 TTL=254 TTL=253

TTL=253 TTL=253

TTL=252 TTL=253

TTL=252 TTL=253 TTL=251

Igress LSR

LSR

LSR

26

http://blog.shafagh.com

by Shawn Zandi

TTL Label to Label


Intermediate LSR does not change TTL in IP header or underlying labels.

SWAP

PUSH

POP

TTL=251 TTL=249 TTL=248 TTL=252 TTL=251

TTL=251 TTL=251 TTL=250

TTL=253

TTL=253

TTL=253

TTL=253

TTL=253

TTL=253

LSR

LSR

LSR

27

TTL Expire

ICMP time exceeded (type 11 code 0) is forwarded along the LSP because interim LSR might have no route to the originator of packet.
TTL Expired!
TTL=1
TTL=2 TTL=1

TTL=255

ICMP Time Exceeded TTL=255

ICMP Time Exceeded TTL=254

Ingress

LSR LSR
TTL=252

LSR
TTL=253 ICMP Time Exceeded TTL=253

Egress

ICMP Time Exceeded TTL=250


28

ICMP Time Exceeded TTL=251

ICMP Time Exceeded TTL=253

http://blog.shafagh.com

by Shawn Zandi

MPLS MTU

Maximum size of packet that can be sent to data link without fragmentation. MRU Maximum Receive Unit used in LFIB for neighbors.

A value per FEC (or prefix) not based on interface.

On LSR configure MTU to 1508 (1500 + 2 Labels)

(config-if)# mpls mtu 1508

If on switches MTU is not increased = baby giant drops.

29

(config)# system jumbomtu (config)# system mtu 1508

Fragmentation

Fragmentation <> Performance LSR strips the label and fragments payload. Path MTU Discovery

Modern hosts send IP with DF bit set (Dont Fragment) to receive ICMP type 3 code 4 Fragmentation needed Process continues with lowering the size till no error is received and correct MTU achieves.

LSR sends ICMP type 3 code 4 along with LSP (just like TTL exceeded)
30 http://blog.shafagh.com by Shawn Zandi

Label Distribution Protocol

Discovery of LSRs (hello message 224.0.0.2/UDP/646) Session Establishment TCP Label Mapping Advertisement Notifications

LDP needs ip cef Interface configration: mpls ip

31

LDP - LSR Discovery

LDP hello messages are UDP 646 to 224.0.0.2

all routers on this subnet

show mpls ldp discovery [detail] show mpls interfaces (config-if)# mpls ldp discovery

32

http://blog.shafagh.com

by Shawn Zandi

More Information

Good MPLS Reference Book


Cisco Press - MPLS Fundamentals Juniper MPLS-Enabled Applications

33

34

http://blog.shafagh.com

by Shawn Zandi