Submitted to MPLS Working Group D. Ooms INTERNET DRAFT W. Livens B. Sales Alcatel November, 1998 Expires May, 1999 MPLS for PIM-SM Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Distribution of this memo is unlimited. Abstract This document describes the issues which rise when PIM-SM ([ESTR]) is chosen as the protocol for IP multicast deployment in an MPLS environment. The relevant characteristics of PIM-SM are further explored and a trigger for the establishment of LSPs for multicast trees is proposed. Table of Contents 1. Introduction 2. Characteristics of PIM-SM 3. The selection of an LSP trigger method 4. The MFC as a trigger method 4.1. Co-existence of (S, G) and (*, G) states in a single node 4.2. Label switching and encapsulated traffic 4.3. L3 measurements Ooms, et al. Expires May 1999 [Page 1] Internet Draft draft-ooms-mpls-pimsm-00.txt November 1998 4.4. Mixed L2/L3 forwarding 5. Security Considerations 6. Acknowledgements Table of Abbreviations DR Designated Router DRsend Designated Router of a sender DRrecv Designated Router of a receiver IGMP Internet Group Management Protocol IP Internet Protocol L2 layer 2 (e.g. ATM) L3 layer 3 (e.g. IP) LSP Label Switched Path LSR Label Switching Router MFC Multicast Forwarding Cache MRT Multicast Routing Table mp2mp multipoint-to-multipoint PIM-SM Protocol Independent Multicast-Sparse Mode RP Rendezvous Point 1. Introduction Draft [OOMS] is a framework for IP Multicast in MPLS. Among other things it describes the characteristics of several IP Multicast protocols in an MPLS context. This document will focus on one of these protocols, namely PIM-SM ([ESTR]). This document will advocate one method to trigger the establishment of multicast LSPs, namely an approach based on the Multicast Forwarding Cache (MFC). 2. Characteristics of PIM-SM The characteristics of PIM-SM, which are important in the context of MPLS are listed in [OOMS]. The trees constructed in PIM-SM are unidirectional and they can be either shared-trees (= group specific with the Rendezvous Point as the root of the tree) or source-trees (= source specific with the source as the root of the tree; also called shortest-path tree). For the unidirectional shared-tree, multicast data is sent encapsulated towards the Rendezvous point (RP). The decapsulation of the data requires L3 processing at the RP. This means a multicast Ooms, et al. Expires May 1999 [Page 2] Internet Draft draft-ooms-mpls-pimsm-00.txt November 1998 LSP for the shared-tree can not cross the RP, it can only start at the RP. At the same time this characteristic avoids the potential merging problem of mapping mp2mp streams onto LSPs in the RP. 3. The selection of an LSP trigger method In label switching one wants to map the L3 tree onto a L2 tree, i.e. mapping multicast data streams onto LSPs. The description of the branching of the L3 tree can be found in the Multicast Routing Table (MRT). The MRT is maintained by the multicast routing protocol. A subset of this MRT - with only entries corresponding to data carrying trees - can be found in the Multicast Forwarding Cache (MFC). In [OOMS] the trigger methods for multicast are discussed: request driven, topology driven and traffic driven. The methods based on the MRT and MFC are respectively categorized as topology driven and traffic driven. The interception of PIM messages to trigger LSPs belongs to the category of the request driven methods. As mentioned in [OOMS] this trigger method implies that the 'routing calculations' (which calculate the L3 tree based on e.g. the PIM Join/Prune/Assert messages) have to be redone in the 'MPLS module'. To illustrate what can happen if this 'routing calculation' is neglected consider the example in Figure 1. Assume a topology with one sender S and two receivers R1 and R2. RP is the Rendezvous Point. Ni is an LSR. The numbers are the interface numbers, Reg is the Register interface. PJ=Pim Join IJ=Igmp Join S | PJ PJ PJ |2 PJ IJ 1 <- 1 3<- <- | <- <- RP------N1----N2----N3----N4----R1 ^|2 1 2 1 3 1 2 PJ|| IJ 1| <- N5----R2 2 Figure 1 All IGMP and PIM Join messages are shown in the picture. The multicast routing states created in the MRT are: Ooms, et al. Expires May 1999 [Page 3] Internet Draft draft-ooms-mpls-pimsm-00.txt November 1998 in RP: (*,G):Reg->1 (i.e. incoming itf=Reg; outgoing itf=1) in N1: (*,G):1->2,3 (S,G):1->2 in N2: (*,G):1->2 (S,G):1->none in N3: (*,G):1->3 (S,G):2->Reg,3 in N4: (*,G):1->2 in N5: (*,G):1->2 If the LSP would be derived straightforward from the PIM Join messages, an LSP from RP to N4 (or R1) will be established. The result of this will be that R1 receives the data from S twice: once via the LSP (RP-N1-N2-N3-N4-R1) and once hop-by-hop (S-N3-N4-R1). So the naive straightforward interception of PIM Join messages is insufficient to trigger multicast LSPs. If the LSPs are triggered by a topology (MRT) or traffic (MFC) driven method this 'routing calculation' is already performed by the multicast routing daemon, so the problem described above will not be encountered. Since the MFC is a subset of the MRT it will consume less labels. An additional implementation advantage is that often the MFC is a common component for several multicast routing protocols. For the reasons listed above the use of the MFC trigger is advocated. This trigger method still requires an intelligent interpreter of the MFC (see section 4). 4. The MFC as a trigger method 4.1. Co-existence of (S, G) and (*, G) states in a single node PIM-SM supports both shared-trees and source-trees. The corresponding (*, G) and (S, G) state types for the same group G can appear as entries in the MFC of a single node (e.g. N1 in Figure 1). The co-existence of these state types typically occur when: - A source-tree can overlap with the shared-tree (the latter can still be in use by other sources of the same group). In the node where the overlap starts both (S, G) and (*, G) state is present. - Multicast traffic from a sender will create (S, G) state in the DR of the sender (DRsend; N3 in Figure 1 is the DRsend of S). Each node Ooms, et al. Expires May 1999 [Page 4] Internet Draft draft-ooms-mpls-pimsm-00.txt November 1998 on a shared-tree has (*, G) state. Thus an on-tree DRsend has both (*, G) and (S, G) state. Remark that the first upstream router (starting from DRsend) which has a branch also has both state types (N1 in Figure 1). - ... An (S, G) and (*, G) state can co-exist in a certain node when the multicast data sent by S has to be forwarded in a different way than the other data of the same group. It is not trivial to handle this co-existence on L2. A general rule for handling this state co- existence is to terminate the LSPs and forward all traffic of this group on L3. However L2 optimizations are possible. Depending on whether the (*, G) and (S, G) state have a same (4.1.1.) or different (4.1.2.) incoming interface two types of state co-existence can be distinguished. 4.1.1. Same incoming interface The (*, G) and (S, G) state have the same incoming interface (e.g. N1 in Figure 1). If the multicast data of this group arrives on a single (*, G) LSP a termination at L3 is required to perform the appropriate forwarding based on the source address, namely the (S, G) traffic must be extracted from the (*, G) stream. In case a (S, G) entry without outgoing interface is added to the MRT (e.g. N2 in Figure 1) this entry will only exist temporarily in the MFC (on a pruned interface traffic can only arrive as a transient effect). In this particular case of co-existence of (*, G) and (S, G) state one could maintain the existing (*, G) LSP, the disadvantage being duplicate traffic for a very short time. 4.1.2. Different incoming interface The (*, G) and (S, G) state have different incoming interfaces, but some common outgoing interfaces (e.g. N3 in Figure 1). It is possible that the traffic of S arrives on both the (*, G) and (S, G) interfaces. In normal L3 forwarding the (S, G) entry prohibits the forwarding of the traffic from S arriving on the (*, G) incoming interface. During a switch-over from a shared-tree to a source-tree, the traffic of S can only temporarily (until Prune messages are processed) arrive Ooms, et al. Expires May 1999 [Page 5] Internet Draft draft-ooms-mpls-pimsm-00.txt November 1998 on the incoming interfaces of both the (*, G) and (S, G) entries. If one does not mind the temporary forwarding of duplicate packets one could opt for L2 forwarding. In the latter case the (*, G) and (S, G) streams have to be merged into the (*, G) LSP on the outgoing interfaces which are common. 4.2. Label switching and encapsulated traffic The encapsulation and decapsulation of multicast data is a L3 process. For this reason the mp2mp path corresponding to a unidirectional shared tree can never be mapped onto an end-to-end LSP: the traffic on this mp2mp path can not be forwarded on L2 on the Register interface of the DRsend (encapsulation), nor can it cross the RP (decapsulation) at L2. If the LSR does support mixed L2/L3 forwarding ([OOMS]), the (S, G) traffic in DRsend can still be forwarded on L2 on the outgoing interfaces which are not the Register interface. PIM-SM encapsulates the multicast data in a PIM Register message from the DRsend towards the RP. This traffic could also benefit from MPLS by label switching PIM Register messages. 4.3. L3 measurements The MFC is performing L3 measurements to determine when to time out its cache. Additionally PIM-SM uses these measurements to determine when to switchover between shared-trees and source-trees. When label switching is applied, these L3 measurements are disturbed because traffic uses an LSP. To overcome this problem the L3 counters have to be updated by measurements on the LSP. 4.4. Mixed L2/L3 forwarding If the nodes do not support mixed L2/L3 forwarding the use of the MFC trigger requires that labels are requested by the upstream node (e.g. Downstream On Demand LDP mode) [OOMS]. 5. Security Considerations Security considerations are not discussed in this version of the document. Ooms, et al. Expires May 1999 [Page 6] Internet Draft draft-ooms-mpls-pimsm-00.txt November 1998 6. Acknowledgements The authors would like to thank Pavlin Radoslavov (University of Southern California) and Maria Ramalho for reviewing the draft. References [ESTR] D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S. Deering, M. Handley, V. Jacobson, C. Liu, P, Sharma, L. Wei; Protocol Independent Multicast (PIM), Sparse Mode Protocol: Specifica- tion, RFC 2362, June 1998. [OOMS] D. Ooms, W. Livens, B. Sales, M. Ramahlo, Framework for IP Mul- ticast in MPLS, draft-ooms-mpls-multicast-00.txt Authors Addresses Dirk Ooms Alcatel Corporate Research Center Fr. Wellesplein 1, 2018 Antwerpen, Belgium. Phone : 32-3-240-4732 Fax : 32-3-240-9932 E-mail: Dirk.Ooms@alcatel.be Wim Livens Alcatel Corporate Research Center Fr. Wellesplein 1, 2018 Antwerpen, Belgium. Phone : 32-3-240-7570 E-mail: Wim.Livens@alcatel.be Bernard Sales Alcatel Corporate Research Center Fr. Wellesplein 1, 2018 Antwerpen, Belgium. Phone : 32-3-240-9574 E-mail: Bernard.Sales@alcatel.be Ooms, et al. Expires May 1999 [Page 7]