Network Working Group B. Sarikaya Internet-Draft Huawei USA Intended status: Standards Track February 2, 2012 Expires: August 5, 2012 Multicast Support for 4rd draft-sarikaya-softwire-4rdmulticast-01.txt Abstract This memo specifies 4rd technology's multicast component so that IPv4 hosts can receive multicast data from IPv4 servers over an IPv6 network. In 4rd Translation Multicast solution, IGMP messages are translated into MLD messages at the CE router which is IGMP/MLD Proxy and sent to the network in IPv6. 4rd Border Relay does the reverse translation and joins IPv4 multicast group for 4rd hosts. Border Relay as multicast router receives IPv4 multicast data and translates the packet into IPv6 multicast data using 4rd-U and sends downstream on the multicast tree. Member CEs receive multicast data, translate it back to IPv4 and transmit to the hosts. In AMT based solution, AMT Gateway at the 4rd Customer Edge router uses AMT protocol to establish a tunnel interface with AMT Relay at the 4rd Border Relay and this tunnel is used to exchange IGMP messages to establish multicast state at AMT Relay so that AMT Relay can tunnel IPv4 multicast data to IPv4 hosts connected to AMT Gateway. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on August 5, 2012. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. Sarikaya Expires August 5, 2012 [Page 1] Internet-Draft Multicast Support for 4rd February 2012 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. 4rd Translation Architecture . . . . . . . . . . . . . . . 5 4.2. AMT Architecture . . . . . . . . . . . . . . . . . . . . . 6 5. 4rd Translation Multicast Operation . . . . . . . . . . . . . 7 5.1. Address Translation . . . . . . . . . . . . . . . . . . . 7 5.1.1. Learning Multicast Prefixes for IPv4-embedded IPv6 Multicast Addresses . . . . . . . . . . . . . . . 9 5.2. Protocol Translation . . . . . . . . . . . . . . . . . . . 9 5.3. Supporting IPv6 Multicast in 4rd Translation Multicast . . 11 6. 4rd AMT Multicast Operation . . . . . . . . . . . . . . . . . 11 6.1. Modifications to AMT Messages . . . . . . . . . . . . . . 13 6.2. Supporting IPv6 Multicast in 4rd AMT Multicast . . . . . . 14 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.1. Normative References . . . . . . . . . . . . . . . . . . . 15 10.2. Informative references . . . . . . . . . . . . . . . . . . 17 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18 Sarikaya Expires August 5, 2012 [Page 2] Internet-Draft Multicast Support for 4rd February 2012 1. Introduction With IPv4 address depletion on the horizon, many techniques are being standardized for IPv6 migration including 4rd [I-D.mdt-softwire-mapping-address-and-port], [I-D.mdt-softwire-map-translation], [I-D.xli-behave-divi], [I-D.despres-softwire-4rd-u]. 4rd enables IPv4 hosts to communicate with external hosts using IPv6 only ISP network. 4rd Customer Edge (CE) device's LAN side is dual stack and WAN side is IPv6 only. CE tunnels/translates IPv4 packets received from the LAN side to 4rd Border Relays (BR). BRs have anycast IPv6 addresses and receive encapsulated/translated packets from CEs over a virtual interface. 4rd operation is stateless. Packets are received/ sent independent of each other and no state needs to be maintained. 4rd as defined in [I-D.mdt-softwire-mapping-address-and-port], [I-D.mdt-softwire-map-translation], [I-D.xli-behave-divi], [I-D.despres-softwire-4rd-u] is unicast only. It does not support multicast. In this document we specify how multicast from home IPv4 users can be supported in 4rd. In case IPv6 network is multicast enabled, 4rd can provide multicast service to the hosts using 4rd Multicast Translation based solution. A Multicast Translator can be used that receives IPv6 multicast group management messages in MLD and generates corresponding IPv4 group management messages in IGMP and sends them to IPv4 network in 4rd Border Relay [I-D.venaas-behave-mcast46]. We use 4rd-U for sending IPv6 multicast data in IPv4 to the CE routers. At 4rd CE router another translator is needed to translate IPv6 multicast data into IPv4 multicast data. In case 4rd IPv6 network is not multicast enabled, Automatic IP Multicast Tunneling (AMT) enables the host(s) in an AMT site to connect to an AMT Relay which is a multicast router in the multicast infrastructure [I-D.ietf-mboned-auto-multicast]. The network between an AMT site and Relay is not multicast enabled and is seen as non- broadcast multi-access (NBMA) link layer [RFC2491]. When an AMT gateway receives an IGMP join message to an Any-Source Multicast (ASM) [RFC1112] or Source-Specific Multicast (SSM) group [RFC4607], it first discovers an AMT Relay using Anycast Relay IP address. Using a three way handshake the gateway sends IGMP membership report message in a UDP tunnel to the relay. Relay joins the source in the multicast infrastructure and sends multicast data downstream to all member gateways in a UDP tunnel. When a gateway has no membership state, i.e. after all member hosts leave the group(s), its state with the relay expires and the gateway can start relay discovery all over again. Periodically the relay and gateway Sarikaya Expires August 5, 2012 [Page 3] Internet-Draft Multicast Support for 4rd February 2012 exchange AMT Query and AMT Membership Update messages. All AMT control messages are secured using message authentication codes (MAC). AMT works for both IPv4 using IGMP and IPv6 using IGMP. IGMP messages are encapsulated in IPv4 using UDP encapsulation and MLD messages are encapsulated in IPv6 using UDP encapsulation. In this document we address 4rd multicast problem and propose two architectures: Automatic IP Multicast tunneling (AMT) and Multicast Translation based solutions. Section 2 is on terminology, Section 3 is on requirements, Section 4 is on architecture, Section 5 is on multicast translation protocol, Section 6 is on AMT protocol and Section 7 states security considerations. 2. Terminology This document uses the terminology defined in [I-D.mdt-softwire-mapping-address-and-port], [I-D.xli-behave-divi], [I-D.despres-softwire-4rd-u], [RFC3810] and [RFC3376]. 3. Requirements This section states requirements on 4rd multicast support protocol. IPv4 hosts connected to 4rd CE router MUST be able to join multicast groups in IPv4 and receive multicast data. Any source multicast (ASM) SHOULD be supported and source specific multicast (SSM) MUST be supported. In case of translation solution, 4rd CE MUST support IGMP to MLD translator. 4rd CE MUST be MLD Proxy as defined in [RFC4605]. In case of translation solution, 4rd BR MUST support MLD Querier. 4rd BR MUST support MLD to IGMP translator upstream. 4rd CE MAY support AMT gateway as defined in [I-D.ietf-mboned-auto-multicast]. Modifications to AMT protocol defined in this document applies. 4rd BR MAY support AMT relay as defined in [I-D.ietf-mboned-auto-multicast]. Modifications to AMT protocol defined in this document applies. Sarikaya Expires August 5, 2012 [Page 4] Internet-Draft Multicast Support for 4rd February 2012 4. Architecture In 4rd, there are hosts (possibly IPv4/ IPv6 dual stack) served by 4rd Customer Edge device. CE is dual stack facing the hosts and IPv6 only facing the network or WAN side. 4rd CE may be local IPv4 Network Address and Port Translation (NAPT) box [RFC3022] by assigning private IPv4 addresses to the hosts. 4rd CEs in the same domain may use shared public IPv4 addresses on their WAN side and if they do they should avoid ports outside of the allocated port set for NAPT operation. At the boundary of the network there is 4rd Border Relay. BR receives IPv4 packets tunneled in IPv6 from CE and decapsulates them and sends them out to IPv4 network. Unicast 4rd is stateless except for the local NAPT at the CE. Each IPv4 packet sent by CE treated separately and different packets from the same CE may go to different BRs or CEs. CE encapsulates IPv4 packet in IPv6 with destination address set to BR address (usually anycast IPv6 address). BR receives the encapsulated packet and decapsulates and send it to IPv4 network. CEs are configured with domain 4rd Prefixes, IPv6 Prefixes and with an BR IPv6 anycast address. BR receives IPv4 packets addressed to this ISP and from the destination address it extracts the destination host's IPv4 address and uses this address as destination address and encapsulates the IPv4 packet in IPv6 and sends it to IPv6-only network. 4.1. 4rd Translation Architecture In case IPv6 only network is multicast enabled, translation multicast architecture can be used. CE implements IGMP Proxy function [RFC4605] towards the LAN side and MLD Proxy on its WAN interface. IPv4 hosts send their join requests (IGMP Membership Report messages) to CE. CE as a MLD proxy sends aggregated MLD Report messages upstream towards BR. CE replies MLD membership query messages with MLD membership report messages based on IGMP membership state in the IGMP/MLD proxy. BR is MLD querier on its WAN side. On its interface to IPv4 network BR may either have IGMP client or PIM. PIM being able to support both IPv4 and IPv6 multicast should be preferred. BR receives MLD join requests, extracts IPv4 multicast group address and then joins the group upstream, possibly by issuing a PIM join message. IPv4 multicast data received by BR is translated into IPv6 multicast data by the translator using 4rd-U and then sent downstream to the multicast tree to all downstream routers that are members. IPv6 data packet eventually gets to the CE. At the CE, a reverse 4rd-U operation takes place by the translator and then IPv4 multicast data packet is sent to the member hosts on the LAN interface. 4rd-U is Sarikaya Expires August 5, 2012 [Page 5] Internet-Draft Multicast Support for 4rd February 2012 modified to handle multicast addresses. In order to support SSM, IGMPv3 MUST be supported by the host, CE and BR. For ASM, BR MUST be the Rendezvous Point (RP). 4rd Translation Multicast solution uses the multicast 46 translator [I-D.venaas-behave-mcast46] in not one but two places in the architecture: at the CE router and at the Border Relay. IPv4 multicast data received at 4rd BR goes through a 4rd-U header-mapping into IPv6 multicast data at the BR and another 4rd-U header-mapping back to IPv4 multicast data at the CE router [I-D.despres-softwire-4rd-u]. Encapsulation variant of [I-D.despres-softwire-4rd-u] is not used. All the elements of 4rd translation-based multicast support system are shown in Figure 1. Dual Stack Hosts IPv4 +----+ Network | H1 | +----------+ IPv6 +-------------+ | | | CE | | BR | +----+ |Translator| only | Translator | | 4rd-U | | 4rd-U | +----+ | | network | |IGMP| + | H2 | ---|IGMP-MLD |--------- -- |MLD | or | IPv6 +----+ | Proxy | |Querier |PIM | Network +----+ +----------+ +-------------+ | H3 | +----+ Figure 1: Architecture of 4rd Translation Multicast 4.2. AMT Architecture 4rd network lends itself easily to the automatic IP Multicast Tunneling architecture. Dual stack hosts connected to the Customer Edge router constitute an AMT site and it is multicast enabled. IPv6 only network is the unicast only network. At the boundary of the network 4rd Border Relay is connected to the native multicast backbone infrastructure. We place AMT Gateway at the CE router instead of at the hosts. CE router serves all the connected hosts. For multicast traffic, CE Router has an AMT pseudo-interface that serves as a default multicast route. It is a tunneling interface. AMT Relay is placed at 4rd BR. AMT Relay also has a pseudo- Sarikaya Expires August 5, 2012 [Page 6] Internet-Draft Multicast Support for 4rd February 2012 interface. A given relay and all CEs (AMT Gateways) connected to it can be considered to be on a separate logical NBMA link. On this link, gateways and relay communicate using AMT protocol to transmit and receive multicast control messages for membership management and multicast data from the relay to the gateways. All the elements of 4rd multicast support system with AMT are shown in Figure 2. AMT protocol is designed to provide IPv6 multicast to the hosts in AMT site using AMT messages in IPv6. AMT protocol is designed to provide IPv4 multicast to the hosts in AMT site using AMT messages in IPv4. However, in 4rd the network is IPv6 only. We need to modify AMT to use IPv6 AMT protocol to transmit IPv4 multicast messages such as IGMP messages and IPv4 multicast data. Dual Stack Hosts IPv4 +----+ Network | H1 | IPv6 +----+ +-------+ only +-----+ + +----+ | CE | network | BR | | H2 | ---| AMT |--- -- | AMT | IPv6 +----+ |Gateway| |Relay| Network +----+ +-------+ +-----+ | H3 | +----+ Figure 2: Architecture of 4rd AMT Multicast 5. 4rd Translation Multicast Operation In this section we specify how the host can subscribe and receive IPv4 multicast data from IPv4 content providers based on the architecture defined in Figure 1 in two parts: address translation and protocol translation. 5.1. Address Translation IPv4-only H1 will join IPv4 multicast group by sending IGMP Membership Report message upstream towards the IGMP Proxy in Figure 1. MLD Proxy first creates a synthesized IPv6 address of IPv4 multicast group address using IPv4-embedded IPv6 multicast address format [I-D.boucadair-64-multicast-address-format]. ASM_MPREFIX64 for any source multicast groups and SSM_MPREFIX64 for source specific Sarikaya Expires August 5, 2012 [Page 7] Internet-Draft Multicast Support for 4rd February 2012 multicast groups are used. Both are /96 prefixes. In both ASM_MPREFIX64 and SSM_MPREFIX64, M bit MUST be set to 1 to indicate that an IPv4 address is embedded in the last 32 bits of the multicast IPv6 address. ASM_MPREFIX64 values are formed by setting flgs bits to make it an embedded RP prefix by setting R bit to 1 and P and T bits to 1 as shown in Figure 3 [RFC4291], [RFC3306], [RFC3956]. | 8 | 4 | 4 | 4 | 76 | 32 | +--------+----+----+----+------------------------------+----------+ |11111111|0111|scop|1000| sub-group-id |v4 address| +--------+----+----+----+-----------------------------------------+ Figure 3: ASM_MPREFIX64 Formation Each translator in the upstream BR is assigned a unique ASM_MPREFIX64 prefix. CE (MLD Proxy in CE) can learn this value by means out of scope with this document. With this, CE can easily create an IPv6 multicast address from the IPv4 group address a.b.c.d that the host wants to join. Source-Specific Multicast (SSM) can also be supported similar to the Any Source Multicast (ASM) described above. In case of SSM, IPv4 multicast addresses use 232.0.0.0/8 prefix. IPv6 SSM_MPREFIX64 values are formed by setting R bit to zero, P and T bits to 1. This gives FF3x00008x::/96 as the SSM prefix. This prefix is referred to as SSM_PREFIX64 Figure 4. | 8 | 4 | 4 | 16 | 4 | 60 | 32 | +--------+----+----+-----------+----+------------------+----------+ |11111111|0011|scop|00.......00|1000| sub-group-id |v4 address| +--------+----+----+-----------+----+------------------+----------+ Figure 4: SSM_MPREFIX64 Formation Since SSM translation requires a unique address for each IPv4 multicast source, an IPv6 unicast prefix must be configured to the translator in the upstream BR to represent IPv4 sources. This prefix is prepended to IPv4 source addresses in translated packets. The join message from the host for the group ASM_MPREFIX64:a.b.c.d or SSM_MPREFIX64:a.b.c.d or an aggregate join message will be received by MLD querier at the BR. BR as multicast anchor checks the group address and recognizes ASM_MPREFIX64 or SSM_MPREFIX64 prefix. It next checks the last 32 bits is an IPv4 multicast address in range 224/8 - 239/8. If all checks succeed, IGMPv4 Client joins a.b.c.d using IGMP on its IPv4 interface. Sarikaya Expires August 5, 2012 [Page 8] Internet-Draft Multicast Support for 4rd February 2012 Joining IPv4 groups can also be done using PIM since PIM supports both IPv4 and IPv6. The advantage of using PIM is that there is no need to enable IGMP support in neighboring IPv4 routers. The advantage of using IGMP is that IGMP is a simpler protocol and it is supported by a wider range of routers. The use of PIM or IGMP is left as an implementation choice. 5.1.1. Learning Multicast Prefixes for IPv4-embedded IPv6 Multicast Addresses CE can be pre-configured with Multicast Prefix64 of ASM_MPREFIX64 and SSM_MPREFIX64 that are supported in their network. However automating this process is also desired. [I-D.wing-behave-learn-prefix] suggests several methods including DHCPv6. A new DHCPv6 option, OPTION_AFT_PREFIX_DHCP, can be defined for this purpose. The option contains IPv6 ASM and SSM prefixes. The host can request these prefixes by sending this option in its request to the DHCP server and the server replies with the option containing the prefixes. After the host gets the multicast prefixes, when an application in the host wishes to join an IPv4 multicast group the host MUST use ASM_MPREFIX64 or SSM_MPREFIX64 and then obtain the synthesized IPv6 group address before sending MLD join message. 5.2. Protocol Translation The hosts will send their subscription requests for IPv4 multicast groups upstream to the default router, i.e. Costumer Edge device. After subscribing the group, the host can receive multicast data from the CE. The host implements IGMP protocol's host part. Customer Edge device is IGMP Proxy facing the LAN interface. After receiving the first IGMP Report message requesting subscription to an IPv4 multicast group, a.b.c.d, MLD Proxy in the CE's WAN interface synthesizes an IPv6 multicast group address corresponding to a.b.c.d and sends an MLD Report message upstream to join the group. When CE is a NAT or NAPT box assigning private IPv4 addresses to the hosts, IP Multicast requirements for a Network Address Translator (NAT) and a Network Address Port Translator (NAPT) stated in [RFC5135] apply to IGMP messages and IPv4 multicast data packets. 4rd BR as MLD router receives/sends MLD messages on its WAN interface. 4rd BR does all corresponding actions on its upstream interface connected to IPv4 network in IGMP/PIM in IPv4. The two Sarikaya Expires August 5, 2012 [Page 9] Internet-Draft Multicast Support for 4rd February 2012 sides on the BR share MLD membership state. When 4rd BR receives IPv4 multicast data for an IPv4 group a.b.c.d it 4rd-U translates/encapsulates IPv4 packet into IPv6 multicast packet and sends it to IPv6 synthesized address corresponding to a.b.c.d using ASM_MPREFIX64 or SSM_MPREFIX64. The header mapping described in [I-D.despres-softwire-4rd-u] Section 4.2 (using Table 1) is used except for mapping the source and destination addresses. In this document we use the multicast address translation described in Section 5.1 and propose it as a complementary enhancement to the translation algorithm in [I-D.despres-softwire-4rd-u]. The IP/ICMP translation translates IPv4 packets into IPv6 using minimum MTU size of 1280 bytes (Section 4.1 in [I-D.despres-softwire-4rd-u]) but this can be changed for multicast. Path MTU discovery for multicast is possible in IPv6 so 4rd BR can perform path MTU discovery for each ASM group and use these values instead of 1280. For SSM, a different MTU value MUST be kept for each SSM channel. Because of this 8 bytes added by IPv6 fragment header in each data packet can be tolerated. Since multicast address translation does not preserve checksum neutrality, 4rd-U translator/encapsulator at 4rd BR must however modify the UDP checksum to replace the IPv4 addresses with the IPv6 source and destination addresses in the pseudo-header which consists of source address, destination address, protocol and UDP length fields before calculating the new checksum. IPv6 multicast data must be translated back to IPv4 at the 4rd CE (e.g. using Table 2 in Section 4.2 of [I-D.despres-softwire-4rd-u]). Such a task is much simpler than the translation at 4rd BR because IPv6 header is much simpler than IPv4 header and IPv4 link on the LAN side of 4rd CE is a local link. The packet is sent on the local link to IPv4 group address a.b.c.d for IPv6 group address of ASM_MPREFIX64:a.b.c.d or SSM_MPREFIX64:a.b.c.d. In case an IPv4 multicast source sends multicast data with the don't fragment (DF) flag set to 1, 4rd-U header mapping sets the D bit in IPv6 fragment header before sending the packet downstream as in Fig. 3 in Section 4.2 of [I-D.despres-softwire-4rd-u]. This feature of 4rd-U preserves the semantics of DF flag at the BR and CE. Because 4rd is stateless, Multicast 4rd should stay faithful to this as much as possible. Border Relay acts as the default multicast querier for all CEs that have established multicast communication with it. In order to keep a consistent multicast state between a CE and BR, CE MUST use the same IPv6 multicast prefixes (ASM_MPREFIX64/ SSM_REFIX64) until the state becomes empty. After that point, the CE Sarikaya Expires August 5, 2012 [Page 10] Internet-Draft Multicast Support for 4rd February 2012 may obtain different values for these prefixes, effectively changing to a different 4rd BR. 5.3. Supporting IPv6 Multicast in 4rd Translation Multicast IPv6 multicast can be supported natively in 4rd in case IPv6-only network is multicast enabled. 4rd Customer Edge device has MLD Proxy function. Proxy operation for MLD [RFC3810] is described in [RFC4605]. CE receives MLD join requests from the hosts and then sends aggregated MLD Report messages upstream towards BR. No address or protocol translation is needed at the CE or at the BR. IPv6 Hosts in 4rd domain use any source multicast block FF0X [RFC4291] or source specific multicast block FF3X::8000:0-FF3X::FFFF:FFFF for dynamic allocation by a host [RFC4607], [RFC3307]. 4rd Border Relay is MLD querier. It serves all CEs downstream. After receiving an MLD join message, BR sends PIM join message upstream to join IPv6 multicast group. Multicast membership database is maintained based on the aggregated Reports received from downstream interfaces in the multicast tree. 4rd Border Relay is a Rendezvous Point (RP) for ASM groups. For SSM, BR MUST support MLDv2. IPv6 multicast data received from the Single Source Multicast or Any Source Multicast sources are replicated according to the multicast membership database and the data packets are sent downstream on the multicast tree and eventually received by the CEs that have one of more members of this multicast group. MLD Proxy in the CE receives multicast data then forwards the packet downstream. Each member host receives IPv6 multicast data packet from its Layer 2 interface. 6. 4rd AMT Multicast Operation When a host (H1, H2 or H3 in Figure 2) wants to join an IPv4 multicast group, it sends an IGMP report (IGMPv3 report for a source- specific group) to CE router. CE router uses BR's anycast address this CE router is configured with. CE sends AMT Relay Discovery IPv6 message which is a UDP message sent to a IANA reserved AMT port, e.g. 2268. AMT port MUST be in the port range of CE. In the payload of this message CE MUST set the I bit to indicate that CE will encapsulate IGMP messages in IPv6. Note that Sarikaya Expires August 5, 2012 [Page 11] Internet-Draft Multicast Support for 4rd February 2012 all UMT messages are UDP messages. BR (topologically closest to this CE router) receives the message and replies with AMT Relay Advertisement UDP message in IPv6. BR checks to see if it can provide IPv6 multicast service and if yes it replies with AMT Relay Advertisement message. BR MUST set the I bit to indicate that it can provide IPv4 multicast service. CE receives AMT Relay Advertisement message. CE now has BR's unicast address which it uses to send all multicast packets for this session. CE sends AMT Request message to BR's unicast address to begin the process of joining IPv4 multicast group. CE initializes a timer used to send periodic requests. BR sends AMT Query message. In this message an IGMP Listener Query message is encapsulated [I-D.ietf-mboned-auto-multicast] with an IP header. CE receives AMT Query message and responds by sending AMT Membership Update message. This message encapsulates IGMP Membership Report message with an IP header to request BR to join IPv4 multicast group the host wants to join. BR receives AMT Membership Update message and it adds the tunnel to the CE in its outgoing interface list for the group that the host wants to join. BR will send a join message towards the source of the multicast group to build a multicast tree in the native multicast infrastructure. After the initial three way handshake, periodically AMT Membership Query and AMT Membership Update messages are exchanged between BR and CE. As for multicast data, the data packets from the source received at BR will be replicated to all interfaces in it's outgoing interface list as well as the tunnel outgoing interface for all member CEs. BR sends multicast data in AMT Multicast Data messages to CE with the data packet encapsulated in UDP packet with IP header. CE receives AMT Multicast Data message over the pseudo interface associated with the tunnel to BR. CE forwards the packet to the outgoing interfaces joined by the hosts. Another host wants to join another IPv4 multicast group, three-way handshake involving AMT Request/ AMT Membership Query and AMT Membership Update is needed but AMT Relay Discovery/ AMT Relay Advertisement messages are not needed. Sarikaya Expires August 5, 2012 [Page 12] Internet-Draft Multicast Support for 4rd February 2012 6.1. Modifications to AMT Messages This specification uses AMT messages as defined in [I-D.ietf-mboned-auto-multicast] except the changes stated in this section. AMT Relay Discovery message changes include the addition of two flags, M and I flags. AMT gateway uses I flag to negotiate IGMP message transmission in IPv6. A summary of the AMT Relay Discovery message format is shown below. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=0x1 |M|I| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discovery Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type The type of the message M Flag Not used in this specification I Flag Set to 1 if AMT Gateway wants to send IGMP messages encapsulated in IPv6 Reserved A 22-bit reserved field. Sent as 0, ignored on receipt. Discovery Nonce A 32-bit random value generated by the gateway and replayed by the relay. AMT Relay Advertisement message changes include the addition of two flags, M and I flags. AMT relay uses I flag to let AMT Gateway know if AMT Relay is capable of IGMP message transmission in IPv6. A summary of the AMT Relay Advertisement message format is shown below. Sarikaya Expires August 5, 2012 [Page 13] Internet-Draft Multicast Support for 4rd February 2012 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=0x2 |M|I| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discovery Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Relay Address | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type The type of the message M Flag Not used in this specification I Flag Set to 1 if AMT Gateway wants to send IGMP messages encapsulated in IPv6 Reserved A 22-bit reserved field. Sent as 0, ignored on receipt. Discovery Nonce A 32-bit random value generated by the gateway and replayed by the relay. Relay Address The unicast IPv4 address of the AMT relay. 6.2. Supporting IPv6 Multicast in 4rd AMT Multicast IPv6 multicast can be supported in a way similar to IPv4 using AMT architecture as described in Section 6. 4rd Customer Edge device has AMT Gateway function as described in [I-D.ietf-mboned-auto-multicast] with no extensions. IPv6 hosts connected to AMT Gateway send and receive MLD messages [RFC3810] to AMT Gateway which uses AMT protocol to subscribe the multicast groups with AMT Relay at 4rd Border Relay. AMT Relay sends IPv6 multicast data in UDP encapsulated IPv6 messages to AMT Gateway. Sarikaya Expires August 5, 2012 [Page 14] Internet-Draft Multicast Support for 4rd February 2012 7. Security Considerations All AMT control messages are secured using Message Authentication Code (MAC) that is a cryptographic hash of a private secret, the originators address, and the request nonce. AMT data messages are not secured. 4rd Translation Multicast control and data message security are as described in [RFC4607] for source specific multicast. 8. IANA Considerations AMT Relay Discovery and AMT Relay Advertisement messages are modified as in Section 6.1. 9. Acknowledgements We are grateful to Remi Despres for his contributions to this document. 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, June 1999. [RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, RFC 1112, August 1989. [RFC4605] Fenner, B., He, H., Haberman, B., and H. Sandick, "Internet Group Management Protocol (IGMP) / Multicast Listener Discovery (MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")", RFC 4605, August 2006. [RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for IP", RFC 4607, August 2006. [RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast Addresses", RFC 3307, August 2002. [RFC2491] Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6 over Non-Broadcast Multiple Access (NBMA) networks", RFC 2491, January 1999. Sarikaya Expires August 5, 2012 [Page 15] Internet-Draft Multicast Support for 4rd February 2012 [RFC2765] Nordmark, E., "Stateless IP/ICMP Translation Algorithm (SIIT)", RFC 2765, February 2000. [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network Address Translator (Traditional NAT)", RFC 3022, January 2001. [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. Thyagarajan, "Internet Group Management Protocol, Version 3", RFC 3376, October 2002. [RFC5135] Wing, D. and T. Eckert, "IP Multicast Requirements for a Network Address Translator (NAT) and a Network Address Port Translator (NAPT)", BCP 135, RFC 5135, February 2008. [RFC6145] Li, X., Bao, C., and F. Baker, "IP/ICMP Translation Algorithm", RFC 6145, April 2011. [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, October 2010. [I-D.mdt-softwire-map-translation] Bao, C., Li, X., Zhai, Y., Murakami, T., and W. Dec, "MAP Translation (MAP-T) - specification", draft-mdt-softwire-map-translation-00 (work in progress), January 2012. [I-D.mdt-softwire-mapping-address-and-port] Troan, O., Matsushima, S., Murakami, T., Li, X., and C. Bao, "Mapping of Address and Port (MAP)", draft-mdt-softwire-mapping-address-and-port-03 (work in progress), January 2012. [I-D.despres-softwire-4rd-u] Despres, R., "IPv4 Residual Deployment via IPv6 - Unified Solution (4rd-U)", draft-despres-softwire-4rd-u-03 (work in progress), January 2012. [I-D.xli-behave-divi] Bao, C., Li, X., Zhai, Y., and W. Shang, "dIVI: Dual- Stateless IPv4/IPv6 Translation", draft-xli-behave-divi-04 (work in progress), October 2011. [I-D.boucadair-64-multicast-address-format] Sarikaya Expires August 5, 2012 [Page 16] Internet-Draft Multicast Support for 4rd February 2012 Boucadair, M., Qin, J., Lee, Y., Venaas, S., Li, X., and M. Xu, "IPv4-Embedded IPv6 Multicast Address Format", draft-boucadair-64-multicast-address-format-00 (work in progress), January 2012. [I-D.ietf-mboned-auto-multicast] Thaler, D., Talwar, M., Aggarwal, A., Vicisano, L., Pusateri, T., and T. Morin, "Automatic IP Multicast Tunneling", draft-ietf-mboned-auto-multicast-11 (work in progress), July 2011. 10.2. Informative references [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 Multicast Addresses", RFC 3306, August 2002. [RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address", RFC 3956, November 2004. [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006. [I-D.wing-behave-learn-prefix] Wing, D., "Learning the IPv6 Prefix of a Network's IPv6/ IPv4 Translator", draft-wing-behave-learn-prefix-04 (work in progress), October 2009. [I-D.venaas-behave-mcast46] Venaas, S., Asaeda, H., SUZUKI, S., and T. Fujisaki, "An IPv4 - IPv6 multicast translator", draft-venaas-behave-mcast46-02 (work in progress), December 2010. Sarikaya Expires August 5, 2012 [Page 17] Internet-Draft Multicast Support for 4rd February 2012 Author's Address Behcet Sarikaya Huawei USA 5340 Legacy Dr. Building 175 Plano, TX 75074 Phone: Email: sarikaya@ieee.org Sarikaya Expires August 5, 2012 [Page 18]