MPLS – Multiprotocol Label Switching

There is so much about MPLS and how MPLS works. Here I wrote some simple introductory lines about it but only from one perspective. The costumer side one. There is nothing here about BGP and all the things that need to be done and configured in order for MPLS to function in ISP cloud. As an introductory in MPLS this text will take you to the central office and branch side of the MPLS configuration and in this way it will be simpler to explain and enter in the world of MPLS networking technology.

MPLS

In MPLS networks, packets are sending with special MPLS prefix before IP packet data. With an MPLS header that is sometimes mentioned as a label stack. In MPLS header there are labels, every label with some value:

  • Traffic-class field, important for quality of service – QoS
  • Bottom-of-stack flag
  • 8-bit time-to-live – TTL field

Only thing that is important for MPLS switches and the only thing that they are examining is the label stack. In MPLS there is no need for IP routing table. MPLS is becoming more and more popular in networking. These days it is very important and used in almost every network that previously used Frame Relay or ATM for connecting remote branches. ATM is a thing of the past, mostly because overhead in the packet headers. Frame Relays Virtual Circuits VCs that can connect only two end point are also become to expensive and consequently not very popular. MPLS in other hand offered simplicity and speed with less in price.

The technology behind MPLS is based on entire packets prefixed with an MPLS header. MPLS network can connect unlimited number of networks as virtual networks in one MPLS cloud. We can also say that there are no virtual circuits in an MPLS network if we look from customer perspective.

MPLS is not only faster than other technologies but is a big improvement over the Frame Relay and ATM in other ways. The bigger improvement is that each remote local network can be directly connected to all other locations without the need for PVCs – Private Virtual Circuits. This means that every branch office connected with MPLS is able to communicate directly with every other branch office without communicating through central office location. If we want to implement VoIP solution this is a big deal. We all know that the biggest VoIP enemy is delay, even more than slow link.

If you take a peek in the ISP (or Internet) cloud, you will see that there are MPLS paths within the cloud, of course. Not only there are, sure that there are there but this communication path in the cloud and the configuration can get pretty complicated, but from the other, customer perspective, there are no virtual circuits to support.

But the branches are communicating and there are no links connecting them, is that normal or we have missed something? If we send something from one place to another one across MPLS network cloud, the IP addressing will tell us next hop for reach the destination. How this possible if is there is a line in this text in the beginning that is telling us that for MPLS there is no need for routing table?

The true is that there is no need for your Routing table to support MPLS communication across the WAN. The WAN technology, BGP routing protocol and all that is provided by the ISP. That is the name standing for, they are providing us virtual network for communication between distant branches. The provider look at labels in order to make MPLS function, and our network has no labels.

The provider simply takes our packet and puts a label to that packet. After that the packet is forwarded through the cloud with help of that label. You private local LAN network can use the same subnet like some other company that uses the same provider and the same cloud for communication (for example 192.168.10.0/24). Customers from that other company that are also using 192.168.10.0/24 subnet are not able to connect to our routers. They are unable to connect to our branch routers because they have they own labels, those labels are different than ours. Is somehow similar to a VPN. Customers can see its own equipment but not anything else; even they are connected to the same Internet. Be careful, MPLS networks are not Virtual Private Networks or VPNs. MPLS has no encryption involved.

The best thing in MPLS beside the transparent functionality and simplicity is the support for QoS. There is the label in the MPLS label stack called traffic-class field, with the use of this label stack MPLS networks are supporting classes of service. The support for priority queue makes MPLS the best choice for companies that use VoIP across their WAN link. The best thing in this part of the story is that you don’t need to configure MPLS in order for him to work. The provider equipment is the place where the magic is done.

There are some things that you will still need to know for most implementations of MPLS. You will need some knowledge about BGP, and QoS. At least you will need to know how to configure them. Here is a sample MPLS router configuration for the router at our branch office that will use MPLS to connect our LAN segment to other LAN segments in other locations:

A little QoS configuration and in which VoIP RTP and call control will get first priority, and other stuff will be in second line, in default queue. In this example the priority queue will be able to use not more than 60 percent of the link, while call control will get 10 percent:

class-map match-any VoIP-RTP
match ip dscp ef
class-map match-any VoIP-Call-Control
match ip dscp cs3
match ip dscp af31

policy-map MPLS-QoS
class VoIP-RTP
priority percent 60
class VoIP-Call-Control
bandwidth percent 5
class class-default
fair-queue

Here’s the configuration for the MPLS link. Notice that there’s nothing MPLS-specific in this configuration:

interface Serial0/2/0
description [ Branch 10 MPLS 
ip address 10.255.10.2 255.255.255.252
encapsulation ppp
auto qos voip trust
service-policy output MPLS-QoS

Here’s the inside Ethernet interface:

interface FastEthernet0/0
description [ Branch 10 LAN ]
ip address 10.10.10.1 255.255.255.128
duplex auto
speed auto
auto qos voip trust
service-policy output MPLS-QoS

Next, I’ll add a loopback address for routing, which will be useful for VPN failover (not shown here):

interface Loopback0
description [ Branch 10 Loopback ]
ip address 10.10.10.129 255.255.255.255

Finally, we need some BGP configuration so that we can learn and advertise routes
through the cloud:

router bgp 65035
no synchronization
bgp log-neighbor-changes
network 10.10.10.0 mask 255.255.255.128
network 10.10.10.129 mask 255.255.255.255
aggregate-address 10.10.10.0 255.255.255.0 summary-only
neighbor 10.255.255.1 remote-as 65035
neighbor 10.255.255.1 update-source Serial0/3/0
neighbor 10.255.255.1 version 4
neighbor 10.255.255.1 prefix-list Aggregate out
no auto-summary
!
ip prefix-list Aggregate seq 5 permit 10.10.10.0/24

 

Leave a Reply