Previous

Content

Next 


1.6.- LSR-database  

It is very important to understand better what is occurring inside a LSR router. How information about labels and instructions to forward packets is grouped on a database created in the router.
There are two planes: the data-plane and the control-plane. The data-plane is in charge of the data forwarding. The control-plane is in charge to control how the data is forwarded.
The main element of the LSR-database is a table called Next Hop Label Forwarding Entry (NHLFE). This table contains the instructions of how to deal with a new arriving packet and how to forward it. One typical instruction of this table could be: "Any packet entering by the port a porting a label n must be forwarded by the port g previously the label n being replaced with a new label m".
Recalling that labels can be stacked, it's very important to be clear that LSR operates only over the label on top of the stack. Then, above, when the instruction says: porting a label n, this means that the label on top of the stack is just an n label.
 
The instruction calls for replace the label n with a new label m. This process is called swaping. Label n is swapped with label m.
 
But the forwarding instruction could have been: "Any packet entering by the port a porting a label n must be forwarded by the port g previously pushing a new label m".
 
This instruction shows how a label stack is created or fed. Assuming that the packet in the example has only one label on top, pushing a new label is creating a stack of two labels. Assuming that the packet in the example has one or more labels already in the stack, pushing a new label is feeding the stack with a new label.
 
Finally, the forwarding instruction could have been: "Any packet entering by the port a porting a label n must be forwarded by the port g previously popping the label".
 
In this case the label is just popped, this means, the label is not swapped with any other label, neither a new label is pushed. Having into account that this label could be the only one label in the stack, this process, in fact, uncovers the IP layer-3 header, converting the packet back from one MPLS packet to an IP packet. If the popped label is not the only one label in the stack, then, a new label is uncovered and this will be the new top label for the next forwarding hop.
 
How to select the NHLFE?
 
When a packet is entering the LSR some process has to be executed to select the NHLFE of this packet. For doing this there exists two relationships or mappings. The first mapping is called Incoming Label Map (ILM) which is used when the packet to be forwarded arrives as a labeled packet (this means, the packet is already an MPLS packet). The ILM maps a particular label to a set of NHLFEs, where one of them must be chosen before the packet is forwarded. Having this multiple mapping could be useful, for example, for doing load balancing over two or several equal-cost paths.
 
   

 

The second mapping is called FEC-to-NHLFE Map (FTN). In this case, FTN maps each FEC to a set of NHLFEs. This mapping is used when the packet to be forwarded arrives as an unlabeled packet (this means, the packet is yet an IP packet). Again one of these NHLFEs must be chosen before the packet is forwarded. This kind of mapping is normally done by a Label Edge Router (LER), where based in some multi-field classification procedure, the packet is assigned to one FEC, and from here, mapped to one NHLFE using the FTN mapping.
The more important thing to remember after this explanation, is that the final packet forwarding decision is taken after reading the instructions contained in the NHLFE, independently if we got this information having a Label-NHLFE map through ILM, or having a FEC-NHLFE map through FTN.

 

 


Previous

Content

Next