Manual:MPLS/Overview: Difference between revisions
No edit summary |
No edit summary |
||
(15 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | |||
== MPLS Overview == | == MPLS Overview == | ||
Line 8: | Line 10: | ||
compared to routing lookup (finding longest matching prefix). | compared to routing lookup (finding longest matching prefix). | ||
Efficiency of forwarding process is the main benefit of MPLS, but it must be taken into account that MPLS forwarding disables processing of network layer (e.g. IP) headers, therefore no network layer based actions like NAT and filtering can be applied to MPLS forwarded packets. Any network layer based actions should be taken on ingress or egress of MPLS cloud, with preferred way being ingress - this way, e.g. traffic that is going to be dropped anyway does not travel through MPLS backbone. | |||
In the simplest form MPLS can be thought of like improved routing - labels are distributed by means of LDP protocol for routes that are active and labeled packet takes the same path it would take if it was not labeled. Router that routes unlabeled packet using some route for which it has received label from next hop, imposes label on packet and send it to next hop - it gets MPLS switched further along its path. Router that receives packet with label it has assigned to some route changes packet label with one received from next hop of particular route and sends packet to next hop. Label switched path ensures delivery of data to the MPLS cloud egress point. Applications of MPLS are based on this basic MPLS concept of label switched paths. | |||
Another way of establishing label switching path is traffic engineering tunnels (TE tunnels) by means of RSVP TE protocol. Traffic engineering tunnels allow explicitly routed LSPs and constraint based path selection (where constraints are interface properties and available bandwidth). | |||
Taking into account complexity, new protocols and applications that MPLS introduces and differences of concepts that MPLS adds to routed/bridged network, it is recommended to have in depth understanding of MPLS concepts before implementing MPLS in production network. Some suggested reading material: | Taking into account complexity, new protocols and applications that MPLS introduces and differences of concepts that MPLS adds to routed/bridged network, it is recommended to have in depth understanding of MPLS concepts before implementing MPLS in production network. Some suggested reading material: | ||
Line 32: | Line 36: | ||
** optional loop detection | ** optional loop detection | ||
* Virtual Private Lan Service | * Virtual Private Lan Service | ||
** VPLS LDP | ** VPLS LDP signaling (RFC 4762) | ||
** VPLS pseudowire fragmentation and reassembly (RFC 4623) | ** VPLS pseudowire fragmentation and reassembly (RFC 4623) | ||
** VPLS MP-BGP based autodiscovery and signaling (RFC 4761), see [[BGP_based_VPLS|BGP based VPLS]] | ** VPLS MP-BGP based autodiscovery and signaling (RFC 4761), see [[BGP_based_VPLS|BGP based VPLS]] | ||
* RSVP TE Tunnels | * RSVP TE Tunnels | ||
** | ** tunnel head-end | ||
** explicit paths | ** explicit paths | ||
** OSPF extensions for TE tunnels | ** OSPF extensions for TE tunnels | ||
Line 42: | Line 46: | ||
** forwarding of VPLS and MPLS IP VPN traffic on TE tunnels | ** forwarding of VPLS and MPLS IP VPN traffic on TE tunnels | ||
* MP-BGP based MPLS IP VPN | * MP-BGP based MPLS IP VPN | ||
* OSPF extensions for MPLS TE | |||
<b>Features since version 3.17:</b> | |||
* support for OSPF as CE-PE protocol | |||
* ping and traceroute for specified VRF | |||
* control over network layer TTL propagation in MPLS | |||
<b>Features since version 3.20 (note that this version changes configuration syntax and adds new parameters!):</b> | |||
* Cisco style static VPLS pseudowires (RFC 4447 FEC type 0x80) | |||
* Cisco VPLS BGP-based auto-discovery (draft-ietf-l2vpn-signaling-08) | |||
* support for multiple import/export route target extended communities for BGP based VPLS (both, RFC 4761 and draft-ietf-l2vpn-signaling-08) | |||
<b>Features since version 3.23</b> | |||
* Ingress TE tunnel rate limit and automatic reserved bandwidth adjustment, see [[TE_tunnel_auto_bandwidth|TE Tunnel Bandwidth Control]] | |||
* all tunnel bandwidth settings are specified and displayed in bits per second | |||
* complete support for OSPF as PE-CE routing protocol (including sham links) | |||
<b>Features since version 3.24</b> | |||
* RIP as CE-PE protocol | |||
* per-VRF BGP instance redistribution settings | |||
MPLS features that RouterOS | <b>MPLS features that RouterOS DOES NOT HAVE yet:</b> | ||
* IPv6 support | * IPv6 support | ||
* LDP features: | * LDP features: | ||
Line 51: | Line 73: | ||
** ordered label distribution control | ** ordered label distribution control | ||
** conservative label retention | ** conservative label retention | ||
* TE features | * TE features | ||
** fast reroute | ** fast reroute | ||
** link/node protection | ** link/node protection | ||
* Support for BGP as label distribution protocol | |||
Line 61: | Line 82: | ||
[[Category: | [[Category:MPLS]] | ||
[[Category:Internetworking]] | |||
[[Category:Case Studies]] | |||
[[Category:Manual]] |
Latest revision as of 08:49, 6 March 2012
MPLS Overview
MPLS stands for MultiProtocol Label Switching. It kind of replaces IP routing - packet forwarding decision (outgoing interface and next hop router) is no longer based on fields in IP header (usually destination address) and routing table, but on labels that are attached to packet. This approach speeds up forwarding process because next hop lookup becomes very simple compared to routing lookup (finding longest matching prefix).
Efficiency of forwarding process is the main benefit of MPLS, but it must be taken into account that MPLS forwarding disables processing of network layer (e.g. IP) headers, therefore no network layer based actions like NAT and filtering can be applied to MPLS forwarded packets. Any network layer based actions should be taken on ingress or egress of MPLS cloud, with preferred way being ingress - this way, e.g. traffic that is going to be dropped anyway does not travel through MPLS backbone.
In the simplest form MPLS can be thought of like improved routing - labels are distributed by means of LDP protocol for routes that are active and labeled packet takes the same path it would take if it was not labeled. Router that routes unlabeled packet using some route for which it has received label from next hop, imposes label on packet and send it to next hop - it gets MPLS switched further along its path. Router that receives packet with label it has assigned to some route changes packet label with one received from next hop of particular route and sends packet to next hop. Label switched path ensures delivery of data to the MPLS cloud egress point. Applications of MPLS are based on this basic MPLS concept of label switched paths.
Another way of establishing label switching path is traffic engineering tunnels (TE tunnels) by means of RSVP TE protocol. Traffic engineering tunnels allow explicitly routed LSPs and constraint based path selection (where constraints are interface properties and available bandwidth).
Taking into account complexity, new protocols and applications that MPLS introduces and differences of concepts that MPLS adds to routed/bridged network, it is recommended to have in depth understanding of MPLS concepts before implementing MPLS in production network. Some suggested reading material:
- Multiprotocol Label Switching http://en.wikipedia.org/wiki/Multiprotocol_Label_Switching
- RFC3031 Multiprotocol Label Switching Architecture http://www.ietf.org/rfc/rfc3031.txt
- MPLS Fundamentals by Luc De Ghein http://www.amazon.com/MPLS-Fundamentals-Luc-Ghein/dp/1587051974
RouterOS MPLS features
As of version 3.8 MPLS feature development for RouterOS continues in mpls-test package that requires routing-test package. Currently RouterOS (by means of mpls-test and routing-test packages) supports the following MPLS related features:
- MPLS switching with penultimate hop popping support
- static local label bindings for IPv4
- static remote label bindings for IPv4
- Label Distribution Protocol (RFC 3036, RFC 5036) for IPv4
- downstream unsolicited label advertisement
- independent label distribution control
- liberal label retention
- targeted session establishment
- optional loop detection
- Virtual Private Lan Service
- VPLS LDP signaling (RFC 4762)
- VPLS pseudowire fragmentation and reassembly (RFC 4623)
- VPLS MP-BGP based autodiscovery and signaling (RFC 4761), see BGP based VPLS
- RSVP TE Tunnels
- tunnel head-end
- explicit paths
- OSPF extensions for TE tunnels
- CSPF path selection
- forwarding of VPLS and MPLS IP VPN traffic on TE tunnels
- MP-BGP based MPLS IP VPN
- OSPF extensions for MPLS TE
Features since version 3.17:
- support for OSPF as CE-PE protocol
- ping and traceroute for specified VRF
- control over network layer TTL propagation in MPLS
Features since version 3.20 (note that this version changes configuration syntax and adds new parameters!):
- Cisco style static VPLS pseudowires (RFC 4447 FEC type 0x80)
- Cisco VPLS BGP-based auto-discovery (draft-ietf-l2vpn-signaling-08)
- support for multiple import/export route target extended communities for BGP based VPLS (both, RFC 4761 and draft-ietf-l2vpn-signaling-08)
Features since version 3.23
- Ingress TE tunnel rate limit and automatic reserved bandwidth adjustment, see TE Tunnel Bandwidth Control
- all tunnel bandwidth settings are specified and displayed in bits per second
- complete support for OSPF as PE-CE routing protocol (including sham links)
Features since version 3.24
- RIP as CE-PE protocol
- per-VRF BGP instance redistribution settings
MPLS features that RouterOS DOES NOT HAVE yet:
- IPv6 support
- LDP features:
- downstream on demand label advertisement
- ordered label distribution control
- conservative label retention
- TE features
- fast reroute
- link/node protection
- Support for BGP as label distribution protocol
To ensure compatibility with other manufacturer equipment ensure that required features match, if uncertain, consult with Mikrotik support. RouterOS LDP and TE implementation has been tested with Cisco IOS.