Internet Engineering Task Force Yunzhou Li INTERNET-DRAFT Nortel Networks 14 May 1999 Multicast Source Proxy Option Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 except for the right to produce derivative works. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the internet-drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), ftp.ietf.org (US East Coast), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Abstract This memo introduces a multicast source proxy option to the IP header of multicast data in anticipation to improve the scalability of dense-mode multicast protocols. In case of many-to-many multicast applications, this option will enable downstream routers to aggregate (S,G) states consistently. This option will also allow to dynamically re-root subset of multicast distribution tree as required. This option will enable an MOSPF domain to function as a transit domain. For each aggregation source network S/mask, this option allows internal MOSPF routers to create a default state (S/mask, *), whose forwarding decision maps to (ASBR, *). All multicast data for group without internal membership will be forwarded in accordance with the default state. Y. Li Expires 14 November 1999 [Page i] Internet Draft Multicast Source Proxy Option 14 May 1999 1. Introduction Dense-mode multicast protocols, such as MOSPF ([2]), DVMRP ([3]) and PIM-DM ([1]), have (S,G) states installed in the routers. However, most of multicast domains are stub domains, with only one ingress/egress border router. As a result, all multicast traffic from outside the stub domain will go through the ingress/egress border router, while all routers inside the domain still unnecessarily install a (S,G) state for each source. These (S,G) states in fact can be replaced by a single (B,G) state where B is the ingress/egress border router. The negative aspect of installing (S,G) state for each source is that we unnecessarily increase the size of multicast forwarding table, and waste the efforts of multicast protocols in maintaining these states. For example, for each (S,G), MOSPF has to do a separate Dijikstra calculation, and DVMRP and PIM-DM have to do periodical graft/prune. Although currently the domainating multicast applications are one-to-many, in future, many-to-many applications will essentially be in use at large over the Internet. On the other hand, dense mode multicast protocols require all routers on the forwarding path to join a globally-consistent tree. This is to prevent multicast routing loop. Howvever, in many cases, as required for multicast policy, multicast security and multicast applications, self-contained routing domains need to re-root their domain-specific subset tree. This re-rooting is not supported by multicast protocols. As a result, as specified in BGMP ([4]), a multicast data has to be transmitted across a domain from one border router to another, and then be forwarded back into the domain (the reason is this other border router is the "correct" upstream for some routers in the domain). This memo proposes a Multicast Source Proxy (MSP) option to the IP header. An MSP router, typically a domain border router, functions on behalf of multicast source networks from beyond a domain. On receipt of a multicast packet, the router determines if there are multiple sources for the same group. If so, when forwarding the packet to an intra-domain outgoing interface, the MSP router inserts an MSP option to the packet and forwards it downstream along the tree rooted at the MSP router itself. Downstream routers will join the MSP router-rooted tree by running multicast protocol on the forwarding entry (MSP router, group) instead of (source, group). The MSP option provides source mask and thus downstream routers can install a (source/mask, group) entry in the forwarding table where its forwarding decision maps to the (MSP router, group) entry. All subsequent data will be forwarded in accordance with the (MSP router, group) forwarding entry. Y. Li Expires 14 November 1999 [Page 1] Internet Draft Multicast Source Proxy Option 14 May 1999 In the case of multiple MSP routers, all routers consistently elect a designated MSP router with the lowest preference, the shortest metric and the lowest IP address preferred. The election process relies on the live multicast data. Each MSP router has neighborship with the designated MSP router, which is refreshed by the live data. The MSP option provides a D-bit to synchronize the re-election process in case of network change. The use of Multicast Source Proxy option, in case of many-to-many multicast sessions, will substantially reduces the number of (S,G) states, avoids excessive Dijikstra calculation in MOSPF routers, and saves significant number of DVMRP and PIM-DM graft/prune message pairs. This option will allow to rebuild a domain specific tree rooted from a router or host as required. This option will also enable MOSPF domain to function as a transit domain. When a MOSPF ASBR router receives a data with (S,G) in concern while there is no internal member for the G, it will insert an MSP option to the multicast data, with the WC-bit set. When an internal MOSPF router receives the modified data, it will create a default state (S/mask, 224.0.0.0/4) where mask is derived from the MSP option, run MOSPF protocol on (ASBR, 224.0.0.0), create forwarding state (ASBR, 224.0.0.0), and map the forwarding decision of the default state to this forwarding state. Any subsequent data stream concerning group without internal member, forwarded by the ASBR router, will be forwarded in accordance with the default state. 2. Format of Multicast Source Proxy Option Multicast Source Proxy (MSP) option is an IP option to be added after the IP header. This option is added on-demand when there is a need to aggregate multiple sources for the same group, or when a subset of global multicast forwarding tree need to be re-rooted. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| 0 | Type | Length |WC|M|D|Reserved| Source Mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Source Proxy (MSP) Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Metric Preference (if present) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Metric (if present) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be defined. Y. Li Expires 14 November 1999 [Page 2] Internet Draft Multicast Source Proxy Option 14 May 1999 Length The length, in octets, of the option excluding the first two bytes for the type and length fields. WC Wildcard. If this bit is set, the multicast data will be forwarded in accordance with a default state (S/mask, *). M Metric. If this bit set, both the metric preference and the metric fields are present. It implies there are multiple MSP routers for the same subset of a multicast distribution tree and the designated MSP router should be elected among these MSP routers. D Designated. If this bit set, it means the current designated MSP router concerning the (source/mask, group) pair failed and a new designated MSP router should be re-elected. Reserved Must be zero. Source Mask The number of leading bits that define the source network or the aggregation of a set of source networks. It applies to the source address field in the IP header. Multicast Source Proxy (MSP) Address Address of a router on a critical path of a multicast distribution tree. It is a new root for a subset of the multicast distribution tree. Typically this is the address of a border router. Within the context of multicast security, this may be the address of a key distributor. Metric Preference If present, this is a preference value that tells internal routers within the subset of forwarding tree which MSP router is preferred. The MSP router with the lowest preference is preferred. Metric If present, this is the metric to the source. In case of a tie between the preferences of two MSP routers, the metric is used to determine which MSP router is preferred. The MSP router with the lowest metric is preferred. Y. Li Expires 14 November 1999 [Page 3] Internet Draft Multicast Source Proxy Option 14 May 1999 3. Multicast Data Forwarding with MSP Option 3.1 Installing (MSP, G) State When a router receives a multicast data with the MSP option, if there is not any forwarding state for the MSP address, it should consult relevant multicast protocol to install (MSP,G) state. This means DVMRP/PIM-DM will trigger Prune/Graft for (MSP,G) state as required, and MOSPF will perform SPF calculation for (MSP,G). If the WC-bit in the MSP option is set, the router should install a forwarding state (MSP, 224.0.0.0) where 224.0.0.0 means the default group. There will be no member for group 224.0.0.0. 3.2 Installing (S/mask, G) State When a router receives a multicast data with the MSP option, it also installs in the forwarding table a (S/mask, G) state where the mask is derived from the MSP option. However, for this state, there is no need to consult the relevant multicast protocol to determine the forwarding decision. Instead, the (S/mask,G) entry has a MSP list. The MSP list has a list of MSP entries, with the designated MSP entry preferred. Each MSP entry points to the relevant (MSP,G) forwarding state. The forwarding decision for this (S/mask,G) state is determined by the (MSP,G) state for the designated MSP router. If the WC-bit in the MSP option is set, the router should install a default state (S/mask, 224.0.0.0/4). 3.3 Forwarding Data with MSP Option When receiving a multicast data with an MSP option, the router searches the forwarding table for the (S,G) in concern. If there is no matching state, the router installs a (MSP,G) state and (S/mask, G) state as above (or (MSP,224.0.0.0) state and (S/mask,224.0.0.0/4) state if WC-bit is set), and then forwards the data in accord with the the (MSP,G) state (or (MSP,224.0.0.0) state if the WC-bit is set) for the designated MSP router. Else, a matching state is found. In this case, if the MSP list is empty, it means previously this data stream was forwarded without MSP intervention. In this case, the matching state should be flushed. The data then is processed as in the above case where no matching state is found. Else, if the designated MSP address is the one in the MSP option, the data is forwarded in accordance with the relevant (MSP,G) state. Y. Li Expires 14 November 1999 [Page 4] Internet Draft Multicast Source Proxy Option 14 May 1999 Else, if the MSP address in the MSP option appears in the MSP list, the data is dropped. Else, the MSP address does not appear in the MSP list. In this case, a new MSP entry is added to the MSP list, and the corresponding (MSP,G) state is created if there is not. The designated MSP router is re-elected based on the preference values and metric costs. As a result, if the MSP address in the MSP option is not the designated one, the data is dropped. Otherwise, the data is forwarded in accordance with the (MSP,G) state for the designated MSP router. 3.4 Forwarding Data without MSP Option When receiving a multicast data with an MSP option, the router searches the forwarding table for the (S,G) in concern. If there is no matching state, or if there is a matching forwarding state while the MSP list is empty, the data will be forwarded without MSP intervention. Otherwise, there is a matching (S/mask,G) state while the MSP list is not empty. In this case, the router should compare the metric to the source with the one to the designated MSP router. If the metric to the source is better, the router should run the underlying multicast protocol on (S,G), install a forwarding entry (S,G), and forward the packet accordingly. If the metric to the MSP router is better, however, the packet should be dropped. 4. Various Considerations 4.1 Initiation of Designated MSP Router Election Each MSP router should initiate the election of Designated MSP Router. Other MSP routers, when receiving multicast data with the MSP option, should participate in the election. If, however, an MSP router does not intend to behave as a designated MSP router, it can increase its preference value and metric in the MSP option. 4.2 Block MSP Option A MSP router should block MSP option from flowing beyond the domain. When it receives from the domain a multicast packet with an MSP option, the MSP router should remove the MSP option and forward the packet in accordance with the native forwarding entry (S,G). On the other hand, when the MSP router receives from outside the domain a packet with an MSP option, it should either discard the packet or replace the MSP option with a new MSP option, and then forward the packet in accordance with the forwarding entry (S,G). Y. Li Expires 14 November 1999 [Page 5] Internet Draft Multicast Source Proxy Option 14 May 1999 4.3 Re-election of Designated MSP Router The designated MSP router re-election process should not be triggered unless the designated MSP router fails. An MSP router, when there is a change in its routing table, should not trigger the re-election of the designated MSP router. However, a newly emerging MSP router may forward multicast data with the MSP option inserted and thus all routers have to re-elect the designated MSP router. 4.4 Failure of Designated MSP Router Each MSP router should maintain its neighborship with the Designated MSP router for all (source/mask, group) states. The MSP router may refresh the neighborship by receiving multicast data with the MSP option inserted by the designated MSP router. When the MSP router determines the designated MSP router fails, it should resume forwarding subsequent multicast data with MSP option inserted. In this case, the D-bit should be set, which is intended for electing a new designated MSP router among all live MSP routers. All downstream routers, when receiving such a MSP option, should remove the designated MSP entry and the relevant forwarding entry, re-elect the designated MSP router, and only forward multicast data from the new designated MSP router. There may be a transitional period in which multiple MSP routers all set the D-bit. To prevent downstream routers from removing the subsequent new designated MSP entry, each downstream router should start a timer when seeing the D-bit set. In the lifetime of this timer, the routers should disregard the D-bit. The expiry of the timer will trigger the D-bit to be validated again. 5. Acknowledgement The multicast development group in Nortel Networks has provided valuable comments. Reference [1] S. Deering et al. "Protocol Independent Multicast Version 2 Dense Mode Specification". , PIM Working Group, March 1999. [2] J. Moy. "Multicast Extensions to OSPF." RFC 1584, March 1994. [3] T. Pusateri. "Distance Vector Multicast Routing Protocol". , Inter-Domain Multicast Routing Working Group, February 1999. [4] D. Thaler, D. Estrin and D. Meyer. "Border Gateway Multicast Protocol (BGMP): Protocol Specification." , August 1998. Y. Li Expires 14 November 1999 [Page 6] Internet Draft Multicast Source Proxy Option 14 May 1999 Authors' Addresses Yunzhou Li Nortel Networks BL60-304 600 Technology Park Drive Billerica, MA 01821 Phone: 1-978-288-1130 Fax: 1-978-670-8760 E-mail: yunli@NortelNetworks.COM Y. Li Expires 14 November 1999 [Page 7]