Network Working GroupDaveD. Thaler Internet-DraftMohitM. TalwarFebruary 2005 Amit AggarwalExpires:August 21, 2005April 23, 2006 A. Aggarwal MicrosoftLorenzoCorporation L. Vicisano Cisco SystemsTomT. Pusateri Juniper Networks October 20, 2005 Automatic IP Multicast Without Explicit Tunnels (AMT)draft-ietf-mboned-auto-multicast-04.txtdraft-ietf-mboned-auto-multicast-05 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 ofRFC 3668.BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed athttp://www.ietf.org/ietf/1id-abstracts.txthttp://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed athttp://www.ietf.org/shadow.htmlhttp://www.ietf.org/shadow.html. This Internet-Draft will expire on April 23, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract Automatic Multicast Tunneling (AMT) allows multicast communication amongst isolated multicast-enabled sites or hosts, attached to a network which has no native multicast support. It also enables them to exchange multicast traffic with the native multicast infrastructure(MBone)and does not require 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.Copyright Notice Copyright (C) The Internet Society (2005). All Rights Reserved. 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 is 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" [6TO4, ANYCAST] to get automatic IPv6 connectivity. Effectively, AMT treats the unicast-only internetwork 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 to or from a site must be encapsulated in unicast packets. If the group has members in multiple sites, AMT encapsulationTable ofthe same multicast packet will take place multiple times by necessity. The following problems are addressed:Contents 1.Allowing isolated sites/hosts to receive the SSM flavor of multicast ([SSM]). 2. Allowing isolated sites/hosts to transmit the SSM flavor of multicast. 3. Allowing isolated sites/hosts to receive general multicast (ISM [RFC1112]). This document does not address allowing isolated sites/hosts to transmit general multicast. We expect that other solutions (e.g., Tunnel Brokers, a la [BROKER]) will be used for sites that desire this capability.Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. RequirementsTerminology The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [RFC-2119].notation . . . . . . . . . . . . . . . . . . . . 5 3. Definitions+---------------+ Internet +---------------+ |. . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1 AMT Pseudo-Interface . . . . . . . . . . . . . . . . . . . 6 3.2 AMT Gateway . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 AMT Site| | MBone | | |. . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4 AMT| | | +------+----+Relay+----+----+ AMT | | |AMT Gateway| Anycast |AMT Relay| Subnet | | | +-----+-+ Prefix +-+-----+ | Prefix | | | |AMT IF | <--------|AMT IF | |--------> | | | +-----+-+ +-+-----+ | | | +------+----+ +----+----+ | | | | | +---------------+ +---------------+ Figure 1: Automatic Multicast Definitions.Router . . . . . . . . . . . . . . . . . . . . . 6 3.5 AMTPseudo-InterfaceRelay Anycast Prefix . . . . . . . . . . . . . . . . . 7 3.6 AMTencapsulation 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.Relay Anycast Address . . . . . . . . . . . . . . . . 7 3.7 AMTGateway A host, or a site gateway router, supporting anUnicast Autonomous System ID . . . . . . . . . . . . . 7 3.8 AMTPseudo- 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".Subnet Prefix . . . . . . . . . . . . . . . . . . . . 7 3.9 AMTSite A multicast-enabled network not connected to the multicast backbone served by anGateway Anycast Address . . . . . . . . . . . . . . . 7 3.10 AMTGateway. It could also be a stand- alone AMT Gateway. AMT Relay Router A 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 internetwork, and an AMT pseudo-interface. It is simply referred to in this document as a "relay". As with [6TO4], 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. Instead, we assume that special-purpose routers will be deployed that are suitable for serving as relays. 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. AMT Relay Anycast Address An anycast address which is used to reach the nearest AMT Relay Router. This address corresponds to the lowest address in the AMT Relay Anycast Prefix. AMT UnicastMulticast Autonomous System IDA 16-bit Autonomous System ID, for use in BGP. . . . . . . . . . . . 8 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 Receiving Multicast inaccordance to this memo. AS 10888 might be usable for this, but for now we'll assume it's different, to avoid confusion. This number represents a "pseudo-AS" common to all AMT relays using the well known AMT Relay Anycast Prefix (private relays use their own ID). To protect themselves from erroneous advertisements, managers of border routers often use databases to check the relation between the advertised network and the last hop in the AS path. Associating a specific AS number with the AMT Relay Anycast Address allows us to enter this relationship in the databases used to check inter-domain routing [ANYCAST]. AMT Subnet 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. AMT Gateway Anycast Address An anycast address in the AMT Subnet Prefix range, which is used byan AMTGateway to enable sourcing SSM trafficSite . . . . . . . . . . . . 9 4.1.1 Scalability Considerations . . . . . . . . . . . . . . 10 4.1.2 Spoofing Considerations . . . . . . . . . . . . . . . 10 4.2 Sourcing Multicast fromlocal applications.an AMT site . . . . . . . . . . . 11 4.2.1 Supporting Site-MBone MulticastAutonomous System ID A 16-bit Autonomous system ID, for use in MBGP in accordance to this memo. This number represents a "pseudo-AS" common to all AMT relays using the well known AMT Subnet Prefix (private relays use their own ID). We assume that the existing AS 10888 is suitable for this purpose. (Note: if this is a problem, a different one would be fine.) 4. Overview 4.1. Receiving. . . . . . . . . . . 12 4.2.2 Supporting Site-Site Multicastin an AMT Site Internet +---------------+ +---------------+ |. . . . . . . . . . . . 12 5. Message Formats . . . . . . . . . . . . . . . . . . . . . . . 14 5.1 AMTSite | 2. 3-way Membership | MBone | | | Handshake | | | 1. Join +---+---+ =================> +---+---+ | | +---->|Gateway| |Relay| | | | +---+---+ <================= +---+---+ | | R-+ | 3. Receive Data | | +---------------+ +---------------+ Figure 2: Receiving Multicast in an AMT Site. AMT relays and gateways cooperate to transmit multicast traffic sourced within the native multicast infrastructure toDiscovery . . . . . . . . . . . . . . . . . . . 14 5.1.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.2 Reserved . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.3 Discovery Nonce . . . . . . . . . . . . . . . . . . . 14 5.2 AMTsites: 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. To work across NAT's, the encapsulation is done over UDP using the IANA reserved AMT port number. 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 [IGMPv3/MLDv2] protocol, and the PIM- Sparse Mode [PIMSM] protocol. 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 5 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. 4.1.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 an anycast address to relays. However, simply sending periodic membership reports to the 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, this allows the gateways to be spread out among more relays so as to keep the number of gateways per relay at a reasonable level. 4.1.2. Spoofing Considerations An attacker could affect the group state in the relay or gateway by spoofing the source address in the join or leave reports. This can be used to launch reflection or denial of service attacks on the target. 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 gateway or relay wants to send a membership report, it first sends anRelay Advertisement . . . . . . . . . . . . . . . . . 14 5.2.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.2.2 Reserved . . . . . . . . . . . . . . . . . . . . . . . 15 5.2.3 Discovery Nonce . . . . . . . . . . . . . . . . . . . 15 5.2.4 Relay Address . . . . . . . . . . . . . . . . . . . . 15 5.3 AMT Requestwith a request nonce in it. The receiving side (the respondent) can calculate a message authentication code (MAC) based on the source IP address of the Request, the source UDP port, the request nonce, and a secret key known only to the respondent. The algorithm used to calculate the MAC does not have to be standardized since the respondent generates and verifies the. . . . . . . . . . . . . . . . . . . . . . . 15 5.3.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.3.2 Reserved . . . . . . . . . . . . . . . . . . . . . . . 16 5.3.3 Request Nonce . . . . . . . . . . . . . . . . . . . . 16 5.4 AMT Membership Query . . . . . . . . . . . . . . . . . . . 16 5.4.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.4.2 Reserved . . . . . . . . . . . . . . . . . . . . . . . 17 5.4.3 Response MACand the originator simply echoes it. An. . . . . . . . . . . . . . . . . . . . . 17 5.4.4 Request Nonce . . . . . . . . . . . . . . . . . . . . 17 5.5 AMT MembershipQuery is sent back including the request nonce and the MAC to the originator of the Request. The originator then sends the IGMP/MLD Membership/Listener Report or Leave/Done along with the request nonce and the received MAC back to the respondent finalizing the 3-way handshake. Upon reception, the respondent can recalculate theUpdate . . . . . . . . . . . . . . . . . . 17 5.5.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.5.2 Reserved . . . . . . . . . . . . . . . . . . . . . . . 18 5.5.3 Response MACbased on the source IP address, the source. . . . . . . . . . . . . . . . . . . . . 18 5.5.4 Request Nonce . . . . . . . . . . . . . . . . . . . . 18 5.6 AMT Multicast Data . . . . . . . . . . . . . . . . . . . . 18 5.6.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.6.2 Reserved . . . . . . . . . . . . . . . . . . . . . . . 19 5.6.3 UDPport, the request nonce, and the local secret. The IGMP/MLD message is only accepted if the received MAC matches the calculated MAC. The local secret never has to be shared with the other side. It is only used to verify return routability of the originator. 4.2. SourcingMulticastfrom an AMT site Two cases are discussed below: multicast traffic sourced in an AMT site and received in the MBone, and multicast traffic sourced in an AMT site and received in anotherData . . . . . . . . . . . . . . . . . . 19 6. AMTsite. In both cases only SSM sources are supported. Furthermore this specification only dealsGateway Details . . . . . . . . . . . . . . . . . . . . . 20 6.1 At Startup Time . . . . . . . . . . . . . . . . . . . . . 20 6.2 Joining Groups withthe source residing directly in the gateway. To enable a generic node in an AMT site to source multicast, additional coordination between the gateway and the source-node is required. The general mechanism used to join towards AMT sources is based on the following: 1. Applications residing in the gateway use addresses in the AMT Subnet PrefixMBone Sources . . . . . . . . . . . . 20 6.3 Responding tosend multicast, as a result of sourcing traffic on the AMT pseudo-interface. 2. TheRelay Changes . . . . . . . . . . . . . . . 21 6.4 Creating SSM groups . . . . . . . . . . . . . . . . . . . 22 6.5 Joining SSM Groups with AMTSubnet 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 ofSources . . . . . . . . . . . 22 6.6 Receiving IGMPv3/MLDv2 Reports at thegateway (source)Gateway . . . . . . 22 6.7 Sending data towhichSSM groups . . . . . . . . . . . . . . . . 23 7. Relay Router Details . . . . . . . . . . . . . . . . . . . . . 24 7.1 At Startup time . . . . . . . . . . . . . . . . . . . . . 24 7.2 Receiving Relay Discovery messages sent toencapsulatethejoin (see Section 5 for more details). The membership reports useAnycast Address . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.3 Receiving Membership Updates from AMT Gateways . . . . . . 24 7.4 Receiving (S,G) Joins from thesame three way handshake as outlined in Section 4.1.2. 4.2.1. Supporting Site-MBone Multicast Internet +---------------+ +---------------+ |Native Side, for AMTSite | 2. 3-way Membership | MBone | | | Handshake | | | +---+---+ <================= +---+---+Sources . . . . . . . . . . . . . . . . . . . . . . . . . 25 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 9. Security Considerations . . . . . . . . . . . . . . . . . . . 27 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 28 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 29 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 12.1 Normative References . . . . . . . . . . . . . . . . . . . 30 12.2 Informative References . . . . . . . . . . . . . . . . . . 30 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 31 Intellectual Property and Copyright Statements . . . . . . . . 33 1.Join | | |Gateway| | Relay |<-----+ | | +---+---+ =================> +---+---+ | | | | 3. Receive Data | +-R | +---------------+ +---------------+ Figure 3: Site-MBone Multicast. If a relay receives an explicit join fromIntroduction The primary goal of this document is to foster the deployment of nativeinfrastructure, forIP multicast by enabling agiven (source, group) pair where the source address belongspotentially large number of nodes to connect to theAMT Subnet Prefix, then the relay will periodically (usingalready present multicast infrastructure. Therefore, therules specifiedtechniques discussed here should be viewed as an interim solution to help inSection 4.1.2) encapsulate membership updates forthegroup tovarious stages of thegateway. The gateway must keep state per relay from which membership reports have been sent, and forwardtransition to a native multicasttraffic fromnetwork. To allow fast deployment, thesitesolution presented here only requires small and concentrated changes toall relays from which membership reports have been received. The choice of whether this statethe network infrastructure, andreplication is doneno changes atthe link-layer (i.e., by the tunnel interface)all to user applications oratto thenetwork-layer is implementation dependent. If there are multiple relays present,socket API of end- nodes' operating systems. The protocol introduced in thisensuresspecification can be deployed in a few strategically-placed network nodes and in user-installable software modules (pseudo device drivers and/or user-mode daemons) thatdata fromreside 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, AMTsite is received viatreats theclosest relay tounicast-only internetwork as a large non- broadcast multi-access (NBMA) link layer, over which we require thereceiver. This is necessary whenability to multicast. To do this, multicast packets being sent to or from a site must be encapsulated in unicast packets. If theroutersgroup has members in multiple sites, AMT encapsulation of thenativesame multicastinfrastructure employ Reverse-Path Forwarding (RPF) checks against the source address, such as occurs when [PIMSM] is usedpacket will take place multiple times bythe multicast infrastructure.necessity. Thesolution above will scalefollowing problems are addressed: 1. Allowing isolated sites/hosts toan arbitrary numberreceive the SSM flavor ofrelays, as long atmulticast ([I-D.ietf-ssm-arch]). 2. Allowing isolated non-NAT sites/hosts to transmit thenumberSSM flavor ofrelays requiringmulticast. 3. Allowing isolated sites/hosts to receive general multicasttraffic from(ASM [RFC1112]). This document does not address allowing isolated sites/hosts to transmit general multicast. We expect that other solutions (e.g., Tunnel Brokers, agiven AMTla [RFC3053]) will be used for sites that desire this capability. Implementors should be aware that siteremains reasonable enoughadministrators may have configured administratively scoped multicast boundaries and a remote gateway may provide a means tonot overly burdencircumvent administrative boundaries. Therefore, implementations should allow for thesite's gateway. 4.2.2. Supporting Site-Site Multicast Internetconfiguration of such boundaries on relays and gateways and perform filtering as needed. 2. 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]. 3. Definitions +---------------+ Internet +---------------+ | AMT Site |2. 3-way Membership|AMT SiteNative MCast | | | AMT | | | +------+----+ Relay +----+----+ AMT | | |AMT Gateway| Anycast |AMT Relay| Subnet | | | +-----+-+ Prefix +-+-----+ | Prefix | | |Handshake|AMT IF | <--------|AMT IF | |--------> |+---+---+ <================= +---+---+ 1. Join| ||Gateway| |Gateway|<-----++-----+-+ +-+-----+ | |+---+---+ =================> +---+---+| +------+----+ +----+----+ | | |3. Receive Data|+-R| +---------------+ +---------------+Figure 4: Site-Site Multicast. Since3.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. 3.2 AMT Gateway A host, or a site gateway router, supporting an AMT 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". 3.3 AMT Site A multicast-enabled network not connected to the multicast backbone served by an AMT Gateway. It could also be a stand- alone AMT Gateway. 3.4 AMT Relay Router A 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 internetwork, and an AMT pseudo-interface. It is simply referred to in this document as a "relay". As with [RFC3056], werequire gatewaysassume that normal multicast routers do not want toaccept membership reports,be tunnel endpoints (especially if this results in high fanout), and similarly that service providers do not want encapsulation to arbitrary routers. Instead, we assume that special- purpose routers will be deployed that are suitable for serving asdescribed above, it is also possible to support multicast among AMT sites, without requiring assistance from anyrelays.When a gateway wants to join a given (source, group) pair, where the source3.5 AMT Relay Anycast Prefix A well-known addressbelongsprefix used to advertise (into theAMT Subnet Prefix, then the gateway will periodicallyunicastencapsulate an IGMPv3/MLDv2 [IGMPv3/MLDv2] Report directly to the site gateway for the source. We note that this can result in a significant amount of state atrouting infrastructure) asite gateway sourcing multicastroute toa large number of otheran available AMTsites. However, it is expected that this isRelay Router. This could also be private (i.e., notunreasonablewell-known) fortwo reasons. First, the gateway does not have native multicast connectivity,a private relay. Prefixes for both IPv4 andasIPv6 will be assigned in aresult is likely doing unicast replication at present. The amountfuture version ofstatethis draft. 3.6 AMT Relay Anycast Address An anycast address which isthusused to reach thesame as what suchnearest AMT Relay Router. This address corresponds to the lowest address in the AMT Relay Anycast Prefix. 3.7 AMT Unicast Autonomous System ID A 16-bit Autonomous System ID, for use in BGP in accordance to this memo. This number represents asite already deals with. Secondly, any site expecting"pseudo-AS" common tosource trafficall AMT relays using the well known AMT Relay Anycast Prefix (private relays use their own ID). To protect themselves from erroneous advertisements, managers of border routers often use databases to check the relation between the advertised network and the last hop in the AS path. Associating alargespecific AS numberof sites could get a point-to-point tunnel towith thenative multicast infrastructure, and use that instead of AMT. 5. Message Formats 5.1. AMT Relay Discovery TheAMT RelayDiscovery message is a UDP packet sent fromAnycast Address allows us to enter this relationship in the databases used to check inter-domain routing [RFC3068]. 3.8 AMTgateway unicastSubnet Prefix A well-known address prefix used to advertise (into the M-RIB of the native multicast-enabled infrastructure) a route to AMTrelaySites. This prefix will be used to enable sourcing SSM traffic from an AMT Gateway. 3.9 AMT Gateway Anycast Address An anycast addressto discoverin theunicast address of anAMTrelay. The UDP source portSubnet Prefix range, which isuniquely selectedused bythean AMT Gateway to enable sourcing SSM traffic from localhost operating system. The UDP destination port is the IANA reservedapplications. 3.10 AMTport number. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: Type The type of the message. Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. Discovery NonceMulticast Autonomous System ID A32-bit random value generated by the gateway and replayed by the relay. 5.2. AMT Relay Advertisement The AMT Relay Advertisement message is16-bit Autonomous system ID, for use in MBGP in accordance to this memo. This number represents aUDP packet sent from the AMT relay anycast address"pseudo-AS" common tothe source of the discovery message. The UDP source port is the IANA reservedall AMTport number and the UDP destination port isrelays using thesource port receivedwell known AMT Subnet Prefix (private relays use their own ID). 4. Overview 4.1 Receiving Multicast inthe Discovery message. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+an AMT Site Internet +---------------+ +---------------+ |Type=0x2AMT Site |Reserved2. 3-way Membership |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+MBone |Discovery Nonce|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Relay AddressHandshake | | | 1. Join +---+---+ =================> +---+---+ | | +---->|Gateway| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: Type The type of the message. Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. Discovery Nonce A 32-bit random value replayed from the discovery message.RelayAddress The unicast IPv4 or IPv6 address of| | | | +---+---+ <================= +---+---+ | | R-+ | 3. Receive Data | | +---------------+ +---------------+ AMT relays and gateways cooperate to transmit multicast traffic sourced within the native multicast infrastructure to AMTrelay. The family can be determined bysites: relays receive thelength oftraffic natively and unicast-encapsulate it to gateways; gateways decapsulate the traffic and possibly forward it into theAdvertisement. 5.3.AMTRequest A Request packet is sent to begin a 3-way handshake for sendingsite. Each gateway has anIGMP/MLD Membership/Listener Report or Leave/Done. It can be sent fromAMT pseudo-interface that serves as agatewaydefault multicast route. Requests to join arelay, from a gatewaymulticast session are sent toanother gateway, or from a relaythis interface and encapsulated to agateway. It is sent fromparticular relay reachable across theoriginator's unique unicast addressunicast-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 therespondents' unique unicast address.relay. TheUDP source portAMT recipient-list isuniquely selected by the local host operating system. It can be differentdetermined for eachRequest and different frommulticast session. This requires thesource port used in Discovery messages but does not haverelay tobe. The UDP destination port iskeep state for each gateway which has joined a particular group or (source, group) pair). Multicast packets from theIANA reserved AMT port number. Fields: Type The type ofnative infrastructure behind themessage. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. Request Nonce A 32-bit identifier used to distinguish this request. 5.4. AMT Membership Query An AMT Membership Query packet isrelay will be sentfromto each gateway which has requested them. All multicast packets (data and control) are encapsulated in unicast packets. To work across NAT's, therelay back toencapsulation is done over UDP using theoriginator to solicit anIANA reserved AMTMembership Update while confirmingport number. Each relay, plus thesourceset of all gateways using theoriginal request. It containsrelay, together are thought of as being on arelay Message Authentication Code (MAC)separate logical NBMA link. This implies that the AMT recipient- list is acryptographic hashlist ofa private secret, the originators"link layer" addresses which are (IP address,andUDP port) pairs. Since therequest nonce. Itnumber 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 issent from the destination address received in the Requestrequired for gateways tothe source address received in the Request.communicate group membership information to a relay. TheUDP source port istwo most likely candidates are theIANA reserved AMT port numberIGMP/MLD [RFC3376] [RFC3810] protocol, and theUDP destination port is the source port receivedPIM-Sparse Mode [I-D.ietf-pim-sm-v2-new] protocol. Since an AMT gateway may be a host, and hosts typically do not implement routing protocols, gateways will use IGMP/MLD as described inthe Request 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 4Section 56 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=0x4 | Reserved | Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Response MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: Type The type ofbelow. This allows a host kernel (or a pseudo device driver) to easily implement AMT gateway behavior, and obviates themessage. Reserved An 8-bit reserved field. Sent as 0, ignored on receipt. Response MAC A 48-bit hash generated byrelay from therespondent and sentneed to know whether a given gateway is a host or a router. From theoriginator for inclusion in therelay's perspective, all gateways are indistinguishable from hosts on an NBMA leaf network. 4.1.1 Scalability Considerations It is possible that millions of hosts will enable AMTMembership Update. The algorithm used for thisgateway functionality and so an important design goal ischosen bynot to create gateway state in each relay until therespondent. One algorithmgateway joins a multicast group. But even the requirement thatcoulda relay keep group state per gateway that has joined a group introduces potential scalability concerns. Scalability of AMT can beusedachieved by adding more relays, and using an appropriate relay discovery mechanism for gateways to discover relays. The solution we adopt isHMAC-MD5-48 [HMAC]. Request Nonce A 32-bit identifier usedtodistinguish this request echoed backassign an anycast address to relays. However, simply sending periodic membership reports to theoriginator. 5.5. AMT Membership Update An AMT Membership Update is sent fromanycast address can cause duplicates. Specifically, if routing changes such that a different relay receives a periodic membership report, both theoriginatornew and old relays will encapsulate data to therespondent containingAMT site until theoriginal IGMP/MLD Membership/Listener Report or Leave/Done received overold relay's state times out. This is obviously undesirable. Instead, we use theAMT pseudo-interface. It echoesanycast address merely to find the unicast address of a relay to which membership reports are sent. Since adding another relay has theResponse MAC received inresult of adding another independent NBMA link, this allows theAMT Membership Querygateways to be spread out among more relays sothe respondent can verify return routabilityas to keep theoriginator. It is sent fromnumber of gateways per relay at a reasonable level. 4.1.2 Spoofing Considerations An attacker could affect thedestination address receivedgroup state in theQuery torelay or gateway by spoofing the source addressreceivedin theQuery which should bothjoin or leave reports. This can be used to launch reflection or denial of service attacks on thesame as the original Request. The UDP source and destination port numbers shouldtarget. Such attacks can be mitigated by using a three way handshake between thesame ones sent ingateway and theoriginal Request. 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=0x5 | Reserved | Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Response MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |relay for each multicast membership report or leave. When a gateway or relay wants to send a membership report, it first sends an AMT RequestNonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IGMP/MLD Message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: Typewith a request nonce in it. Thetype of the message. Reserved An 8-bit reserved field. Sent as 0, ignoredreceiving side (the respondent) can calculate a message authentication code (MAC) based onreceipt. Response MAC The 48-bit MAC received in(for example) theMembership Querysource IP address of the Request, the source UDP port, the request nonce, andechoed back ina secret key known only to theMembership Update. Request Nonce A 32-bit identifierrespondent. The algorithm and the input used todistinguish this request. 5.6. AMT Multicast Data The AMT Data message is a UDP packet encapsulatingcalculate thedata requested byMAC does not have to be standardized since the respondent generates and verifies the MAC and the originatorbased on a previoussimply echoes it. An AMT MembershipUpdate message. ItQuery is sentfromback including theunicast destination address ofrequest nonce and theMembership updateMAC to thesource addressoriginator of theMembership Update.Request. TheUDP sourceoriginator then sends the IGMP/MLD Membership/Listener Report or Leave/Done along with the request nonce anddestination port numbers should bethesame ones sent inreceived MAC back to theoriginal Query. The payload ofrespondent finalizing theUDP packet contains3-way handshake. Upon reception, 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: Type The type ofrespondent can recalculate themessage. Reserved A 24-bit reserved field. Sent as 0, ignoredMAC based onreceipt.the source IP address, the source UDPMulticast Dataport, the request nonce, and the local secret. Theoriginal Multicast UDP data packet thatIGMP/MLD message isbeing replicated byonly accepted if therelay toreceived MAC matches thegateways. 6. AMT Gateway Details This section detailscalculated MAC. The local secret never has to be shared with thebehaviorother side. It is only used to verify return routability of the originator. 4.2 Sourcing Multicast from an AMTGateway, which may be a router servingsite Two cases are discussed below: multicast traffic sourced in an AMTsite, or thesitemay consist of a single host, serving as its own gateway. 6.1. At Startup Time At startup time,and received in theAMT gateway will bring upMBone, and multicast traffic sourced in an AMTpseudo- interface, to be used for encapsulation. The gateway will then send asite and received in another AMTRelay Discovery message tosite. In both cases only SSM sources are supported. Furthermore this specification only deals with theAMT Relay Anycast Address, and notesource residing directly in theunicast address (which is treated asgateway. To enable alink-layer address to the encapsulation interface) from thegeneric node in an AMTRelay Advertisement message. This discovery should be done periodically (e.g., once a day)site tore-resolvesource multicast, additional coordination between theunicast address of a close relay. Thegatewayalso initializes a timer used to send periodic membership reports to a random value from the interval [0, [Query Interval]] before sendingand thefirst periodic report, in ordersource-node is required. The general mechanism used toprevent startup synchronization (e.g., after a power outage). If the gatewayjoin towards AMT sources isserving as a local router, it SHOULD also function as an IGMP/MLD Proxy, as describedbased on the following: 1. Applications residing in the gateway use addresses in[PROXY], with its IGMP/MLD host-mode interface beingthe AMTpseudo-interface. This enables itSubnet Prefix totranslate group memberships on its downstream interfaces into IGMP/MLD Reports. The gateway MUST also advertise itselfsend multicast, as a result of sourcing traffic on thedefault routeAMT pseudo-interface. 2. The AMT Subnet Prefix is advertised formulticastRPF reachability in the M-RIB(or it must be the default unicast router if unicastby relays andmulticast topologies are congruent). Also, ifgateways. 3. Relays or gateways that receive ashared tree routing protocol is used inside the AMT site, each tree-root must bejoin for agateway, e.g.,source/group pair use information encoded inPIM-SM each RP must be a gateway. Finally,the address pair tosupport sourcing trafficrebuild the address of the gateway (source) toSSM groups bywhich to encapsulate the join (see Section 5 for more details). The membership reports use the same three way handshake as outlined in Section 4.1.2. 4.2.1 Supporting Site-MBone Multicast Internet +---------------+ +---------------+ | AMT Site | 2. 3-way Membership | MBone | | | Handshake | | | +---+---+ <================= +---+---+ 1. Join | | |Gateway| | Relay |<-----+ | | +---+---+ =================> +---+---+ | | | | 3. Receive Data | +-R | +---------------+ +---------------+ If agateway withrelay receives an explicit join from the native infrastructure, for aglobal unicast address,given (source, group) pair where the source address belongs to the AMT SubnetPrefix is treated asPrefix, then the relay will periodically (using the rules specified in Section 4.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 thesubnet prefixsite to all relays from which membership reports have been received. The choice ofthe AMT pseudo-interface,whether this state andan anycast addressreplication isadded ondone at theinterface. This anycast address is formedlink-layer (i.e., byconcatenatingtheAMT Subnet Prefix followed bytunnel interface) or at thehigh bits ofnetwork-layer is implementation dependent. If there are multiple relays present, this ensures that data from thegateway's global unicast address. For example, if IANA assignsAMT site is received via theIPv4 prefix x.y/16 asclosest relay to theAMT Subnet Prefix, andreceiver. This is necessary when thegateway has global unicast address a.b.c.d, thenrouters in theAMT Gateway's Anycast Address will be x.y.a.b. Note that multiple gateways might end up withnative multicast infrastructure employ Reverse-Path Forwarding (RPF) checks against thesame anycast address assigned to their pseudo-interfaces. 6.2. Joining Groups with MBone Sources The IGMP/MLD protocol usually operatessource address, such as occurs when [PIMSM] is used byhavingtheQueriermulticast infrastructure. The solution above will scale to anIGMP/MLD Query message onarbitrary number of relays, as long at thelink. This behavior does not work on NBMA links which donumber of relays requiring multicast traffic from a given AMT site remains reasonable enough to notsupport multicast.overly burden the site's gateway. 4.2.2 Supporting Site-Site Multicast Internet +---------------+ +---------------+ | AMT Site | 2. 3-way Membership | AMT Site | | | Handshake | | | +---+---+ <================= +---+---+ 1. Join | | |Gateway| |Gateway|<-----+ | | +---+---+ =================> +---+---+ | | | | 3. Receive Data | +-R | +---------------+ +---------------+ Sincethe set ofwe require gatewaysis typically unknowntothe relay (and potentially quite large), unicasting the queriesaccept membership reports, as described above, it is alsoimpractical. The following behavior is used instead. Applications residing inpossible to support multicast among AMT sites, without requiring assistance from any relays. When a gatewayshould join groups on the AMT pseudo-interface, causing IGMP/MLD Membership/Listener Reportswants tobe sent over that interface. When UDP encapsulating the membership reports (and in fact any other messages, unless specified otherwise in this document),join a given (source, group) pair, where thedestinationsource addressinbelongs to theouter IP header isAMT Subnet Prefix, then therelay'sgateway will periodically unicastaddress. Robustness is provided byencapsulate an IGMPv3/MLDv2 [RFC3376] [RFC3810] Report directly to theunderlying IGMP/MLD protocol messages sent onsite gateway for theAMT pseudo- interface. Insource. We note that this can result in a significant amount of state at a site gateway sourcing multicast to a large number of otherwords,AMT sites. However, it is expected that this is not unreasonable for two reasons. First, the gateway does notneed to retransmit IGMP/MLD Membership/Listener Reportshave native multicast connectivity, andLeave/Done messages received onas a result is likely doing unicast replication at present. The amount of state is thus thepseudo-interface since IGMP/MLD willsame as what such a site alreadydo this. The gateway simply needs to encapsulate each IGMP/MLD Membership/Listener Report and Leave/Done message it receives. However, since periodic IGMP/MLD Membership/Listener Reports are sent in responsedeals with. Secondly, any site expecting toIGMP/MLD Queries, some mechanismsource traffic totrigger periodic Membership/Listener Reportsa large number of sites could get a point-to-point tunnel to the native multicast infrastructure, andLeave/Done messages are necessary. This can be achieved in any implementation-specific manner. Some possibilities include: 1.use that instead of AMT. 5. Message Formats 5.1 AMT Relay Discovery The AMTpseudo-interface might periodically manufacture IGMPv3/MLDv2 Queries as if they had been receivedRelay Discovery message is a UDP packet sent froman IGMP/MLD Querier, and deliver them to the IP layer, after which normal IGMP/MLD behavior will causetheappropriate reportsAMT gateway unicast address tobe sent. 2. The IGMP/MLD module itself might provide an optionthe AMT relay anycast address tooperate in periodic mode on specific interfaces. Ifdiscover thegatewayunicast address of an AMT relay. The UDP source port isbehind a firewall device,uniquely selected by thefirewall may requirelocal host operating system. The UDP destination port is thegateway to periodically refreshIANA reserved AMT port number. The payload of the UDPstate inpacket contains thefirewall at a shorter interval thanfollowing 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: 5.1.1 Type The type of thestandard IGMP/MLD Query interval. Therefore, this IGMP/MLD Query interval should be configurable to ensuremessage. 5.1.2 Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. 5.1.3 Discovery Nonce A 32-bit random value generated by thefirewall does not revert to blockinggateway and replayed by theUDP encapsulated multicast data packets. 6.3. Responding torelay. 5.2 AMT RelayChanges When a gateway determines that its current relayAdvertisement The AMT Relay Advertisement message isunreachable (e.g., upon receipt ofaICMP Unreachable message [ICMP] forUDP packet sent from therelay's unicast address), it may need to repeatAMT relay anycast addressdiscovery. However, care should be taken not to abandon the current relay too quickly due to transient network conditions. Some implementations may find it difficult to send a discovery packetto theanycast relay address whilesource of thegateway has an address configured ondiscovery message. The UDP source port is the IANA reserved AMTpseudo-interface onport number and thesame anycast prefix. Therefore, it may be necessary to tear downUDP destination port is theAMT pseudo-interface to rediscover a new relay. 6.4. Creating SSM groups When a gateway wants to create an SSM group (i.e., in 232/8) for which it cansourcetraffic,port received in theremaining 24 bits MUST be generated as described below. ([SSM] states that "the policy for allocating these bits is strictly locally determined atDiscovery message. 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=0x2 | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discovery Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Relay Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: 5.2.1 Type The type of thesender's host.") Whenmessage. 5.2.2 Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. 5.2.3 Discovery Nonce A 32-bit random value generated by the gatewaydetermined its AMT Gateway Anycast Address as described above, it usedand replayed by thehigh bits of its global unicast address.relay. 5.2.4 Relay Address Theremaining bits of its globalunicast IPv4 or IPv6 addressare appended toof the232/8 prefix, and any spare bits mayAMT relay. The family can beallocated using any policy (again, strictly locallydeterminedatby thesender's host). For example, iflength of theIPv4Advertisement. 5.3 AMTSubnet PrefixRequest A Request packet isx.y/16, andsent to begin a 3-way handshake for sending an IGMP/MLD Membership/Listener Report or Leave/Done. It can be sent from a gateway to a relay, from a gateway to another gateway, or from a relay to a gateway. It is sent from thedevice has globaloriginator's unique unicast addressa.b.c.d, then it MUST allocate IPv4 SSM groupsto the respondents' unique unicast address. The UDP source port is uniquely selected by the local host operating system. It can be different for each Request and different from the source port used in Discovery messages but does not have to be. The UDP destination port is the IANA reserved AMT port 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=0x3 | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: 5.3.1 Type The type of therange 232.c.d/24. 6.5. Joining SSM Groups withmessage. 5.3.2 Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. 5.3.3 Request Nonce A 32-bit identifier used to distinguish this request. 5.4 AMTSourcesMembership Query AnIGMPv3/MLDv2 Report for a given (source, group) pair MAY be encapsulated directlyAMT Membership Query packet is sent from the relay back to thesource, whenoriginator to solicit an AMT Membership Update while confirming the sourceaddress belongs toof theAMT Subnet Prefix. The "link-layer" address to use asoriginal request. It contains a relay Message Authentication Code (MAC) that is a cryptographic hash of a private secret, the originators address, and the request nonce. It is sent from the destination address received in theouter IP header is obtained as follows. TheRequest to the source address received in theinclusion list ofRequest. The UDP source port is theIGMPv3/MLDv2 report will be anIANA reserved AMTGateway Anycast Address with the high bits of the address,port number and theremaining bits will beUDP destination port is the source port received in themiddleRequest 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=0x4 | Reserved | Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Response MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: 5.4.1 Type The type of thegroup address. For example, if the IPv4 AMT Subnet Prefix is x.y/16,message. 5.4.2 Reserved A 8-bit reserved field. Sent as 0, ignored on receipt. 5.4.3 Response MAC A 48-bit hash generated by the respondent and sent to theIGMPv3 Report isoriginator for(x.y.a.b, 232.c.d.e), theninclusion in the"link layer" IPv4 destination addressAMT Membership Update. The algorithm used forencapsulationthis isa.b.c.d. 6.6. Receiving IGMPv3/MLDv2 Reports atchosen by theGateway When an AMTrespondent. One algorithm that could be used is HMAC-MD5-48 [RFC2104]. 5.4.4 Request Nonce A 32-bit identifier used to distinguish this request echoed back to the originator. 5.5 AMT Membership Update An AMT Membership Update isreceived bysent from thegateway, it followsoriginator to thesame 3-way handshake procedure a relay would follow if itrespondent containing the original IGMP/MLD Membership/Listener Report or Leave/Done received over the AMTRequest.pseudo-interface. Itgenerates aechoes the Response MACand responds with an AMT Membership Query. Whenreceived in the AMT MembershipUpdateQuery so the respondent can verify return routability to the originator. It isreceived, it verifiessent from theMAC and then processesdestination address received in theIGMP/MLD Membership/Listener Report or Leave/Done. AtQuery to thegateway,source address received in theIGMP/MLD packetQuery which should both bean IGMPv3/MLDv2 source specific (S,G) join or leave. If S is nottheAMT Gateway Anycast Address,same as thepacket is dropped. If G does not containoriginal Request. The UDP source and destination port numbers should be thelow bitssame ones sent in the original Request. 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=0x5 | Reserved | Response MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Response MAC (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Nonce | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IGMP/MLD Message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: 5.5.1 Type The type of theglobal unicast address (as described above), the packet is also dropped.message. 5.5.2 Reserved A 8-bit reserved field. Sent as 0, ignored on receipt. 5.5.3 Response MAC Thegateway adds the source address (from48-bit MAC received in theouter IP header)Membership Query andUDP port ofechoed back in thereportMembership Update. 5.5.4 Request Nonce A 32-bit identifier used toa membership list for G. Maintainingdistinguish thismembership list may be done in any implementation-dependent manner. For example, it might be maintained by the "link-layer" inside therequest. 5.6 AMTpseudo-interface, making it invisible to the normal IGMP/MLD module. 6.7. Sending data to SSM groups When multicast packets are sent on theMulticast Data The AMTpseudo-interface, they are encapsulated as follows. If the group address is not an SSM group, then the packetData message isdropped (this memo does not currently provideaway to send to non-SSM groups). If the group address is an SSM group, then theUDP packetis unicast encapsulated to each remote node from which the gateway has received an IGMPv3/MLDv2 report for the packet's (source, group) pair. 7. Relay Router Details 7.1. At Startup time At startup time,encapsulating therelay router will bring up an NBMA-style AMT pseudo-interface. It shall also adddata requested by theAMT Relay Anycast Addressoriginator based onsome interface. The relay router shall then advertise the AMT Relay Anycast Prefix into the unicast-only Internet, as if it wereaconnection to an external network. Whenprevious AMT Membership Update message. It is sent from theadvertisement is done using BGP,unicast destination address of theAS path leadingMembership update to theAMT Relay Anycast Prefix shall include the identifiersource address of thelocal ASMembership Update. The UDP source and destination port numbers should be theAMT Unicast Autonomous System ID.same ones sent in the original Query. Therelay router shall also enable IGMPv3/MLDv2 onpayload of theAMT pseudo- interface, except that it shall not multicast Queries (this might be done, for example, by havingUDP packet contains theAMT pseudo-device drop them, or by havingfollowing 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fields: 5.6.1 Type The type of theIGMP/MLD module not send them inmessage. 5.6.2 Reserved A 24-bit reserved field. Sent as 0, ignored on receipt. 5.6.3 UDP Multicast Data The original Multicast UDP data packet that is being replicated by thefirst place). Finally,relay tosupport sourcing SSM traffic from AMT sites,the gateways. 6. AMTSubnet Prefix is assigned toGateway Details This section details the behavior of an AMTpseudo-interface, and theGateway, which may be a router serving an AMTSubnet Prefix is injected intosite, or theM-RIBsite may consist ofMBGP. 7.2. Receiving Relay Discovery messages sent to the Anycast Address When a relay receivesa single host, serving as its own gateway. 6.1 At Startup Time At startup time, the AMT gateway will bring up an AMT pseudo- interface, to be used for encapsulation. The gateway will then send an AMT Relay Discovery messagedirectedto the AMT Relay Anycast Address,it should respond with a AMT Relay Advertisement containing its unicast address. The sourceanddestination addresses of the advertisement should benote thesameunicast address (which is treated as a link-layer address to thedestination and source addresses of the discovery message respectively. Further, the nonce inencapsulation interface) from the AMT Relay Advertisement message. This discoverymessage MUSTSHOULD becopied intodone periodically (e.g., once a day) to re-resolve theadvertisement message. 7.3. Receiving Membership Updates from AMT Gatewaysunicast address of a close relay. Therelay operates passively, sending no Queries but simply trackinggateway also SHOULD initialize a timer used to send periodic membershipinformation accordingreports toReports and Leave messages, asarouter normally would. In addition,random value from therelay must also do explicit membership tracking, asinterval [0, [Query Interval]] before sending the first periodic report, in order towhich gateways onprevent startup synchronization (e.g., after a power outage). If theAMT pseudo- interface have joined which groups. Oncegateway is serving as a local router, it SHOULD also function as an IGMP/MLD Proxy, as described in [I-D.ietf-magma-igmp-proxy], with its IGMP/MLD host-mode interface being the AMTMembership Update has been successfully received,pseudo-interface. This enables itupdatesto translate group memberships on its downstream interfaces into IGMP/MLD Reports. Hosts receiving multicast packets through a gateway should ensure that their M-RIB accepts multicast packets from theforwarding stategateway for theappropriate group and source (if provided). When data arrives for that group,sources it is joining. Also, if a shared tree routing protocol is used inside thetrafficAMT site, each tree-root must beencapsulated toa gateway, e.g., in PIM-SM each RP must be a gateway. Finally, to support sourcing traffic to SSM groups by a gatewaywhich has joined that group. The explicit membership tracking andwith a global unicastreplication may be done in any implementation-specific manner. Some examples are: 1. The AMT pseudo-device driver might track the group information and performaddress, thereplication atAMT Subnet Prefix is treated as 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. 7.4. Receiving (S,G) Joins fromsubnet prefix of theNative Side, forAMTSources The relay encapsulatespseudo-interface, and anIGMPv3/MLDv2 report toanycast address is added on the interface. This anycast address is formed by concatenating the AMTsource as described above in Section 4.1.2. 8. IANA Considerations TheSubnet Prefix followed by the high bits of the gateway's global unicast address. For example, if IANAshould allocate aassigns the IPv4 prefixdedicated tox.y/16 as thepublicAMTRelays toSubnet Prefix, and thenative multicast backbone. The prefix length shouldgateway has global unicast address a.b.c.d, then the AMT Gateway's Anycast Address will bedeterminedx.y.a.b. Note that multiple gateways might end up with the same anycast address assigned to their pseudo-interfaces. 6.2 Joining Groups with MBone Sources The IGMP/MLD protocol usually operates by having theIANA;Querier multicast an IGMP/MLD Query message on theprefix should be large enough to guarantee advertisement inlink. This behavior does not work on NBMA links which do not support multicast. Since thedefault- free BGP networks; a lengthset of16 will meet this requirement. Thisgateways isa one time effort; theretypically unknown to the relay (and potentially quite large), unicasting the queries isno need for any recurring assignment after this stage. The IANA shouldalsoallocate an Autonomous System ID which can beimpractical. The following behavior is usedasinstead. Applications residing in apseudo-AS when advertising routes to the above prefix. Furthermore, to support sourcing SSM traffic from AMT gateways, the IANAgateway shouldallocate a subnet prefix dedicated tojoin groups on the AMTlink. The prefix length shouldpseudo-interface, causing IGMP/MLD Membership/Listener Reports to bedetermined bysent over that interface. When UDP encapsulating theIANA;membership reports (and in fact any other messages, unless specified otherwise in this document), theprefix should be large enough to guarantee advertisementdestination address in thedefault- free BGP networks; a length of 16 will meet this requirement. This is a one time effort; thereouter IP header isno need for any recurring assignment after this stage. It should also be noted that this prefix length directly affectsthenumber of groups available to be createdrelay's unicast address. Robustness is provided by the underlying IGMP/MLD protocol messages sent on the AMTgateway: a length of 16 gives 256 groups, and a length of 8 gives 65536 groups. For diagnostic purposes, it is helpful to have a prefix length which is a multiple of 8, although this ispseudo- interface. In other words, the gateway does notrequired. An autonomous system number dedicatedneed toa pseudo-AS for multicast isretransmit IGMP/MLD Membership/Listener Reports and Leave/Done messages received on the pseudo-interface since IGMP/MLD will alreadyin use today (AS 10888),do this. The gateway simply needs to encapsulate each IGMP/MLD Membership/Listener Report andsoLeave/Done message itis expected that no additional AS number is required for this prefix. IANA has allocated UDP reserved port number 2268 for AMT encapsulation. 9. Security Considerations The anycast technique introduces a risk that a rogue router or a rogue AS could introduce a bogus routereceives. However, since periodic IGMP/MLD Membership/Listener Reports are sent in response totheIGMP/MLD Queries, some mechanism to trigger periodic Membership/Listener Reports and Leave/Done messages are necessary. This can be achieved in any implementation-specific manner. Some possibilities include: 1. The AMTRelay Anycast Prefix,pseudo-interface might periodically manufacture IGMPv3/ MLDv2 Queries as if they had been received from an IGMP/MLD Querier, andthus divert the traffic. Network managers havedeliver them toguaranteetheintegrity of their routing toIP layer, after which normal IGMP/MLD behavior will cause theAMT Relay anycast prefixappropriate reports to be sent. 2. The IGMP/MLD module itself might provide an option to operate inmuch the same way that they guarantee the integrity of all other routes. Withinperiodic mode on specific interfaces. If thenative MBGP infrastructure, theregateway is behind arisk that a rogue router or a rogue AS could introduce a bogus route tofirewall device, theAMT Subnet Prefix, and thus divert joins and cause RPF failures of multicast traffic. Again, network managers havefirewall may require the gateway toguaranteeperiodically refresh theintegrity ofUDP state in theMBGP routingfirewall at a shorter interval than the standard IGMP/MLD Query interval. Therefore, this IGMP/MLD Query interval should be configurable to ensure theAMT subnet prefix in muchfirewall does not revert to blocking thesame wayUDP encapsulated multicast data packets. 6.3 Responding to Relay Changes When a gateway determines thatthey guarantee the integrityits current relay is unreachable (e.g., upon receipt ofall other routes inan ICMP Unreachable message [RFC0792] for theM-RIB. Gateways and relays will accept and decapsulate multicast traffic from any source from which regularrelay's unicasttraffic is accepted. If this is for any reason feltaddress), 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. 6.4 Creating SSM groups When asecurity risk, then additionalgateway wants to create an SSM group (i.e., in 232/8) for which it can sourceaddress based packet filteringtraffic, the remaining 24 bits MUST beapplied: 1. To prevent a rogue sender (that can't do traditional spoofing becausegenerated as described below. ([SSM] states that "the policy for allocating these bits is strictly locally determined at the sender's host.") When the gateway determined its AMT Gateway Anycast Address as described above, it used the high bits ofe.g. access lists deployed byitsISP) from making useglobal unicast address. The remaining bits ofAMT to send packetsits global unicast address are appended toanthe 232/8 prefix, and any spare bits may be allocated using any policy (again, strictly locally determined at the sender's host). For example, if the IPv4 AMT Subnet Prefix is x.y/16, and the device has global unicast address a.b.c.d, then it MUST allocate IPv4 SSM groups in the range 232.c.d/24. 6.5 Joining SSMtree,Groups with AMT Sources An IGMPv3/MLDv2 Report for arelay that receives angiven (source, group) pair MAY be encapsulatedmulticast packet MUST discarddirectly to themulticast packet ifsource, when theIPv4source address belongs to the AMT Subnet Prefix. The "link-layer" address to use as the destination address in the outer IP header isnot composed of the last 2 bytes of theobtained as follows. The source addressand the 2 middle bytes ofin thedestination addressinclusion list of theinner header (i.e., a.b.c.d mustIGMPv3/MLDv2 report will becomposed ofan AMT Gateway Anycast Address with thea.bhigh bits ofx.y.a.bthe address, and thec.dremaining bits will be in the middle of232.c.d.e). 2. A gateway MUST discard encapsulated multicast packetsthe group address. For example, if thesource address inIPv4 AMT Subnet Prefix is x.y/16, and theouter headerIGMPv3 Report isnotfor (x.y.a.b, 232.c.d.e), then the "link layer" IPv4 destination addressto whichused for encapsulation is a.b.c.d. 6.6 Receiving IGMPv3/MLDv2 Reports at theencapsulated join message was sent. An AMTGatewaythat receivesWhen anencapsulated IGMPv3/MLDv2 (S,G)-Join MUST discardAMT Request is received by themessagegateway, it follows the same 3-way handshake procedure a relay would follow if it received theIPv4 destination address inAMT Request. It generates a MAC and responds with an AMT Membership Query. When theouter headerAMT Membership Update is received, it verifies the MAC and then processes the IGMP/MLD Membership/Listener Report or Leave/Done. At the gateway, the IGMP/MLD packet should be an IGMPv3/MLDv2 source specific (S,G) join or leave. If S is not the AMT Gateway Anycast Address, the packet is silently discarded. If G does notcomposed of the last 2 bytes of S andcontain the2 middle byteslow bits ofG (i.e.thedestinationglobal unicast addressa.b.c.d must be composed of(as described above), thea.b ofpacket is also silently discarded. The gateway adds themulticastsourcex.y.a.b andaddress (from thec.douter IP header) and UDP port of themulticast group 232.c.d.e). 10. Contributors The following people provided significant contributionsreport toearlier versions ofa membership list for G. Maintaining thisdraft. Dirk Ooms OneSparrow Belegstraat 13; 2018 Antwerp; Belgium EMail: dirk@onesparrow.com 11. Acknowledgments Most of the mechanisms describedmembership list may be done inthis documentany implementation-dependent manner. For example, it might be maintained by the "link-layer" inside the AMT pseudo-interface, making it invisible to the normal IGMP/MLD module. 6.7 Sending data to SSM groups When multicast packets arebasedsent onsimilar work done bytheNGTrans WG for obtaining automatic IPv6 connectivity without explicit tunnels ("6to4"). Tony Ballardie provided helpful discussion that inspired this document. 12. Normative References [ICMP] Postel, J., "Internet Control Message Protocol", RFC 792, September 1981. [IGMPv3] Cain, B., Deering, S., Fenner, B., Kouvelas, I., Thyagarajan A., "Internet Group Management Protocol, Version 3", RFC 3376, October 2002. [MLDv2] Vida, R., Costa, L., "Multicast Listener Discovery Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. [PROXY] Fenner, W., He, H., Haberman, B., Sandick, H., "IGMP/MLD- based Multicast Forwarding ("IGMP/MLD Proxying")", Work in progress, draft-ietf-magma-igmp-proxy-06.txt, April 2004. [SSM] Holbrook, H., Cain, B., "Source-Specific Multicast for IP", Work in Progress, draft-ietf-ssm-arch-06.txt, September 2004. 13. Informative References [ANYCAST] Huitema, C., "An Anycast PrefixAMT pseudo-interface, they are encapsulated as follows. If the group address is not an SSM group, then the packet is silently discarded (this memo does not currently provide a way to send to non-SSM groups). If the group address is an SSM group, then the packet is unicast encapsulated to each remote node from which the gateway has received an IGMPv3/MLDv2 report for6to4the packet's (source, group) pair. 7. RelayRouters", RFC 3068, June 2001. [6TO4] Carpenter, B., Moore, K., "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001. [Brad88] Braden, R., Borman, D., Partridge, C., "ComputingRouter Details 7.1 At Startup time At startup time, theInternet Checksum", RFC 1071, September 1988. [BROKER] Durand, A., Fasano, P., Guardini, I., Lento, D., "IPv6 Tunnel Broker", RFC 3053, January 2001. [HMAC] Krawczyk, H., Bellare, M., Canetti, R., "HMAC: Keyed- Hashing for Message Authentication", RFC 2104, February 1997. [PIMSM] Estrin, D. Farinacci, D., Helmy, A., Thaler, D., Deering, S., Handley, M., Jacobson, V., Liu, C., Sharma, P., Wei, L., "Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification", RFC 2362, June 1998. 14. Author'srelay router will bring up an NBMA-style AMT pseudo-interface. It shall also add the AMT Relay Anycast AddressDave Thaler Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 Phone: +1 425 703 8835 EMail: dthaler@microsoft.com Mohit Talwar Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 Phone: +1 425 705 3131 EMail: mohitt@microsoft.com Amit Aggarwal Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 Phone: +1 425 706 0593 EMail: amitag@microsoft.com Lorenzo Vicisano Cisco Systems 170 West Tasman Dr. San Jose, CA 95134 Phone: +1 408 525 2530 EMail: lorenzo@cisco.com Tom Pusateri Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA Phone: +1 408 745 2000 EMail: pusateri@juniper.net 15. Intellectual Property Rights Noticeon some interface. TheIETF takes no position regardingrelay 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 thevalidity or scopeadvertisement is done using BGP, the AS path leading to the AMT Relay Anycast Prefix shall include the identifier ofany Intellectual Property Rights or other rightsthe local AS and the AMT Unicast Autonomous System ID. The relay router shall also enable IGMPv3/MLDv2 on the AMT pseudo- interface, except that it shall not multicast Queries (this might beclaimed to pertain todone, for example, by having theimplementationAMT pseudo-device drop them, oruse ofby having thetechnology describedIGMP/MLD module not send them inthis document ortheextent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effortfirst place). Finally, toidentify any such rights. Information onsupport sourcing SSM traffic from AMT sites, theprocedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures madeAMT Subnet Prefix is assigned to theIETF SecretariatAMT pseudo-interface, andany assurances of licenses to be made available, ortheresult of an attempt made to obtain a general license or permission forAMT Subnet Prefix is injected into theuse of such proprietary rights by implementers or usersM-RIB ofthis specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be requiredMBGP. 7.2 Receiving Relay Discovery messages sent toimplement this standard. Please addresstheinformationAnycast Address When a relay receives an AMT Relay Discovery message directed to theIETF at ietf- ipr@ietf.org." 16. Full Copyright Statement Copyright (C)AMT Relay Anycast Address, it should respond with an AMT Relay Advertisement containing its unicast address. TheInternet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78,source andexceptdestination addresses of the advertisement should be the same asset forth therein,theauthors retain all their rights. 17. Disclaimer This documentdestination and source addresses of the discovery message respectively. Further, the nonce in the discovery message MUST be copied into the advertisement message. 7.3 Receiving Membership Updates from AMT Gateways The relay operates passively, sending no Queries but simply tracking membership informationcontained herein are providedaccording to Reports and Leave messages, as a router normally would. 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"AS IS" basisAMT Membership Update has been successfully received, it updates the forwarding state for the appropriate group andTHE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." Table of Contentssource (if provided). When data arrives for that group, the traffic must be encapsulated to each gateway which has joined that group. The explicit membership tracking and unicast replication may be done in any implementation-specific manner. Some examples are: 1.Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2The 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.Requirements Terminology . . . . . . . . . . . . . . . . . . . 3 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1.The IGMP/MLD module might have native support for explicit membership tracking, especially if it supports other NBMA-style interfaces. 7.4 ReceivingMulticast(S,G) Joins from the Native Side, for AMT Sources The relay encapsulates an IGMPv3/MLDv2 report to the AMT source as described above in Section 4.1.2. 8. IANA Considerations The IANA should allocate an IPv4 prefix and an IPv6 prefix dedicated to the public AMTSite . . . . . . . . . . . . . 5 4.2. Sourcing Multicast fromRelays to advertise to the native multicast backbone. The prefix length should be determined by the IANA; the prefix should be large enough to guarantee advertisement in the default-free BGP networks. For IPv4, a prefix length of 16 will meet this requirement. For IPv6, a prefix length of 64 will meet this requirement. This is a one time effort and there will be no need for any recurring assignment after this stage. The IANA should also allocate an Autonomous System ID which can be used as a pseudo-AS when advertising routes to the above prefix. It should also be noted that this prefix length directly affects the number of groups available to be created by the AMTsite . . . . . . . . . . . . 7 5. Message Formats . . . . . . . . . . . . . . . . . . . . . . . 10 5.1.gateway: a length of 16 gives 256 groups, and a length of 8 gives 65536 groups. For diagnostic purposes, it is helpful to have a prefix length which is a multiple of 8, although this is not required. IANA has allocated UDP reserved port number 2268 for AMTRelay Discovery . . . . . . . . . . . . . . . . . . . . 10 5.2.encapsulation. 9. Security Considerations The anycast technique introduces a risk that a rogue router or a rogue AS could introduce a bogus route to the AMT RelayAdvertisement . . . . . . . . . . . . . . . . . . 10 5.3. AMT Request . . . . . . . . . . . . . . . . . . . . . . . . 11 5.4.Anycast Prefix, and thus divert the traffic. Network managers have to guarantee the integrity of their routing to the AMTMembership Query . . . . . . . . . . . . . . . . . . . . 12 5.5.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 AMTMembership Update . . . . . . . . . . . . . . . . . . . 13 5.6.Subnet Prefix, and thus divert joins and cause RPF failures of multicast traffic. As the AMTMulticast Data . . . . . . . . . . . . . . . . . . . . . 14 6.Subnet 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 AMTGateway Details . . . . . . . . . . . . . . . . . . . . . 15 6.1. At Startup Time . . . . . . . . . . . . . . . . . . . . . . 15 6.2. Joining Groups with MBone Sources . . . . . . . . . . . . . 15 6.3. RespondingSubnet Prefix. Gateways and relays will accept and decapsulate multicast traffic from any source from which regular unicast traffic is accepted. If this is for any reason felt toRelay Changes . . . . . . . . . . . . . . . . 16 6.4. Creating SSM groups . . . . . . . . . . . . . . . . . . . . 17 6.5. Joining SSM Groups withbe a security risk, then additional source address based packet filtering MUST be applied: 1. To prevent a rogue sender (that can't do traditional spoofing because of e.g. access lists deployed by its ISP) from making use of AMTSources . . . . . . . . . . . . 17 6.6. Receiving IGMPv3/MLDv2 Reports at the Gateway . . . . . . . 17 6.7. Sending datato send packets to an SSMgroups . . . . . . . . . . . . . . . . . 18 7. Relay Router Details . . . . . . . . . . . . . . . . . . . . . 18 7.1. At Startup time . . . . . . . . . . . . . . . . . . . . . . 18 7.2. Receiving Relay Discovery messages senttree, a relay that receives an encapsulated multicast packet MUST discard the multicast packet if the IPv4 source address in the outer header is not composed of the last 2 bytes of the source address and the 2 middle bytes of the destination address of the inner header (i.e., a.b.c.d must be composed of the a.b of x.y.a.b and the c.d of 232.c.d.e). 2. A gateway MUST discard encapsulated multicast packets if the source address in the outer header is not the address to which theAnycast Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.3. Receiving Membership Updates fromencapsulated join message was sent. An AMTGateways . . . . . . . 19 7.4. Receiving (S,G) Joins fromGateway that receives an encapsulated IGMPv3/MLDv2 (S,G)-Join MUST discard theNative Side, for AMT Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21message if the IPv4 destination address in the outer header is not composed of the last 2 bytes of S and the 2 middle bytes of G (i.e. the destination address a.b.c.d must be composed of the a.b of the multicast source x.y.a.b and the c.d of the multicast group 232.c.d.e). 10. Contributors The following people provided significant contributions to earlier versions of this draft. Dirk Ooms OneSparrow Belegstraat 13; 2018 Antwerp; Belgium EMail: dirk@onesparrow.com 11. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . 21Most 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. 12. References 12.1 Normative References. . . . . . . . . . . . . . . . . . . . 21 13.[I-D.ietf-magma-igmp-proxy] Fenner, B., He, H., Haberman, B., and H. Sandick, "IGMP/ MLD-based Multicast Forwarding ('IGMP/MLD Proxying')", draft-ietf-magma-igmp-proxy-06 (work in progress), April 2004. [I-D.ietf-ssm-arch] Holbrook, H. and B. Cain, "Source-Specific Multicast for IP", draft-ietf-ssm-arch-07 (work in progress), October 2005. [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. 12.2 Informative References. . . . . . . . . . . . . . . . . . . 22 14. Author's Address . . . . . . . . . . . . . . . . . . . . . . 22 15.[I-D.ietf-pim-sm-v2-new] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, "Protocol Independent Multicast - Sparse Mode PIM-SM): Protocol Specification (Revised)", draft-ietf-pim-sm-v2-new-11 (work in progress), October 2004. [RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, RFC 1112, August 1989. [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. 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 Cisco Systems 170 West Tasman Dr. San Jose, CA 95134 USA Phone: +1 408 525 2530 Email: lorenzo@cisco.com Tom Pusateri Juniper Networks 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA Phone: +1 408 745 2000 Email: pusateri@juniper.net Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property RightsNotice . . . . . . . . . . . . . 23 16. Fullor other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement. . . . . . . . . . . . . . . . . . 24 17. Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . 24Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.