Professional Documents
Culture Documents
Before MPLS, the most popular WAN protocols were Frame Relay and ATM. These two protocols (on the
particular Frame Relay Switch and ATM switch provided the services at Layer 2 towards the Layer 3
Customers. With the popularity of the internet, IP became the most popular protocol. Then VPNs were
created over these WAN protocols.Customer leased ATM links and Frame Relay links or used leased
lines and built their own private network over it.
The Service Providers can deploy two major VPN moodels to provide services to their customers:
The service provider provides a point-to-point links (virtual circuits) accross his network between the
routers of the customer.The Customer routers form routing peering between them directly accross the
links from the service provider and the routers and switches of the SP carries the customer data accross
the SP network. SP doesnot do peering with the customer and hence doesnot know about the route of
the customer.
Eg:
Here in the service providers network are the frame relay switches that set up the virtual circuits
between the customer routers on the edge of the frame relay network & all the four routers of the
customer does peering with each other.
The Overlay services can also be provided to the customers at Layer 3, by creating GRE tunnels in which
tunnels are build in the Overlay on IP.
bandwidth 2048
The SP routers carry the customer data as well as does peering with the customer routers at Layer 3. The
result is that one routing protocol neighborship or adjacency exists between the customer and the
service provider. In order to provide the Isolation to the customer the service provider is required to
configure access-list (filter list) or route lists. This model requires a lot of provisioning headache because
adding or removing one more customer at a particular PE needed a lot of configuration changes.MPLS
VPNs feature of the MPLS made peer-to-peer model much easier. The isolation of customer is easily
achieved in MPLS VPNs by using the concept of Virtual Routing Forwarding(VRF).
Vrf’s ensure that the routing information from the different customers are kept separate and the MPLS
in the backbone ensure that the packets are forwarded based on the Label information and not the
information in the IP header.
It reduces the number of links to be provided to the customer as in the overlay for N customers we need
N-1 links.
Another benefit is that the SP need to do the provisioning only between PE & CE routers.Whereas in
overlay the SP needs to provision the link between the site. It does reduces a lot cost of the SP.
Now with MPLS VPNs adding one more customer on a PE in done by just doing peering with the
customer router without creating many virtual circuits as with the Overlay Model or by configuring
packet filters or route filters with the Peer-to-Peer Model.
MPLS allow the service provider to run its core network without the burden of running BGP. As to
forward the normal IP packet the router should have all the routing prefixes in its routing table so the SP
will have to run BGP on all its routers which will eat up a lot of processing power of the devices and will
also affect the control plane of the resources. When we run MPLS in our network all the packets are
forwarded on the basis of Label and each label associate with an egress router rather than the IP
address of the destination. Hence the core routers doesn’t have any need to run BGP. BGP is configured
only on the edge routers as these routers need to check the destination IP address. Every BGP prefix on
the ingress router has a BGP next hop IP address which is the IP address of the egress MPLS router. The
label that is associated with an IP packet is the label that is associated with this BGP next hop IP address.
Hence each BGP next hop IP address must be known to all the core routers and this is achieved by
running IGP in the network.
TULIP BGP:
In Tulip there are 9 peer groups as shown in the diagram, total they equals to 696 routers. There are two
Route Reflectors in the network one in Delhi and the second is in Mumbai. These route reflectors
reflects all the bgp routes of all the peering routers. All the bgp routes are learnt via these two route
reflectors, the path via Mumbai RR is preferred (71.5.254.62). In the daigram Delhi RR is shown to be
connected to all the peer groups, similarly the Mumbai RR is also connected to all the peer groups. Both
these Router Reflectors form an IBGP neighbor with all the 696 BGP routers in the AS forming a TCP
connection with all of them. All the routes to reach all the peer group members are learned via OSPF.
Implementation of MPLS in Cisco IOS started in 1998. BGP/MPLS VPNs standard was released in 1999.
1-Process switching: If the packet is sent for the first time then ARP broadcast is sent to get the mac-
address of the router which is at the next hop and the packet is forwarded accordingly. Then for all the
consecutives packets the router does the recursive look-up in the routing table and forwards the
packet.These look-ups are slow.
2- Fast Switching: After the first packet is sent, the routing information is stored in the cache memory,
so for all the other consecutive packets between the two hosts, the router doesn’t follow the process
switching (recursive look-up), instead the router forwards it directly. Thus it increases the speed hence it
is known as fast switching.
In fast switching per packet load sharing is not used and if access-lists are configured then the router
gets fed up.
3- CEF (Cisco Express Forwarding): If we enable cef then the router pre-builds the cache, instead of
waiting for the first packet to come and do the recursive lookup. In CEF Forward Information Base(FIB)
table is created, this is a separate table. Or we can say it is the replica of the routing table. After FIB is
created the router doesn’t looks into the routing table.
One more table known as Adjacency table is build and both the tables are stored in the cache memory.
In the ADJ table all the next hop IP addresses are pre mapped to the next hop mac-addresses. So all the
routing table comes at layer 2, hence it is as fast as switch. Looking at these tables requires a lot of
processing power hence VIB cards are used. Now all the Cisco high end routers which support CEF are
coming with the VIB cards already installed in it.
The one disadvantage of using CEF is that it is Cisco’s proprietary, hence can’t be enabled on the non
cisco devices. So for other routers which are not cisco, CEF is not going to happen thus MPLS comes into
picture.
MPLS is an Industry Standard Mechanism in which forwarding decisions are based on the layer 2 labels.
Control Plane- Where L3 routing protocol exists along with the Label Exchange Protocol (LDP).
Data Plane- This is also known as the forwarding plane. Sends data based on L3or L2 information and
takes care of label swapping.
Experimental bits are left for the vendors for experiments like Qos & Tos.
Bottom of Stack(S) is only 1 bit- indicated whether the label is last or not.
0 indicted not the last label & 1 indicates the last label.
The router are termed in MPLS as Label Switch Routers or Edge Label Switch Routers.
Label Switch Router (LSR) are also known as Provider Router (P). It sits in the core of the network and its
primary job is to switch the labels.
Edge LSR’s arealso known as Provider Edge Routers (PE) router. It sits at the edge of the network and
perform adding labels to all the incoming packets & stripping labels for the outgoing packets.
Dedicated for sending labels everywhere. Labels can be distributed in two ways:
1 Piggyback the Labels on an Existing IP Routing Protocol. Means we can use IGP (such as EIGRP,OSPF)
to distribute the labels along with the IP routes. This is an advantage as the routing and the label
distribution will be in sync. Implementing this is easy with Distant vector routing Protocol like EIGRP
because each router will originate a prefix from its routing table then the router will just bind a label to
that prefix. Wheras with Link state routing protocols like OSPF its difficult to achieve because all the link
state updates are forwarded within the area unchanged. For MPLS to work each router is expected to
distribute the label for each IGP prefix-even the routers that are not the originators of that prefix. To do
this Link state routing protocols need to be enhanced which is usually avoided. However everyone
prefers a separate protocol for distributing the labels.
2 Running a separate Protocol for Label Distribution.
TDP is cisco proprietary and was designed for the testing purpose hence it is not used now, RSVP is
mostly used for traffic engineering purpose the most popular is to use LDP.
Label Information Base: This table holds labels matched to network address. Eg 20.0.0.0->50 on A , 60
on B, 70 on C and so on. This table is build with the help of LDP.
Label Forwarding Information Base(LFIB): This table is the main table and indicates which label should go
in which direction.
sh adjacency detail
to check the LDP hello & hold packets are sent properly which is used to form adjacency
sh mpls interfaces
to check the routing and label bindings that are stored in LIB
sh mpls ip binding
Configuring a VRF
ip vrf cust-one
rd 1:1
route-target export 1:1
route-target import 1:1
!
interface Serial5/1
ip vrf forwarding cust-one
ip address 10.10.4.1 255.255.255.0
!
Router#show ip route vrf cust-one
Route-Distinguisher (rd):
Is a 64 bit value prepended to IPv4 address which keeps the customers route unique.
Route-Target(rt):
Additional field is there to allow customer to participate in multiple VPN’s. Defined as import and export
values, best example is internet. RT allows multiple VPNs i.e. a number of different customers can use
the same internet.
Also with the help of RT we can allow two different customers to communicate with each other, best
example is VOIP in between two different organization.
20.0.0.0 network will be advertised to all the router via routing protocol and every router will assign a
label to that network, but when the packet comes it will go directly through the routing protocol
because the routers have not shared their labels. Hence we use LDP.
PHP is introduced to remove two lookup at the router A, LFIB and the routing table.
Router A advertises to router B and router C that I am 50 and I am the end of the trail here and both the
routers will make an entry that the router A is the end of 50. So now both routers B & C will pop the
label when they see that the label is 50 before sending it to A.
Now the router A doesn’t looks into LFIB and directly sends the packet by looking at the FIB(Routing
table).
Configuring MPLS:
Verification
Consider the following example where we are going to configure MPLS on the two routers.
So check wether we have enabled an IGP in the network and all the network routes are distributed
properly. It can be done by the command
sh ip protocol—this will show the information about the IGP like OSPF.
Then turn on CEF on the cisco devices- CEF and MPLS are configured on particular outgoing interfaces
and not in the global configuration mode because they will increase the FIB tables.
RouterA#
config t
ip cef
int fa0/1
ip route-cache cef
exit
after this check your FIB is developed in the cache—sh ip cef details
int fa0/1
mpls ip
exit
after this command the mpls router starts assigning label to every single network in cache.
By default mtu size is 1500 bytes, but when labels start sticking in the packet size increases, so to avoid
fragmentation we increase the mtu.
int fa0/1
mpls mtu 1512—this is recommended because each label is of 32 bit (4 byte) and in a packet max three
labels can be applied 4+4+4=12 byte.
If we have switches in our network we will have to enable jumbo frames on the switches.