ARP, RARP, and ICMP

140 THE MULTI-PROTOCOL LABEL SWITCHING MPLS ARCHITECTURE Table 6.3 FEC entry in each LFIB with label binding information. LFIB Incoming label Outgoing label Next hop Outgoing interface A – 62 LSR B if0 B 62 15 LSR D if0 C – 15 LSR D if2 D 15 60 LSR E if2 E 60 – LSR E if0 to D, which uses it to update its entry in its LFIB. As a result, each entry in the LFIB of each LSR will be modified see Table 6.3. For LSR E, the next hop is E itself. This indicates that the IP packets associated with the prefix x.0.0.0, y.0.0.0 will be forwarded to the local destination over if 0 using their prefix. Once the labels have been distributed and the entries have been updated in the LFIBs, the forwarding of an IP packet belonging to the FEC associated with the prefix x.0.0.0, y.0.0.0 is done using solely the labels. Let us assume that A receives an IP packet from the non-MPLS IP domain 1 with a prefix x.0.0.0, y.0.0.0. A identifies that the packet’s IP address belongs to the FEC, and it looks up its LFIB to obtain the label value and the outgoing interface. It sets the label value to 62, encapsulates it using the format shown in Figure 6.3, and forwards it to the outgoing interface if0. When the IP packet arrives at LSR B, its label is extracted and looked up in B’s LFIB. The old label is replaced by the new one, which is 15, and the IP packet is forwarded to interface if0. LSR D follows exactly the same procedure. When it receives the IP packet from B, it replaces its incoming label with the outgoing label, which is 60, and forwards it to interface if2. Finally, E forwards the IP packet to its local destination. The same procedure applies for an IP packet with a prefix x.0.0.0, y.0.0.0 that arrives at C from the non-MPLS domain 2. In Figure 6.6, we show the labels allocated by the LSRs. These labels are similar to the VPIVCI values in ATM. They have local significance; that is, each label is valid only for Non-MPLS IP domain 1 A C D B if1 if0 if1 if1 if1 if1 if0 if2 if2 if2 if0 if0 if0 〈x.0.0.0, y.0.0.0〉 Non-MPLS IP domain 2 E 15 60 15 62 Figure 6.6 Label switched paths. THE MULTI-PROTOCOL LABEL SWITCHING MPLS ARCHITECTURE 141 one link. The sequence of labels 62, 15, 60 form a path known as the label switched path LSP . This path is analogous to a point-to-point ATM connection, which is defined by a sequence of VPIVCI values. An ATM connection is associated with two end devices, whereas a label switched path is associated with a FEC. Several label switched paths are typically associated with the same FEC, forming a tree diagram see Figure 6.6. Each LSP has an ingress LSR and an egress LSR. For instance, in Figure 6.6, LSRs A and E are the ingress and egress LSRs, respectively, for the LSP from the LSR A to LSR E. Likewise, LSRs C and E are ingress and egress LSRs for the LSP from LSR C to LSR E. Label switching eliminates the CPU-intensive table look-up in the FIB, necessary to determine the next hop router of an IP packet. A table look-up in the LFIB is not as time-consuming since an LFIB is considerably smaller than a FIB. Since the introduction of label switching, however, several CPU-efficient algorithms for carrying out table look- ups in the FIB were developed. This did not diminish the importance of label switching since it was seen as a means of introducing QoS in the IP network. One way that QoS can be introduced in the network is to associate each IP packet with a priority. This priority can be carried in the 3-bit experimental field of the label encapsulation see Figure 6.3. Priorities can be assigned by an MPLS edge node. Labeled IP packets within an LSR are served according to their priority as in the case of an ATM switch. Recall that, in ATM networks, each VC connection is associated with a QoS category. An ATM switch can determine the QoS of an incoming cell from its VPIVCI value, and accordingly it can queue the cell into the appropriate QoS queue. An ATM switch maintains different QoS queues for each output interface. These queues are served using a scheduling algorithm, so that VC connections can be served according to their requested QoS. A similar queueing structure can now be introduced in an IP router. IP packets can now be queued at an output interface according to their priority, and they can be transmitted out in an order determined by a scheduler.

6.2.1 Label Allocation Schemes

In the label switching example described above, an LSR binds i.e., allocates a label to a FEC and saves this information in its LFIB as the incoming label. It then advertises the binding between the incoming label and the FEC to its neighboring LSRs. An upstream LSR i.e., an LSR that is upstream of the link as the traffic flows places the label in the outgoing label field of the entry in its LFIB that is associated with this FEC. A non- upstream LSR can either ignore the label advertisement or store it for future use. Because the LSR, which is downstream of the link with respect to traffic flow, creates the label, and because the label is advertised to its neighbors in an unsolicited manner, the label allocation scheme is known as the unsolicited downstream scheme. As an example, let us consider LSR B in Figure 6.6. LSR B advertises its incoming label 65 for the FEC x.0.0.0,y.0.0.0 to its neighboring LSRs A, C, and D. Of these, only LSR A is upstream to LSR B as far as the flow of IP packets towards the destination x.0.0.0,y.0.0.0 is concerned. In view of this, LSR A will use this label to update its LFIB. LSRs C and D can elect to store this label binding, in case they do become upstream to LSR B as far as the flow of these IP packets is concerned. This can happen if a link or an LSR goes down. For instance, if the link between LSRs C and D is broken, LSR C might have to reroute its traffic through LSR B; in which case, it will become upstream to B. Given the topology in Figure 6.6, LSR D will never become upstream to LSR B. LSRs C and D can also elect to ignore LSR B’s advertised label binding.