• No results found

Multi Protocol Label Switching

This section is about Multi Protocol Label Switching (MPLS), it is also a means of discussing some of the salient points about being able to utilise MPLS for quality of service in IP networks, and traffic management. We discussed in the chapters on circuit switching that voice quality is main- tained both by having a clear channel connection between the two points in the network and by providing synchronisation of the voice streams in the TDM bearers. This approach is great for circuit switched networks, but of no use in a packet switched environment where as we have discov- ered in the section on real-time transport protocol (Section 5.6) no connec- tion actually exists between the endpoints and the route a datagram can take in conventional routing can be different from packet to packet not to mention that timing/synchronisation is not possible with buffers in routers all over the place making a mockery of any kind of consistent delay. MPLS is one of the mechanisms we can use to address this problem (more a little later).

We will also discuss in the chapter on ATM (see Chapter 7 on voice and data convergence) how apparent timing can be constructed. We also discuss how virtual connections can be created with ATM in the form of Switch Virtual Circuits (SVCs) and Permanent Virtual Circuits (PVCs). MPLS has a lot in common with ATM in respect to virtual connec- tion and we will highlight some of the benefits of the combination of ATM and MPLS and how they are similar.

MPLS has had a fairly interesting history with different manufacturers and different parties in the IETF looking at how to more closely integrate ATM and IP. Various issues exist when you connect routers together in a meshed network, the main one being maintaining the link status and routing tables, when a number of routers are connected in a fully meshed configuration. This type of configuration is common when using a collec- tion of VCs from an ATM cloud. The configuration can cause an explosion in the number of routing update messages should anything in the topol- ogy change, such as a Virtual Connection (VC) failing, just think of the

number of neighbours a router has (actually n21, i.e. the number of

routers in the mesh minus yourself). You can try to cure this problem by reducing the meshing and using an intermediate router to forward packets to routers that are not directly connected to a specific node, however, this intermediate router can quickly become a bottleneck if the volume of traffic increases.

The alternate approach proposed was to add routing capability to the 5.7 IP APPLICATION SIGNALLING PROTOCOLS 81

ATM switches, thus making them part of the network and mapping the IP routes on to either the Virtual Path Identifier (VPI) or Virtual Channel Identifier (VCI) parameter in the ATM cell header, thus creating a Label Switch Router (LSR). This means the routers at the edge of the network now only have one adjacent node, the ATM switch, thus reducing the scaling issue. This is a very simplistic view, but I hope it explains the idea. By making this leap of faith and allowing the ATM switch to parti- cipate as essentially a router, but with added capability in the form of being able to aggregate routes on to specific virtual channels, it creates the interesting property of being able to choose much more carefully the ‘route’ the IP datagrams follow.

The commonly used diagram that represents the ideas of label routing is the ‘fish’ diagram, because it resembles a fish. Figure 5.10 shows the ‘fish’ diagram and router C is a label switch router. Datagrams from router A destined for router F could in ordinary routing take either of the paths from C to F (i.e. via router D or router E). The same is true of datagrams from router B. However, because router C is a label switched router, the decision can be made to route all datagrams from router A via E and all diagrams from B via D.

The aggregation of traffic on a specific route creates one of the key properties of MPLS that of traffic grooming and engineering. By choosing to map tuples of elements from the IP header (source address, destination address, ToS field even protocol type) onto a specific ‘label’, traffic of different types (ToS), from different applications (protocol type), etc. can be mapped to different routes, effectively creating a forced route through the network for specific criteria. Another property that can be created, for example is a routing decision is made to map specific labels on to specific output queues or to assign priority to specific labels and insert datagrams higher up (or lower down) a specific queue. Thus if this latter approach is used to map IP quality of service capabilities (int-serv and diff-serv – see the work of the IETF integrated services over specific link layers and differentiated services for details of work on IP QoS) on to specific labels, MPLS can be used to support IP QoS networks.

The speed of transfer of datagrams can also be improved if all the label PACKET SWITCHED TECHNOLOGIES 82

switch router is doing is looking up a memory area based on a simple label to determine the outbound port the traffic should egress on. Clearly this implies the assignment of the label has already been performed by some control mechanism, for example pre-provision like PVCs or allo- cated based on some form of resource reservation (for example using int- serv and RSVP).

OK so that’s some of the reasons for considering a label switching approach, why is MPLS called multi protocol and how does it work? Let’s start with a ‘label’. A label is a fixed length field with no specific structure, it doesn’t encode say the IP address of the destination or any other combination of IP header fields or for that matter any other protocol fields (IPX, NetBEUI, etc.). It just contains a label value. In essence a label switch router just keeps a look-up table indexed by the value of the label extracted from the incoming datagram.

MPLS is multi protocol, because the label is embedded between the link layer header and the network layer header on network layer proto- cols that don’t natively support a label (Ethernet for example) and in the case of protocols like ATM the label is placed in the cell header in either the VCI or VPI fields depending on the implementation. Since we have already stated the label has no specific semantics in relation to the network layer protocol, then clearly MPLS can support any proto- col.

MPLS can handle unicast and multicast quite simply by the structure of the forwarding table in the router. For example the table held in memory could be a series of linked lists indexed by the label extracted from the

incoming datagram, label ‘n’ corresponding to row ‘n’ in the table. With

each entry having attributes such as the address of the next hop, the outgoing label value, queue (buffer) to place the datagram on an outbound port (see Figure 5.11). Literally all the label switching function does is extract the label from the incoming datagram, use it to look up an entry in the table, select the row and traverse the list extracting the values (attributes if you like) and placing the datagram in the queue on the outbound port with the appropriate label.

Hopefully this explains a little about MPLS and its capabilities. One important thing MPLS is commonly linked to is virtual private networks (VPNs). Hopefully from the explanations above it is simple to see how a VPN can be constructed by the pre-provisioning of specific labels to different customers, essentially creating a collection of segregated flows through a label switched network.

Hopefully you can see how QoS can be supported by assigning labels to specific quality parameters such as assigning values from the Type of Service (ToS) field in an IP packet header to specific labels and then using this label to index a table that places the traffic of different types of service in different output queues or higher up a single output queue. You can also see how if an ATM network has been constructed with 5.7 IP APPLICATION SIGNALLING PROTOCOLS 83

specific ATM Adaptation Layer (AAL) characteristics how very simple it is to assign MPLS labels to ATM virtual connections and thus map, say IP QoS to ATM flows.

In closing MPLS is a very simple but powerful technique for speeding up and controlling the routing of traffic in a network. If you would like to know more, then I recommend you read [DAVI].

PACKET SWITCHED TECHNOLOGIES 84

6