MPLS Crib Notes

These are my ‘crib notes’ that I’ve made to serve as a last minute refresher. Please forgive the grammer / spelling as I did not develop these notes with publishing in mind


*** Theory ***

  • Nutshell – Tags packets so fewer layer 3 / route-table router lookups are needed. Can run in frame mode or cell (ATM) mode
  • Edge LSR (Entry / Exit points) – Performs routing lookup, assigns label and then sends to LSR. At the exit edge LSR a label lookup is done, only to realise there is no further label so the label is popped and then an IP look up is done to send the packet on its way.  These routers should be powerful. Also handles labelled and non-labelled networks
    • PHP – Instead of the exit edge LSR doing 2 lookups, we can make it more efficient by it requesting the downstream neighbour to pop the label instead so that it only has to do IP Lookup
  • LSR – Uses the label put on by edge LSR to route to next hop. No need to do route lookup. Does label lookup then a label swap
  • Label – Locally significant and identifies FEC. It is inserted between the L2 and L3 layer (aka 2.5). Local significance means multiple interfaces on the same router can use same label values. Label has 4 fields.
    • Label (20bits)
    • Experimental / CoS (3 bits) – Code of service
    • TTL (8 bits) – Time to Live
    • BOS (Bottom of stack, 1 bit) –
  • FEC – Forward Equivalent Class – Group of packets that is forward to the same next hop ip address & assigned the same level of treatment (QoS etc). Or is forwarded based on following;  Interface, IP Prec or DSCP, Src IP, Src or Dst port etc
  • Label Stack – Packet with more than 1 label. Typically used in MPLS VPNs to form encapsulations
  • pre-process – Label is binded to each route prefix. This is then shared to downstream MPLS routers using LDP, TDP , RVSP etc.
  • Process – E-LSR performs IP Lookup then assigns label (push). LSR looks up label table, swaps label to match downstream router and then forwards (swap). Exit E-LSR will remove (pop) label and send to customer. If a LSR has 2 potential next hops, the LSR will perform a label lookup in its LFIB that resides in the data plane. It will see what the upstream router has assigned as it label value and then place that value instead of it own when sending (swap)
    • Dropped packets – If a labelled packet comes in and has no entry in the FLIB. Exception is
      • Interim Packet Propagation – Time between a labelled packet arriving and time that the LSR has an entry in the FLIB for that label. In this case packet uses CEF. If not entry in FIB, then packet is finally dropped
  • Control Plane – Takes care of routing table. Label bindings are exchanged. Label binding allows LSR1 to know what label LSR2 is expecting. The control plane also has routing protocols.
    • LIB – Stores binding between local labels and FEC. Built via LDP/TDP. Sends these binding to neighbour
    • Routing Protocols
    • LDP UDP 646 (Industry and most popular) – Interface can run both LDP and TDP.
    • TDP TCP 711 (Cisco – being phased out) – Carries label information between LSR’s
    • RSVP – Reserve bandwidth for end-to-end for traffic engineering
  • Data / forwarding Plane – Handles forwarding of the traffic. Forwards by labels or address. It is a copy of the routing table but just in a different format
    • FIB – Has route table like information and is built via IGP
      • Distributed CEF – Uses multiple routers for CEF!
  • LFIB – Built by both IGP and LDP/TDP and performs the actual forwarding of labelled packets

  • LSP – Label Switch Path – The path the packet takes
  • Configuration – Must have CEF enabled. MTU should be changed to 1512. Enable MPLS via interface using  mpls ip
  • Before MPLS VPNS
    • Peer to peer – Client sends routes to ISP Edge router and that router shares it with all the other ISP routers. E.g. customer to edge is IGP. Then route redistribution into BGP to share with other routers
      • Bad – Can cause routing loops and have customers with overlapping subnets
  • Overlay – Provides VC but no routing services e.g. Frame Relay

  • MPLS VPNS – Allows MPLS for multiple customer s sharing the same ISP routers
    • VRF – Virtual Router & Forwarding Table – 1 Route table instance per customer = avoids overlapping subnets from different customers.
    • RD – Route Distinguisher – Unique 64 but attached to IP (vpnv4 prefix) & uses MPBGP on PE routers. So any overlapping subnets will have a unique prefix which mitigates this problem
    • BGP – Has attribute called RT. Route Target assigned the vpnv4 prefix

  • MTU – Must set to following otherwise could be seen as jumbo or giant frame which are frames that are dropped or fragmented.
    • PPPoE                                   = 1492
    • .1Q                                         = 1496
    • Ethernet                              = 1500
    • MPLS                                     = 1504
    • MPLS VPN                           = 1508 (As two labels are used)
    • MPLS VPNS + TE               =1512
    • Good practice for MPLS = 1512

2 Responses

  1. Nutshell–fewer router lookups are needed–incorrect. LFIB lookups happen at every LSR. It’s purely semantics, but each router does a lookup along the way, just not a full layer 3 header lookup.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: