Monday, June 7, 2010

MPLS

Multiprotocol Label Switching:
  • When used in a network, incoming packets are assigned a "Label" by a Label Edge Router (LER). The packets are forwarded along a Label Switch Path (LSP), by a Label Switch Router (LSR) makes the forwarding decisions, wherein the LSR strips off the label and applies a new one with instructions for the next hop on how to forward the packet.
  • LSPs are similar to circuit switched paths, except they are not dependent on particular layer 2 technology.
  • LSPs can traverse any type of transport medium (ATM, Frame Relay or Ethernet)
  • Brings the speed of layer 2 switching to layer 3, routers preform forwarding decisions based on the label, rather than route lookup. Although now irrelevant due to routers able to process routing information as fast speeds now.
MPLS Benefits:
  • Class of traffic and path engineering
  • Service providers create IP tunnels throughout their network (VPNs) without the need for encryption or end user appliances
  • L2 Transport (Ethernet, Frame relay and ATM over IP/MPLS core)
  • Elimination of multiple layers, all L1 (SONET), L2 (ATM) to L3, thereby simplifying the network management.
MPLS components:
Label: Short, fixed length, locally significant ID used to identify a FEC (Forwarding Equivalence Class) to which that packet is assigned.
  • The MPLS Label is formatted as follows:

    |-20bits Label-|-3bits CoS-|-1bit Stack-|-8bits TTL-|

32-bit label is located after the L2 header and before IP header, it contains:
  • 20-bit label field - Value of the MPLS label
  • 3-bit COS field for queuing and discard algorythms
  • 1-bit stack field - hierarchical label stack
  • 8-bit Time to live (TTL) or shim header, provides IP TTL functionality.
Label Switch Path:
  • Provisioned using Label Distribution Protocols (LDPs) such as RSVP-TE or CR-LDP - these are used to establish a path through the network and reserve necessary resources to meet pre-defined service requirements.
  • Contrasted with traffic trunks - The path which a trunk traverses can be changed, the traffic trunk are aggregations of traffic flows of the same class inside an LSP
Label Distribution Protocol:
  • Lets an LSR distribute labels to LDP peers. When a label is assigned to a Forwarding Equivalence Class (FEC), LDP lets is relevant peers know of the label and its meaning. When a path is made, LDP helps in establishing a LSP using a set of procedures to distribute these labels among LSRs.
  • LSRs will agree on what labels should be used to forward traffic, this understanding is agreed upon by Label Distribution. LDP and Labels are the foundation of label switching.

LDP has the following basic characteristics:

  • Provides LSR discovery mechanism which allows peer discovery and communication establishment
  • Four classes of the message exist: DISCOVERY, ADJACENCY, LABEL ADVERTISEMENT, and NOTIFICATION
  • Runs over TCP
LDP modes:
  • Unsolicited downstream vs downstream on demand label assignment
  • Order vs independent LSP
  • Liberal vs Conservative label retention
Forward Equivalency Class:
  • A set of packets which are forwarded in the same manner.
  • FEC packets follow the same path
  • FEC packets are identified by labels
  • Examples include unicast packets, and multicast packets with the same source and destination address. Another example is when unicast Type of Service (TOS) bits are the same.
Label Switch Path:
A set of LSRs that packets belonging to a particular FEC travel to reach their destination. Because of the hierarchy label, it is possible to have different LSPs at different levels of labels for a packet to reach the destination - A LSP with a label of x has a set of LSRs that has a packet p that has to travel at x to reach its destination

As an example: consider the following scenario

|------| 1 1 |-----|
| R1 |--\ /---| R5 |
|------| \ 2 2 2 / |-----|
\|------| |-----| |-----| /
| R2 |---| R3 |---| R4 |/
|------| |-----| |-----|

