idnits 2.17.1 draft-tldm-simple-homenet-naming-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 230: '... MUST use the homenet's ULA....' RFC 2119 keyword, line 234: '... MUST filter out global IP addresses...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 13, 2017) is 2572 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Looks like a reference, but probably isn't: 'TBD1' on line 355 == Outdated reference: A later version (-10) exists of draft-ietf-dnssd-hybrid-05 == Outdated reference: A later version (-18) exists of draft-ietf-tokbind-https-08 == Outdated reference: A later version (-14) exists of draft-ietf-homenet-dot-03 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group T. Lemon 3 Internet-Draft Nominum, Inc. 4 Intended status: Informational D. Migault 5 Expires: September 14, 2017 Ericsson 6 March 13, 2017 8 Simple Homenet Naming and Service Discovery Architecture 9 draft-tldm-simple-homenet-naming-00 11 Abstract 13 This document describes a simple name resolution and service 14 discovery architecture for homenets. This architecture covers local 15 publication of names, as well as name resolution for local and global 16 names. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on September 14, 2017. 35 Copyright Notice 37 Copyright (c) 2017 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 1.1. Existing solutions . . . . . . . . . . . . . . . . . . . 3 54 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 55 3. Name Resolution . . . . . . . . . . . . . . . . . . . . . . . 4 56 3.1. Configuring Resolvers . . . . . . . . . . . . . . . . . . 4 57 3.2. Configuring Service Discovery . . . . . . . . . . . . . . 5 58 3.3. Resolution of local names . . . . . . . . . . . . . . . . 5 59 3.4. DNSSEC Validation . . . . . . . . . . . . . . . . . . . . 6 60 3.5. Support for Multiple Provisioning Domains . . . . . . . . 6 61 3.6. Using the Local Namespace While Away From Home . . . . . 7 62 4. Management Considerations . . . . . . . . . . . . . . . . . . 7 63 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7 64 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 65 7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 8 66 8. Normative References . . . . . . . . . . . . . . . . . . . . 8 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 69 1. Introduction 71 Associating domain names with hosts on the Internet is a key factor 72 in enabling communication with hosts, particularly for service 73 discovery. This document describes a simple way of providing name 74 service and service discovery for homenets. In principle, it may 75 make sense to be able to publish names of devices on the homenet, so 76 that services on the homenet can be accessed outside of the homenet. 77 Such publication is out of scope for this document. It may be 78 desirable to secure the homenet zone using DNSSEC. This is likewise 79 out of scope for this document. 81 In order to provide name service, several provisioning mechanisms 82 must be available: 84 o Provisioning of a domain name under which names can be published 85 and services advertised 87 o Associating names that are subdomains of that name with hosts. 89 o Advertising services available on the local network by publishing 90 resource records on those names. 92 o Distribution of names published in that namespace to servers that 93 can be queried in order to resolve names 95 o Correct advertisement of name servers that can be queried in order 96 to resolve names 98 o Timely removal of published names and resource records when they 99 are no longer in use 101 Homenet adds the following considerations: 103 1. Some names may be published in a broader scope than others. For 104 example, it may be desirable to advertise some homenet services 105 to users who are not connected to the homenet. However, it is 106 unlikely that all services published on the home network would be 107 appropriate to publish outside of the home network. In many 108 cases, no services will be appropriate to publish outside of the 109 network, but the ability to do so is required. 111 2. Users cannot be assumed to be skilled or knowledgeable in name 112 service operation, or even to have any sort of mental model of 113 how these functions work. All of the operations mentioned here 114 must reliably function automatically, without any user 115 intervention or debugging. 117 3. Because user intervention cannot be required, naming conflicts 118 must be resolved automatically, and, to the extent possible, 119 transparently. 121 4. Hosts that do not implement any homenet-specific capabilities 122 must still be able to discover and access services on the 123 homenet, to the extent possible. 125 5. Devices that provide services must be able to publish those 126 services on the homenet, and those services must be available 127 from any part of the homenet, not just the link to which the 128 device is attached. 130 6. Homenet explicitly supports multihoming--connecting to more than 131 one Internet Service Provider--and therefore support for multiple 132 provisioning domains [6] is required to deal with situations 133 where the DNS may give a different answer depending on whether 134 caching resolvers at one ISP or another are queried. 136 1.1. Existing solutions 138 Previous attempts to automate naming and service discovery in the 139 context of a home network are able to function with varying degrees 140 of success depending on the topology of the home network. For 141 example, Multicast DNS [4] can provide naming and service discovery 142 [5], but only within a single multicast domain. 144 The Domain Name System provides a hierarchical namespace [1], a 145 mechanism for querying name servers to resolve names [2], a mechanism 146 for updating namespaces by adding and removing names [3], and a 147 mechanism for discovering services [5]. Unfortunately, DNS provides 148 no mechanism for automatically provisioning new namespaces, and 149 secure updates to namespaces require pre-shared keys, which won't 150 work for an unmanaged network. DHCP can be used to populate names in 151 a DNS namespace; however at present DHCP cannot provision service 152 discovery information. 154 Hybrid Multicast DNS [7] proposes a mechanism for extending multicast 155 DNS beyond a single multicast domain.. However, it has serious 156 shortcomings as a solution to the Homenet naming problem. The most 157 obvious shortcoming is that it requires that every multicast domain 158 have a separate name. This then requires that the homenet generate 159 names for every multicast domain, and requires that the end user have 160 a mental model of the topology of the network in order to guess on 161 which link a given service may appear. [xxx is this really true at 162 the UI?] 164 2. Terminology 166 This document uses the following terms and abbreviations: 168 HNR Homenet Router 170 ISP Internet Service Provider 172 GNRP Global Name Registration Provider 174 3. Name Resolution 176 3.1. Configuring Resolvers 178 Hosts on the homenet receive a set of resolver IP addresses using 179 either DHCP or RA. IPv4-only hosts will receive IPv4 addresses of 180 resolvers, if available, over DHCP. IPv6-only hosts will receive 181 resolver IPv6 addresses using either stateful (if available) or 182 stateless DHCPv6, or through the domain name option in router 183 advertisements. All homenet routers provide resolver information 184 using both stateless DHCPv6 and RA; support for stateful DHCPv6 and 185 DHCPv4 is optional, however if either service is offered, resolver 186 addresses will be provided using that mechanism as well. Resolver IP 187 addresses will always be IP addresses on the local link: every HNR is 188 required to provide name resolution service. This is necessary to 189 allow DNS update using presence on-link as a mechanism for rejecting 190 off-network attacks. 192 3.2. Configuring Service Discovery 194 DNS-SD uses several default domains for advertising local zones that 195 are available for service discovery. These include the '.local' 196 domain, which is searched using mDNS, and also the IPv4 and IPv6 197 reverse zone corresponding to the prefixes in use on the local 198 network. For the homenet, no support for queries against the 199 ".local" zone is provided by HNRs: a ".local" query will be satisfied 200 or not by services present on the local link. This should not be an 201 issue: all known implementations of DNSSD will do unicast queries 202 using the DNS protocol. 204 Service discovery is configured using the technique described in 205 Section 11 of DNS-Based Service Discovery [5]. HNRs will answer 206 domain enumeration ueries against every IPv4 address prefix 207 advertised on a homenet link, and every IPv6 address prefix 208 advertised on a homenet link, including prefixes derived from the 209 homenet's ULA(s). Whenever the "" sequence appears in this 210 section, it references each of the domains mentioned in this 211 paragraph. 213 Homenets advertise the availability of several browsing zones in the 214 "b._dns_sd." subdomain. By default, the TBD1 domain is 215 advertised. Similarly, TBD1 is advertised as the default browsing 216 and service registration domain under "db._dns_sd.", 217 "r._dns_sd.", "dr._dns_sd." and 218 "lb._dns_sd.". 220 3.3. Resolution of local names 222 Local names appear as subdomains of [TBD1]. These names can only be 223 resolved within the homenet; not only is [TBD1] not a globally unique 224 name, but queries from outside of the homenet for any name, on or off 225 the homenet, must be rejected with a REFUSED response. 227 In addition, names can appear as subdomains of the locally-served 228 'in-addr.arpa' or 'ip6.addr' zone that corresponding to the ULA that 229 is in use on the homenet. IP addresses and names advertised locally 230 MUST use the homenet's ULA. 232 It is possible that local services may number themselves using more 233 than one of the prefixes advertised locally. Homenet hybrid proxies 234 MUST filter out global IP addresses, providing only ULA addresses, 235 similar to the process described in section 5.5.2 of [7]. [xxx is 236 this going to be a problem?] 238 The Hybrid Proxy model relies on each link having its own name. 239 However, homenets do not actually have a way to name local links that 240 will make any sense to the end user. Consequently, this mechanism 241 will not work. In order to paper over this, some changes are 242 required: 244 o The Hybrid Proxy function is divided into two: relaying proxies, 245 and aggregating proxies. There must be exactly one querying proxy 246 per link; there can be as few as one aggregating proxy per 247 homenet. 249 o Relaying proxies do no translation, for example from ".local" to 250 "bldg1.example.com" as shown in section 5.3 of [7]. They simply 251 take queries over the DNS protocol for names in subdomains of 252 '.local', the link-specific 'ip6.addr', and the link-specific 'in- 253 addr.arpa' zones, and respond with the exact answers received. 255 o There must be exactly one querying proxy per internal link on the 256 homenet; for links that are connected to more than one homenet 257 router, HNCP is used to choose which router will provide the 258 service. 260 o Querying proxies perform translation. Machine readable names are 261 presented as subdomains of the TBD1 domain. Human readable names 262 are presented as subdomains of the _hr.TBD1 domain. 264 o Every homenet router can provide a querying proxy, or only one 265 router can. This is determined by HNCP; all homenet routers must 266 provide this capability, but some homenet routers may provide 267 enhanced querying proxy capabilities such that homenet routers 268 providing only those capabilities described in this document must 269 be disabled. Therefore, all homenet routers must be able to act 270 as a querying proxy, or forward DNS queries to a central querying 271 proxy, according to what is specified through HNCP. 273 3.4. DNSSEC Validation 275 DNSSEC Validation for the TBD1 zone and for the locally-served 276 'ip6.arpa and 'in-adr.arpa' domains is not possible without a trust 277 anchor. Establishment of a trust anchor for such validation is out 278 of scope for this document. 280 3.5. Support for Multiple Provisioning Domains 282 Homenets must support the Multiple Provisioning Domain Architecture 283 [6]. In order to support this architecture, each homenet router that 284 provides name resolution must provide one resolver for each 285 provisioning domain (PvD). Each homenet router will advertise one 286 resolver IP address for each PvD. DNS requests to the resolver 287 associated with a particular PvD, e.g. using RA options [8] will be 288 resolved using the external resolver(s) provisioned by the service 289 provider responsible for that PvD. 291 The homenet is a separate provisioning domain from any of the service 292 providers. The global name of the homenet can be used as a 293 provisioning domain identifier, if one is configured. Homenets 294 should allow the name of the local provisioning domain to be 295 configured; otherwise by default it should be "Home Network xxx", 296 where xxx is the generated portion of the homenet's ULA prefix, 297 represented as a base64 string. 299 The resolver for the homenet PvD is offered as the primary resolver 300 in RAs and through DHCPv4 and DHCPv6. When queries are made to the 301 homenet-PvD-specific resolver for names that are not local to the 302 homenet, the resolver will use a round-robin technique, alternating 303 between service providers with each step in the round-robin process, 304 and then also between external resolvers at a particular service 305 provider if a service provider provides more than one. The round- 306 robining should be done in such a way that no service provider is 307 preferred, so if service provider A provides one caching resolver 308 (A), and service provider B provides two (B1, B2), the round robin 309 order will be (A, B1, A, B2), not (A, B1, B2). 311 Every resolver provided by the homenet, regardless of which 312 provisioning domain it is intended to serve, will accept updates for 313 subdomains of the TBD1 and locally-served 'ip6.arpa' and 'in- 314 addr.arpa' domains from hosts on the local link. 316 3.6. Using the Local Namespace While Away From Home 318 This architecture does not provide a way for service discovery to be 319 performed on the homenet by devices that are not directly connected 320 to a link that is part of the homenet. 322 4. Management Considerations 324 This architecture is intended to be self-healing, and should not 325 require management. That said, a great deal of debugging and 326 management can be done simply using the DNS service discovery 327 protocol. 329 5. Privacy Considerations 331 Privacy is somewhat protected in the sense that names published on 332 the homenet are only visible to devices connected to the homenet. 333 This may be insufficient privacy in some cases. 335 The privacy of host information on the local net is left to hosts. 336 Various mechanisms are available to hosts to ensure that tracking 337 does not occur if it is not desired. However, devices that need to 338 have special permission to manage the homenet will inevitably reveal 339 something about themselves when doing so. It may be possible to use 340 something like HTTP token binding[9] to mitigate this risk. 342 6. Security Considerations 344 There are some clear issues with the security model described in this 345 document, which will be documented in a future version of this 346 section. A full analysis of the avenues of attack for the security 347 model presented here have not yet been done, and must be done before 348 the document is published. 350 7. IANA considerations 352 This document is relying on the allocation of [TBD1] described in 353 Special Use Top Level Domain '.homenet' [10]. As such, no new 354 actions are required by IANA, but this document can't proceed until 355 that allocation is done. At that time, the name [TBD1] can be 356 substituted for the name that is eventually allocated during the 357 processing of that document. 359 8. Normative References 361 [1] Mockapetris, P., "Domain names - concepts and facilities", 362 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 363 . 365 [2] Mockapetris, P., "Domain names - implementation and 366 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 367 November 1987, . 369 [3] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, 370 "Dynamic Updates in the Domain Name System (DNS UPDATE)", 371 RFC 2136, DOI 10.17487/RFC2136, April 1997, 372 . 374 [4] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, 375 DOI 10.17487/RFC6762, February 2013, 376 . 378 [5] Cheshire, S. and M. Krochmal, "DNS-Based Service 379 Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013, 380 . 382 [6] Anipko, D., Ed., "Multiple Provisioning Domain 383 Architecture", RFC 7556, DOI 10.17487/RFC7556, June 2015, 384 . 386 [7] Cheshire, S., "Hybrid Unicast/Multicast DNS-Based Service 387 Discovery", draft-ietf-dnssd-hybrid-05 (work in progress), 388 November 2016. 390 [8] Korhonen, J., Krishnan, S., and S. Gundavelli, "Support 391 for multiple provisioning domains in IPv6 Neighbor 392 Discovery Protocol", draft-ietf-mif-mpvd-ndp-support-03 393 (work in progress), February 2016. 395 [9] Popov, A., Nystrom, M., Balfanz, D., Langley, A., and J. 396 Hodges, "Token Binding over HTTP", draft-ietf-tokbind- 397 https-08 (work in progress), February 2017. 399 [10] Pfister, P. and T. Lemon, "Special Use Top Level Domain 400 '.homenet'", draft-ietf-homenet-dot-03 (work in progress), 401 March 2017. 403 Authors' Addresses 405 Ted Lemon 406 Nominum, Inc. 407 800 Bridge Parkway 408 Redwood City, California 94065 409 United States of America 411 Phone: +1 650 381 6000 412 Email: ted.lemon@nominum.com 414 Daniel Migault 415 Ericsson 416 8400 boulevard Decarie 417 Montreal, QC H4P 2N2 418 Canada 420 Email: daniel.migault@ericsson.com