Transparently Bridge two Networks using MPLS
Overview
This a very basic example how to enable MPLS, establish VPLS tunnel between two wireless links and use it to transparently bridge two networks.
There are several other ways to create this type of setup:
The MPLS/VPLS approach has some advantages:
- VPLS tunnel is about 60% faster and less overhead than EoIP tunnel
- 802.11n speed is limited over WDS bridges, this method doesn't have such limitations
Configuration
Let us assume the following network setup:
Note: For this setup routing and mpls-test package must be installed.
AP
# --configure wireless access point-- /interface wireless set wlan1 disabled=no ssid=MPLS frequency=5180 band=5ghz mode=bridge # --configure IP-- /ip address add address=172.16.0.1/30 interface=wlan1 # --enable LDP-- /mpls ldp set enabled=yes lsr-id=172.16.0.1 transport-address=172.16.0.1 /mpls ldp interface add interface=wlan1 # --configure VPLS tunnel-- /interface vpls add name=vpls1 remote-peer=172.16.0.2 vpls-id=1:1 disabled=no # --add bridge and bridge ports -- /interface bridge add name=bridge1 /interface bridge port add bridge=bridge1 interface=ether1 add bridge=bridge1 interface=vpls1
station
# --configure wireless access point-- /interface wireless set wlan1 disabled=no ssid=MPLS band=5ghz mode=station # --configure IP-- /ip address add address=172.16.0.2/30 interface=wlan1 # --enable LDP-- /mpls ldp set enabled=yes lsr-id=172.16.0.2 transport-address=172.16.0.2 /mpls ldp interface add interface=wlan1 # --configure VPLS tunnel-- /interface vpls add name=vpls1 remote-peer=172.16.0.1 vpls-id=1:1 disabled=no # --add bridge and bridge ports -- /interface bridge add name=bridge1 /interface bridge port add bridge=bridge1 interface=ether1 add bridge=bridge1 interface=vpls1
Confirm that LDP is running
[admin@MikroTik] /mpls ldp neighbor> print Flags: X - disabled, D - dynamic, O - operational, T - sending-targeted-hello, V - vpls # TRANSPORT LOCAL-TRANSPORT PEER SEND-TARGETED ADDRESSES 0 DOTV 172.16.0.2 172.16.0.1 172.16.0.2:0 no 172.16.0.2 [admin@MikroTik] /mpls ldp neighbor> .. .. forwarding-table print Flags: L - ldp, V - vpls, T - traffic-eng # IN-LABEL OUT-LABELS DESTINATION INTERFACE NEXTHOP 0 expl-null 1 V 18 vpls1
Confirm that VPLS tunnel is established:
[admin@MikroTik] /interface vpls> monitor vpls1 once remote-label: 17 local-label: 18 remote-status: transport-nexthop: 172.16.0.2 imposed-labels: 17
Note
When router encapsulates Ethernet frame to forward over VPLS pseudowire, it checks if packet size + VPLS CW + MPLS labels exceeds MPLS MTU of outgoing interface. If it does, VPLS will fragment frame. In this example 1514byte layer2 packets are forwarded over VPLS, router adds CW (4bytes) and one MPLS tag (4bytes) it means that to avoid fragmentation MPLS MTU must be increased to 1522
/mpls interface set 0 mpls-mtu=1522
Ethernet port should be capable of sending 1522 byte L2MTU packets. For more information and supported L2MTU values on RouterBoards refer to Maximum_Transmission_Unit_on_RouterBoards