Title: Daniel Lerner
1Daniel Lerner
Presentation 1 Basic Concept and Terminology
2History of MPLS
The mid-1990s saw a large effort by many
private corporations to design a networking
solution that would marry two popular routing
solutions, IP and ATM, in an effort to gain the
speed of a costly ATM-based solution with a much
cheaper and easier (and yet slower) IP-based
solution. Companies that participated in this
effort included Ipsilon - IP
Switching Cisco Systems - tag
switching IBM - Aggregate route-based IP
switching Cascade - IP navigator
Otherwise known as the Olden days of the Modern
Internet
3These products attempted to improve the
throughput and delay performance of IP by
utilizing standard routing protocols to create
the idea of paths between endpoints. Packets
would enter into the network and be assigned a
particular path based on the characteristics of
the packet. Within the network, ATM switches,
which then were faster than IP routers, would
then be used to pass the packets along the
network path quickly and efficiently.
4In 1997, the IETF created the MPLS working group
in an effort to devise a standardized approach to
the problem. In 2001, the group put forward the
first set of Proposed Standards. By this time,
however, the networking industry had produced
IP-based routers that performed at comparable
speeds to ATM switches, negating the original
need for the MPLS solution.
5Why do we still need MPLS?
Although the original need for MPLS had been met
by the increase in the performance of IP-based
routers, there is still a great deal of interest
in MPLS as an emerging protocol. Not only can
MPLS improve the performance of routers when
placed on top of IP, but MPLS provides new
capabilities important to areas of networking
such as Quality of Service, traffic engineering,
multiprotocol support, and Virtual Private
Networks.
6How it all works (The Simple Version)
Our Network of Routers
Yeah, I know, the symbols shown are technically
for switches on a network. I couldnt make
PowerPoint draw the correct symbol. So lets
just pretend, shall we?
7How it all works (The Simple Version)
P
In a non-MPLS based network, once a packet enters
the network
8How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
9How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
10How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
11How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
12How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
13How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
14How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
15How it all works (The Simple Version)
P
that packet is processed at each node it
encounters before being sent onwards to a node
closer to its destination.
16How it all works (The Simple Version)
At each node, we at the very least examine the
headers for the Data Link Layer (layer 2) and the
Network Layer (layer 3) for routing information
before repackaging the packet and sending it on
its way.
These days its not unheard of to go even farther
into the protocol stack to extract information
from the Transport and Application Layers!
17How it all works (The Simple Version)
Thats quite a bit of processing done by a bunch
of nodes in our network! Surely there must be a
better way!
18How it all works (The Simple Version)
MPLS reduces the amount of processing done by
interior nodes in the network by creating paths
that only forward certain kinds of traffic
through the network. Packets are processed by
an ingress router, examined for particular
characteristics, and then shuttled down a
particular path on its way to a destination. As
the path only accepts certain packets, the
processing at each node on the path is quick and
efficient. How are these packets guided down this
path?
19How it all works (The Simple Version)
MPLS reduces the amount of processing done by
interior nodes in the network by creating paths
that only forward certain kinds of traffic
through the network. Packets are processed by
an ingress router, examined for particular
characteristics, and then shuttled down a
particular path on its way to a destination. As
the path only accepts certain packets, the
processing at each node on the path is quick and
efficient. How are these packets guided down this
path?
LABELS
20Multi-Protocol Label Switching
P
The packet enters our network at our ingress
Label Switch Router (LSR).
21Multi-Protocol Label Switching
P
Based on its characteristics, a path is
determined for the packet
22Multi-Protocol Label Switching
P
L
And a Label is assigned to that packet
23Multi-Protocol Label Switching
By using that label, the packet is quickly
forwarded to its destination without the need for
each intermediate node to process the IP
information for that packet
24Too Simple?
Of course, that explanation was really a gross
simplification of the actual process. Lets take
a closer look at the process.
25Forwarding Equivalency Classes
When a packet enters into an MPLS network, the
MPLS edge router classifies the packet as part of
a particular Forwarding Equivalency Class.
Based on information gleaned from the packet
such as source/destination address, the physical
interface the packet arrived on, Quality of
Service requirements, etc, these groups of
packets are forwarded through the MPLS network
over the same path with the same treatment.
26Labels
Once it has been placed into a particular
Forwarding Equivalency Class, the packet is
assigned a label that identifies it as part of
that FEC. These labels are 32 bits long, and
consist of four sections
0
19
23
24
31
Label
EXP
TTL
Bits 0 - 19 Label Portion Bits 20 - 22
Experimental Use Bit 23 Bottom of the
Stack? Bits 24 - 31 TTL
27Labels
0
19
23
24
31
Label
EXP
TTL
The Label portion of the label is a 20-bit long
field that denotes which FEC the packet belongs
to. In general, a label has significance LOCAL
to the nodes on either side of a particular link
only (allowing for greater flexibility in our
label domain).
28Labels
0
19
22
24
31
Label
EXP
TTL
Bits 20 through 22 are reserved for experimental
use.
29Labels
0
19
22
24
31
Label
EXP
TTL
Bit 23 is used to denote the bottom of a label
stack (discussed later). It is set to 1 for the
label at the bottom of the stack and 0 for all
other labels.
30Labels
0
19
22
24
31
Label
EXP
TTL
Bits 24 through 31 are used to store the TTL
value for the packet. When a packet enters an
MPLS network, its TTL value is copied into this
field and adjusted as normal as the packet
traverses the network. When the packet leaves
the MPLS network, the value of its TTL is
modified appropriately.
31Label Switch Paths (LSPs)
FEC 1
FEC 2
The Label Switch Path is the path that a
particular FEC utilizes as it sends packets
through the network.
32Label Switch Routers (LSRs)
- LSRs are nodes in our network that can forward
MPLS packets. They are commonly referred to as - Edge Routers
- These routers process incoming outgoing packets
(ingress LSRs egress LSRs respectively),
assigning them to particular FECs, or preparing
them to leave the MPLS network. - Internal Routers
- -- these routers pass labeled packets quickly
through the network.
33So what happens when a packet enters an MPLS
network? (Basic Version)
Ingress LSR
P
34- The ingress LSR examines the packet, looking for
pieces of information it needs to assign the
packet a label. This information could be
extracted from - The physical characteristics of the packet (size,
physical interface of arrival) - The network layer header (source/destination
address, TOS, TTL, etc) - The transport layer header (source/destination
port, flags, etc) - Quality of Service requirements that may exist
- Information about the application itself
- depending on the policies determined by the
network administrator.
P
35- The ingress LSR does two things at this point
- it determines which FEC the incoming packet
belongs to based on the information gathered from
the packet. It then assigns the appropriate
label to the packet. - it takes the TTL value out from the packet and
places it into the label entry, in order to
properly handle the packets time out value as it
passes through the MPLS network
TTL
Label
Packet Header
Data
The stack bit is set to 1
36P
L2
At this point, the labeled packet is ready to be
sent through the network. The ingress LSR has a
table that states how the packet should be sent
to the next hop.
Out iface
Out label
FEC
A
1
L1
B
2
L2
C
3
L3
37P
L2
At this point, the labeled packet is ready to be
sent through the network. The ingress LSR has a
table that states how the packet should be sent
to the next hop.
38P
L2
39P
L2
Compared to the ingress LSR, interior LSRs have a
much simpler task set before them
40P
L2
Incoming label
Incoming iface
Outgoing label
Outgoing iface
L1
1
4
La
L1
5
3
Lb
L2
1
3
Lc
L3
2
3
Ld
L4
1
4
Le
L4
1
4
Lf
The interior LSR merely has to translate the
incoming label on the incoming interface
according to its transition table. After the
LSR adjusts the packets TTL, it can forward on
the packet in one of two ways
41Stacking vs Swapping
According to the MPLS specification, the LSR can
either swap out the old label for a new label and
forward the packet onwards, or stack the new
label on top of the old one.
P
L2
P
Lc
OR
P
L2
P
Lc
L2
42Swapping
Normally, nodes in an MPLS network merely swap
out labels upon receiving a packet before
forwarding the packet onwards.
P
L2
43Swapping
Normally, nodes in an MPLS network merely swap
out labels upon receiving a packet before
forwarding the packet onwards.
P
L2
Incoming label
Incoming iface
Outgoing label
Outgoing iface
L2
1
3
Lc
44Swapping
Normally, nodes in an MPLS network merely swap
out labels upon receiving a packet before
forwarding the packet onwards.
P
Lc
Incoming label
Incoming iface
Outgoing label
Outgoing iface
L2
1
3
Lc
dont forget to decrement the TTL
45Stacking
As an alternative to merely swapping out labels,
our network could operate with a hierarchical
stack of labels. The interior LSRs could push
new labels on top of our stack of labels and send
it onwards, or pop a label off our stack before
it traverses to the next hop. As defined by the
RFC, the network would only be working with
labels a the top of the stack (though future uses
of MPLS could change that).
46Stacking
P
L2
Our labeled packet is sent out from our first LSR
47Stacking
P
L2
La
P
L2
The next LSR in the LSP pushes a new label (La)
onto the label stack before sending the packet
onwards
48Stacking
P
L2
LG
P
L2
La
Here we see that the third node in our LSP swaps
the top level label for a new one (LG). The use
of stacking does not exclude the use of label
swapping.
49Stacking
P
L2
The fourth node pops the top level label off the
label stack before forwarding the packet onwards
through the network.
50Why Stack?
There are several reasons to utilize stacking for
labels. Lets expand the example we were just
working with to give us a clearer picture.
51This is the view of the LSP we saw last time.
But what could this network really look like?
52(No Transcript)
53Of course, this is somewhat of an exaggeration,
but what we see here is a network where many LSPs
share a series of hops regardless of the FEC the
incoming packets might belong to.
54We chose here to utilize label stacking to
aggregate these LSPs together for a series of
hops before allowing them to go their separate
way.
55We can also use label stacking for other
purposes. Our last example showed aggregation of
stacks due to physical restrictions. We could
also chose to aggregate LSPs for conceptual
reasons
Georgia Tech Faculty computer traffic
Georgia Tech Faculty computer traffic
Georgia Tech computer traffic
Georgia Tech Resnet computer traffic
The Pipe
Georgia Tech Resnet computer traffic
UGA Faculty computer traffic
UGA Faculty computer traffic
UGA computer traffic
UGA Resnet computer traffic
UGA Resnet computer traffic
56- Label stacks can also be used
- When crossing administrative domains within the
same network or for a distributed network. - To establish tunnels for VPNs (BGP/MPLS VPNs)
- To carry information about a given application
before being processed by the network
57Back to the problem at hand
Our Packet enters the network via the ingress LSR
58Back to the problem at hand
Based on its characteristics, the packet will
follow an LSP.
59Back to the problem at hand
60Routing Hop-by-hop vs Explicit
- Now that we kind of see how our packets travel
through our MPLS network, lets explore how they
are ROUTED through our MPLS network. - MPLS supports two different flavors of routing
- Hop-by-hop routing
- Explicit routing
61Hop-by-hop routing in an MPLS network
With hop-by-hop routing, we revert back to our
traditional model of routing where each LSR
makes its own decision on how to route an
incoming labeled packet utilizing an ordinary
routing algorithm such as OSPF.
62Hop-by-hop why?
Hop-by-hop routing is relatively simple to set up
in comparison to explicit routing as we shall
see. As we are still in an MPLS network, we can
still do fast switching based on labels, stack
labels to aggregate LSPs and convey information,
and have differential service for FECs.
63Hop-by-hop why not?
As most traditional routing algorithms do not
keep track of many performance metrics of network
operation, we lose our capability for traffic
engineering and policy routing.
64Explicit Routing in an MPLS network
- With explicit routing, a packets entire path
through a network is determined at the ingress
LSR. Each LSR becomes a switch, quickly and
efficiently forwarding packets based solely on
their label along the LSP. - Explicit routing comes in two distinct flavors
itself - Static explicit routing -- all possible LSPs are
set up ahead of time - Dynamic explicit routing -- the routes may change
over time as conditions warrant.
65Dynamic Explicit Routing what do we need?
- In order to set up dynamic explicit routing
successfully, the LSR setting up the LSPs would
need to know a bit of information about the
network - The topology of the network
- QoS-related information about that network
- Attributes associated with an FEC(s) that
collectively specify their behavioral
characteristics. - Attributes associated with physical resources
(LSRs, links) that constrain the placement of
LSPs through them.
66Dynamic Explicit Routing what do we need?
The LSR determining the LSPs then utilizes that
information in its routing algorithm. This
algorithm, known as a constraint-based routing
algorithm is aware of the networks utilization,
capacity, and committed services at all times and
adjust paths appropriately should conditions
change. Traditional routing algorithms, limited
in the cost metrics they account for, can not be
used in Dynamic Explicit Routing. New and more
complex algorithms (such as enhanced OSPF) are
required.
67Uses for MPLS
The original need for MPLS as a marriage of IP
ATM technologies has passed. And yet, MPLS
continues to grow in popularity as scientists and
engineers explore the possibilities that this
fresh look at an old idea has to offer
- Connection Oriented QoS
- Traffic Engineering
- VPNs
- Application Based Switching