Internet DRAFT - draft-tldm-simple-homenet-naming
draft-tldm-simple-homenet-naming
Network Working Group T. Lemon
Internet-Draft Nominum, Inc.
Intended status: Informational D. Migault
Expires: January 4, 2018 Ericsson
July 3, 2017
Simple Homenet Naming and Service Discovery Architecture
draft-tldm-simple-homenet-naming-01
Abstract
This document describes a simple name resolution and service
discovery architecture for homenets. This architecture covers local
publication of names, as well as name resolution for local and global
names.
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 January 4, 2018.
Copyright Notice
Copyright (c) 2017 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.
Lemon & Migault Expires January 4, 2018 [Page 1]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Existing solutions . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Name Resolution . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Configuring Resolvers . . . . . . . . . . . . . . . . . . 4
3.2. Configuring Service Discovery . . . . . . . . . . . . . . 5
3.3. Resolution of local names . . . . . . . . . . . . . . . . 5
3.4. DNSSEC Validation . . . . . . . . . . . . . . . . . . . . 6
3.5. Support for Multiple Provisioning Domains . . . . . . . . 6
3.6. Using the Local Namespace While Away From Home . . . . . 7
4. Management Considerations . . . . . . . . . . . . . . . . . . 7
5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 8
8. Normative References . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
Associating domain names with hosts on the Internet is a key factor
in enabling communication with hosts, particularly for service
discovery. This document describes a simple way of providing name
service and service discovery for homenets. In principle, it may
make sense to be able to publish names of devices on the homenet, so
that services on the homenet can be accessed outside of the homenet.
Such publication is out of scope for this document. It may be
desirable to secure the homenet zone using DNSSEC. This is likewise
out of scope for this document.
In order to provide name service, several provisioning mechanisms
must be available:
o Provisioning of a domain name under which names can be published
and services advertised
o Associating names that are subdomains of that name with hosts.
o Advertising services available on the local network by publishing
resource records on those names.
o Distribution of names published in that namespace to servers that
can be queried in order to resolve names
o Correct advertisement of name servers that can be queried in order
to resolve names
Lemon & Migault Expires January 4, 2018 [Page 2]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
o Timely removal of published names and resource records when they
are no longer in use
Homenet adds the following considerations:
1. Some names may be published in a broader scope than others. For
example, it may be desirable to advertise some homenet services
to users who are not connected to the homenet. However, it is
unlikely that all services published on the home network would be
appropriate to publish outside of the home network. In many
cases, no services will be appropriate to publish outside of the
network, but the ability to do so is required.
2. Users cannot be assumed to be skilled or knowledgeable in name
service operation, or even to have any sort of mental model of
how these functions work. All of the operations mentioned here
must reliably function automatically, without any user
intervention or debugging.
3. Because user intervention cannot be required, naming conflicts
must be resolved automatically, and, to the extent possible,
transparently.
4. Hosts that do not implement any homenet-specific capabilities
must still be able to discover and access services on the
homenet, to the extent possible.
5. Devices that provide services must be able to publish those
services on the homenet, and those services must be available
from any part of the homenet, not just the link to which the
device is attached.
6. Homenet explicitly supports multihoming--connecting to more than
one Internet Service Provider--and therefore support for multiple
provisioning domains [6] is required to deal with situations
where the DNS may give a different answer depending on whether
caching resolvers at one ISP or another are queried.
1.1. Existing solutions
Previous attempts to automate naming and service discovery in the
context of a home network are able to function with varying degrees
of success depending on the topology of the home network. For
example, Multicast DNS [4] can provide naming and service discovery
[5], but only within a single multicast domain.
The Domain Name System provides a hierarchical namespace [1], a
mechanism for querying name servers to resolve names [2], a mechanism
Lemon & Migault Expires January 4, 2018 [Page 3]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
for updating namespaces by adding and removing names [3], and a
mechanism for discovering services [5]. Unfortunately, DNS provides
no mechanism for automatically provisioning new namespaces, and
secure updates to namespaces require pre-shared keys, which won't
work for an unmanaged network. DHCP can be used to populate names in
a DNS namespace; however at present DHCP cannot provision service
discovery information.
Hybrid Multicast DNS [7] proposes a mechanism for extending multicast
DNS beyond a single multicast domain.. However, it has serious
shortcomings as a solution to the Homenet naming problem. The most
obvious shortcoming is that it requires that every multicast domain
have a separate name. This then requires that the homenet generate
names for every multicast domain, and in degenerate cases requires
that the end user have a mental model of the topology of the network
in order to guess on which link a given service may appear.
2. Terminology
This document uses the following terms and abbreviations:
HNR Homenet Router
ISP Internet Service Provider
GNRP Global Name Registration Provider
3. Name Resolution
3.1. Configuring Resolvers
Hosts on the homenet receive a set of resolver IP addresses using
either DHCP or RA. IPv4-only hosts will receive IPv4 addresses of
resolvers, if available, over DHCP. IPv6-only hosts will receive
resolver IPv6 addresses using either stateful (if available) or
stateless DHCPv6, or through the domain name option in router
advertisements. All homenet routers provide resolver information
using both stateless DHCPv6 and RA; support for stateful DHCPv6 and
DHCPv4 is optional, however if either service is offered, resolver
addresses will be provided using that mechanism as well. Resolver IP
addresses will always be IP addresses on the local link: every HNR is
required to provide name resolution service. This is necessary to
allow DNS update using presence on-link as a mechanism for rejecting
off-network attacks.
Lemon & Migault Expires January 4, 2018 [Page 4]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
3.2. Configuring Service Discovery
DNS-SD uses several default domains for advertising local zones that
are available for service discovery. These include the '.local'
domain, which is searched using mDNS, and also the IPv4 and IPv6
reverse zone corresponding to the prefixes in use on the local
network. For the homenet, no support for queries against the
".local" zone is provided by HNRs: a ".local" query will be satisfied
or not by services present on the local link. This should not be an
issue: all known implementations of DNSSD will do unicast queries
using the DNS protocol.
Service discovery is configured using the technique described in
Section 11 of DNS-Based Service Discovery [5]. HNRs will answer
domain enumeration queries against every IPv4 address prefix
advertised on a homenet link, and every IPv6 address prefix
advertised on a homenet link, including prefixes derived from the
homenet's ULA(s). Whenever the "<domain>" sequence appears in this
section, it references each of the domains mentioned in this
paragraph.
Homenets advertise the availability of several browsing zones in the
"b._dns_sd.<domain>" subdomain. By default, the 'home.arpa' domain
is advertised. Similarly, 'home.arpa' is advertised as the default
browsing and service registration domain under "db._dns_sd.<domain>",
"r._dns_sd.<domain>", "dr._dns_sd.<domain>" and
"lb._dns_sd.<domain>".
3.3. Resolution of local names
Local names appear as subdomains of ['home.arpa']. These names can
only be resolved within the homenet; not only is ['home.arpa'] not a
globally unique name, but queries from outside of the homenet for any
name, on or off the homenet, must be rejected with a REFUSED
response.
In addition, names can appear as subdomains of the locally-served
'in-addr.arpa' or 'ip6.addr' zone that corresponding to the RFC1918
IPv4 prefix and the IPv6 ULA that is in use on the homenet. IP
addresses and names advertised locally MUST use addresses in the
homenet's ULA prefix and/or RFC1918 prefix.
It is possible that local services may number themselves using more
than one of the prefixes advertised locally. Homenet hybrid proxies
MUST filter out global IP addresses, providing only ULA addresses,
similar to the process described in section 5.5.2 of [7]. [xxx is
this going to be a problem?]
Lemon & Migault Expires January 4, 2018 [Page 5]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
The Hybrid Proxy model relies on each link having its own name.
However, homenets do not actually have a way to name local links that
will make any sense to the end user. Consequently, this mechanism
will not work without some tweaks. In order to address this,
homenets will use Discovery Brokers [11]. The discovery broker will
be configured so that a single query for a particular service will be
successful in providing the information required to access that
service, regardless of the link it is on.
Artificial link names will be generated using HNCP. These should
only be visible to the user in graphical user interfaces in the event
that the same name is claimed by a service on two links. Services
that are expected to be accessed by users who type in names should
use [12] if it is available.
Homenets are not required to support Service Registration. Service
registration requires a stateful DNS server; this may be beyond the
capability of the minimal homenet router. However, more capable
homenet routers should provide this capability. In order to make
this work, minimal homenet routers MUST implement the split hybrid
proxy described in [13]. This enables a homenet with one or more
homenet routers that provide a stateful registration cache to allow
those routers to take over service, using Discovery Relays to service
links that are connected using homenet routers with more limited
functionality.
3.4. DNSSEC Validation
DNSSEC Validation for the 'home.arpa' zone and for the locally-served
'ip6.arpa and 'in-adr.arpa' domains is not possible without a trust
anchor. Establishment of a trust anchor for such validation is out
of scope for this document.
3.5. Support for Multiple Provisioning Domains
Homenets must support the Multiple Provisioning Domain Architecture
[6]. In order to support this architecture, each homenet router that
provides name resolution must provide one resolver for each
provisioning domain (PvD). Each homenet router will advertise one
resolver IP address for each PvD. DNS requests to the resolver
associated with a particular PvD, e.g. using RA options [8] will be
resolved using the external resolver(s) provisioned by the service
provider responsible for that PvD.
The homenet is a separate provisioning domain from any of the service
providers. The global name of the homenet can be used as a
provisioning domain identifier, if one is configured. Homenets
should allow the name of the local provisioning domain to be
Lemon & Migault Expires January 4, 2018 [Page 6]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
configured; otherwise by default it should be "Home Network xxx",
where xxx is the generated portion of the homenet's ULA prefix,
represented as a base64 string.
The resolver for the homenet PvD is offered as the primary resolver
in RAs and through DHCPv4 and DHCPv6. When queries are made to the
homenet-PvD-specific resolver for names that are not local to the
homenet, the resolver will use a round-robin technique, alternating
between service providers with each step in the round-robin process,
and then also between external resolvers at a particular service
provider if a service provider provides more than one. The round-
robining should be done in such a way that no service provider is
preferred, so if service provider A provides one caching resolver
(A), and service provider B provides two (B1, B2), the round robin
order will be (A, B1, A, B2), not (A, B1, B2).
Every resolver provided by the homenet, regardless of which
provisioning domain it is intended to serve, will accept updates for
subdomains of the 'home.arpa' and locally-served 'ip6.arpa' and 'in-
addr.arpa' domains from hosts on the local link.
3.6. Using the Local Namespace While Away From Home
This architecture does not provide a way for service discovery to be
performed on the homenet by devices that are not directly connected
to a link that is part of the homenet.
4. Management Considerations
This architecture is intended to be self-healing, and should not
require management. That said, a great deal of debugging and
management can be done simply using the DNS service discovery
protocol.
5. Privacy Considerations
Privacy is somewhat protected in the sense that names published on
the homenet are only visible to devices connected to the homenet.
This may be insufficient privacy in some cases.
The privacy of host information on the local net is left to hosts.
Various mechanisms are available to hosts to ensure that tracking
does not occur if it is not desired. However, devices that need to
have special permission to manage the homenet will inevitably reveal
something about themselves when doing so. It may be possible to use
something like HTTP token binding [9] to mitigate this risk.
Lemon & Migault Expires January 4, 2018 [Page 7]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
6. Security Considerations
There are some clear issues with the security model described in this
document, which will be documented in a future version of this
section. A full analysis of the avenues of attack for the security
model presented here have not yet been done, and must be done before
the document is published.
7. IANA considerations
This document is relying on the allocation of 'home.arpa' described
in Special Use Top Level Domain '.home.arpa' [10]. As such, no new
actions are required by IANA, but this document can't proceed until
that allocation is done.
8. Normative References
[1] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
<http://www.rfc-editor.org/info/rfc1034>.
[2] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
November 1987, <http://www.rfc-editor.org/info/rfc1035>.
[3] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound,
"Dynamic Updates in the Domain Name System (DNS UPDATE)",
RFC 2136, DOI 10.17487/RFC2136, April 1997,
<http://www.rfc-editor.org/info/rfc2136>.
[4] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762,
DOI 10.17487/RFC6762, February 2013,
<http://www.rfc-editor.org/info/rfc6762>.
[5] Cheshire, S. and M. Krochmal, "DNS-Based Service
Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013,
<http://www.rfc-editor.org/info/rfc6763>.
[6] Anipko, D., Ed., "Multiple Provisioning Domain
Architecture", RFC 7556, DOI 10.17487/RFC7556, June 2015,
<http://www.rfc-editor.org/info/rfc7556>.
[7] Cheshire, S., "Discovery Proxy for Multicast DNS-Based
Service Discovery", draft-ietf-dnssd-hybrid-06 (work in
progress), March 2017.
Lemon & Migault Expires January 4, 2018 [Page 8]
Internet-Draft Simple Homenet Naming/SD Arch July 2017
[8] Korhonen, J., Krishnan, S., and S. Gundavelli, "Support
for multiple provisioning domains in IPv6 Neighbor
Discovery Protocol", draft-ietf-mif-mpvd-ndp-support-03
(work in progress), February 2016.
[9] Popov, A., Nystrom, M., Balfanz, D., Langley, A., and J.
Hodges, "Token Binding over HTTP", draft-ietf-tokbind-
https-09 (work in progress), April 2017.
[10] Pfister, P. and T. Lemon, "Special Use Domain
'.home.arpa'", draft-ietf-homenet-dot-07 (work in
progress), June 2017.
[11] Cheshire, S. and T. Lemon, "Service Discovery Broker",
draft-sctl-discovery-broker-00 (work in progress), July
2017.
[12] Cheshire, S. and T. Lemon, "Service Registration Protocol
for DNS-Based Service Discovery", draft-sctl-service-
registration-00 (work in progress), July 2017.
[13] Cheshire, S. and T. Lemon, "Multicast DNS Discovery
Relay", draft-sctl-mdns-relay-00 (work in progress), July
2017.
Authors' Addresses
Ted Lemon
Nominum, Inc.
800 Bridge Parkway
Redwood City, California 94065
United States of America
Phone: +1 650 381 6000
Email: ted.lemon@nominum.com
Daniel Migault
Ericsson
8400 boulevard Decarie
Montreal, QC H4P 2N2
Canada
Email: daniel.migault@ericsson.com
Lemon & Migault Expires January 4, 2018 [Page 9]