• Aucun résultat trouvé

Concept of Label-Switching: The Basis of ATM and MPLS

Dans le document [ Team LiB ] (Page 53-56)

Figure 1-9. Functional block diagram of an ADM

1.4 Concept of Label-Switching: The Basis of ATM and MPLS

ATM and multi-protocol label switching (MPLS) are both based on "label-switching." In ATM, fixed-size cells arrive in one port of an ATM switch and the label they bear in the cell overhead is used to index a routing table at the node that indicates the outgoing port and new label number to be assigned to the cell. In MPLS, variable-length IP packets arriving at a label-switching router (LSR) are similarly redirected based on incoming port and label, to a next-hop outgoing port and new label. In both schemes, a connection setup protocol creates the sequence of {out-port, next-label} entries along a desired path so that a logical circuit is established between any desired origin node (and application or user) and destination host (and application). ATM uses the virtual circuit (VC) construct to connect individual application-level connections. MPLS (over IP) uses logical port numbering schemes to distinguish between packets for different applications running on the same host or sharing the same label-switched path.

The concept of label-switching is illustrated in Figure 1-13 where two label-switched paths are shown. In Figure 1-13(a) node B receives an unlabeled packet (or cell) at the entry to the path with an indication that its destination is node F. A separate path setup process is assumed to have previously laid down a set of label-swapping rules at each node involved. If the intention is to create the path shown in Figure 1-13(a), then the label swapping entries at each node to create this path are shown in the top four rows of Table 1-5. The

corresponding entries to create the path in Figure 1-13(b) are in the second half of the table. The example defines two different paths that could be established between nodes B and F. The example packet initially arrives at node B but does not bear a label at that point. We use the label field in the table to indicate, however, that its destination is known (node F). At node B, the routing table entry says in effect "if anything comes in going to node F, send it to node A with a label E." When node B receives a packet on the input port from node A, on label E, the table tells it to send the packet to the output port connected to node F, on the new label "e". In this context "e" is just a code for path termination (i.e., decapsulate the packet and terminate it, or forward it on under other normal routing means). The label-switched path is then completed. Note in these examples that the "new label" assignments are identically the name of the next node to which the packet is forwarded. This particular labeling scheme can be thought of as each node saying to the next: "When you get this packet from me, pass it on to this next node for me, and look up who they should pass it on to following that as the new label."

Figure 1-13. Examples of label-switched paths.

Labelling schemes can alternatively be completely arbitrary. As long as the sequence of relays represented by {in-port, label} to {out-port, new-label} at each node is written coherently, the label values themselves can be completely arbitrary tags. The special significance of the labeling scheme used for the example will become more apparent later when we begin to consider actual SONET/SDH timeslots or DWDM circuit establishment under generalized MPLS (GMPLS). In those cases the label sequence becomes a specification of literally what time slots, wavelengths or fibers we want cross-connected to realize a hard physical circuit, rather than strictly just a packet or cell relay function such as a label switched path.

Table 1-5. Label swapping table entries to effect the paths in Figure 1-13

node role in port label out port new label

B entry n/a (dest = F) to A E

Another important point to observe is that from the point of view of the entry node B in the first example, the label E on port A is completely equivalent to a single tag for "the route to node F." Since the mapping between labels is constant at each node, the complete path is determined by the initial label (and port) value. Node B need not know any other details; anything it puts on port A with label E will egress at node F. This illustrates the sense in which a label-switched path truly establishes a dedicated circuit or tunnel through the network between the respective end-node pairs. In fact in the example with two different paths between nodes B and F, node B could consider that it has two separate permanent circuits that it can use to send traffic to node F: route 1 = {port A, label E}, route 2 = {port C, label D}. A pair of such virtual circuits or label-switched paths can be used in practice for load balancing over the two routes, or as a form of protection switching.

Label-switching was adopted for both ATM and MPLS out of a fundamental need for a circuit-like logical construct for many networking purposes. Pure datagram flows cannot be controlled enough to support QoS assurances and effective and fast schemes for restoration are greatly enabled by the manipulation of either physical or logical circuit-like quantities, rather than redirection of every single packet or cell through conventional IP routing tables. The reason failure recovery is faster within a circuit-oriented paradigm is ultimately the same reason that basic delay, throughput and loss rates of cell or packet transport are improved by switching as opposed to routing.

Routing involves determining a next-hop decision at every node based on the absolute global destination (and sometimes source and packet type) information of the packet in conjunction with globally-determined routing tables at each node. This is fundamentally a more time-consuming and unreliable process than label-switching. A conventional IP router has to perform a maximum length address-matching algorithm on every packet and rely on continual topology updates to ensure a correct routing table entry for every possible destination IP address in the administrative area. The maximal length aspect of the address-matching refers to the fact that a packet's destination address may produce no exact match in the routing table. In such cases the packet is forwarded toward the subnetwork with the maximal