p must travel from R1 to R5, 1 and 2 are the stack depth. R1 and 5 are edge routers and the rest are interior gateway routers. R1 and 5 are peers, alternately 2,3, and 4 are peers. R1 will swap p's label with a corresponding label used by R5, it will also push a new label for R2,3, and4 with the stack level at 2. Two LSPs exist - 1 at R1 and 5, 2 at R2,3, and 4.

  • Routing protocols and routes learned from the LSRs build LSPs. RSVP may be used
  • Possible to support both ordered and independent control without interoperability
  • Label binding can be created locally and remotely - downstream or upstream LSRs. Created in response to control or data driven traffic, the binding controlled in a stand alone protocol or piggybacking from an existing one such as Border Gateway Protocol (BGP).
IGPs (Interior Gateway Protocols) play a factor:
IGPs like OSPF and IS-IS are used to define reachability and binding/mapping between FEC and next hop addresses. No changes are required to run MPLS in corporations that use these IGPs due to the compatibility with these protocols.
Supported Protocols:
Network layer - IPV6, IPV4, IPX, and Appletalk
Link Layer - Ethernet, Token Ring, FDDI, ATM, Frame Relay, and Point to point.
MPLS not only works over any data link layer protocol, but carries a data link layer protocol over IP, Enabling Ethernet over MPLS

MPLS and ATM:
ATM can have traffic engineering capabilities with MPLS. This is done by tagging IP packets with labels that specify routes and priorities. This combines routing scalability and flexibility with the performance and traffic management of layer 2 switching.
Can map IP addresses and routing info into ATM switching tables. MPLS uses the same label swapping method as ATM. ATM-LSRs are forwarded by ATM forwarding component with label info in ATM header (VCI and VPI Fields). MPLS provides control component for IP on ATM switches and routers, MPLS IP services replace PNNI, ATM ARP Server, and NHRP Server.
Sometimes MPLS and ATM are on the same device, but they will run separately. MPLS path changes have no effect on ATM VCs(Virtual Circuits), this is called Ships in the Night. ATM control mechanisms can avoid resource conflicts by not allowing reservation of resources imposed by MPLS. This is being used to slowly phase out ATM and understand the need of resources to fill be MPLS.
MPLS-TE:
MPLS Traffic Engineering is used to select the best paths on the network when multiple or parallel links exist. It also optimises network resources for traffic performance.
In order to support TE, Source routing and the following components are needed:
  • All constraints are taken into account, therefore the source needs to know the restrictions of the other routers in the network
  • Ability to determine information about topology and attributes with links in network once path is established, forwarding support is necessary

  • Ability to reserve network resources and modify link attributes

MPLS TE leverages several foundation technologies:

  • Constraint Shortest path first algorithm used in path calc - Modified version of SPF algorithm for constrains support
  • Extension of RSVP for forwarding state along path, also reserving resources

  • IGPs link state and extension (OSPF with Opaque LSAs, IS-IS with Link State Packets TLV (type, length, and Value)) and keeping track of topology changes.
MPLS Traffic Merging:
FECs play an important role here, if traffic is ingress in an MPLS domain a FEC can be handled equivalently when forwarding and can contain a single label. If traffic is bound to the same FEC, the traffic will be forwarded the same way, regardless of network layer headers.

MPLS and loops:
Loop handling can be split between:
  • Loop prevention (Path Vector)
  • Loop mitigation - minimize negative effect of loops (TTL). When TTL reaches 0 the packet is discarded
  • Dynamic routing protocols
