06 January 2011

MPLS / VPLS

Before running MPLS on your production network, make sure you have an in-depth understanding of MPLS and VPLS. It makes for a hard time troubleshooting when things screw up if you don't.

For an overview of how and why MPLS
http://en.wikipedia.org/wiki/Multiprotocol_Label_Switching



MPLS can run alongside your existing IGP such as OSPF which will still determine the best path. Set up your LDP neighbors with targeted addresses, using a loopback address. For a basic MPLS implementation, the following configuration is needed on every Mikrotik router. The routers need to be on 4.xx, preferably the latest (4.16 at the time of writing).

/mpls ldp set enabled=yes transport-address=[loopback] lsr-id=[loopback]
/mpls ldp interface add interface=ether1

Make sure your interfaces aren't bridged or LDP neighbors may not happen.

Check /mpls ldp neighbor print output to verify that LDP relationships have established.
Check /mpls forwarding-table print to see the MPLS 'routes'.
Check /mpls local-bindings print to see what networks and what labels the local router has assigned and is advertising.
Check /mpls remote-bindings print to see incoming label advertisements.


VPLS tunnels are a method to tunnel ethernet frames between sites. The outcome is the same as EoIP tunnels, but the advantages are that VPLS/MPLS are industry standard, whereas EoIP is a Mikrotik proprietary protocol. Also VPLS is up to 60% more efficient than EoIP. The latter sold me.

Create new vpls interface and mirror on other end
/interface vpls add name=vpls1 remote-peer=10.1.1.2 cisco-style=yes cisco-style-id=123 pw-type=raw-ethernet

I got better performance out of using cisco style pseudowires, plus they are compatible with Cisco so it's a win win for me.

**note: Change MPLS interface MTU to 1522 to accomodate overhead and labels, otherwise fragmentation will occur and performance will be degraded. If you are using it as your internet connection, you will find some sites (paypal.com) will not load at all without the mtu change.
/mpls interface set 0 mtu-1522


No comments:

Post a Comment