partial address match.

In label switching, however, the next hop decision is made with entirely local information established previously in an explicit connection setup process. The local information is the label swapping tables in an LSR, or simply the physical connection state between input and output timeslots or wavelengths in a cross-connect. In a physical fiber or metallic switch, or in a timeslot-changing switch, or a wavelength cross-connect, the switching information (i.e., the outport and next timeslot or wavelength) is stored in the physical connection state. In an LSR or ATM switch, the forwarding port and next-label are stored in tables that are typically much smaller than a full IP routing table, and operate on the basis of an exact label match which is fundamentally much faster, autonomous, and reliable than IP datagram routing.

1.4.1 Multi-Protocol Label Switching (MPLS)

In MPLS, a relatively short "label" replaces the full interpretation of an IP packet's header as necessary under conventional forwarding. In traditional IP forwarding, packets are processed on the basis of the global destination address at every router along the path. This is also known as hop-by-hop routing. In contrast, MPLS encapsulates IP packets with a label when the packet first arrives into an MPLS routing domain. The MPLS edge router will look at the information in the IP header and select an appropriate label for it. The label selected by the MPLS edge router can be based on QoS and explicit routing considerations, not just the destination address in the IP header. This is in contrast to conventional IP routing, where the destination address will determine the next hop for the packet. All subsequent routers in the MPLS domain will then forward the packet based on the label, not the IP header information. Then, as the labeled packets exit the MPLS domain, the edge router through which it is leaving will remove the label. The value of the label usually changes at each LSR in the path as the incoming label is looked up and swapped for another. Thus labels only have meaning between neighboring nodes. With this, MPLS can be used to forward data between neighboring nodes even if no other nodes on the network support MPLS.

MPLS uses two categories of label-based routers: label edge routers (LERs) and label switching routers (LSRs). An LSR is used in the core of an MPLS network and participates in the establishment of LSPs and high-speed switching of flows over existing LSPs. Notably many LSRs are implemented with high capacity ATM label-switching switch hardware as their core with a conventional router added to participate in the LSP establishment protocol and to perform routing functions for the residual traffic of a normal IP datagram nature (i.e., packet traffic that does not constitute significant flows per se to warrant establishment of an LSP). The LER supports access to the MPLS core network. Edge routers are classified as either ingress or egress. An MPLS ingress router performs the initial routing lookup and LSP assignment for launching the packets into the fabric of logical pipes through the MPLS core. The egress LER removes labels and performs a further routing table lookup to continue the packet on its way under conventional routing. LERs can have many types of access interface (frame relay, ATM, Ethernet for example).

MPLS allows a packet flow to be fully "routed" only once, at the entry to an IP network, and thereafter label-switched all the way to its egress router. Aside from the fact that the packet flows remain asynchronous and statistically multiplexed, in all logical regards, once the IP packets for that destination are encapsulated with a label and put in the appropriate outgoing queue from the egress node, it is like they have been dropped into a dedicated pipe or tunnel direct to the destination. The train of switching relationships written in the

label-swapping tables en route creates a hard-wired sequence of relays that is fully amenable to hardware implementation at each node, and referred to as a Label Switched Path (LSP). This improves router network throughput and delay performance compared to routing every packet at every node en route based on its ultimate destination IP address.

In assigning IP packets to LSPs, an LER makes use of the concept of forwarding equivalence. A Forwarding Equivalence Class (FEC) is a set of IP destination addresses that, from the standpoint of the given entry node all share the same local routing decision. In conventional IP forwarding, each router needs to maintain FEC tables to indicate for each output port the set of IP destination addresses that should be sent out that port. In MPLS the FEC tables need be kept only at LERs and record for each IP address what LSP to put it on (i.e., what initial label and outgoing port to assign it to). FECs at the LERs are based on class of service requirements and on IP address. The table at the LER that lists the initial label, and outgoing port for each FEC is called its label information base (LIB).

For more detailed background on MPLS the book by Davie and Reckhter [DaRe00], and references therein, are suggested. The relevance here is twofold. In Chapter 2 we see how MPLS is extended into Generalized MPLS (GMPLS), with applications in the automatic

provisioning of service paths through a transport network at any level such as DS-1 through to whole lightpaths. As with ATM, MPLS is also a transport technique that involves circuit-oriented logical constructs for the transport of stochastic packet flows, and hence is also amenable to the controlled oversubscription design strategy of Chapter 7.

[ Team LiB ]

[ Team LiB ]

Dans le document [ Team LiB ] (Page 53-56)

Documents relatifs