For mediums such as ATM and Frame Relay without the TTL option, MPLS uses buffer allocation for loop mitigation. This is mainly used on ATM switches because they can limit the amount of buffer space used by a VC.
If TTL still cannot be used, hop count can, like TTL it will decrement by 1 for every successful label binding. This information is carried within Link Description Protocol messages.
Path Vector has a list of LSRs that label distribution control message has traversed. Each LSR adds its info to the path vector list, when a LSR receives a message from its own identifier a loop is detected (this is also used by BGP with AS path attribute).
2 or more ASes within the same MPLS domain:
If two adjacent ASes exist, via ASBR summarizing eBGP routes before distributing them to their IGP or IGP routes covering a set of FECs which are different than eBGP routes, then ASBRs cannot forward traffic based on top-level label. This also applies with TE tunnels. Some traffic will be forwarded based on IP or a non top level label.
Now we have 2-3 MPLS forwarding domains with multiple ASes - one for each AS and one for a link between two ASBRs (where labeled packets are used instead of IP packets are used).
ASBRs probably would not be a ATM-LSR, due to the limited capacity of manipulating label stacks or forwarding unlabeled IP traffic.
Also with multi-provider BGP+MPLS VPNs - no top level LSP are established therefore the two ASes are separate admin domains or the two providers agree to allow lower lever LSPs to be established across the two ASes.
MPLS VPNs:
MPLS for VPNs provide traffic isolation, like ATM or Frame Relay. MPLS does not encrypt traffic, IPsec would have to be employed.
BGP MPLS-VPNs can exist, wherein BGP propagates VPN-IPV4 info using BGP multiprotocol extensions (MP-BGP) for handling these extended addresses. Reachability info such as VPN-IPV4 addresses on Edge label switch routers are propagated, also reachability into for a given VPN is propagated only to other members of that VPN. BGP multiprotocol extensions identify valid recipients for VPN routing info. All VPN members learn routes to other members.

Another idea is to use separate routing tables for VPNs that do not involve BGP.
Layer 2 ecapsulation methods can be used for encapsulation methods and layer 2 transport signal mechanisms, this is known as the "Martini Draft". This would have an advantage to many service providers due to the multitude of services provided.

Layer 2 VPN:

These are layer 2 services such as Frame Relay, ATM and Ethernet over an IP/MPLS backbone. This simplifies networks and reduces expenses.

VPLS:

These are Ethernet VLANS using MPLS. All edge devices maintain MAC address tables for reachable end nodes, like how LAN switches do. They allow Ethernet Reachability across geographic distances served by MPLS services.

There is no ecryption across MPLS VPNs, instead the use of tags are important. This makes MPLS just as secure as ATM and Frame Relay as interception of these types of network would require access to the SP. If security is an issue, IPSec or SSL can be used before going on the wire.

QOS:

MPLS Quality of Service is the same a IP - IP precedence, Committed access rate (CAR), Random Early Detection (RED), Weighted RED, Weighted Fair Queing (WFQ), Class-based WFQ, and priority Queing.
Diffserv has 64 classes, MPLS shim has 8, the exp field is 3 bits long and the diffsev us 6. Label-LSP and Exp-LSP solve this, since diffserv defines the interpretation of the TOS bits - as long as IP orecidence bits map to the Exp bits the same interpretation as the diffserv model can be applied to these bits. when extra bits are used L-LSP uses drop priority to identify what the remaining 3 bits mean.

The followings classes may be more appropriate for the initial deployment of MPLS QoS:

  • High-priority, low-latency "Premium" class (Gold Service)

  • Guaranteed-delivery "Mission-Critical" class (Silver Service)

  • Low-priority "Best-Effort" class (Bronze Service)

MPLS has QoS and ATM and Frame Relay has CoS. MPLS can also implement CoS using IP, this makes the network easier to provision and engineer.
GMPLS:
  • Encompasses time-divsion, wavelength, and spatial switching. Allows MPLS to be used as a control mechanism for configuring packet and not packet based devices.
  • Introduces new protocol called Link Management Protocol (LMP). This runs between adjacent nodes and establishes control channel connectivity and failure detection, also verifies channel connectivity.
GMPLS supports several features including:
  • Link Building - Grouping of many physical links into a single link
  • Link Hierarchy - Issuing of a suite of labels for various requirements of physical and logical devices on a path.
  • Unnumbered links - ability to config paths without IP info on every interface
  • Constraint Based Routing - automatically provision additional bandwidth, or change forwarding behavior due to network conditions like congestion or requirements of additional bandwidth
Two methods of operation are supported - Peer and Overlay. Peer is when all devices in a domain share the same control plane. Routers have visibility into optical topology and peer with optical switches.
Overlay is when optical and IP layers are separated with minimal interaction. An example of this today would be like ATM and IP, where there are no direct connections between the two routing layers.
Peer is simpler and more scalable, but overlay has fault isolation and separate control mechanisms for devices.


    No comments:

    Post a Comment