Network Working Group F. Templin, Ed. Internet-Draft Boeing Research & Technology Intended status: Informational August 18, 2016 Expires: February 19, 2017 IPv6 Prefix Delegation for Hosts draft-templin-v6ops-pdhost-04.txt Abstract IPv6 prefixes are typically delegated to requesting routers which then use them to number their downstream-attached links and networks. The requesting router then acts as a router between the downstream- attached hosts and the upstream Internetwork, and can also act as a host under the weak end system model. This document considers the case when the "requesting router" is actually a simple host which receives a delegated prefix that it can use solely for its own internal multi-addressing purposes under the strong end system model. This method can be applied in a wide variety of use cases to allow ample address availability without impacting link performance. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on February 19, 2017. Copyright Notice Copyright (c) 2016 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 Templin Expires February 19, 2017 [Page 1] Internet-Draft Prefix Delegation for Hosts August 2016 carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Multi-Addressing Considerations . . . . . . . . . . . . . . . 5 4. Multi-Addressing Alternatives for Delegated Prefixes . . . . 5 5. MLD/DAD Implications . . . . . . . . . . . . . . . . . . . . 6 6. IPv6 Neighbor Discovery Implications . . . . . . . . . . . . 7 7. "Mixed Mode" Implications . . . . . . . . . . . . . . . . . . 7 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 11.1. Normative References . . . . . . . . . . . . . . . . . . 8 11.2. Informative References . . . . . . . . . . . . . . . . . 9 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction IPv6 Prefix Delegation (PD) entails 1) the communication of a prefix from a delegating authority to a requesting node, 2) a representation of the prefix in the routing system, and 3) a control messaging service to maintain delegated prefix lifetimes. Following delegation, the prefix is available for the requesting node's exclusive use and is not shared with any other nodes. An example IPv6 PD service is DHCPv6 PD [RFC3315][RFC3633]. Using services such as DHCPv6 PD, a Delegating Router 'D' delegates a prefix 'P' to a Requesting Node 'R'' as shown in Figure 1: Templin Expires February 19, 2017 [Page 2] Internet-Draft Prefix Delegation for Hosts August 2016 +---------------------+ |Delegating Router 'D'| | (Delegate 'P') | +----------+----------+ | .-(::::::::) .-(:::: IP ::::)-. (:: Internetwork ::) `-(::::::::::::)-' `-(::::::)-' | WAN Interface +----------+----------+ | (Receive 'P') | | Requesting Node 'R'| +----------+----------+ | LAN Interface X----+-------------+--------+----+---------------+---X | | LAN | | +---++-+--+ +---++-+--+ +---++-+--+ +---++-+--+ | |A1| | | |A2| | | |A3| | | |An| | | +--+ | | +--+ | | +--+ | | +--+ | | Host H1 | | Host H2 | | Host H3 | ... | Host Hn | +---------+ +---------+ +---------+ +---------+ Figure 1: Prefix Delegation Model In this figure, when Delegating Router 'D' delegates prefix 'P', the prefix is injected into the routing system in some fashion to ensure that IPv6 packets with destination addresses covered by 'P' are unconditionally forwarded to Requesting Node 'R'. Meanwhile, 'R' receives 'P' via its "WAN" interface and sub-delegates 'P' to its downstream-attached links via one or more "LAN" interfaces. Hosts 'Hn' on a LAN interface subsequently receive addresses 'An' taken from 'P' via an address autoconfiguration service such as IPv6 Stateless Address Autoconfiguration (SLAAC) [RFC4862]. 'R' then acts as a router between hosts 'Hn' and correspondents reachable via the WAN interface. 'R' can also (or instead) act as a host under the weak end system model [RFC1122] if it can assign addresses taken from 'P' to its own internal virtual interfaces (e.g., a loopback). This document considers the case when 'R' is actually a simple host, and receives a prefix delegation 'P' as if it were a router. The host need not have any LAN interfaces, and can use the prefix solely for its own internal addressing purposes. This could include assigning IPv6 adddresses taken from prefix 'P' to the WAN interface and then functioning as a host under the strong end system model [RFC1122] as shown in Figure 2: Templin Expires February 19, 2017 [Page 3] Internet-Draft Prefix Delegation for Hosts August 2016 +---------------------+ |Delegating Router 'D'| | (Delegate 'P') | +----------+----------+ | .-(::::::::) .-(:::: IP ::::)-. (:: Internetwork ::) `-(::::::::::::)-' `-(::::::)-' | WAN Interface +--+-+--+-++-+-----+--+ |A1| |A2| |A3| ... |An| +--+ +--+ +--+ +--+ | (Receive 'P') | | Requesting Node 'R' | +---------------------+ Figure 2: Strong End System Model In the above diagram, Requesting Node 'R' receives prefix 'P' from Delegating Router 'D' the same as described above. However, when 'R' receives 'P' it assigns addresses 'An' taken from 'P' to the WAN interface instead of sub-delegating 'P' to downstream attached LAN interfaces. The major benefit for a host managing a delegated prefix in this fashion is multi-addressing. With multi-addressing, the host can assign an unlimited supply of addresses to make them available for local applicaitons without requiring coordination with any other nodes. This approach is applicable to a wide variety of use cases. For example, it can be used to coordinate the Virtual Private Network (VPN) interfaces of mobile devices (e.g., cellphones, tablets, laptop computers, etc.) that connect into a home enterprise network via public access networks. In that case, the mobile device can assign addresses taken from prefix 'P' to the VPN interface so that applications would work the same as for a simple host connected to a LAN. The approach can also be applied to aviation applications for both manned and unmanned aircraft where the aircraft is treated as a mobile host that needs to maintain stable IPv6 addresses even as it hands off between available aviation data links across various phases of flight. The approach further applies to any prefix delegation use case where the prefix recipient wishes to act as a simple host, for example a cellular service customer device that receives a prefix delegation from their service provider. The following sections present multi-addressing considerations for hosts that employ prefix delegation mechanisms. Templin Expires February 19, 2017 [Page 4] Internet-Draft Prefix Delegation for Hosts August 2016 2. Terminology The terminology of the normative references apply. The following terms are defined for the purposes of this document: shared prefix an IPv6 prefix that may be advertised to more than one node on the same link, e.g., in a Prefix Information Option (PIO) included in a Router Advertisement (RA) message [RFC4861]. The shared prefix property applies not only on multi-access links (e.g., Ethernet), but also on point-to-point links where the shared prefix is visible to both ends of the link. delegated prefix a prefix that is delegated to a requesting node solely for its own use, and is not delegated to any other nodes on the link. 3. Multi-Addressing Considerations IPv6 allows nodes to assign multiple addresses to a single interface. [I-D.ietf-v6ops-host-addr-availability] discusses options for multi- addressing as well as use cases where multi-addressing may be desirable. Address configuration options for multi-addressing include SLAAC [RFC4862], stateful DHCPv6 address configuration [RFC3315] and any other address formation methods (e.g., manual configuration). Nodes that use SLAAC and DHCPv6 address configuration configure addresses from a shared prefix and assign them to the link over which the prefix was received. When this happens, the node is obliged to use Multicast Listener Discovery (MLD) to join the appropriate solicited-node multicast group(s) and to use the Duplicate Address Detection (DAD) algorithm [RFC4862] to ensure that no other node that receives the shared prefix configures a duplicate address. In contrast, a node that uses address configuration from a delegated prefix can assign addresses to the interface over which the prefix is received without invoking MLD/DAD, since the prefix has been delegated to the node for its own exclusive use and is not shared with any other nodes. 4. Multi-Addressing Alternatives for Delegated Prefixes When a node receives a prefix delegation, it has many alternatives for the way in which it can provision the prefix. [RFC7278] discusses alternatives for provisioning a prefix obtained by a User Equipment (UE) device under the 3rd Generation Partnership Program (3GPP) service model. This document considers the more general case Templin Expires February 19, 2017 [Page 5] Internet-Draft Prefix Delegation for Hosts August 2016 when the node receives a prefix delegation in which the prefix is delegated for the exclusive use of the prefix recipient. When the node receives the prefix (e.g., a /64), it can sub-delegate the prefix to its LAN interfaces and configure one or more addresses for itself on a LAN interface. The node also configures a default route that points to a router on the WAN link. The node can then act as both a host for its own applications accodring to the weak end system model and a router for any downstream-attached hosts. This approach is often known as the "tethered" configuration. When the node does not have any LAN interfaces, it may still wish to obtain a prefix for multi-addressing purposes. In a first alternative, the node can receive the prefix acting as a requesting node over the WAN interface but then assign the prefix to an internal virtual interface (e.g., a loopback interface) and assign one or more addresses taken from the prefix to the virtual interface. In that case, applications on the node can use the assigned addresses according to the weak end system model. In a second alternative, the node can receive the prefix as a requesting node over the WAN interface but then assign one or more addresses taken from the prefix to the WAN interface. In that case, applications on the node can use the assigned addresses according to the strong end system model as shown in Figure 2. In both of these latter two cases, the node acts as a host internally even though it behaves as a router from the standpoint of prefix delegation and neighbor discovery over the WAN interface. The host can configure as many addresses for itself as it wants. 5. MLD/DAD Implications When a node configures addresses for itself using either SLAAC or DHCPv6 from a shared prefix, the node performs MLD/DAD by sending multicast messages to test whether there is another node on the link that configures a duplicate address from the shared prefix. When there are many such addresses and/or many such nodes, this could result in substantial multicast traffic that affects all nodes on the link. When a node configures addresses for itself using a delegated prefix, the node can configure as many addresses as it wants but does not perform MLD/DAD for any of the addresses over the WAN interface. This means that arbitrarily many addresses can be assigned without causing any multicast messaging over the WAN link that could disturb other nodes. Note however that nodes that assign addresses directly Templin Expires February 19, 2017 [Page 6] Internet-Draft Prefix Delegation for Hosts August 2016 to the WAN interface must be capable of disabling MLD/DAD on the WAN interface, i.e., by setting DupAddrDetectTransmits to zero [RFC4862]. 6. IPv6 Neighbor Discovery Implications The node acts as a simple host to send Router Solicitation messages over the WAN interface the same as described in Section 4.2 of [RFC7084]. In order to maintain the appearance of a router (i.e., even though it is acting as a simple host), the node sets the "Router" flag to TRUE in any Neighbor Advertisement messages it sends. This ensures that the "isRouter" flag in the neighbor cache entries of any neighbors remains TRUE. The node initially has only a default route pointing to a router on the WAN link. This means that packets sent over the node's WAN interface will initially go through a default router even if there is a better first-hop node on the link. In that case,a Redirect message can update the node's neighbor cache, and future packets can take the more direct route without disturbing the default router. The Redirect can apply either to a singleton destination address, or to an entire destination prefix as described in AERO [I-D.templin-aerolink]. 7. "Mixed Mode" Implications In some instances, a node may receive both delegated and shared prefixes. In that case, the node could avoid MLD/DAD for addresses configured from the delegated prefixes and employ MLD/DAD for addresses configured from he shared prefixes. Note however that since DupAddrDetectTransmits applies on a per-interface (and not a per-prefix) basis any such considerations are out of scope since this document does not update any standards-track specifications. 8. IANA Considerations This document introduces no IANA considerations. 9. Security Considerations Security considerations are the same as specified for DHCPv6 Prefix Delegation in [RFC3633]. Templin Expires February 19, 2017 [Page 7] Internet-Draft Prefix Delegation for Hosts August 2016 10. Acknowledgements This work was motivated by recent discussions on the v6ops list. Mark Smith pointed out the need to consider MLD as well as DAD for the assignment of addresses to interfaces. Ricardo Pelaez-Negro, Edwin Cordeiro, Fred Baker and Naveen Lakshman provided useful comments that have greatly improved the draft. 11. References 11.1. Normative References [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, September 1981, . [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, DOI 10.17487/RFC1122, October 1989, . [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, December 1998, . [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July 2003, . [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6", RFC 3633, DOI 10.17487/RFC3633, December 2003, . [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10.17487/RFC4861, September 2007, . [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, DOI 10.17487/RFC4862, September 2007, . Templin Expires February 19, 2017 [Page 8] Internet-Draft Prefix Delegation for Hosts August 2016 [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic Requirements for IPv6 Customer Edge Routers", RFC 7084, DOI 10.17487/RFC7084, November 2013, . [RFC7278] Byrne, C., Drown, D., and A. Vizdal, "Extending an IPv6 /64 Prefix from a Third Generation Partnership Project (3GPP) Mobile Interface to a LAN Link", RFC 7278, DOI 10.17487/RFC7278, June 2014, . 11.2. Informative References [I-D.ietf-v6ops-host-addr-availability] Colitti, L., Cerf, D., Cheshire, S., and d. dschinazi@apple.com, "Host address availability recommendations", draft-ietf-v6ops-host-addr- availability-07 (work in progress), May 2016. [I-D.templin-aerolink] Templin, F., "Asymmetric Extended Route Optimization (AERO)", draft-templin-aerolink-70 (work in progress), July 2016. Author's Address Fred L. Templin (editor) Boeing Research & Technology P.O. Box 3707 Seattle, WA 98124 USA Email: fltemplin@acm.org Templin Expires February 19, 2017 [Page 9]