MPLS Introduction Computer Networks 2007 Week 9 Lecture 1 by Donald Neal
RFC4364 VPN's (Previously RFC2547bis VPN's)
RFC BGP/MPLS IP Virtual Private Networks (VPNs) Talks only about “Frame-Mode” MPLS No discussion of integration with ATM Layer three service Layer two VPLS (“Kompella”) if there's time Layer two virtual circuits (“Martini”) not discussed
RFC4364 VPN's Bits to be Put Together MPLS – Multi Protocol Label Switching LDP – Label Distribution Protocol RSVP – Resource Reservation Protocol MBGP – Multiprotocol BGP Assumed IGP – OSPF or IS-IS IP
Forwarding an IP Packet IP PacketLayer 2 HeaderIP PacketLayer 2 Header Forwarding Information Base (FIB), usually called Forwarding Table Maps reachable network prefix to interface identifier and next hop.
IP PacketLayer 2 HeaderMPLS Label S bit
Labelled IP Packet IP PacketLayer 2 HeaderMPLS Label S bit EXP (3 bits) Label (20 bits) TTL (8 bits) 20-bit label identifier 3-bit “Experimental” field available for QoS “S” Bottom of Stack bit – set if this is the last label in the stack TTL – analogous to IP TTL
Label Stacking IP PacketLayer 2 HeaderMPLS Label S bit EXP (3 bits) Label (20 bits) TTL (8 bits) 20-bit label identifier 3-bit “Experimental” field available for QoS “S” Bottom of Stack bit – set if this is the last label in the stack TTL – analogous to IP TTL MPLS Label
Forwarding a Labelled Packet Label Information Base (LIB), aka Label Forwarding Table Maps incoming (top) label identifier to Action: Push, Pop, Swap IP Packet Layer 2 HeaderMPLS Label
The Way of the Labelled Packet(1) IP Packet Arrives at Edge of MPLS Network LER does IP lookup. IP Packet
The Way of the Labelled Packet(2) IP Packet Edge LSR pushes (prepends) label to packet Labelled packet forwarded
The Way of the Labelled Packet(3) IP Packet Core router looks up label forwarding table (not IP routing table) and swaps labels Labelled packet forwarded
The Way of the Labelled Packet(4) IP Packet Edge LSR looks up label forwarding table (not IP routing table) and pops label Edge LSR looks up IP forwarding table and fowards IP packet.
The Way of the Labelled Packet(4) Label Switched Path Ingress Router Egress Router Upstrea m Downstrea m
The Customer and the Provider PE CECE CECE P
The Customer and the Provider PE CECE CECE P Customer Routes Customer Routes as seen by the Provider
Why are we Doing This? VPN's on a really big scale Private address space Traffic Engineering
The Way of the MPLS VPN Packet(1) HAM- PE1 CECE TAU-PE1 CECE AKL- P1 ROT-P1 HAM- P1 TAU-P1 IP Packet forwarded from customer router to PE router HAM- PE1 HAM-PE1 pushes (prepends) two labels to packet Labelled packet forwarded IP Packet To TAU-PE1 To Customer on TAU-PE
The Way of the MPLS VPN Packet(2) HAM- PE1 CECE TAU-PE1 CECE AKL- P1 ROT-P1 HAM- P1 TAU-P1 IP Packet
The Way of the MPLS VPN Packet(3) HAM- PE1 CECE TAU-PE1 CECE AKL- P1 ROT-P1 HAM- P1 TAU-P1 IP Packet TAU-PE1 pops the top label. TAU-PE1 reads the other label, removes it and forwards an IP packet. OR Penultimate Hop Popping TAU-P1 pops top label
Why are we Doing This? VPN's on a really big scale Private address space Only on CE-PE links – specific to customers - do we use IP addresses Each PE holds routing tables only for customers connected to that PE (including knowing labels used for that customer by other PE's) P nodes may not hold customer routes Traffic Engineering
Not Fiddling With Things PE CECE CECE P Customer Routes Customer Routes as seen by the Provider
To Make This Happen We Need IP routing for internal use PE's holding large numbers of distinct routing tables A way of passing label information around A way of passing customer routes tied to labels
IP Routing for Internal Use HAM- PE1 CECE TAU-PE1 CECE AKL- P1 ROT-P1 HAM- P1 TAU-P1 lo 0 IGP – OSPF or IS-IS
To Make This Happen We Need IP routing for internal use PE's holding large numbers of distinct routing tables – VPN Routing and Forwarding Instances A way of passing label information around A way of passing customer routes tied to labels
VRF's One VRF per address space (e.g. per customer) Interfaces to customer routers assigned to a VRF Each PE needs peer with each other PE only once for all VRF's Scales in just the way that Logical Routers don't
To Make This Happen We Need IP routing for internal use PE's holding large numbers of distinct routing tables – VPN Routing and Forwarding Instances A way of passing label information around LDP – Label Distribution Protocol RSVP – Resource Reservation Protocol Or both A way of passing customer routes tied to labels MBGP – Multiprotocol BGP
Further Reading RFC BGP/MPLS IP Virtual Private Networks (VPNs) RFC3031 – Multiprotocol Label Switching Architecture
Reading for Next Lecture RFC LDP Specification to end of 2.7 (p.23) RFC Traffic Engineering (TE) Extensions to OSPF Version 2