Homenet Working Group S. Barth Internet-Draft Independent Intended status: Experimental October 16, 2015 Expires: April 18, 2016 Home Network WiFi Roaming draft-barth-homenet-wifi-roaming-00 Abstract This document describes a mechanism to manage host routes and statelessly proxy IPv6 Duplicate Address Detection messages between multiple WiFi links to allow client roaming. 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 April 18, 2016. Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Barth Expires April 18, 2016 [Page 1] Internet-Draft Homenet WiFi Roaming October 2015 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 3. Stateless Duplicate Address Detection (DAD) Proxy . . . . . . 3 3.1. Receipt of DAD Messages and forwarding to routers . . . . 3 3.2. Distributing DAD Messages received from other routers . . 4 4. Maintaining Host Routes . . . . . . . . . . . . . . . . . . . 4 5. Roaming Interface Configuration . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 8.1. Normative references . . . . . . . . . . . . . . . . . . 5 8.2. Informative references . . . . . . . . . . . . . . . . . 6 Appendix A. Discussion Points [RFC Editor: please remove] . . . 6 Appendix B. Changelog [RFC Editor: please remove] . . . . . . . 6 Appendix C. Draft Source [RFC Editor: please remove] . . . . . . 6 Appendix D. Acknowledgements . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction In a multi router home network it can be desirable to have a WiFi network accessible in different physical locations. Synchronization of configuration parameters like ESSID and authentication allows clients to seamlessly roam the network. However, a client switching from one WiFi AP to another might suffer from service disruption if each AP uses a different IP address prefix. To mitigate this issue, all AP links could be bridged on layer 2, which would lead to increased traffic on the home network backbone. This draft offers an alternative solutions based on host routing and proxying of Duplicate Address Detection for IPv6. In order to minimize additional complexity on routers, this draft either relies on existing state in the form the neighbor cache entries used for host routing or introduces only lightweight, stateless mechanism to distribute Duplicate Address Detection messages. However, an additional mechanism is needed to identify and share information about which routers have roaming interfaces, to which roaming interface set they belong, under which addresses these routers are reachable and which specific roaming prefixes are assigned. The specific mechanism is out of scope for this draft, however a solution based on [I-D.ietf-homenet-hncp] is conceivable. Barth Expires April 18, 2016 [Page 2] Internet-Draft Homenet WiFi Roaming October 2015 2. Terminology ESSID IEEE 802.11 Extended Service Set Identifier host route an IPv6 route with a prefix length of 128 intended to track a host on a roaming interface roaming interface a network interface (typically IEEE 802.11) which shares an address prefix with other similar interfaces to allow seamless client roaming roaming interface the set of roaming interfaces which share a set particular address prefix roaming prefix an IPv6 address prefix shared between all interfaces in a roaming interface set 2.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 3. Stateless Duplicate Address Detection (DAD) Proxy Sharing a roaming prefix across multiple separate interfaces might lead to address collisions between hosts on different interfaces of the same set. Therefore, it needs to be ensured that DAD messages are shared across interfaces. The typical DAD process involves the querying host sending one or more Neighbor Solicitations using the unspecified address as a source and any colliding host replying to the all-nodes address as specified in [RFC4862] and [RFC4861]. Since the source addresses of the DAD solicitations and the destination addresses of the DAD advertisements are fixed, the whole process can happen statelessly. 3.1. Receipt of DAD Messages and forwarding to routers The following requirements apply for receiving DAD traffic from hosts on roaming interfaces and forwarding them to other DAD proxy routers: A router MUST listen for all Neighbor Solicitations with a target addresses from an assigned roaming prefix having the unspecified address as the source address. Similarly it MUST listen for all Neighbor Advertisements with a target address from an assigned roaming prefix and having the all-nodes multicast address as the destination address. Barth Expires April 18, 2016 [Page 3] Internet-Draft Homenet WiFi Roaming October 2015 A router MUST forward all such messages via global unicast to all other routers having roaming interfaces sharing the roaming prefixes the target address of the respective message belongs to. 3.2. Distributing DAD Messages received from other routers The following requirements apply for distributing DAD traffic, forwarded by other routers, to clients on roaming interfaces: A router MUST listen for Neighbor Solicitations and Advertisements sent via global unicast from other routers having roaming interfaces with the same roaming prefix. Upon reception of such a Neighbor Solicitation, the router MUST forward the message to all roaming interfaces having prefixes matching the target address. It MUST use the unspecified address as source and the respective solicited node multicast-address as destination address. Upon reception of such a Neighbor Advertisement, the router MUST forward the message to all roaming interfaces having prefixes matching the target address. It MUST use the all-nodes multicast- address as destination address. 4. Maintaining Host Routes Host routes are necessary in order to unambiguously forward packets to potentially roaming WiFi clients. This draft ties the announcement of host routes to the presence of Neighbor Cache [RFC4861] entries for addresses of roaming prefixes. The following requirements apply: A router MUST announce a host route for an IPv6 address belonging to a roaming prefix whenever there is a corresponding entry for it in the roaming interface's neighbor cache with the states REACHABLE, STALE, DELAY or PROBE. A router MUST retract any host route for an IPv6 address immediately when a neighbor lookup for it has finally failed on the roaming interface OR when a physical disconnect of the respective client (e.g., a WiFi disassociation) has been noticed. A router SHOULD be able to manage and publish host routes for at least two IPv6 addresses for every connected host and IPv6 roaming prefix announced on a roaming interface. The router SHOULD NOT flush neighbor cache entries in STALE state and respective host routes. Instead it SHOULD try to promote Barth Expires April 18, 2016 [Page 4] Internet-Draft Homenet WiFi Roaming October 2015 STALE entries to REACHABLE and only upon failure remove the cache entry and route. This ensures that the address is actually not used anymore and the host does not happen to be merely temporarily inactive and potentially waiting for incoming packets. 5. Roaming Interface Configuration The following requirements are suggested for interfaces intended to use the roaming features described in this draft: Router Advertisements SHOULD only include Prefix Information Options for one more IPv6 roaming prefixes. Such Prefix Information Options MUST have the A-Bit set and the L-Bit cleared. The IPv6 address fe80::1 SHOULD be used as fixed link-local address exclusively by the router on roaming interfaces. This is to ensure that the IPv6 default route for clients stays the same across roaming interfaces. Furthermore the address SHOULD be announced as recursive DNS server address should the router provide such a service. Router Advertisements SHOULD be sent as described in [I-D.ietf-v6ops-reducing-ra-energy-consumption]. Stateful DHCPv6 MUST NOT be used to avoid the need to synchronize lease information and relay DHCPv6 packets. Similarly Router Advertisements MUST be sent with the M-Bit cleared. NAT64 and DNS64 SHOULD be used if IPv4 connectivity is desired, alternatively different and disjoint native IPv4 prefixes MAY be used on each individual roaming interface. 6. Security Considerations TBD 7. IANA Considerations No action needed. 8. References 8.1. Normative references [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Barth Expires April 18, 2016 [Page 5] Internet-Draft Homenet WiFi Roaming October 2015 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007. [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007. [I-D.ietf-v6ops-reducing-ra-energy-consumption] Yourtchenko, A. and L. Colitti, "Reducing energy consumption of Router Advertisements", draft-ietf-v6ops- reducing-ra-energy-consumption-02 (work in progress), October 2015. 8.2. Informative references [I-D.ietf-homenet-hncp] Stenberg, M., Barth, S., and P. Pfister, "Home Networking Control Protocol", draft-ietf-homenet-hncp-09 (work in progress), August 2015. Appendix A. Discussion Points [RFC Editor: please remove] o It is debatable which kind of transport could be used for the proxied DAD messages. Plain ICMPv6 could be possibly but might be dropped by certain hosts. Similarly UDP or DTLS encapsulation could be used easily if a port was allocated or exchanged. o Is additional reliability useful and if so what kind? Normally hosts only send a single DAD solicitation, so the probability of a total packet loss increases with each forwarding hop. Trivially one could simply duplicate all proxied DAD messages or use TCP framing or SCTP. However the announced Retrans Timer value in the RA and retransmission parameters of the transport need to be adjusted, so that any resend and matching replies happen before the host considers the DAD process to have resulted in no collisions. Appendix B. Changelog [RFC Editor: please remove] draft-barth-homenet-wifi-roaming-00: o Initial version. Appendix C. Draft Source [RFC Editor: please remove] As usual, this draft is available at https://github.com/fingon/ietf- drafts/ in source format (with nice Makefile too). Feel free to send comments and/or pull requests if and when you have changes to it! Barth Expires April 18, 2016 [Page 6] Internet-Draft Homenet WiFi Roaming October 2015 Appendix D. Acknowledgements Thanks to Markus Stenberg for comments and feedback on the draft. Author's Address Steven Barth Independent Halle 06114 Germany Email: cyrus@openwrt.org Barth Expires April 18, 2016 [Page 7]