Network Working Group D. Thaler Internet-Draft M. Talwar Intended status: Standards Track A. Aggarwal Expires:September 8, 2010January 12, 2012 Microsoft Corporation L. Vicisano Qualcomm Inc. T. Pusateri !jMarch 7, 2010T. Morin France Telecom - Orange July 11, 2011 Automatic IP MulticastWithout Explicit Tunnels (AMT) draft-ietf-mboned-auto-multicast-10Tunneling draft-ietf-mboned-auto-multicast-11 Abstract Automatic IP Multicast Tunneling (AMT) allows multicastcommunication amongstreception by isolated multicast-enabled sites or hosts, attached to a network which has no native multicast support. Italsoenables them toexchangereceive multicast trafficwithfrom the native multicast infrastructureand does not requirewithout requiring any manual configuration. AMT uses an encapsulation interface so that no changes to a host stack or applications are required, all protocols (not just UDP) are handled, and there is no additional overhead in core routers. Status of this Memo This Internet-Draft is submittedto IETFin full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force(IETF), its areas, and its working groups.(IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts.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."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.This Internet-Draft will expire onSeptember 8, 2010.January 12, 2012. Copyright Notice Copyright (c)20102011 IETF Trust and the persons identified as the document authors. All rights reserved. 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. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Requirements notation . . . . . . . . . . . . . . . . . . . . 7 4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. AMT Pseudo-Interface . . . . . . . . . . . . . . . . . . . 8 4.2. AMT Gateway . . . . . . . . . . . . . . . . . . . . . . . 8 4.3. AMT Site . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.4. AMT RelayRouter. . . . . . . . . . . . . . . . . . . . . . . . 8 4.5. AMT Relay Anycast Prefix . . . . . . . . . . . . . . . . . 9 4.6. AMT Relay Anycast Address . . . . . . . . . . . . . . . . 94.7. AMT Subnet Anycast Prefix . . . . . . . . . . . . . . . . 9 4.8. AMT Gateway Anycast Address . . . . . . . . . . . . . . . 95. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.1.Receiving Multicast in an AMT Site . . . . . . . . . . . . 10 5.1.1.Scalability Considerations . . . . . . . . . . . . . . . . 115.1.2.5.2. Spoofing Considerations . . . . . . . . . . . . . . . . . 115.1.3.5.3. Protocol Sequencefor a Gateway Joining SSM Receivers to a Relay .. . . . . . . . . . . . . . . .12 5.2. Sourcing Multicast from an AMT site . . . . . .. . . . 12 6. Message Formats .14 5.2.1. Supporting Site-MBone Multicast. . . . . . . . . . .15 5.2.2. Supporting Site-Site Multicast. . . . . . . . . . . 15 6.1. Use of UDP .16 6. Message Formats. . . . . . . . . . . . . . . . . . . . . . .17 6.1.15 6.2. AMT Relay Discovery . . . . . . . . . . . . . . . . . . .17 6.1.1.15 6.2.1. Type . . . . . . . . . . . . . . . . . . . . . . . . .17 6.1.2.15 6.2.2. Reserved . . . . . . . . . . . . . . . . . . . . . . .17 6.1.3.15 6.2.3. Discovery Nonce . . . . . . . . . . . . . . . . . . .17 6.2.15 6.3. AMT Relay Advertisement . . . . . . . . . . . . . . . . .17 6.2.1.16 6.3.1. Type . . . . . . . . . . . . . . . . . . . . . . . . .18 6.2.2.16 6.3.2. Reserved . . . . . . . . . . . . . . . . . . . . . . .18 6.2.3.16 6.3.3. Discovery Nonce . . . . . . . . . . . . . . . . . . .18 6.2.4.16 6.3.4. Relay Address . . . . . . . . . . . . . . . . . . . .18 6.3.16 6.4. AMT Request . . . . . . . . . . . . . . . . . . . . . . .18 6.3.1.16 6.4.1. Type . . . . . . . . . . . . . . . . . . . . . . . . .19 6.3.2.17 6.4.2. Reserved . . . . . . . . . . . . . . . . . . . . . . .19 6.3.3.17 6.4.3. Request Nonce . . . . . . . . . . . . . . . . . . . .19 6.4.17 6.5. AMT Membership Query . . . . . . . . . . . . . . . . . . .19 6.4.1.17 6.5.1. Type . . . . . . . . . . . . . . . . . . . . . . . . .20 6.4.2. Reserved18 6.5.2. Flags . . . . . . . . . . . . . . . . . . . . . . .20 6.4.3.. 18 6.5.3. Response MAC . . . . . . . . . . . . . . . . . . . . .20 6.4.4.19 6.5.4. Request Nonce . . . . . . . . . . . . . . . . . . . .20 6.4.5.19 6.5.5. IGMP/MLD Query (including IP Header) . . . . . . . . .20 6.5. AMT Membership Update19 6.5.6. Gateway information fields . . . . . . . . . . . . . . 19 6.6. AMT Membership Update . . . .21 6.5.1. Type. . . . . . . . . . . . . . 19 6.6.1. Type . . . . . . . . . . .21 6.5.2. Reserved. . . . . . . . . . . . . . 20 6.6.2. Reserved . . . . . . . . .22 6.5.3. Response. . . . . . . . . . . . . . 20 6.6.3. Response MAC . . . . . . . . . . . . . . . . . . . . .22 6.5.4.20 6.6.4. Request Nonce . . . . . . . . . . . . . . . . . . . .22 6.5.5.21 6.6.5. IGMP/MLD Message (including IP Header) . . . . . . . .22 6.6.21 6.7. AMT IP Multicast Data . . . . . . . . . . . . . . . . . .22 6.6.1.21 6.7.1. Type . . . . . . . . . . . . . . . . . . . . . . . . .23 6.6.2.22 6.7.2. Reserved . . . . . . . . . . . . . . . . . . . . . . .23 6.6.3.22 6.7.3. IP Multicast Data . . . . . . . . . . . . . . . . . .23 6.7.22 6.8. AMTMembershipTeardown . . . . . . . . . . . . . . . . .23 6.7.1.. . . . . . 22 6.8.1. Type . . . . . . . . . . . . . . . . . . . . . . . . .24 6.7.2.23 6.8.2. Reserved . . . . . . . . . . . . . . . . . . . . . . .24 6.7.3.23 6.8.3. Original Response MAC . . . . . . . . . . . . . . . .24 6.7.4.23 6.8.4. Original Request Nonce . . . . . . . . . . . . . . . .24 6.7.5.23 6.8.5. Original Source Port . . . . . . . . . . . . . . . . .24 6.7.6.23 6.8.6. Original SourceAFI .Address . . . . . . . . . . . . . . . 23 7. AMT Gateway Details . . . . . .24 6.7.7. Original Source Address. . . . . . . . . . . . . . . 256.7.8. IGMP/MLD Message (including IP Header)7.1. At Startup Time . . . . . . . .25 7. AMT Gateway Details. . . . . . . . . . . . . 25 7.2. Gateway identification . . . . . . . .26 7.1. At Startup Time. . . . . . . . . . 25 7.3. Joining Multicast Groups . . . . . . . . . . .26 7.2. Gateway Group and Source Addresses. . . . . . 26 7.4. Responding to Relay Changes . . . . . .26 7.2.1. IPv4. . . . . . . . . 26 8. AMT Relay Details . . . . . . . . . . . . . . . .27 7.2.2. IPv6. . . . . . 27 8.1. At Startup time . . . . . . . . . . . . . . . . . . .27 7.3. Joining Groups with MBone Sources. . 27 8.2. Receiving Relay Discovery messages sent to the Anycast Address . . . . . . . . . .28 7.4. Responding to Relay Changes. . . . . . . . . . . . . . .28 7.5. Joining SSM Groups with27 8.3. Receiving Membership Updates from AMTGateway Sources .Gateways . . . . . .29 7.6. Receiving AMT Membership Updates by the Gateway27 9. IANA Considerations . . . . .29 7.7. Sending data to SSM groups. . . . . . . . . . . . . . . . 298. Relay Router Details9.1. IPv4 and IPv6 Anycast Prefix Allocation . . . . . . . . . 29 9.1.1. IPv4 . . . . . . . . . . . .30 8.1. At Startup time. . . . . . . . . . . . . 29 9.1.2. IPv6 . . . . . . . .30 8.2. Receiving Relay Discovery messages sent to the Anycast Address. . . . . . . . . . . . . . . . . 29 9.2. UDP Port number . . . . . . . .30 8.3. Receiving Membership Updates from AMT Gateways. . . . . .30 8.4. Receiving (S,G) Joins from the Native Side, for AMT Sources. . . . . . . 29 10. Security Considerations . . . . . . . . . . . . . . . . . .31 9. IANA Considerations. 30 11. Contributors . . . . . . . . . . . . . . . . . . . .32 9.1. IPv4 and IPv6 Anycast Prefix Allocation. . . . . 31 12. Acknowledgments . . . .32 9.1.1. IPv4. . . . . . . . . . . . . . . . . . .. . . . . . 32 9.1.2. IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.2. IPv4 and IPv6 AMT Subnet Prefix Allocation . . . . . . . . 32 9.2.1. IPv4 . . . . . . . . . . . .32 13. References . . . . . . . . . . . . .32 9.2.2. IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.3. UDP Port number . . . . . . . . . . . . . . . . . . . . . 32 10. Security Considerations . . . . . .. . . . . . . . . . . . . 3311. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 34 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 3613.1. Normative References . . . . . . . . . . . . . . . . . . .3633 13.2. Informative References . . . . . . . . . . . . . . . . . .3633 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .3835 1. Introduction The primary goal of this document is to foster the deployment of native IP multicast by enabling a potentially large number of nodes to connect to the already present multicast infrastructure. Therefore, the techniques discussed here should be viewed as an interim solution to help in the various stages of the transition to a native multicast network. To allow fast deployment, the solution presented here only requires small and concentrated changes to the network infrastructure, and no changes at all to user applications or to the socket API of end- nodes' operating systems. The protocol introduced in this specification can be deployed in a few strategically-placed network nodes and in user-installable software modules (pseudo device drivers and/or user-mode daemons) that reside underneath the socket API of end-nodes' operating systems. This mechanism is very similar to that used by "6to4" [RFC3056], [RFC3068] to get automatic IPv6 connectivity. Effectively, AMT treats the unicast-only inter-network as a large non-broadcast multi-access (NBMA) link layer, over which we require the ability to multicast. To do this, multicast packets being sent toor from asite must be encapsulated in unicast packets. If the group has members in multiple sites, AMT encapsulation of the same multicast packet will take place multiple times by necessity. A previous of this solution was previously "Automatic IP Multicast without explicit Tunnels", to highlight the fact that the tunneling used is lightweight and does not require statically configured tunnels used as point to point interfaces. 2. Applicability AMT is not a substitute for native multicast or a statically configured multicast tunnel for high traffic flow. Unicast replication is required to reach multiple receivers that are not part of the native multicast infrastructure.Unicast replication is also required by non-native sources to different parts of the native multicast infrastructure. However, thisHowever, this is no worse than regular unicast distribution of streams and in most cases much better.The following problems are addressed: 1. AllowingThis document specifies procedures allowing isolatedsites/hostssites to receivethe SSM flavorboth general Any Source Multicast (ASM, [RFC1112]), and Specific Source Multicast (SSM, [RFC4607]). Earlier versions ofmulticast ([RFC4607]). 2. Allowingthis document were describing how to use AMT to allow isolated non-NAT sites/hosts to transmittheSSMflavormulticast ; the specifications for these functionalities have been left off the current document for the following reasons: the drawback that these specifications required a source site Gateway to replicate traffic to many Relays in the multicast-enabled part ofmulticast. 3. Allowing isolated sites/hoststhe network, lack of contributors toreceive general multicast (ASM [RFC1112]). Thisdocumentdoes not address allowing isolated sites/hostsalternative proposals based on AMT, existence of ways totransmit general multicast. We expect that other solutions (e.g.,offer similar functionality using TunnelBrokers, a la [RFC3053]) will be used for sites that desire this capability.Broker approaches [RFC3053], or at the application layer. Implementers should be aware that site administrators may have configured administratively scoped multicast boundaries and a remote gateway may provide a means to circumvent administrative boundaries. Therefore, implementations should allow for the configuration of such boundaries on relays and gateways and perform filtering as needed. 3. Requirements notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 4. Definitions +---------------+ Internet +---------------+ | AMT Site | | Native MCast | | | | | | +------+----+ AMT +----+----+AMT| | |AMT Gateway| Anycast |AMT Relay|Subnet| | | +-----+-+ Prefix +-+-----+ |Prefix| | | |AMT IF | <------------|AMT IF ||-------->| | | | +-----+-+ +-+-----+ | | | +------+----+ +----+----+ | | | | | +---------------+ +---------------+ 4.1. AMT Pseudo-Interface AMT encapsulation of multicast packets inside unicast packets occurs at a point that is logically equivalent to an interface, with the link layer being the unicast-only network. This point is referred to as a pseudo-interface. Some implementations may treat it exactly like any other interface and others may treat it like a tunnel end- point. 4.2. AMT Gateway A host, or a site gateway router, supporting an AMTPseudo- Interface.Pseudo-Interface. It does not have native multicast connectivity to the native multicast backbone infrastructure. It is simply referred to in this document as a "gateway". 4.3. AMT Site A multicast-enabled network not connected to the multicast backbone served by an AMT Gateway. It could also be astand- alonestand-alone AMT Gateway. 4.4. AMT RelayRouterA multicast router configured to support transit routing between AMT Sites and the native multicast backbone infrastructure. The relay router has one or more interfaces connected to the native multicast infrastructure, zero or more interfaces connected to the non- multicast capable inter-network, and an AMT pseudo-interface. It is simply referred to in this document as a "relay". As with [RFC3056], we assume that normal multicast routers do not want to be tunnel endpoints (especially if this results in high fanout), and similarly that service providers do not want encapsulation to arbitrary routers.out). Instead, we assume that special-purpose routers will be deployed that are suitable for serving as relays. 4.5. AMT Relay Anycast Prefix A well-known address prefix used to advertise (into the unicast routing infrastructure) a route to an available AMT Relay Router. This could also be private (i.e., not well-known) for a private relay. Prefixes for both IPv4 and IPv6 will be assigned in a future version of this draft. 4.6. AMT Relay Anycast Address An anycast address which is used to reach the nearest AMT Relay Router. This address corresponds to the setting the low-order octet of the AMT Relay Anycast Prefix to 1 (for both IPv4 and IPv6).4.7. AMT Subnet Anycast Prefix A well-known address prefix used to advertise (into the M-RIB of the native multicast-enabled infrastructure) a route to AMT Sites. This prefix will be used to enable sourcing SSM traffic from an AMT Gateway. 4.8. AMT Gateway Anycast Address An anycast address in the AMT Subnet Anycast Prefix range, which is used by an AMT Gateway to enable sourcing SSM traffic from local applications.5. Overview5.1. Receiving Multicast in an AMT SiteInternet +---------------+ +---------------+ | AMT Site | 2. 3-way Membership |MBoneNative MCast | | | Handshake | | | 1. Join +---+---+ =================> +---+---+ | | +---->|Gateway| | Relay | | | | +---+---+ <================= +---+---+ | | R-+ | 3. Receive Data | | +---------------+ +---------------+ Receiving Multicast in an AMT Site AMT relays and gateways cooperate to transmit multicast traffic sourced within the native multicast infrastructure to AMT sites: relays receive the traffic natively and unicast-encapsulate it to gateways; gateways decapsulate the traffic and possibly forward it into the AMT site. Each gateway has an AMT pseudo-interface that serves as a default multicast route. Requests to join a multicast session are sent to this interface and encapsulated to a particular relay reachable across the unicast-only infrastructure. Each relay has an AMT pseudo-interface too. Multicast traffic sent on this interface is encapsulated to zero or more gateways that have joined to the relay. The AMT recipient-list is determined for each multicast session. This requires the relay to keep state for each gateway which has joined a particular group or (source, group) pair. Multicast packets from the native infrastructure behind the relay will be sent to each gateway which has requested them. All multicast packets (data and control) are encapsulated in unicast packets. UDP encapsulation is used for all AMT control and data packets using the IANA reserved UDP port number for AMT. Each relay, plus the set of all gateways using the relay, together are thought of as being on a separate logical NBMA link. This implies that the AMT recipient-list is a list of "link layer" addresses which are (IP address, UDP port) pairs. Since the number of gateways using a relay can be quite large, and we expect that most sites will not want to receive most groups, an explicit-joining protocol is required for gateways to communicate group membership information to a relay. The two most likely candidates are the IGMP/MLD protocol [RFC3376], [RFC3810], and the PIM-Sparse Mode protocol [RFC4601]. Since an AMT gateway may be a host, and hosts typically do not implement routing protocols, gateways will use IGMP/MLD as described in Section 7 below. This allows a host kernel (or a pseudo device driver) to easily implement AMT gateway behavior, and obviates the relay from the need to know whether a given gateway is a host or a router. From the relay's perspective, all gateways are indistinguishable from hosts on an NBMA leaf network.5.1.1.5.1. Scalability Considerations It is possible that millions of hosts will enable AMT gateway functionality and so an important design goal is not to create gateway state in each relay until the gateway joins a multicast group. But even the requirement that a relay keep group state per gateway that has joined a group introduces potential scalability concerns. Scalability of AMT can be achieved by adding more relays, and using an appropriate relay discovery mechanism for gateways to discover relays. The solution we adopt is to assign addresses in anycast fashion to relays [RFC1546], [RFC4291]. However, simply sending periodic membership reports to an anycast address can cause duplicates. Specifically, if routing changes such that a different relay receives a periodic membership report, both the new and old relays will encapsulate data to the AMT site until the old relay's state times out. This is obviously undesirable. Instead, we use the anycast address merely to find the unicast address of a relay to which membership reports are sent.Since adding another relay has the result of adding another independent NBMA link, thisThis approach allows the gateways to be spread out among more relays so as to keep the number of gateways per relay at a reasonable level.5.1.2.5.2. Spoofing Considerations An attacker could affect the group state in the relayor gatewayby spoofing the source address intheAMT Update messages containing join or leave reports. This can be used to launch reflection or denial of service attacks on thetarget.target Relay. Such attacks can be mitigated by using a three way handshake between the gateway and the relay for each multicast membership report or leave. When a gatewayor relaywants to send a membership report, it first sends an AMT Request with a request nonce in it. Thereceiving side (the respondent)Relay can calculate a message authentication code (MAC) based on (forexample) theexample)the source IP address of the Request, the source UDP port, the request nonce, and a secret key known only to therespondent.Relay. The algorithmand the input used to calculate the MACdoes not have to be standardized since therespondentRelay generates and verifies the MAC and theoriginatorGateway simply echoesit.it back, but an algorithm such as HMAC-MD5-48 [RFC2104] SHOULD be used at a minimum. An AMT Membership Query is sent back to the gateway having originated the Request, including the request nonce and theMAC to the originator of the Request. The originator then sendsMAC. The gateway then sends the IGMP/MLD Membership/Listener Report or Leave/Done (including the IP Header) along with the request nonce and the received MAC back to therespondentrelay, finalizing the 3-way handshake. Upon reception, therespondentrelay can recalculate the MAC based on the source IP address, the source UDP port, the request nonce, and the local secret. The IGMP/MLD message is only accepted if the received MAC matches the calculated MAC. A relay MUST NOT create state for a gateway before successful validation of a MAC of an AMT Update from this gateway; a relay SHOULD delete all states for a gateway after a small timer after it stops having any AMT forwarding state for a Gateway (i.e. the Gateway left all multicast groups it had joined). The local secret never has to be shared with the other side. It is only used to verify return routability of the originator. Since the same Request Nonce and source IP address can be re-used, thereceiverrelay SHOULD change its secret key at least once per hour. However, AMT Membership updates received with the previous secret MUST be accepted for up to the IGMP/MLD Query Interval. The condition might occur where the gatewayor relaythat initially sent the AMT Request dynamically changes its IP address. This might occur due to a change in wireless networks, a DHCP assignment, or another network failure. When this occurs, it is no longer possible to verify the MAC using the source address and source port. Though, in order to reduce state, it is desirable to tear down the state that was created with the old source address. A Teardown message with special considerations for calculating the MAC is described below to perform this function.5.1.3.5.3. Protocol Sequencefor a Gateway Joining SSM Receivers to a RelayThis description assumes the Gateway can be a host joining as a receiver or a network device acting as a Gateway when a directly connected host joins as a receiver. Protocol sequence for a multicast SSM channel (S1,G1): o Receiver at AMT site sends IGMPv3/MLDv2 report joining (S1,G1). o Gateway receives report. If it has no tunnel state with a Relay, it originates an AMT Relay Discovery message addressed to the Anycast Relay IP address. The AMT Relay Discovery message can be sent on demand if no relay is known at this time or at startup and be periodically refreshed. o The closest Relay topologically receives the AMT Relay Discovery message and returns the nonce from the Discovery in an AMT Relay Advertisement message so the Gateway can learn of the Relay's unique IP address. o When the Gateway receives the AMT Relay Advertisement message, it now has an address to use for all subsequent (S,G) entries it will join on behalf of attached receivers (or itself). o If the gateway has a valid Response MAC from a previous AMT Query message, it can send an AMT Membership Update message as described below. Otherwise, the Gateway sends an AMT Request message to the Relay's unique IP address to begin the process of joining the (S,G). The gateway also SHOULD initialize a timer used to send periodic Requests to a random value from the interval [0, [Query Interval]] before sending the first periodic report, in order to prevent startup synchronization. o The Relay responds to the AMT Request message by returning the nonce from the Request in a AMT Query message. The Query message contains an IGMP/MLD QUERY indicating how often the Gateway should repeat AMT Request messages so the (S,G) state can stay refreshed in the Relay. The Query message also includes an opaque security code which is generated locally (with no external coordination). o When the Gateway receives the AMT Query message it responds by copying the security code from the AMT Query message into a AMT Membership Update message. The Update message contains (S1,G1) in an IGMPv3/MLDv2 formatted packet with an IP header. The nonce from the AMT Request is also included in the AMT Membership Update message. o When the Relay receives the AMT Membership Update, it will add the tunnel to the Gateway in it's outgoing interface list for it's (S1,G1) entry stored in the multicast routing table. If the (S1,G1) entry was created do to this interaction, the multicast routing protocol running on the Relay will trigger a Join message towards source S1 to build a native multicast tree in the native multicast infrastructure. o As packets are sent from the host S1, they will travel natively down the multicast tree associated with (S1,G1) in the native multicast infrastructure to the Relay. The Relay will replicate to all interfaces in it's outgoing interface list as well as the tunnel outgoing interface, which is encapsulated in a unicast AMT Multicast Data message. o When the Gateway receives the AMT Multicast Data message, it will accept the packet since it was received over the pseudo-interface associated with the tunnel to the Relay it had attached to, and forward the packet to the outgoing interfaces joined by any attached receiver hosts (or deliver the packet to the application when the Gateway is the receiver). o If later (S2,G2) is joined by a receiver, a 3-way handshake of Request/ Query/Update occurs for this entry. The Discovery/ Advertisement exchange is not required. o To keep the state for (S1,G1) and (S2,G2) alive in the Relay, the Gateway will send periodic AMT Membership Updates. The Membership Update can be sent directly if the sender has a valid nonce from a previous Request. If not, an AMT Request messages should be sent to solicit a Query Message. When sending a periodic state refresh, all joined state in the Gateway is packed in the fewest number of AMT Membership Update messages. o When the Gateway leaves all (S,G) entries, the Relay can free resources associated with the tunnel. It is assumed that when the Gateway would want to join an (S,G) again, it would start the Discovery/Advertisement tunnel establishment process over again. This same procedure would be used for receivers who operate in Any- Source Multicast (ASM) mode.5.2. Sourcing Multicast from an6. Message Formats 6.1. Use of UDP All AMTsite Two casesmessages arediscussed below: multicast traffic sourced in an AMT site and received inUDP packets. Messages sent to theMBone, and multicast traffic sourced in an AMT site and received in another AMT site. In both cases only SSM sourcesRelay aresupported. Furthermore this specification only deals withsent to the IANA reserved AMT port number (Section 9), from a sourceresiding directly inport uniquely selected by thegateway. To enable a generic nodehost operating system of the Gateway. Messages sent by the Relay are sent from the IANA reserved AMT port number. The UDP checksum MUST be valid inanall AMTsite to source multicast, additional coordination betweencontrol messages (Relay Discovery, Relay Advertisement, Membership Request, Membership Query, Membership Update). Section 6.7 specifies thegateway andbehavior with reference to thesource-node is required. The gateway SHOULD allow for filtering link-local and site-local traffic.UDP checksums of AMT IP Multicast Data messages. 6.2. AMT Relay Discovery Thegeneral mechanism used to join towardsAMTsourcesRelay Discovery message isbased on the following: 1. Applications residing insent from the AMT gatewayuse addresses inunicast address to the AMTSubnetRelay AnycastPrefixaddress tosend multicast, as a result of sourcing traffic on the AMT pseudo-interface. 2. The AMT Subnet Anycast Prefix is advertised for RPF reachability in the M-RIB by relays and gateways. 3. Relays or gateways that receive a join for a source/group pair use information encoded in the address pair to rebuild the address of the gateway (source) to which to encapsulate the join (see Section 7.2 for more details). The membership reports use the same three way handshake as outlined in Section 5.1.2 5.2.1. Supporting Site-MBone Multicast Internet +---------------+ +---------------+ | AMT Site | 2. 3-way Membership | MBone | | | Handshake | | | +---+---+ <================= +---+---+ 1. Join | | |Gateway| | Relay |<-----+ | | +---+---+ =================> +---+---+ | | | | 3. Receive Data | +-R | +---------------+ +---------------+ Site-MBone Multicast If a relay receives an explicit join from the native infrastructure, for a given (source, group) pair where the source address belongs to the AMT Subnet Anycast Prefix, then the relay will periodically (using the rules specified in Section 5.1.2) encapsulate membership updates for the group to the gateway. The gateway must keep state per relay from which membership reports have been sent, and forward multicast traffic from the site to all relays from which membership reports have been received. The choice of whether this state and replication is done at the link-layer (i.e., by the tunnel interface) or at the network-layer is implementation dependent. If there are multiple relays present, this ensures that data from the AMT site is received via the closest relay to the receiver. This is necessary when the routers in the native multicast infrastructure employ Reverse-Path Forwarding (RPF) checks against the source address, such as occurs when PIM Sparse-Mode [RFC4601] is used by the multicast infrastructure. The solution above will scale to an arbitrary number of relays, as long at the number of relays requiring multicast traffic from a given AMT site remains reasonable enough to not overly burden the site's gateway. A source at or behind an AMT gateway requires the gateway to do the replication to one or more relays and receiving gateways. If this places too much of a burden on the sourcing gateway, the source should join the native multicast infrastructure through a permanent tunnel so that replication occurs within the native multicast infrastructure. 5.2.2. Supporting Site-Site Multicast Internet +---------------+ +---------------+ | AMT Site | 2. 3-way Membership | AMT Site | | | Handshake | | | +---+---+ <================= +---+---+ 1. Join | | |Gateway| |Gateway|<-----+ | | +---+---+ =================> +---+---+ | | | | 3. Receive Data | +-R | +---------------+ +---------------+ Site-Site Multicast Since we require gateways to accept membership reports, as described above, it is also possible to support multicast among AMT sites, without requiring assistance from any relays. When a gateway wants to join a given (source, group) pair, where the source address belongs to the AMT Subnet Anycast Prefix, then the gateway will periodically unicast encapsulate an IGMPv3/MLDv2 Report [RFC3376], [RFC3810] (including IP Header) directly to the site gateway for the source. We note that this can result in a significant amount of state at a site gateway sourcing multicast to a large number of other AMT sites. However, it is expected that this is not unreasonable for two reasons. First, the gateway does not have native multicast connectivity, and as a result is likely doing unicast replication at present. The amount of state is thus the same as what such a site already deals with. Secondly, any site expecting to source traffic to a large number of sites could get a point-to-point tunnel to the native multicast infrastructure, and use that instead of AMT. 6. Message Formats 6.1. AMT Relay Discovery The AMT Relay Discovery message is a UDP packet sent from the AMT gateway unicast address to the AMT relay anycast address to discoverdiscover the unicast addressof an AMT relay. The UDP source port is uniquely selected by the local host operating system. The UDP destination port is the IANA reserved AMT port number. The UDP checksum MUST be valid inof an AMTcontrol messages.relay. The payload of the UDP packet contains the following fields. 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 | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discovery Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT Relay Discovery6.1.1.6.2.1. Type The type of the message.6.1.2.6.2.2. Reserved A 24-bit reserved field. Sent as 0, ignored on receipt.6.1.3.6.2.3. Discovery Nonce A 32-bit random value generated by the gateway and replayed by the relay.6.2.6.3. AMT Relay Advertisement The AMT Relay Advertisement messageis a UDP packetsent from the AMT relay anycast address to the source of the discovery message. The UDP source port is the IANA reserved AMT port number and the UDP destination port is the source port received in the Discovery message. TheUDP CHECKSUM MUST be valid in AMT control messages. Thepayload of the UDP packet contains the following fields. 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 | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discovery Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Relay Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT Relay Advertisement6.2.1.6.3.1. Type The type of the message.6.2.2.6.3.2. Reserved A 24-bit reserved field. Sent as 0, ignored on receipt.6.2.3.6.3.3. Discovery Nonce A 32-bit random value generated by the gateway and replayed by the relay.6.2.4.6.3.4. Relay Address The unicast IPv4 or IPv6 address of the AMT relay. The family can be determined by the length of the Advertisement.6.3.6.4. AMT Request A Request packet is sent by a Gateway to a Relay to begin a 3-way handshake for sending an IGMP/MLD Membership/Listener Report or Leave/Done. Itcan be sent from a gateway to a relay, from a gateway to another gateway, or from a relay to a gateway. Itis sent from theoriginator's unique unicastGateway address to therespondents'Relay's unique unicast address. The UDP source port is uniquely selected by the local host operating system. It can be differentfor each Request and differentfrom the source port used in Discovery messages but does not have to be. The UDPdestination port is the IANA reserved AMTsource portnumber. The UDP checksum MUSTmust bevalid in AMT control messages. 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=0x3 | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT Relay Advertisement 6.3.1. Type The type of the message. 6.3.2. Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. 6.3.3.consistent across RequestNonce A 32-bit identifier used to distinguish this request. 6.4. AMT Membership Query An AMT Membership Query packet is sent from the respondent back to the originator to solicit an AMT Membership Update while confirming the source of the original request. It contains a relay Message Authentication Code (MAC) that is a cryptographic hash of a private secret, the originators address,andthe request nonce. It is sent from the destination address received in the Request to the source address received in the Request which is the same address used in the Relay Advertisement.Update messages (see also Section 7.2). The UDPsourcedestination port is the IANA reserved AMT portnumber and the UDP destination port is the source port received in the Request message. The UDP checksum MUST be valid in AMT control messages.number. 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=0x4Type=0x3 | Reserved |Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Response MAC (continued) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| IGMP Membership Query or MLD Listener Query | | (including IP Header) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+AMTMembership QueryRequest 6.4.1. Type The type of the message. 6.4.2. Reserved A8-bit24-bit reserved field. Sent as 0, ignored on receipt. 6.4.3.Response MAC A 48-bit hash generated by the respondent and sent to the originator for inclusion in the AMT Membership Update. The algorithm used for this is chosen by the respondent but an algorithm such as HMAC-MD5-48 [RFC2104] SHOULD be used at a minimum. 6.4.4.Request Nonce A 32-bit identifier used to distinguish thisrequest echoed back to the originator. 6.4.5. IGMP/MLD Query (including IP Header) The message contains either an IGMP Query or an MLD Multicast Listener Query. The IGMP or MLD version sent should default to IGMPv3 or MLDv2 unless explicitly configured to use IGMPv2 or MLDv1. The IGMP/MLD Query includes a full IP Header. The IP source address of the query would match the anycast address on the pseudo interface. The TTL of the outer header should be sufficient to reach the tunnel endpoint and not mimic the inner header TTL which is typically 1 for IGMP/MLD messages.request. 6.5. AMT MembershipUpdateQuery An AMT MembershipUpdateQuery packet is sentto report a membership after a valid Response MAC has been received. It containsfrom theoriginal IGMP/MLD Membership/Listener Report or Leave/Done received overRelay back to the Gateway to solicit an AMTpseudo-interface including the original IP header. It echoes the Response MAC received inMembership Update while confirming theAMT Membership Query sosource of therespondent can verify return routability tooriginal request. It contains a relay Message Authentication Code (MAC) that is a cryptographic hash of a private secret, theoriginator.originators address, and the request nonce. It is sent from the destination address received in theQueryRequest to the source addressreceived inof theQuery which should both beRequest, i.e. thesame asRelay Address advertised in theoriginal Request.Relay Advertisement message. The UDP sourceand destinationportnumbers should beis thesame ones sent inIANA reserved AMT port number and theoriginal Request. The relayUDP destination port isnot required to usetheIPsourceaddress ofport received in theIGMP Membership Report for any particular purpose. The sameRequestNonce and Response MAC can be used across multiple AMT Membership Update messages without having to send individual AMT Membership Query messages.message. 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=0x5Type=0x4 |ReservedFlags | Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Response MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IGMP Membership Query or MLDMessageListener Query | | (including IPheader)Header) | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Gateway Port Number | Gateway Address ... | ? +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ? | ... Gateway Address (ctd) ... | ? +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ? | ... Gateway Address (ctd) ... | ? +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ? | ... Gateway Address (ctd) ... | ? +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ? | ... Gateway Address (ctd) | ? +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT MembershipUpdateQuery 6.5.1. Type The type of the message. 6.5.2.Reserved AFlags An 8-bitreserved field. Sentflags field having the following format: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ | Reserved |G| +-+-+-+-+-+-+-+-+ The "G" flag is set to 1 if Gateway information fields are present in the Query message (see below Section 6.5.6), and to zero if they are not. Other flags are currently unused and reserved: they are sent as0,zero and their value is ignored on receipt. 6.5.3. Response MACTheA 48-bitMAC received inhash generated by theMembership QueryRelay andechoed backsent to the Gateway for inclusion in the AMT MembershipUpdate.Update (see Section 5.2). 6.5.4. Request Nonce A 32-bit identifier echoed back to the originator to used todistinguish this request.identify the corresponding request (see Section 5.2). 6.5.5. IGMP/MLDMessageQuery (including IP Header) The message contains either an IGMPMembership Report, an IGMP Membership Leave, an MLD Multicast Listener Report,Query or an MLD Multicast ListenerDone.Query. The IGMP or MLD version sent shouldbe in response the version of the query received in the AMT Membership Query.default to IGMPv3 or MLDv2 unless explicitly configured to use IGMPv2 or MLDv1. The IGMP/MLDMessageQuery includes a full IP Header.6.6. AMT IP Multicast DataTheAMT Data message is a UDP packet encapsulating theIPMulticast data requested bysource address of theoriginator based on a previous AMT Membership Update message. It is sent fromquery would match theunicast destinationanycast address on the pseudo interface. The TTL of theMembership updateouter IP header should be sufficient to reach thesource address oftunnel endpoint and not mimic theMembership Update.inner IP header TTL which is typically 1 for IGMP/MLD messages. 6.5.6. Gateway information fields TheUDP source"Gateway Port Number" anddestination port numbers should be"Gateway Address" fields are present in thesame ones sentQuery message if, and only if, the "G" flag is set in theoriginal Query. TheFlags field. 6.5.6.1. Gateway Port Number A 16-bit field containing a UDPchecksum MUST be valid in AMT control messages.port value. ThepayloadRelay sets this field to the value of the UDPpacket containssource port of thefollowing fields. 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=0x6 | Reserved | IP Multicast Data ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT IP Multicast Data 6.6.1. Type The typeRequest message that triggered the Query message. 6.5.6.2. Gateway Address A 16-byte field containing the IP source address of the Request message that triggered this Query message.6.6.2. Reserved An 8-bit reserved field. Sent as 0, ignored on receipt. 6.6.3. IP Multicast DataTheoriginal IP Multicast data packet thatfield contains an IPv4-compatible IPv6 address ([RFC4291], section 2.5.5.1) if the address isbeing replicated byan IPv4 address (i.e. therelayIPv4 address prefixed with 96 bits set tothe gateways including the original IP header. 6.7.zero), or an IPv6 address. 6.6. AMT MembershipTeardownUpdate An AMT MembershipTeardownUpdate is sent to reportan IGMP Membership Leave or MLD Listener Donea membership after a valid Response MAC has beenreceived and after the source address that was used to generate the Response MAC is no longer available for sourcing packets. An AMT Membership Teardown fromreceived. It contains the originalsource address and source port is NOT valid and should be discarded if received. Use an AMT Membership Update instead. An AMT Membership Teardown can only contain either an IGMP Membership Leave or an MLD Listener Done message. The encapsulatedIGMP/MLDmessage will have to be fabricated by the sender ofMembership/Listener Report or Leave/Done received over the AMTMembership Teardown inpseudo-interface including thecase where there wasn't anoriginalIGMP/ MLD message to be forwarded. In order forIP header. It echoes thereceiver to verifyResponse MAC received in the AMT MembershipTeardown message, it must containQuery so theoriginal source address and source port in additionrespondent can verify return routability to theOriginal Request Nonce and Original Response MAC.originator. It is sent from the destination address received in the Query to the source address received in theoriginalQuery which should both be the same as the original Request. The UDP source and destination port numbers should be the same ones sent in the original Request. The UDP destination portnumber should beis the IANA reserved AMT port number and the UDP source port is thesame one sent insource port used for theoriginal Request.Request message. TherelayRelay is not required to use the IP source address of the IGMP Membership Report for any particular purpose. The same Request Nonce and Response MAC can be used across multiple AMT Membership Update messages without having to send individual AMT Membership Query messages. 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=0x7Type=0x5 | Reserved |OriginalResponse MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OriginalResponse MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OriginalRequest Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Original Source Port | Source AFI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Original Source Address | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |IGMPMembership Leaveor| |MLDListener DoneMessage (including IP header) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT MembershipTeardown 6.7.1.Update 6.6.1. Type The type of the message.6.7.2.6.6.2. Reserved A 8-bit reserved field. Sent as 0, ignored on receipt.6.7.3. Original6.6.3. Response MAC The 48-bit MAC received in the Membership Query and echoed back in the MembershipUpdate. 6.7.4. OriginalUpdate (see Section 5.2). 6.6.4. Request Nonce A 32-bit identifierused to distinguish this request. 6.7.5. Original Source Port The 16-bit port number used in the original AMT Membership update that was used to generate the Original Response MAC. 6.7.6. Source AFI A 16-bit Address Family Identifier (AFI) [RFC4760] used to determine the protocol address family of the following Original Source Address. Presently defined values formatching theAddress Family Identifier field are specified in IANA's Address Family Numbers registry [IANA.AFN] 6.7.7. Original Source Address The source address usednonce in theoriginalAMTMembership update that was used to generate the Original Response MAC. 6.7.8.Request (see Section 5.2). 6.6.5. IGMP/MLD Message (including IP Header) The message contains either an IGMP MembershipLeaveReport, an IGMP Membership Leave, an MLD Multicast Listener Report, or an MLD Listener Done. The IGMP or MLD version sent should be inresponse the version of the query received in the original AMT Membership Query. The IGMP/MLD Message includes a full IP Header. 7. AMT Gateway Details This section details the behavior of an AMT Gateway, which may be a router serving an AMT site, or the site may consist of a single host, serving as its own gateway. 7.1. At Startup Time At startup time, the AMT gateway will bring up an AMT pseudo- interface to be used for encapsulation. The gateway needs to discover anfunction of the version of the query received in the AMTRelay to sendMembershipRequests. It can send an AMT Relay Discovery at startup time or wait until it hasQuery. The IGMP/MLD Message includes agroup membership to report.full IP Header. 6.7. AMT IP Multicast Data The AMTRelay DiscoveryData message issent toa UDP packet encapsulating the IP Multicast data requested by the originator based on a previous AMTRelay Anycast Address. AMembership Update message. It is sent from the Relay's unique unicast address(which is treated as a link-layer(destination address of the Membership update) to theencapsulation interface)Gateway's unicast address (source address of the Membership Update). The UDP source port isreceived inthe IANA reserved AMTRelay Advertisement message. The discovery process SHOULDport number and the destination port should bedone periodically (e.g., once a day) to re-resolvetheunicast addresssame as the source port ofa close relay. To prevent startup synchronization,thetimerMembership Update that resulted in the creation of forwarding state for the encapsulated IP packet. The UDP checksum SHOULDuse at least 10 percent jitter. Ifbe zero for AMT IP Multicast Data messages carried over IPv4, and MAY be zero for AMT IP Multicast Data messages carried over IPv6 [I-D.ietf-6man-udpchecksums]. The payload of the UDP packet contains the following fields. 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=0x6 | Reserved | IP Multicast Data ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMT IP Multicast Data 6.7.1. Type The type of thegateway is serving as a local router, it SHOULD also function as an IGMP/MLD Proxy,message. 6.7.2. Reserved An 8-bit reserved field. Sent asdescribed in [RFC4605], with its IGMP/MLD host-mode interface0, ignored on receipt. 6.7.3. IP Multicast Data The original IP Multicast data packet that is being replicated by theAMT pseudo-interface. This enables itRelay totranslate group memberships on its downstream interfaces into IGMP/MLD Reports. Hosts receiving multicast packets through an AMT gateway acting as a proxy should ensure that their M-RIB accepts multicast packets fromtheAMT gateway forGateway, including thesources itoriginal IP header. 6.8. AMT Teardown An AMT Teardown isjoining. 7.2. Gateway Group and Source Addresses To support sourcing traffic to SSM groupssent by agateway withGateway after aglobal unicast address, the AMT Subnet Anycast Prefix is treated as the subnet prefix of the AMT pseudo-interface,valid Response MAC has been received andan anycastafter the source address that was used to generate the Response MAC isadded onno longer available for sending packets. It is sent to theinterface. This anycastsource addressis formed by concatenatingreceived in theAMT Subnet Anycast Prefix followed byoriginal Query which should be thehigh bits ofsame as thegateway's global unicast address.original Request. Theremaining bits of its global unicast address are appended toUDP destination port number should be theSSM prefix to createsame one sent in thegrouporiginal Request. An AMT Teardown from the original source address andany spare bits maysource port is NOT valid and should beallocated using local policy. If a gateway wantsdiscarded if received. Use an AMT Membership Update instead. In order for the Relay tosource multicast traffic, itverify the Teardown message, this message mustselectcontain thegatewayoriginal source address andSSM group addresssource port insuch a way that the AMT relay can have enough informationaddition toreconstruct the gateway's unicast address when it receives an SSM join forthesource. Note that multiple gateways might end up withOriginal Request Nonce and Original Response MAC. In situations where NAT is used, this information can be known by thesame anycast address assignedGateway thanks totheir pseudo-interfaces. 7.2.1. IPv4 For example, if IANA assignstheIPv4 prefix x.y/16 asoptional Gateway information fields in theAMT Subnet Anycast Prefix, andQuery message (Section 6.5.6). Hence, a Relay supporting thegateway has global unicast address a.b.c.d, thenTeardown mechanism SHOULD include theAMT Gateway's Anycast Source Address will be x.y.a.b. SinceGateway information fields in theIPv4 SSM group range is 232/8,Query messages itMUST allocate IPv4 SSM groups insends. On reception of a valid Teardown message, a Relay should remove all state corresponding to therange 232.c.d/24. Group:gateway identified by the (original source address, original source port) tuple, and stop forwarding all traffic to this destination. 0 1 2 3 0 1 2 3 4 5 6 7 8169 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8+------------+------------------------+-------------+9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SSM prefixType=0x7 |Low 16 bits ofReserved | Original Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LocalOriginal Response MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |232/8Original Request Nonce |real source address+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PolicyOriginal Source Port |+------------+------------------------+-------------+ Source: +-------------------------+-------------------------+ |16-bit AMT unicast prefix| high 16 bits of real src| +-------------------------+-------------------------+ IPv4 format This allows for 2^8 (256) IPv4 group addresses for use by each AMT gateway. 7.2.2. IPv6 Similarly for IPv6, this is illustrated in the following figure. Group: 32 64 32 +------------+------------------------+-------------+Original Source Address ... |SSM prefix+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Low 64 bits ofOriginal Source Address (ctd) ... |Local+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... Original Source Address (ctd) ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |FF3x::/32... Original Source Address (ctd) ... |real source address+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Policy... Original Src Addr. (ctd) |+------------+------------------------+-------------+ Source: +-------------------------+-------------------------+ |64-bit AMT unicast prefix| high 64 bits of real src| +-------------------------+-------------------------+ IPv6 format This allows for 2^32 (over 4 billion) IPv6 group addresses for use by each+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AMTgateway. 7.3. Joining Groups with MBone SourcesMembership Teardown 6.8.1. Type TheIGMP/MLD protocol usually operates by having the Querier multicast an IGMP/MLD Query message ontype of thelink. This behavior does not workmessage. 6.8.2. Reserved A 8-bit reserved field. Sent as 0, ignored onNBMA links which do not support multicast. Sincereceipt. 6.8.3. Original Response MAC The 48-bit MAC received in theset of gateways is typically unknownMembership Query. 6.8.4. Original Request Nonce A 32-bit identifier corresponding to therelay (and potentially quite large), unicasting the queries is also impractical.original Request. 6.8.5. Original Source Port Thefollowing behavior is16-bit port number usedinstead. Applications residingina gateway should join groups onthe original AMTpseudo-interface, causing IGMP/MLD Membership/Listener Reports to be sent overRequest message thatinterface. When UDP encapsulatingwas used to generate themembership reports (and in fact any other messages, unless specified otherwise in this document),Original Response MAC. 6.8.6. Original Source Address A 16-byte field containing thedestinationIP source address used in theouter IP headeroriginal AMT Request message that was used to generate the Original Response MAC of the Request message that triggered this Query message. The field contains an IPv4-compatible IPv6 address ([RFC4291], section 2.5.5.1) if the address is an IPv4 address (i.e. therelay's unicastIPv4 address prefixed with 96 bits set to zero), or an IPv6 address.Robustness is provided by7. AMT Gateway Details This section details theunderlying IGMP/MLD protocol messages sent onbehavior of an AMT Gateway, which may be a router serving an AMT site, or theAMT pseudo- interface. In other words,site may consist of a single host, serving as its own gateway. 7.1. At Startup Time At startup time, the AMT gatewaydoes not need to retransmit IGMP/MLD Membership/Listener Reports and Leave/Done messages received on the pseudo-interface since IGMP/MLDwillalready do this.bring up an AMT pseudo- interface to be used for encapsulation. The gatewaysimplyneeds toencapsulate each IGMP/MLD Membership/Listener Report and Leave/Done message it receives. However, since periodic IGMP/MLD Membership/Listener Reports are sent in responsediscover an AMT Relay toIGMP/MLD Queries,send Membership Requests. It can send an AMT Relay Discovery at startup time or wait until it has amechanismgroup membership totrigger periodic Membership/Listener Reports and Leave/Done messages is necessary.report. Thegateway should use a timer to trigger periodicAMTMembership Updates. IfRelay Discovery message is sent to thegatewayAMT Relay Anycast Address. A unicast address (which isbehindtreated as afirewall device,link-layer address to thefirewall may requireencapsulation interface) is received in thegateway toAMT Relay Advertisement message. The discovery process SHOULD be done periodicallyrefresh(e.g., once a day) to re-resolve theUDP state inunicast address of a close relay. To prevent startup synchronization, thefirewalltimer SHOULD use ata shorter interval thanleast 10 percent jitter. If thestandardgateway is serving as a local router, it SHOULD also function as an IGMP/MLDQuery interval.Proxy, as described in [RFC4605], with its IGMP/MLD host-mode interface being the AMTRequests can be sent periodicallypseudo-interface. This enables it tosolicittranslate group memberships on its downstream interfaces into IGMP/MLDQueries. The interval at which theReports. Hosts receiving multicast packets through an AMTRequests are sentgateway acting as a proxy shouldbe configurable toensurethe firewall does not revert to blocking the UDP encapsulated IP Multicast data packets. Whenthat their M-RIB accepts multicast packets from the AMTQuery is received, it can be ignored unlessgateway for the sources it istime forjoining. 7.2. Gateway identification From the point of view of aperiodic AMTRelay, a Gateway is identified by the (IP source address, UDP source port) tuple in MembershipUpdate. The relay canUpdate messages. If an implementation of Gateway procedure was to use a different UDP source port and/or IP source address to join or leave different multicast groups, it would appear to theQuerier's Robustness Variable (QRV) definedRelay as distinct Gateways. For instance, a Relay having forwarding state resulting in[RFC3376] and [RFC3810] to adjustthenumberforwarding ofMembership/Listener Reports that are sent by the host joining the group. 7.4. Responding(S,G) toRelay Changes Whena said gatewaydetermines that its current relay is unreachable (e.g., upon receipt of an ICMP Unreachable message [RFC0792] for the relay's unicast address), it may need to repeat relay address discovery. However, care should be takenidentified by a (IP source address, UDP source port) tuple, will notto abandon the current relay too quickly due to transient network conditions. 7.5. Joining SSM Groups withremove this state if it receives an AMTGateway Sources An IGMPv3/MLDv2 Report forMembership Update message from agiven (source, group) pair MAY be encapsulated directlydifferent (IP source address, UDP source port) tuple. It results that a Gateway has to use thesource, when thesame UDP sourceaddress belongsport for AMT Request and AMT Update messages related tothe AMT Subnet Anycast Prefix. The "link-layer" addressa same (S,G). A said Gateway instance is typically expected to useas the destination address intheoutersame UDP source port and IPheader is obtained as follows. Thesource addressin the inclusion list offor all Request and Updates messages for all multicast groups. 7.3. Joining Multicast Groups The IGMP/MLD protocol usually operates by having theIGMPv3/MLDv2 report will beQuerier multicast anAMT Gateway Anycast Address withIGMP/MLD Query message on thehigh bitslink. This behavior does not work on NBMA links which do not support multicast. Since the set of gateways is typically unknown to theaddress, andrelay (and potentially quite large), unicasting theremaining bits will bequeries is also impractical. The following behavior is used instead. Applications residing in a gateway should join groups on themiddle ofAMT pseudo-interface, causing IGMP/MLD Membership/Listener Reports to be sent over that interface. When UDP encapsulating thegroup address. Section 7.2 describesmembership reports (and in fact any other messages, unless specified otherwise in thisformat to recoverdocument), thegateway source address. 7.6. Receiving AMT Membership Updates bydestination address in theGateway When an AMT Requestouter IP header isreceived by the gateway from another gateway or relay, it followsthesame 3-way handshake procedure a relay would follow if it receivedrelay's unicast address. Robustness is provided by theAMT Request. It generates a MAC and responds with an AMT Membership Query. Whenunderlying IGMP/MLD protocol messages sent on the AMTMembership Update is received, it verifiespseudo- interface. In other words, theMACgateway does not need to retransmit IGMP/MLD Membership/Listener Reports andthen processesLeave/Done messages received on theIGMP/ MLDpseudo-interface since IGMP/MLD will already do this. The gateway simply needs to encapsulate each IGMP/MLD Membership/Listener Reportor Leave/Done. At the gateway, theand Leave/Done message it receives. However, since periodic IGMP/MLDpacket should be an IGMPv3/MLDv2 source specific (S,G) join or leave. If SMembership/Listener Reports are sent in response to IGMP/MLD Queries, a mechanism to trigger periodic Membership/Listener Reports and Leave/Done messages isnot thenecessary. The gateway should use a timer to trigger periodic AMTGateway Anycast Address, the packet is silently discarded.Membership Updates. IfG does not containthelow bits ofgateway is behind a firewall device, theglobal unicast address (as described above),firewall may require thepacket is also silently discarded. Thegatewayadds the source address (fromto periodically refresh theouter IP header) andUDPport of the report to a membership list for G. Maintaining this membership list may be donestate inany implementation-dependent manner. For example, it might be maintained bythe"link-layer" insidefirewall at a shorter interval than the standard IGMP/MLD Query interval. AMTpseudo-interface, making it invisibleRequests can be sent periodically tothe normalsolicit IGMP/MLDmodule. 7.7. Sending data to SSM groups When multicast packets are sent onQueries. The interval at which the AMTpseudo-interface, theyRequests areencapsulated as follows. Ifsent should be configurable to ensure thegroup address isfirewall does notan SSM group, thenrevert to blocking thepacketUDP encapsulated IP Multicast data packets. When the AMT Query issilently discarded (this memo does not currently providereceived, it can be ignored unless it is time for away to sendperiodic AMT Membership Update. The relay can use the Querier's Robustness Variable (QRV) defined in [RFC3376] and [RFC3810] tonon-SSM groups). Ifadjust thegroup address is an SSM group, thennumber of Membership/Listener Reports that are sent by the host joining thepacket is unicast encapsulatedgroup. 7.4. Responding toeach remote node from which theRelay Changes When a gatewayhas receiveddetermines that its current relay is unreachable (e.g., upon receipt of anIGMPv3/MLDv2 reportICMP Unreachable message [RFC0792] for thepacket's (source, group) pair.relay's unicast address), it may need to repeat relay address discovery. However, care should be taken not to abandon the current relay too quickly due to transient network conditions. 8. AMT RelayRouterDetails 8.1. At Startup time At startup time, the relay router will bring up an NBMA-style AMT pseudo-interface. It shall also add the AMT Relay Anycast Address on some interface. The relay router shall then advertise the AMT Relay Anycast Prefix into the unicast-only Internet, as if it were a connection to an external network. When the advertisement is done using BGP, the AS path leading to the AMT Relay Anycast Prefix shall include the identifier of the local AS. The relay router shall also enable IGMPv3/MLDv2 on the AMT pseudo- interface, except that it shall not multicast Queries (this might be done, for example, by having the AMT pseudo-device drop them, or by having the IGMP/MLD module not send them in the first place).Finally, to support sourcing SSM traffic from AMT sites, the AMT Subnet Anycast Prefix is assigned to the AMT pseudo-interface, and the AMT Subnet Anycast Prefix is injected by the AMT Relay into the M-RIB of MBGP.8.2. Receiving Relay Discovery messages sent to the Anycast Address When a relay receives an AMT Relay Discovery message directed to the AMT Relay Anycast Address, it should respond with an AMT Relay Advertisement containing its unicast address. The source and destination addresses of the advertisement should be the same as the destination and source addresses of the discovery message respectively. Further, the nonce in the discovery message MUST be copied into the advertisement message. 8.3. Receiving Membership Updates from AMT Gateways The relay operates passively, sending no periodic IGMP/MLD Queries but simply tracking membership information according to AMT Request/ Query/Membership Update tuples received. As noted in Section 7.2, the Relay tracks Gateways based on the (IP source address, UDP source port) tuple. In addition, the relay must also do explicit membership tracking, as to which gateways on the AMT pseudo-interface have joined which groups. Once an AMT Membership Update has been successfully received, it updates the forwarding state for the appropriate group and source (if provided). When data arrives for that group, the traffic must beencapsulatedencapsulated, once to each (address, port) of each gateway which has joined that group or (S,G). The explicit membership tracking and unicast replication may be done in any implementation-specific manner. Some examples are: 1. The AMT pseudo-device driver might track the group information and perform the replication at the "link-layer", with no changes to a pre-existing IGMP/MLD module. 2. The IGMP/MLD module might have native support for explicit membership tracking, especially if it supports other NBMA-style interfaces. If a relay wants to affect the rate at which the AMT Requests are originated from a gateway, it can tune the membership timeout by adjusting the Querier's Query Interval Code (QQIC) field in the IGMP/ MLD Query contained within the AMT Membership Query message. The QQIC field is defined in [RFC3376] and [RFC3810]. However, since the gateway may need to send AMT Requests frequently enough to prevent firewall state from timing out, the relay may be limited in its ability to spread out Requests coming from a gateway by adjusting the QQIC field.8.4. Receiving (S,G) Joins from the Native Side, for AMT Sources The relay sends an IGMPv3/MLDv2 report to the AMT source as described above in Section 5.1.29. IANA Considerations 9.1. IPv4 and IPv6 Anycast Prefix Allocation The IANA should allocate an IPv4 prefix and an IPv6 prefix dedicated to the public AMT Relays to advertise to the native multicast backbone. The prefix length should be determined by theIANA; the prefix should be large enough to guarantee advertisement in the default-free BGP networks. 9.1.1. IPv4 A prefix length of 16 will meet this requirement. 9.1.2. IPv6 A prefix length of 32 will meet this requirement. IANA has previously set aside the range 2001::/16 for allocating prefixes for this purpose. 9.2. IPv4 and IPv6 AMT Subnet Prefix Allocation It should also be noted that this prefix length directly affects the number of groups available to be created by the AMT gateway: in the IPv4 case, a prefix length of 16 gives 256 groups, and a prefix length of 8 gives 65536 groups. All allocations are a one time effort and there will be no need for any recurring assignment after this stage. 9.2.1. IPv4 As described aboveIANA; the prefix should be large enough to guarantee advertisement inSection 7.2.1 anthe default-free BGP networks. 9.1.1. IPv4 A prefixwith alength of 16is requested forwill meet thispurpose. 9.2.2. IPv6 As described above in Section 7.2.2 anrequirement. 9.1.2. IPv6 A prefixwith alength of 32is requested. 9.3.will meet this requirement. IANA has previously set aside the range 2001::/16 for allocating prefixes for this purpose. 9.2. UDP Port number IANA has previously allocated UDP reserved port number 2268 for AMT encapsulation. 10. Security Considerations The anycast technique introduces a risk that a rogue router or a rogue AS could introduce a bogus route to the AMT Relay Anycast prefix, and thus divert the traffic. Network managers have to guarantee the integrity of their routing to the AMT Relay Anycast prefix in much the same way that they guarantee the integrity of all other routes.Within the native MBGP infrastructure, there is a risk that a rogue router or a rogue AS could inject a false route to the AMT Subnet Anycast Prefix, and thus divert joins and cause RPF failures of multicast traffic. As the AMT Subnet Anycast Prefix will be advertised by multiple entities, guaranteeing the integrity of this shared MBGP prefix is much more challenging than verifying the correctness of a regular unicast advertisement. To mitigate this threat, routing operators should configure the BGP sessions to filter out any more specific advertisements for the AMT Subnet Anycast Prefix.Gatewaysand relayswill accept and decapsulate multicast traffic from any source from which regular unicast traffic is accepted. If thisisis, for anyreasonreason, felt to be a security risk, then additional source address based packet filtering MUST beapplied: 1. To prevent a rogue sender (that can't do traditional spoofing becauseapplied: a gateway MUST discard encapsulated multicast packets if the source address in the outer header is not the address of the Relay to which the encapsulated join message was sent. AMT Gateways MUST also drop non- multicast traffic incoming on an AMT pseudo-interface. AMT Relays MUST NOT process AMT Data messages. AMT Relays and Gateways MUST drop IP messages encapsulated in AMT Query and Update messages that are not IGMP/MLD messages. Even though a Relay does not need to maintain any state before completion of the three-way handshake (Section 5.2), if no mitigation is in place, it is still possible for one host to instantiate a large amount of Gateways instances that would each join one or more multicast groups to a Relay, thus resulting in a large amount of resources being used on the Relay. Thus, AMT Relays MUST be implemented so as to allow the mitigation ofe.g. access lists deployed by its ISP) from making userisks of denial of service attacks on their resources. A Relay SHOULD NOT allow the instantiation ofAMT to send packets toanSSM tree,unbounded number of AMT pseudo-interfaces for arelay that receives an encapsulated multicast packet MUST discard the multicast packet if thesaid gateway IPsource address in the outer header does not match the source address that would be extracted usingaddress. For instance, an implementation may provide a way to set a configurable limit on therulesmaximum number ofSection 7.2. 2. Apseudo- interfaces to a same gatewayMUST discard encapsulated multicast packets ifIP address, with a default value for this limit being low enough to provide protection, and high enough to cope with thesourcepossibility of an addressinbeing shared by multiple devices. In theouter headercase where a Relay isnotreaching theaddresssituation where it would stop accepting towhichinstantiate new pseudo-interfaces, it MAY stop advertising theencapsulated join message was sent. AnAMTGateway that receives an encapsulated IGMPv3/MLDv2 (S,G)-Join MUST discard the message if the IP destination address in the outer header does not match the source address that would be extracted usingRelay Anycast address; thanks to therules of Section 7.2.AMT discovery procedures, this will allow legitimate AMT Gateways to fall back on another Relay. 11. Contributors The following people provided significant contributions to earlier versions ofthis draft.these specifications: Dirk Ooms OneSparrow Belegstraat 13; 2018 Antwerp; Belgium EMail: dirk@onesparrow.com 12. Acknowledgments Most of the mechanisms described in this document are based on similar work done by the NGTrans WG for obtaining automatic IPv6 connectivity without explicit tunnels ("6to4"). Tony Ballardie provided helpful discussion that inspired this document. In addition, extensive comments were received from Pekka Savola, Greg Shepherd, Dino Farinacci, Toerless Eckert, Marshall Eubanks, John Zwiebel,andLennyGiuliano.Giuliano and Greg Bumgardner. Juniper Networks was instrumental in funding several versions of this draft as well as an open source implementation. Greg Shepherd suggested the inclusion of the AMT Membership Teardown message based on field experience. Contributors from AT&T provided useful inputs and ideas that were integrated into these specifications: Mark Altom, Andy Huang, Tom Imburgia, Patricia McCrink, Han Nguyen, Doug Nortz and Robert Sayko. 13. References 13.1. Normative References [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981. [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. Thyagarajan, "Internet Group Management Protocol, Version 3", RFC 3376, October 2002. [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. [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. [I-D.ietf-6man-udpchecksums] Eubanks, M., "UDP Checksums for Tunneled Packets", draft-ietf-6man-udpchecksums-00 (work in progress), March 2011. [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006. 13.2. Informative References[IANA.AFN] IANA, "Address Family Numbers", <http://www.iana.org/ assignments/address-family-numbers/ address-family-numbers.txt>.[RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, RFC 1112, August 1989. [RFC1546] Partridge, C., Mendez, T., and W. Milliken, "Host Anycasting Service", RFC 1546, November 1993. [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- Hashing for Message Authentication", RFC 2104, February 1997. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3053] Durand, A., Fasano, P., Guardini, I., and D. Lento, "IPv6 Tunnel Broker", RFC 3053, January 2001. [RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001. [RFC3068] Huitema, C., "An Anycast Prefix for 6to4 Relay Routers", RFC 3068, June 2001.[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006.[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", RFC 4601, August 2006. [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007. Authors' Addresses Dave Thaler Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 USA Phone: +1 425 703 8835 Email: dthaler@microsoft.com Mohit Talwar Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 USA Phone: +1 425 705 3131 Email: mohitt@microsoft.com Amit Aggarwal Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 USA Phone: +1 425 706 0593 Email: amitag@microsoft.com Lorenzo Vicisano Qualcomm Inc. 3165 Kifer Road Santa Clara, CA 95051 USA Email: vicisano@qualcomm.com Tom Pusateri !j 2109 Mountain High Rd. Wake Forest, NC 27587 USA Email: pusateri@bangj.com Thomas Morin France Telecom - Orange 2, avenue Pierre Marzin Lannion 22300 France Phone: +33 2 96 05 3734 Email: thomas.morin@orange-ftgroup.com