Post on 06-Jan-2016
description
Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net 1
MPLS Multicast Encapsulations
draft-rosen-mpls-multicast-encaps-00.txt
Toerless Eckert (eckert@cisco.com)
Eric Rosen (erosen@cisco.com)
Rahul Aggarwal (rahul@juniper.net)
Yakov Rekhter (yakov@juniper.net)
2Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Issue RFC 3032 defines two data link code points for
MPLS – For Unicast and Multicast. But..
• There is no need to reserve a code point to determine whether the top label is a MPLS multicast label
• The NHLFE will determine whether the top label is a MPLS multicast label
• The developments in MPLS multicast have shown that the definition of these code points with respect to MPLS multicast is not adequate
• Similar issue with RFC 4023 for MPLS in GRE
3Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Solution The semantics of the data link code points
as defined in RFC 3032 and RFC 4023 need to be redefined for MPLS multicast
• Align with developments in MPLS multicast
But before discussing details…
4Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Downstream Assigned vs Upstream Assigned Labels
Consider Ru (upstream LSR) and Rd (downstream LSR) as adjacent in a LSP for FEC F. The top label of the MPLS packet sent by Ru to Rd is L.
Downstream Assigned Label - Rd distributes the binding of FEC F to label L to Ru
Upstream Assigned Label – Ru distributes the binding of FEC F to label L to Rd
5Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
MPLS Multicast and Upstream Assigned Labels
Ru is adjacent to <Rd1…Rdn> in a LSP and is connected to to <Rd1…Rdn> via a multi-access media or Tunnel.
Further Ru wishes to transmit a single copy of a MPLS Multicast packet belonging to the LSP to <Rd1…Rdn>
• The same top label must be received by <Rd1..Rdn> for this MPLS multicast packet
To accomplish this Ru assigns an upstream assigned label and distributes it to <Rd1…Rdn>
Upstream label assignment architecture in draft-raggarwa-mpls-upstream-label – Next presentation
6Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Back to Code Points Three different types of data links/tunnels
• P2P – downstream assigned labels only
• P2MP – All top labels must be downstream assigned or upstream assigned. Determined apriori
• MP2MP - Top labels may be downstream assigned or upstream assigned. Encapsulation must provide a code-point to make this distinction
7Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Ethernet Code Points and MPLS Multicast
Ethernet is an example of a MP2MP data link 0x8847 [unicast code point] is used for MPLS
multicast packets as long as the top label is downstream assigned.
• The MAC address is that of the intended recipient i.e. a unicast MAC
0x8848 [Former multicast code point] is used when the top label is upstream assigned
• The MAC address is a multicast MAC derived from the label – 01 – 00 - 5e - 8a - bc - de [abcde is the 20 bit label value]
8Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
GRE Protocol Type and MPLS Multicast
Modifies RFC 4023
If the destination address is an IP multicast address and both downstream and upstream assigned MPLS labeled packets are carried on the same tunnel
• 0x8847 is used for downstream assigned lbls
• 0x8848 is used for upstream assigned lbls
If the destination address is an IP multicast address and only upstream assigned or only downstream assigned MPLS labeled packets are carried
• 0x8847 is always used
9Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
IP Protocol Number IPv4 protocol number or IPv6 Next Header
Field is always set to 137
• The top label is always downstream assigned or always upstream assigned
Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net 10
MPLS Upstream Label Assignment and Context Specific Label Space
draft-raggarwa-mpls-upstream-label-00.txt
Rahul Aggarwal (rahul@juniper.net)
Yakov Rekhter (yakov@juniper.net)
Eric Rosen (erosen@cisco.com)
11Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Scope RFC 3031 limits the MPLS architecture to
downstream assigned labels
This draft generalizes the notion of a per-interface label space to a “context-specific” label space
• Neighbor label space is introduced as an example of “context-specific” label space
This draft extends the MPLS architecture for upstream assigned labels
12Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Context-Specific Label Space RFC 3031 describes platform and interface based
label spaces This document describes the more general notion
of a “context-specific” label space• A LSR may maintain multiple context-specific
label spaces A context-specific label space may be used for
downstream-assigned or upstream-assigned labels
An interface-based label space is an example of a context-specific label space for downstream-assigned labels• Label space is determined by the interface
13Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Context-Specific Label Space and Upstream Assigned Labels
Upstream Assigned Labels are always looked up in a context-specific label space
The context is provided by the LSR that assigns and distributes the upstream assigned label binding, L for LSP1
The LSR that receives the upstream assigned label binding must be able to determine the context when it receives a MPLS packet with a top label ‘L’ on LSP1
14Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Context-Specific Label Space and Upstream Assigned Labels…
Tunnel Specific Label Space
• Determined by the tunnel on which the MPLS packet is received
• If the tunnel is a MPLS tunnel, PHP must be turned off
Neighbor Specific Label Space
• Determined by the neighbor from which the MPLS packet is received
15Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Upstream Assigned Labels Motivation was described earlier
A LSR may distribute upstream assigned labels for FEC F to its downstream LSRs and downstream assigned labels to its upstream LSRs
Two adjacent LSRs, Ru and Rd, on LSP LSP1 for FEC F must use either upstream label assignment or downstream label assignment for FEC F, for packets transmitted from Ru to Rd
16Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Assigning Upstream Assigned Labels
An upstream assigned label must be unambiguous in the context-specific label space in which the downstream LSR will look it up
For the upstream LSR, an upstream assigned label is an outgoing label and forms part of the NHLFE
17Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Distributing Upstream Assigned Labels
Must not be distributed unless its known that a downstream LSR supports them
• Requires protocol discovery extensions
• Assumption is that the downstream LSR can accept upstream assigned labels from the entire label range
Label distribution protocol considerations are based on RFC 3031
Distribution is similar to ordered LSP control or independent LSP control of downstream assigned labels
18Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Downstream LSR Requirements A downstream LSR must be able to
determine
• Whether a label is upstream assigned and
• The context-specific label space in which to lookup the packet
19Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Data Link Encapsulation Upstream assigned label is encapsulated
directly in a data link header by Ru
• Is the label upstream assigned ? – draft-rosen-mpls-mcast-encaps
• Rd maintains a separate neighbor label space for Ru
• What is the context ? Determined by the data link header. Eg. For ethernet, the source MAC address
20Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
MPLS Tunnel Encapsulation Ru transmits the packet, the top label L of
which is upstream assigned, by encapsulating it in a MPLS tunnel
• Rd determines the context of this packet using the labels above L in the label stack
• One or more labels above L may also be upstream assigned
• Rd may maintain a separate label space for the tunnel or a single label space for Ru
21Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
GRE Tunnel Encapsulation Ru transmits the packet, the top label L of
which is upstream assigned, by encapsulating it in a GRE tunnel
• Rd determines the context of this packet using the IP/GRE header – source/dest address
• Rd may maintain a separate label space for the tunnel or a single label space for Ru
22Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidential www.juniper.net
Conclusion Comments are welcome
We would like these drafts to be WG drafts