 |
Guarantee a fixed amount of capacity for specific applications, such as audio/video conference
|
 |
Control latency and jitter and ensure capacity for voice
|
 |
Provide very specific, guaranteed, and quantifiable service-level agreements, or traffic contracts
|
 |
Configure varying degrees of QoS for multiple network customers
|
1. |
Prior to the routing and delivery of packets in a given FEC, a path through the network, known as a Label Switched
Path (LSP), must be defined and the QoS parameters along that path must be established. The QoS parameters determine (1)
how many resources to commit to the path, and (2) what queuing and discarding policy to establish at each LSR for packets in
this FEC. To accomplish these tasks, two protocols are used to exchange the necessary information among routers:
a. |
An interior routing protocol, such as OSPF, is used to exchange reachability and routing information.
|
b. |
Labels must be assigned to the packets for a particular FEC. Because the use of globally unique labels would impose a
management burden and limit the number of usable labels, labels have local significance only, as discussed subsequently. A network operator can specify explicit routes manually and assign the appropriate label values. Alternatively, a protocol is used to determine the route and establish label values between adjacent LSRs. Either of two protocols can be used for this purpose: the Label Distribution Protocol (LDP) or an enhanced version of RSVP.
|
|
2. |
A packet enters an MPLS domain through an ingress edge LSR where it is processed to determine which network-layer services it
requires, defining its QoS. The LSR assigns this packet to a particular FEC, and therefore a particular LSP, appends the
appropriate label to the packet, and forwards the packet. If no LSP yet exists for this FEC, the edge LSR must cooperate with
the other LSRs in defining a new LSP.
|
3. |
Within the MPLS domain, as each LSR receives a labeled packet, it:
a. |
Removes the incoming label and attaches the appropriate outgoing label to the packet.
|
b. |
Forwards the packet to the next LSR along the LSP.
|
|
4. |
The egress edge LSR strips the label, reads the IP packet header, and forwards the packet to its final destination.
|
1. |
An MPLS domain consists of a contiguous, or connected, set of MPLS-enabled routers. Traffic can enter or exit the domain from
an endpoint on a directly connected network, as shown in the upperright corner of Figure 1. Traffic may also arrive from an
ordinary router that connects to a portion of the internet not using MPLS, as shown in the upper-left corner of Figure 1.
|
2. |
The FEC for a packet can be determined by one or more of a number of parameters, as specified by the network manager. Among
the possible parameters:
 |
Source or destination IP addresses or IP network addresses
|
 |
Source or destination port numbers
|
 |
IP protocol ID
|
 |
Differentiated services codepoint
|
 |
IPv6 flow label
|
|
3. |
Forwarding is achieved by doing a simple lookup in a predefined table that maps label values to next-hop addresses. There is
no need to examine or process the IP header or to make a routing decision based on destination IP address.
|
4. |
A particular Per-Hop Behavior (PHB) can be defined at an LSR for a given FEC. The PHB defines the queuing priority
of the packets for this FEC and the discard policy.
|
5. |
Packets sent between the same endpoints may belong to different FECs. Thus, they will be labeled differently, will experience
different PHB at each LSR, and may follow different paths through the network.
|
 |
Label value: locally significant 20-bit label
|
 |
Exp: 3 bits reserved for experimental use; for example, these bits could communicate DS information or PHB guidance
|
 |
S: set to one for the oldest entry in the stack, and zero for all other entries
|
 |
Time To Live (TTL): 8 bits used to encode a hop count, or time to live, value
|
1. |
When an IP packet arrives at an ingress edge LSR of an MPLS domain, a single label stack entry is added to the packet. The
TTL value of this label stack entry is set to the value of the IP TTL value. If the IP TTL field needs to be decremented, as
part of the IP processing, it is assumed that this has already been done.
When an MPLS packet arrives at an internal LSR of an MPLS domain, the TTL value in the top label stack entry is decremented.
Then:
a. |
If this value is zero, the MPLS packet is not forwarded. Depending on the label value in the label stack entry, the
packet may be simply discarded, or it may be passed to the appropriate "ordinary" network layer for error processing
(for example, for the generation of an Internet Control Message Protocol [ICMP] error message).
|
b. |
If this value is positive, it is placed in the TTL field of the top label stack entry for the outgoing MPLS packet, and
the packet is forwarded. The outgoing TTL value is a function solely of the incoming TTL value, and is independent of
whether any labels are pushed or popped before forwarding. There is no significance to the value of the TTL field in
any label stack entry that is not at the top of the stack.
|
|
2. |
When an MPLS packet arrives at an egress edge LSR of an MPLS domain, the TTL value in the single label stack entry is
decremented and the label is popped, resulting in an empty label stack. Then:
a. |
If this value is zero, the IP packet is not forwarded. Depending on the label value in the label stack entry, the
packet may be simply discarded, or it may be passed to the appropriate "ordinary" network layer for error processing.
|
b. |
If this value is positive, it is placed in the TTL field of the IP header, and the IP packet is forwarded using
ordinary IP routing. Note that the IP header checksum must be modified prior to forwarding.
|
|
1. |
Traffic must be assigned to a particular FEC.
|
2. |
A routing protocol is needed to determine the topology and current conditions in the domain so that a particular LSP can be
assigned to an FEC. The routing protocol must be able to gather and use information to support the QoS requirements of the
FEC.
|
3. |
Individual LSRs must become aware of the LSP for a given FEC, must assign an incoming label to the LSP, and must communicate
that label to any other LSR that may send it packets for this FEC.
|
 |
Unique ingress and egress LSR: In this case a single path through the MPLS domain is needed.
|
 |
Unique egress LSR, multiple ingress LSRs: If traffic assigned to a single FEC can arise from different sources that
enter the network at different ingress LSRs, then this situation occurs. An example is an enterprise intranet at a single
location but with access to an MPLS domain through multiple MPLS ingress LSRs. This situation would call for multiple paths
through the MPLS domain, probably sharing a final few hops.
|
 |
Multiple egress LSRs for unicast traffic: RFC 3031 states that most commonly, a packet is assigned to a FEC based
(completely or partially) on its network layer destination address. If not, then it is possible that the FEC would require
paths to multiple distinct egress LSRs. However, more likely, there would be a cluster of destination networks, all of which
are reached via the same MPLS egress LSR.
|
 |
Multicast: RFC 3031 lists multicast as a subject for further study.
|
 |
A set of attributes associated with an FEC or a collection of similar FECs that collectively specify their behavioral
characteristics
|
 |
A set of attributes associated with resources (nodes, links) that constrain the placement of LSPs through them
|
 |
Maximum link data rate
|
 |
Current capacity reservation
|
 |
Packet loss ratio
|
 |
Link propagation delay
|
1. |
Assign a label to the LSP to be used to recognize incoming packets that belong to the corresponding FEC.
|
2. |
Inform all potential upstream nodes (nodes that will send packets for this FEC to this LSR) of the label assigned by this LSR
to this FEC, so that these nodes can properly label packets to be sent to this LSR.
|
3. |
Learn the next hop for this LSP and learn the label that the downstream node (LSR that is the next hop) has assigned to this
FEC. This process will enable this LSR to map an incoming label to an outgoing label.
|
 |
MPLS Forum: An industry forum to promote MPLS:
http://www.mplsforum.org/
|
 |
MPLS Resource Center: Clearinghouse for information on MPLS:
http://www.mplsrc.com/
|
 |
MPLS Working Group: Chartered by IETF to develop standards related to MPLS. The Web site includes all relevant RFCs and Internet Drafts:
|