an introduction to mpls networks and applications

32
MPLS Intro An Introduction to MPLS Networks and Applications by Shawn Zandi

Upload: shawn-zandi

Post on 13-Apr-2017

116 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: An introduction to MPLS networks and applications

MPLS IntroAn Introduction to MPLS Networks and Applications

by Shawn Zandi

Page 2: An introduction to MPLS networks and applications

MPLS History

1994: Toshiba presented Cell Switch Router as IETF BOF

1996: Ipsilon, Cisco and IBM supported the idea

1997: Formation of the IETF MPLS working group

IETF released RFC 2547 "BGP/MPLS VPNs" in 19992

Page 3: An introduction to MPLS networks and applications

Terminology

Cisco Terminology

New Terminology

Tag Switching MPLSTag LabelTDP LDP (Label Distribution Protocol)TFIB LFIB (Label Forwarding Information

Base)TSR LSR (Label Switch Router)TSC LSC (Label Switch Controller)TSP LSP (Label Switched Path)

3

Page 4: An introduction to MPLS networks and applications

MPLS Applications

MPLS VPN Most Popular Application of MPLS

Traffic Engineering First called RRR or R3 (Routing & Resource

Reservation) AToM (Any Transport over MPLS)

Point-to-point circuits over MPLS – Frame Relay, ATM, PPP, HDLC, Ethernet and IEEE 802.1Q

VPLS (Virtual Private LAN Service) Ethernet Supported in a multipoint fashion.

4

Page 5: An introduction to MPLS networks and applications

Advantages of MPLS MPLS VPN

VRF routing tables and ease of growth. Unified infrastructure

Carrier for any technology - ATM, FR, PPP, Ethernet, IPv4 and IPv6. Better IP over ATM than pervious solutions

AAL5 - RFC1483, LANE, Multiprotocol over ATM - MPOA BGP-free core

providers need IP routing but BGP is only required on edges. Optimal Traffic Flow

Connections logically are fully mesh and no extra circuit mapping is required.

Traffic Engineering Different path from least cost path, Source-based routing & Fast

Re-Routing (FRR)

5

Page 6: An introduction to MPLS networks and applications

MPLS Label

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

Label EXP TTL

BOS

6

Page 7: An introduction to MPLS networks and applications

Label Stack Top label and bottom label on a stack:

Label EXP TTL0

Label EXP TTL0

Label EXP TTL1

7

Page 8: An introduction to MPLS networks and applications

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.

MPLS is not a Layer 2 Protocol, not even Layer 3

MPLS is viewed as a Layer 2.5 protocol.

Label 0 Label 1 IPv4PPP

8

Page 9: An introduction to MPLS networks and applications

Protocol Identifier Data Link Layer Protocol Identifier

ATM uses a different way for encapsulating the Label.

Layer 2 Protocol

Identifier Field

Value (hex)

PPP Protocol Field 0281Ethernet SNAP Ether-type 8847HDLC Protocol 8847Frame Relay NLPID 80

9

Page 10: An introduction to MPLS networks and applications

Label Switch Router LSR is a router that supports MPLS.

Ingress LSR Inserts a label (push) and sends packet to MPLS

network. Egress LSR

Removes the label (pop) and sends packet on a data link.

Intermediate LSR Modifies the label (swap) and switches the packets.

Edge LSR = Ingress and Egress LSRs10

Page 11: An introduction to MPLS networks and applications

MPLS Network

Label Switch Router (cont.)

Ingress LSR

Intermediate LSR Egress LSR

Imposing LSR Disposing LSR

11

Page 12: An introduction to MPLS networks and applications

MPLS VPN

Label Switch Router (cont.)

Provider Edge PE CECustomer Edge P

12

Page 13: An introduction to MPLS networks and applications

MPLS Network

Label Switched Path

IngressLSR

LSR LSR LSR IngressLSR

LSP

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

13

Page 14: An introduction to MPLS networks and applications

MPLS Network

Nested LSP

IngressLSR

LSR LSR LSR IngressLSR

LSP

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

LSP

14

Page 15: An introduction to MPLS networks and applications

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

Page 16: An introduction to MPLS networks and applications

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

Page 17: An introduction to MPLS networks and applications

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

Page 18: An introduction to MPLS networks and applications

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

Page 19: An introduction to MPLS networks and applications

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

Page 20: An introduction to MPLS networks and applications

LIB LFIB

LFIB is Label Forwarding Instance Base, a table used to forward incoming and outgoing labels for LSPs.

1. All remote bindings LIB2. Only one possible outgoing label in LIB LFIB

LDP Static MPBGP RSVP

20

Page 21: An introduction to MPLS networks and applications

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

Page 22: An introduction to MPLS networks and applications

LDP Modes

Label Distribution Mode DOD Downstream-on-Demand (pull mode – LC-

ATM) UD Unsolicited Downstream (push mode – Default)

Label Retention Mode LLR Liberal Label Retention (keep all bindings in

LIB - Default) CLR Conservative Label Retention (LC-ATM)

LSP Control Mode Independent LSP (immediate local binding for FEC

- Default) Ordered LSP (IOS ATM switches)22

Page 23: An introduction to MPLS networks and applications

LFIB Forwarding Commands

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

23

Page 24: An introduction to MPLS networks and applications

Label Operation

Pop Swap Push Untagged/No Label Aggregate

Remove the label stack then perform IP Lookup.

24

Page 25: An introduction to MPLS networks and applications

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

Explicit NULL Label(0, for IPv6=2) Like implicit NULL but send label=0 to retain EXP value.

Router Alert Label (1) Perform software Lookup instead of hardware

OAM Alert Label (14) RFC 3429 – not supported on IOS25

Page 26: An introduction to MPLS networks and applications

TTL and MPLS TTL (-1) is copied from IP header to MPLS and

vice versa. Don’t copy if TTL value is greater than packet

TTL. Label to IP

Igress LSR

LSR LSR

TTL=254

TTL=253

TTL=253 TTL=25

3TTL=25

3

TTL=252 TTL=25

3TTL=25

1

TTL=252

IP to Label

TTL=253

Label to Label

26

Page 27: An introduction to MPLS networks and applications

TTL – Label to LabelIntermediate LSR does not change TTL in IP header or underlying labels.

POP

LSR

LSR LSR

TTL=253

TTL=253

TTL=249

TTL=248 TTL=25

3TTL=25

3

TTL=251 TTL=25

3TTL=25

3

TTL=251

TTL=251 TTL=25

0

SWAP

TTL=252

TTL=251

PUSH

27

Page 28: An introduction to MPLS networks and applications

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.

Ingress

Egress

TTL=2 TTL=1TTL=1

ICMP Time

Exceeded

TTL=255

TTL=255

TTL Expire

d!ICMP Time

Exceeded

TTL=254

ICMP Time

Exceeded

TTL=253

ICMP Time

Exceeded

TTL=251

TTL=253ICMP

Time Exceed

ed TTL=25

3

TTL=252ICMP

Time Exceed

ed TTL=25

0

LSR LSRLSR

28

Page 29: An introduction to MPLS networks and applications

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. (config)# system jumbomtu (config)# system mtu 1508

29

Page 30: An introduction to MPLS networks and applications

Fragmentation

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

Path MTU Discovery Modern hosts send IP with DF bit set (Don’t

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

Page 31: An introduction to MPLS networks and applications

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

Page 32: An introduction to MPLS networks and applications

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