| Sometime in the day we want to send some
information from end host A to end host B. But, because we
know the route indicated by the arrows is the best route at that moment
(lower latency, lower jitter, maximum available bandwidth, less congestion),
we would like specifically that route. Then we define our router's tables
instructions. Something like this: |
| With these instructions we have created a path
for our flow from end host A to end host B throughout the
domain. This path is called LSP (Label Switched Path). The
paths are selected according to their traffic characteristics, for example,
committed and peak traffic load, maximum latency, loss
probability, etc. |
| |
| First router (LER R1) pushes the label
23 to convert the IP packet into an MPLS packet. This
router makes what is called the first packet classification; for
example, if the end host A is located on network 10.16/16, we
could use some kind of multi-field classification (MF
clasificaction) to segregate packets coming from this network, and
pushing on them label 23 to assign their route to the already
selected LSP: R1-R3-R2-R4-R6-R8. This way MPLS works as an
overlay protocol to IP. However, both protocols can co-exist on the
same AS without interference between them. |
| |
| MPLS seems to be very simple, but it is in
fact a very powerful technology. LER pushes label into the IP
packet based in some initial classification, converting the IP packet
into an MPLS packet when entering the MPLS domain. The
classification can be based on protocol, source address, destination
address, router's entering port or type of service; or a more complex and
dynamic classification can be achieved based on some measuring done over the
incoming flows to select the final label to be pushed. |
| |
| Even more, labels have not to be a single
label. The technology permits pushing multiple labels to form an stack of
labels. Within the domain the LSR examines packets, pushes
labels, pops labels, swaps labels and forwards packets following label
instructions, to guide them through one previously assigned LSP. |
| |
| The LSPs are selected according to the
type of traffic you want to move. For example, if you need to move some
special SQL traffic to feed your main database application, you could
select a high-secure, high-cost, low-latency,
low-jitter, low-loss, sufficientely overprovisioned LSP,
to forward this precious load. On the contrary, having to move some common
load you could use one best-effort LSP to accomplishes this ordinary
work. |
| |
| Have a look to this figure: |
|
|
|
|