1 / 22

MPLS Multicast Encapsulations draft-rosen-mpls-multicast-encaps-00.txt

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). Issue.

bryga
Download Presentation

MPLS Multicast Encapsulations draft-rosen-mpls-multicast-encaps-00.txt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MPLS Multicast Encapsulationsdraft-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)

  2. 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

  3. 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…

  4. 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

  5. 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

  6. 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

  7. 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]

  8. 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

  9. 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

  10. MPLS Upstream Label Assignment and Context Specific Label Spacedraft-raggarwa-mpls-upstream-label-00.txt Rahul Aggarwal (rahul@juniper.net) Yakov Rekhter (yakov@juniper.net) Eric Rosen (erosen@cisco.com)

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. Conclusion • Comments are welcome • We would like these drafts to be WG drafts

More Related