Manual:MPLS over PPPoE

From MikroTik Wiki
Revision as of 15:12, 30 November 2009 by Marisb (talk | contribs) (Created page with '{{Versions|v3, v4}} <div class=manual> <h3>Overview</h3> <p>This example shows how to set up MPLS network over PPPoE interfaces. </p> <h3>Example network</h3> <p> As you ca se…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Applies to RouterOS: v3, v4

Overview

This example shows how to set up MPLS network over PPPoE interfaces.

Example network

As you ca see from illustration above, router R2 is pppoe server and routers R3 and R4 are pppoe clients. Our goal is to run MPLS on this network.

When running MPLS over PPPoE or other tunnels you have to deal with MTU issues. Tunnels add more overhead (in our case PPPoE adds 8 more bytes). To be able to forward 1500 byte IP packet without fragmentation we will need interface that supports

1500 (IP frame)
+ 8 (PPPoE header)
+ 4 (MPLS header)
+ 14 (ethernet header)
= 1526bytes

From RouterBoard MTU table you can see that not all routerboards support 1526 L2MTU.

Lets say that R2 is RB433 and pppoe clients are connected to ether2. From the table you can see that max supported l2MTU for this interface is 1522.

Before configuration we must calculate max supported MPLS MTU and what will be max L3 MTU on PPPoE interface.

1522
- 14 (ethernet header)
- 8 (PPPoE header)
= 1500bytes
So 1500 will be max MPLS MTU and that leaves 1496 (1500-4(one mpls label)) L3 MTU for PPPoE interface.

Configuration

R1

/system identity set name=R1

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.1/32 interface=loopback
add address=172.16.0.1/30 interface=ether1

#set up ospf
/routing ospf instance
set default=redistribute-connected=as-type-1
/routing ospf network
add network=172.16.0.0/30 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1500
/mpls ldp
set enabled=yes lsr-id=10.255.255.1 transport-address=10.255.255.1
/mpls ldp interface
add interface=ether1

R2

/system identity set name=R2

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.2/32 interface=loopback
add address=172.16.0.2/30 interface=ether1

# set up pppoe
/interface pppoe-server server 
add interface=ether2 service-name=mpls max-mru=1496 max-mtu=1496

/ppp secret 
add name=mplsR3 service=pppoe remote-address=192.168.0.2 local-address=192.168.0.1
add name=mplsR4 service=pppoe remote-address=192.168.0.3 local-address=192.168.0.1

/interface pppoe-server
add name="mplsR3" user="mplsR3" service="mpls" mtu=1496 mru=1496
add name="mplsR4" user="mplsR4" service="mpls" mtu=1496 mru=1496

#set up ospf
/routing ospf instance
set default=redistribute-connected=as-type-1
/routing ospf network
add network=172.16.0.0/30 area=backbone
add network=192.168.0.2/32 area=backbone
add network=192.168.0.3/32 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1500
/mpls ldp
set enabled=yes lsr-id=10.255.255.2 transport-address=10.255.255.2
/mpls ldp interface
add interface=ether1
add interface=mplsR3
add interface=mplsR4


R3

/system identity set name=R3

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.3/32 interface=loopback

# set up pppoe
/interface pppoe-client 
add name="mplsR3" max-mtu=1496 max-mru=1496 interface=ether2 user="mplsR3" service-name=mpls

#set up ospf
/routing ospf instance
set default=redistribute-connected=as-type-1
/routing ospf network
add network=192.168.0.1/32 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1500
/mpls ldp
set enabled=yes lsr-id=10.255.255.3 transport-address=10.255.255.3
/mpls ldp interface
add interface=mplsR3

R4

/system identity set name=R4

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.4/32 interface=loopback

# set up pppoe
/interface pppoe-client 
add name="mplsR4" max-mtu=1496 max-mru=1496 interface=ether2 user="mplsR4" service-name=mpls

#set up ospf
/routing ospf instance
set default=redistribute-connected=as-type-1
/routing ospf network
add network=192.168.0.1/32 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1500
/mpls ldp
set enabled=yes lsr-id=10.255.255.4 transport-address=10.255.255.4
/mpls ldp interface
add interface=mplsR4

Testing