From: Scott Morris (swm@emanon.com)
Date: Mon Aug 21 2006 - 10:40:10 ART
Labels (like DLCIs in Frame Relay) are locally significant. So the same
label may exist in multiple locations of the network.
There is nothing saying that the same label will get re-used from one
neighbor to the next. Just because Rtr1 says "use this label" to Rtr2 does
not mean that Rtr2 says the same thing to Rtr3. Because it would be locally
significant to each and every interface, the statistical chances of that
being scalable are very slim.
Because a single label can represent more than one route per se, we call
them FECs (Forwarding Equivalency Classes).
For a decent start in MPLS, I'd check out some of the Cisco Press books on
the subject. They were meant to assist people working on their CCIP, and
passing the MPLS exam, so may fill in a lot of the blank areas for you.
HTH,
Scott Morris, CCIE4 (R&S/ISP-Dial/Security/Service Provider) #4713, JNCIE
#153, CISSP, et al.
CCSI/JNCI-M/JNCI-J
IPExpert VP - Curriculum Development
IPExpert Sr. Technical Instructor
smorris@ipexpert.com
http://www.ipexpert.com
-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of Tim
Sent: Monday, August 21, 2006 6:27 AM
To: 'Vikram Dadlaney'; ccielab@groupstudy.com
Subject: RE: MPLS newbie w/ a couple basic Q's
Vikram,
Thanks so much for taking the time to respond to my MPLS Q's. I really
appreciate that.
Thanks also for confirming that each MPLS router generates a label for every
route in its route table.
That raises another question though given this MPLS network:
net-A rtr-1 net-B rtr-2 net-C rtr-3 net-D
Consider rtr-2:
rtr-2 learns about net-D via the IGP.
And, based on what you told me, rtr-2 will generate a label for net-D since
that route is in its route table. It will also learn of the label rtr-1
generated for net-D as well as the label generated by rtr-3 for net-D.
THAT'S 3 labels !!!
Now, it's obvious that rtr-2 will need to know the label generated by its
downstream neighbor, rtr-3, for net-D since when a labeled packet arrives
from rtr-1, rtr-2 will need know which label to use when swapping labels to
send the packet downstream to rtr-3.
But, what the heck does rtr-2 do with the label for net-D it learned from
its upstream neighbor, rtr-1?
Assuming I understand this correctly, rtr-1 will use the label generated by
rtr-2 to send traffic downstream towards net-D to rtr-2, correct?
Also, is it possible for a router, let's say rtr-2 in this example, to
generate a label with the same value as the label it learned from rtr-3 for
net-D?
IOW, why doesn't rtr-2 just advertise the label it learned from its
downstream neighbor, rtr-3 to its upstream neighbor, rtr-1? If it did that,
then wouldn't traffic flow faster since rtr-2 wouldn't have to actually swap
labels for packets going to net-D?
I know I'm asking lots of Q's but as you can see, my understanding so far is
very limited.
Thanks again for sharing your knowledge with me.
Tim
-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
Vikram Dadlaney
Sent: Sunday, August 20, 2006 1:11 PM
To: ccielab@groupstudy.com
Subject: Re: MPLS newbie w/ a couple basic Q's
Hi Tim,
I shall try and take a shot at this.
A router generates a local label for all the routes in its routing table. It
establishes a TDP/LDP relationship with neighboring routers and than
exchanges labels with those routers. I am going to assume Frame mode over
here only (Partly because I don't understand cell mode myself :-) ).
So in your example RTR-1 would generate a local label for network-D since it
is in its routing table. Than it would exchange that label with its TDP/LDP
neighbors (RTR-2 also in this example even though its considered downstream
with regards to network-d) which have also generated its own label for
network D and so on.
Now say you have traffic destined for network-d generated by a host on
network-A. The packet would come to rtr1 (ingress router with regards to
traffic destined for network-d). RTR-1 would look up the label that it
received for network-D from rtr-2 and impose that label on the packet and
send it to RTR-2.
When the packet reaches RTR-2 it is a labelled packet and hence RTR-2 would
look up the label attached to the packet and swap that label with the label
it received from RTR-3 for network-d and send the packet on its way.
I haven't taken into account PHP which would basically mean that instead of
swapping the label on the packet and sending it to rtr3, rtr2 would just pop
the label and send a pure ip packet to RTR-3. this way RTR-3 doesn't have to
do a label lookup.
Now for your question that when would RTR-1 use the label for D. Well in
this example it wouldn't use the label for network-d since when a packet for
destination network-d comes into RTR-1 it is a pure ip packet. But say you
had another rtr connected via Net-A to RTR-1 and than a packet would have
been generated by a network connected to that router than RTR-1 would have
to advertise its local label to that router and label switch the packet
based on its label.
I am not quite sure about your other questions so if you could elaborate a
bit that would be helpful.
Hope this helps. I am myself currently learning MPLS so my explanation may
be wrong but am pretty sure and hope the other folks would correct me should
it be wrong.
Regards,
Vikram
This archive was generated by hypermail 2.1.4 : Fri Sep 01 2006 - 15:41:58 ART