Manual:MPLS: Difference between revisions
No edit summary |
|||
(24 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== | ==Sub Categories== | ||
{{ycgu-cooltable-3 | |||
|title-left='''List of reference sub-pages''' | |||
|title-center='''Case studies''' | |||
|title-right='''List of examples''' | |||
|content-left= | |||
* '''Interface''' | |||
* [[ | **[[M:Interface/VPLS | vpls ]] | ||
* | **[[M:Interface/Traffic_Engineering | traffic-eng]] | ||
* [[ | |||
= | * '''MPLS''' | ||
* [[Virtual Routing and Forwarding]] | **[[M:MPLS/LDP | ldp ]] | ||
* [[ | **[[M:MPLS/Traffic_Eng | traffic-eng]] | ||
* [[ | |||
* [[ | |||
* [[ | |content-center= | ||
'''General''' | |||
* [[M:MPLS/Overview|MPLS Overview and RouterOS MPLS Implementation Status]] | |||
* [[M:MPLS/EXP bit behaviour | EXP bit behaviour]] | |||
* [[M:Maximum_Transmission_Unit_on_RouterBoards#MPLS.2FLayer-2.5.2FL2.5_MTU|L2MTU]] | |||
'''Layer2 VPN''' | |||
* [[M:MPLSVPLS|LDP and LDP based VPLS]] | |||
* [[M:BGP_based_VPLS|BGP based VPLS]] | |||
* [[M:Cisco_VPLS|Cisco style VPLS]] | |||
* [[M:VPLS_Control_Word|VPLS Control Word]] | |||
'''Layer3 VPN''' | |||
* [[M:Virtual Routing and Forwarding | Virtual Routing and Forwarding (VRF)]] | |||
* [[M:OSPF as PE-CE routing protocol | OSPF as PE-CE routing protocol]] | |||
* [[M:EBGP as PE-CE routing protocol | EBGP as PE-CE routing protocol]] | |||
'''Traffic Engineering''' | |||
* [[M:TE_Tunnels|TE Tunnels]] | |||
* [[M:TE_tunnel_auto_bandwidth|TE Tunnel Bandwidth Control]] | |||
|content-right= | |||
'''General''' | |||
* [[M:MPLS over PPPoE | MPLS over PPPoE]] | |||
'''Layer2 VPN''' | |||
* [[Manual:MPLS_L2VPN_vs_Juniper | P2P L2VPN to Juniper router]] | |||
'''Layer3 VPN''' | |||
* [[M:Layer-3 MPLS VPN example|A complete Layer-3 MPLS VPN example]] | |||
* [[VRF_Route_Leaking|VRF Route Leaking]] | * [[VRF_Route_Leaking|VRF Route Leaking]] | ||
* [[M:Internet access from VRF|Internet access from VRF]] | |||
* [[M:Internet access from VRF with NAT|Internet access from VRF with NAT]] | |||
'''Traffic Engineering''' | |||
* [[M:Simple_TE | Simple TE configuration]] | |||
* [[M:TE Tunnels Example | TE tunnels for VPLS]] | |||
}} | |||
==Summary== | |||
'''[http://mikrotik.com/software.html MikroTik RouterOS] supports MPLS. | |||
All [http://routerboard.com MikroTik RouterBOARD] hardware products support MPLS.''' | |||
==General Properties== | |||
{{Mr-arg-table-h | |||
|prop=Property | |||
|desc=Description | |||
}} | |||
{{Mr-arg-table | |||
|arg=dynamic-label-range | |||
|type=range of integer[16..1048575] | |||
|default=16-1048575 | |||
|desc=Range of Label numbers used for dynamic allocation. First 16 labels are reserved for special purposes (as defined in RFC). If you intend to configure labels statically then adjust dynamic default range not to include numbers that will be used in static configuration. | |||
}} | |||
{{Mr-arg-table-end | |||
|arg=propagate-ttl | |||
|type=yes {{!}} no | |||
|default=yes | |||
|desc=Whether to copy TTL values from IP header to MPLS header. If this option is set to '''no''' then hops inside MPLS cloud will be invisible from traceroutes. | |||
}} | |||
==Forwarding Table== | |||
<p id="shbox"><b>Sub-menu:</b> <code>/mpls forwarding-table</code></p> | |||
Entries in this sub-menu shows label bindings for specific routes that will be used in MPLS label switching. Properties in this menu are read-only | |||
{{Mr-arg-table-h | |||
|prop=Property | |||
|desc=Description | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=bytes | |||
|type=integer | |||
|desc=Total number of packet bytes matched by this entry | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=destination | |||
|type=IP/Mask | |||
|desc=Destination prefix for which labels are assigned | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=in-label | |||
|type=integer | |||
|desc=Label number for incoming packet | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=interface | |||
|type=string | |||
|desc= | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=ldp | |||
|type=yes {{!}} no | |||
|desc=Whether labels are [[M:MPLS/LDP | LDP]] signaled | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=nexthop | |||
|type=IP | |||
|desc=IP address of the nexthop | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=out-label | |||
|type=integer | |||
|desc=Label number which is added or switched to for outgoing packet. | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=packets | |||
|type=integer | |||
|desc=Number of packets matched by this entry | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=traffic-eng | |||
|type=yes {{!}} no | |||
|desc=Shows whether entry is signaled by RSVP-TE (Traffic Engineering) | |||
}} | |||
{{Mr-arg-ro-table-end | |||
|arg=vpls | |||
|type=yes {{!}} no | |||
|desc=Shows whether entry is used for [[M:MPLSVPLS | VPLS]] tunnels. | |||
}} | |||
For example we have forwarding table as shown below. | |||
<pre> | |||
[admin@RB493G] /mpls forwarding-table> print | |||
Flags: L - ldp, V - vpls, T - traffic-eng | |||
# IN-LABEL OUT-LABELS DESTINATION IN NEXTHOP | |||
0 expl-null | |||
1 L 105 10.255.255.36/32 lo 10.5.101.36 | |||
2 L 120 112 3.3.3.1/32 lo 10.5.101.3 | |||
3 L 121 113 3.3.3.2/32 lo 10.5.101.3 | |||
[admin@RB493G] /mpls forwarding-table> | |||
</pre> | |||
You can see that all labels are LDP signaled. Note that for entry #1 there is no out-label, it means that MPLS label switching will not occur, packet will be sent out as regular IP packet. In the other hand entry #2 has in-label and out-label, which means that during packet forwarding label will be switched from 120 to 112. | |||
==Interface== | |||
<p id="shbox"><b>Sub-menu:</b> <code>/mpls interface</code></p> | |||
This menu allows to configure MTUs including MPLS headers that interface can forward without fragmentation. | |||
{{Note| If Ethernet card does not support Jumbo frames, then MPLS MTU for all interfaces on all devices participating in LSP should be set to 1500}} | |||
'''Properties''' | |||
{{Mr-arg-table-h | |||
|prop=Property | |||
|desc=Description | |||
}} | |||
{{Mr-arg-table | |||
|arg=comment | |||
|type=string | |||
|default= | |||
|desc=Short description of the interface | |||
}} | |||
{{Mr-arg-table | |||
|arg=disabled | |||
|type=yes {{!}} no | |||
|default=no | |||
|desc=If set to '''yes''' then this configuration is ignored. | |||
}} | |||
{{Mr-arg-table | |||
|arg=interface | |||
|type=string {{!}} all | |||
|default=all | |||
|desc=Interface name to which apply settings. If set to '''all''' then the same config will be used for every interface if there is no specific configuration for the interface. | |||
}} | |||
{{Mr-arg-table-end | |||
|arg=mpls-mtu | |||
|type=integer [512..65535] | |||
|default=1508 | |||
|desc=Option represents how big packets can be carried over the interface with added MPLS labels. [[ Manual:Maximum_Transmission_Unit_on_RouterBoards#MPLS.2FLayer-2.5.2FL2.5_MTU | <code>Read More >></code>]] | |||
}} | |||
In RouterOS by default have entry which sets MS MTU to 1508 for all interfaces. | |||
<pre> | |||
[admin@RB493G] /mpls interface> print | |||
Flags: X - disabled | |||
# INTERFACE MPLS-MTU | |||
0 all 1508 | |||
</pre> | |||
==Local Bindings== | |||
<p id="shbox"><b>Sub-menu:</b> <code>/mpls local-bindings</code></p> | |||
This sub-menu shows labels bound to the routes locally in the router. In this menu also static bindings can be configured if there is no intention to use any of dynamic protocols (like LDP). | |||
'''Properties''' | |||
{{Mr-arg-table-h | |||
|prop=Property | |||
|desc=Description | |||
}} | |||
{{Mr-arg-table | |||
|arg=comments | |||
|type=string | |||
|default= | |||
|desc=Short description of the entry | |||
}} | |||
{{Mr-arg-table | |||
|arg=disabled | |||
|type=yes {{!}} no | |||
|default=no | |||
|desc= | |||
}} | |||
{{Mr-arg-table | |||
|arg=dst-address | |||
|type=IP/Mask | |||
|default= | |||
|desc=Destination prefix for which label is assigned | |||
}} | |||
{{Mr-arg-table-end | |||
|arg=label | |||
|type=integer[0..1048576] {{!}} alert {{!}} expl-null {{!}} expl-null6 {{!}} impl-null {{!}} none | |||
|default= | |||
|desc=Label number assigned to destination. | |||
}} | |||
'''Read-only Properties''' | |||
{{Mr-arg-table-h | |||
|prop=Property | |||
|desc=Description | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=adv-path | |||
|type= | |||
|desc= | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=advertised | |||
|type=yes {{!}} no | |||
|desc=Whether binding was advertised to the neigbors | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=dynamic | |||
|type=yes {{!}} no | |||
|desc=Whether entry was dynamically added | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=egress | |||
|type=yes {{!}} no | |||
|desc= | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=gateway-route | |||
|type=yes {{!}} no | |||
|desc=Whether destination is reachable through the gateway. | |||
}} | |||
{{Mr-arg-ro-table | |||
|arg=local-route | |||
|type=yes {{!}} no | |||
|desc=Whether destination is locally reachable on the router | |||
}} | |||
{{Mr-arg-ro-table-end | |||
|arg=peers | |||
|type=IP:label_space | |||
|desc=IP address and label space of the peer to which this entry was advertised. | |||
}} | |||
==Remote Bindings== | |||
<p id="shbox"><b>Sub-menu:</b> <code>/mpls remote-bindings</code></p> | |||
Sub-menu shows label bindings for routes received from other routers. This table is used to build [[#Forwarding Table | Forwarding Table]] | |||
{{cont}} | |||
[[Category:Manual]] | |||
[[Category:Internetworking]] | |||
[[Category:MPLS]] |
Latest revision as of 09:47, 6 December 2018
Sub Categories
List of reference sub-pages |
Case studies |
List of examples |
|
General
|
General
|
Summary
MikroTik RouterOS supports MPLS. All MikroTik RouterBOARD hardware products support MPLS.
General Properties
Property | Description |
---|---|
dynamic-label-range (range of integer[16..1048575]; Default: 16-1048575) | Range of Label numbers used for dynamic allocation. First 16 labels are reserved for special purposes (as defined in RFC). If you intend to configure labels statically then adjust dynamic default range not to include numbers that will be used in static configuration. |
propagate-ttl (yes | no; Default: yes) | Whether to copy TTL values from IP header to MPLS header. If this option is set to no then hops inside MPLS cloud will be invisible from traceroutes. |
Forwarding Table
Sub-menu: /mpls forwarding-table
Entries in this sub-menu shows label bindings for specific routes that will be used in MPLS label switching. Properties in this menu are read-only
Property | Description |
---|---|
bytes (integer) | Total number of packet bytes matched by this entry |
destination (IP/Mask) | Destination prefix for which labels are assigned |
in-label (integer) | Label number for incoming packet |
interface (string) | |
ldp (yes | no) | Whether labels are LDP signaled |
nexthop (IP) | IP address of the nexthop |
out-label (integer) | Label number which is added or switched to for outgoing packet. |
packets (integer) | Number of packets matched by this entry |
traffic-eng (yes | no) | Shows whether entry is signaled by RSVP-TE (Traffic Engineering) |
vpls (yes | no) | Shows whether entry is used for VPLS tunnels. |
For example we have forwarding table as shown below.
[admin@RB493G] /mpls forwarding-table> print Flags: L - ldp, V - vpls, T - traffic-eng # IN-LABEL OUT-LABELS DESTINATION IN NEXTHOP 0 expl-null 1 L 105 10.255.255.36/32 lo 10.5.101.36 2 L 120 112 3.3.3.1/32 lo 10.5.101.3 3 L 121 113 3.3.3.2/32 lo 10.5.101.3 [admin@RB493G] /mpls forwarding-table>
You can see that all labels are LDP signaled. Note that for entry #1 there is no out-label, it means that MPLS label switching will not occur, packet will be sent out as regular IP packet. In the other hand entry #2 has in-label and out-label, which means that during packet forwarding label will be switched from 120 to 112.
Interface
Sub-menu: /mpls interface
This menu allows to configure MTUs including MPLS headers that interface can forward without fragmentation.
Note: If Ethernet card does not support Jumbo frames, then MPLS MTU for all interfaces on all devices participating in LSP should be set to 1500
Properties
Property | Description |
---|---|
comment (string; Default: ) | Short description of the interface |
disabled (yes | no; Default: no) | If set to yes then this configuration is ignored. |
interface (string | all; Default: all) | Interface name to which apply settings. If set to all then the same config will be used for every interface if there is no specific configuration for the interface. |
mpls-mtu (integer [512..65535]; Default: 1508) | Option represents how big packets can be carried over the interface with added MPLS labels. Read More >> |
In RouterOS by default have entry which sets MS MTU to 1508 for all interfaces.
[admin@RB493G] /mpls interface> print Flags: X - disabled # INTERFACE MPLS-MTU 0 all 1508
Local Bindings
Sub-menu: /mpls local-bindings
This sub-menu shows labels bound to the routes locally in the router. In this menu also static bindings can be configured if there is no intention to use any of dynamic protocols (like LDP).
Properties
Property | Description |
---|---|
comments (string; Default: ) | Short description of the entry |
disabled (yes | no; Default: no) | |
dst-address (IP/Mask; Default: ) | Destination prefix for which label is assigned |
label (integer[0..1048576] | alert | expl-null | expl-null6 | impl-null | none; Default: ) | Label number assigned to destination. |
Read-only Properties
Property | Description |
---|---|
adv-path () | |
advertised (yes | no) | Whether binding was advertised to the neigbors |
dynamic (yes | no) | Whether entry was dynamically added |
egress (yes | no) | |
gateway-route (yes | no) | Whether destination is reachable through the gateway. |
local-route (yes | no) | Whether destination is locally reachable on the router |
peers (IP:label_space) | IP address and label space of the peer to which this entry was advertised. |
Remote Bindings
Sub-menu: /mpls remote-bindings
Sub-menu shows label bindings for routes received from other routers. This table is used to build Forwarding Table
[ Top | Back to Content ]