Multiprotocol Label Switching :
Two Protocols Used for MPLS :
1. LDP : Label Distribution Protocol
1. Uses an all-routers multicast address (224.0.0.2) for directly connected neighbor discovery.
2. Uses UDP and TCP port 646 for neighbor discovery and session establishment.
3. Provides optional MD5 authentication
4. Industry standard, can be run on both Cisco / non Cisco MPLS router
2. TDP : Tag Distribution Protocol
1. Cisco proprietary protocol, can only run on Cisco Routers
2. Uses local broadcasts
3. Uses UDP and TCP port 711
4. No optional MD5 authentication provided
Customer Edge (CE) router — a router at a customer site that connects to the Service Provider (via one or more Provider Edge routers)
Provider Edge (PE) router — a router in the Service Provider network to which Customer Edge Routers connect
Provider Core (Core) router — a router in the Service Provider network interconnecting Provider Edge routers but, generally, not itself a Provider Edge Router
Entry and Exit PE routers — the PE routers by which a packet enters and exits the Service Provider network
MPLS uses LSR = Label Switch Routing
MPLS has 2 basic components :
1. Data Plane = Forwarding Traffic
2. Control Plane = Takes care of routing table, where label bindings are exchanged.
2 Components found in MPLS :
1. FIB = Forwarding Information Base
2. LFIB = Label Forwarding Information Base
MPLS networks have an Incoming / Outgoing edge router called “EDGE LSR”
Edge LSR performs 2 lookups :
1. PHP = Penultimate Hop Popping
2. Routing Table Lookup
Each LSR will build a :
LIB = Label Information Base : to store both its locally created bindings it receives from its neighbors.
LIB is found in the Control Plane. This information is actually used by the LSR to perform Label Switching.
LFIB = Label Forwarding Information Base, is found in the Data (forwarding) Plane.
The data structure used by switching functions to switch labeled packets.
LSR performs a :
CEF = Cisco Express Forwarding, which uses the FIB (forwarding information base). If there is no entry in the FIB for the destination network, the packet is finally dropped.
EDGE LSRs : receive labeled or unlabeled packets and must be able to send them with or without a label.
Perform a “POP” where the label packets is removed and performs a routing lookup to send packet to destination or next hop router running MPLS.
Command to configure :
ip cef = Makes MPLS operational with CEF routing.
mpls ip = Enables label switching
“show mpls forwarding-tables detail” = show LFIB table
There are two main components to a VRF :
The route distinguisher and the route target.
A route distinguisher (RD) is a number — which doesn’t actually have any real significance
other than to help identify a VPN in a provider’s network and allow for overlapping IP space.
You can enter an RD in either of these formats:
16-bit AS number: your 32-bit number
For example, 101:3.
32-bit IP address: your 16-bit number
For example, 192.168.122.15:1.
The route target (RT) indicates the VPN membership of a route and allows VPN routes to be
imported or exported into or out of your VRFs. The RT functions a little like a routing policy
— determining how routes are distributed throughout the particular VPN. Like the RD, the RT
is 8 bytes in length and can be entered as:
16-bit AS number: your 32-bit number
For example, 101:3.
32-bit IP address: your 16-bit number
For example, 192.168.122.15:1.
Service Provider SP uses the following method to handle overlapping customer address range :
1. RD = Route Distinguisher
2. VRF = Virtual Routing and Forwarding Table
Using the example scenario, let’s configure two VRFs on the service provider router.
Customer A will have an RD of 192.168.1.1:100 and Customer B will have an RD of 192.168.2.1:200
Customer A
SP_Router(config)#interface loopback 1
SP_Router(config-if)#description Loopback interface for Customer_A VRF
SP_Router(config)#interface g0/0
SP_Router(config-if)#description Connection to the Customer_A router
SP_Router(config)#ip vrf Customer_A
SP_Router(config-vrf)#rd 192.168.1.1:100
SP_Router(config-vrf)#route-target import 192.168.1.255:100
SP_Router(config-vrf)#route-target export 192.168.1.255:100
Customer B
SP_Router(config)#interface loopback 2
SP_Router(config-if)#description Loopback interface for Customer_B VRF
SP_Router(config)#interface g0/1
SP_Router(config-if)#description Connection to the Customer_B router
SP_Router(config)#ip vrf Customer_B
SP_Router(config-vrf)#rd 192.168.2.1:200
SP_Router(config-vrf)#route-target import 192.168.2.255:200
SP_Router(config-vrf)#route-target export 192.168.2.255:200
Assigning the interfaces
Once you have created the VRF you can begin to assign the particular interfaces and start to
separate the customers.
Notice I did not assign an IP address to the interfaces which are intended to be in the VRF.
If you put the IP addresses on prior to putting the interface in the VRF, the IP address will be removed and cause you to have to re-IP the interfaces.
You can verify your configurations by using the command:
show ip vrf
Customer A
SP_Router(config)#interface lo1
SP_Router(config-if)#ip vrf forwarding Customer_A
SP_Router(config-if)#ip address 192.168.1.1 255.255.255.255
SP_Router(config)#interface g0/0
SP_Router(config-if)#ip vrf forwarding Customer_A
SP_Router(config-if)#ip address 10.1.1.1 255.255.255.252
Customer B
SP_Router(config)#interface lo2
SP_Router(config-if)#ip vrf forwarding Customer_B
SP_Router(config-if)#ip address 192.168.2.1 255.255.255.255
SP_Router(config)#interface g0/1
SP_Router(config-if)#ip vrf forwarding Customer_B
SP_Router(config-if)#ip address 10.1.2.1 255.255.255.252
Comments
(There are currently no comments for this post.)