idnits 2.17.1 draft-jeong-ipwave-iot-dns-autoconf-03.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 an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) == There are 1 instance of lines with non-RFC2606-compliant FQDNs in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 240 has weird spacing: '...ntifier devic...' == Line 427 has weird spacing: '...ntifier devic...' -- The document date (July 2, 2018) is 2097 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) ** Obsolete normative reference: RFC 3736 (Obsoleted by RFC 8415) Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IPWAVE Working Group J. Jeong 3 Internet-Draft Sungkyunkwan University 4 Intended status: Standards Track S. Lee 5 Expires: January 3, 2019 Ericsson-LG 6 J. Park 7 ETRI 8 July 2, 2018 10 DNS Name Autoconfiguration for Internet of Things Devices 11 draft-jeong-ipwave-iot-dns-autoconf-03 13 Abstract 15 This document specifies an autoconfiguration scheme for device 16 discovery and service discovery. Through the device discovery, this 17 document supports the global (or local) DNS naming of Internet of 18 Things (IoT) devices, such as sensors, actuators, and in-vehicle 19 units. By this scheme, the DNS name of an IoT device can be 20 autoconfigured with the device's model information in wired and 21 wireless target networks (e.g., vehicle, road network, home, office, 22 shopping mall, and smart grid). Through the service discovery, IoT 23 users (e.g., drivers, passengers, home residents, and customers) in 24 the Internet (or local network) can easily identify each device for 25 monitoring and remote-controlling it in a target network. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at https://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on January 3, 2019. 44 Copyright Notice 46 Copyright (c) 2018 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (https://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 1.1. Applicability Statements . . . . . . . . . . . . . . . . 4 63 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 64 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 65 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 5 66 5. DNS Name Autoconfiguration . . . . . . . . . . . . . . . . . 5 67 5.1. DNS Name Format with Object Identifier . . . . . . . . . 5 68 5.2. Procedure of DNS Name Autoconfiguration . . . . . . . . . 6 69 5.2.1. DNS Name Generation . . . . . . . . . . . . . . . . . 6 70 5.2.2. DNS Name Collection . . . . . . . . . . . . . . . . . 7 71 5.2.3. DNS Name Retrieval . . . . . . . . . . . . . . . . . 9 72 6. Location-Aware DNS Name Configuration . . . . . . . . . . . . 9 73 7. Macro-Location-Aware DNS Name . . . . . . . . . . . . . . . . 10 74 8. Micro-Location-Aware DNS Name . . . . . . . . . . . . . . . . 11 75 9. DNS Name Management for Mobile IoT Devices . . . . . . . . . 11 76 10. Service Discovery for IoT Devices . . . . . . . . . . . . . . 11 77 11. Security Considerations . . . . . . . . . . . . . . . . . . . 12 78 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 79 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 12 80 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 81 14.1. Normative References . . . . . . . . . . . . . . . . . . 13 82 14.2. Informative References . . . . . . . . . . . . . . . . . 13 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 85 1. Introduction 87 Many Internet of Things (IoT) devices (e.g., sensors, actuators, and 88 in-vehicle units) have begun to have wireless communication 89 capability (e.g., WiFi, Bluetooth, and ZigBee) for monitoring and 90 remote-controlling in a local network or the Internet. According to 91 the capacity, such IoT devices can be categorized into high-capacity 92 devices and low-capacity devices. High-capacity devices have a high- 93 power processor and a large storage, such as vehicles, road 94 infrastructure devices (e.g., road-side unit, traffic light, and 95 loop-detector), appliances (e.g., television, refrigerator, air 96 conditioner, and washing machine), and smart devices (smartphone and 97 tablet). They are placed in environments (e.g., vehicle, road 98 network, home, office, shopping mall, and smart grid) for the direct 99 use for human users, and they require the interaction with human 100 users. Low-capacity devices have a low-power processor and a small 101 storage, such as sensors (e.g., in-vehicle units, light sensor, 102 meter, and fire detector) and actuators (e.g., vehicle engine, signal 103 light, street light, and room temperature controller). They are 104 installed for the easy management of environments (e.g., vehicle, 105 road network, home, office, store, and factory), and they do not 106 require the interaction with human users. 108 For the Internet connectivity of IoT devices, a variety of parameters 109 (e.g., address prefixes, default routers, and DNS servers) can be 110 automatically configured by Neighbor Discovery (ND) for IP Version 6, 111 IPv6 Stateless Address Autoconfiguration, and IPv6 Router 112 Advertisement (RA) Options for DNS Configuration [RFC4861][RFC4862] 113 [RFC8106]. 115 For these IoT devices, the manual configuration of DNS names will be 116 cumbersome and time-consuming as the number of them increases rapidly 117 in a network. It will be good for such DNS names to be automatically 118 configured such that they are readable to human users. 120 Multicast DNS (mDNS) in [RFC6762] can provide DNS service for 121 networked devices on a local link (e.g., home network and office 122 network) without any conventional recursive DNS server. mDNS also 123 supports the autoconfiguration of a device's DNS name without the 124 intervention of the user. mDNS aims at the DNS naming service for 125 the local DNS names of the networked devices on the local link rather 126 than the DNS naming service for the global DNS names of such devices 127 in the Internet. However, for IoT devices accessible from the 128 Internet, mDNS cannot be used. Thus, a new autoconfiguration scheme 129 becomes required for the global DNS names of IoT devices. 131 This document proposes an autoconfiguration scheme for the global (or 132 local) DNS names of IoT devices. Since an autoconfigured DNS name 133 contains the model identifier (ID) of a device, IoT users in the 134 Internet (or local network) can easily identify such a device. The 135 autoconfigured DNS names and corresponding IP addresses of the IoT 136 devices are registered into local or remote authoritative DNS servers 137 that manage the DNS suffixes of the DNS domain names. With these DNS 138 names, they will be able to monitor and remote-control their IoT 139 devices with their smart devices (e.g., smartphone and tablet PC) by 140 resolving their DNS names into the corresponding IP addresses. 142 For cloud-based DNS naming services of IoT devices, a cloud server 143 can collect DNS zone files having the global DNS names and IP 144 addresses of the IoT devices from multiple DNS servers and provide 145 IoT users with such global DNS names of IoT devices relevant to the 146 IoT users. These IoT users can monitor and remote-control their IoT 147 devices in the Internet with the global DNS names and IP addresses, 148 using their smart devices. 150 1.1. Applicability Statements 152 It is assumed that IoT devices have networking capability through 153 wired or wireless communication media, such as Ethernet [IEEE-802.3], 154 WiFi [IEEE-802.11][IEEE-802.11a][IEEE-802.11b][IEEE-802.11g] 155 [IEEE-802.11n], Dedicated Short-Range Communications (DSRC) 156 [DSRC-WAVE][IEEE-802.11p], Bluetooth [IEEE-802.15.1], and ZigBee 157 [IEEE-802.15.4] in a local area network (LAN) or personal area 158 network (PAN). Note that IEEE 802.11p was renamed IEEE 802.11 159 Outside the Context of a Basic Service Set (OCB) [IEEE-802.11-OCB] in 160 2012. 162 Also, it is assumed that each IoT device has a factory configuration 163 (called device configuration) having device model information by 164 manufacturer ID and model ID (e.g., vehicle, road-side unit, smart 165 TV, smartphone, tablet, and refrigerator). This device configuration 166 can be read by the device for DNS name autoconfiguration. 168 2. Requirements Language 170 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 171 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 172 document are to be interpreted as described in RFC 2119 [RFC2119]. 174 3. Terminology 176 This document uses the terminology described in [RFC4861] and 177 [RFC4862]. In addition, four new terms are defined below: 179 o Device Configuration: A factory configuration that has device 180 model information by manufacturer ID and model ID (e.g., vehicle, 181 road-side unit, smart TV, smartphone, tablet, and refrigerator). 183 o DNS Search List (DNSSL): The list of DNS suffix domain names used 184 by IPv6 hosts when they perform DNS query searches for short, 185 unqualified domain names [RFC8106]. 187 o DNSSL Option: IPv6 RA option to deliver the DNSSL information to 188 IPv6 hosts [RFC8106]. 190 4. Overview 192 This document specifies an autoconfiguration scheme for an IoT device 193 using device configuration and DNS search list. Device configuration 194 has device model information (e.g., device's manufacturer and model). 195 DNS search list has DNS suffix domain names that represent the DNS 196 domains of a network having the IoT device [RFC8106]. 198 As an IPv6 host, the IoT device can obtain DNS search list through 199 IPv6 Router Advertisement (RA) with DNS Search List (DNSSL) Option 200 [RFC4861][RFC8106] or DHCPv6 with Domain Search List Option 201 [RFC3315][RFC3736][RFC3646]. 203 The IoT device can construct its DNS name with the concatenation of 204 manufacturer ID, model ID, and domain name. Since there exist more 205 than one device with the same model, the DNS name should have a 206 unique identification (e.g., unique ID or serial ID) to differentiate 207 multiple devices with the same model. 209 Since both RA and DHCPv6 can be simultaneously used for the parameter 210 configuration for IPv6 hosts, this document considers the DNS name 211 autoconfiguration in the coexistence of RA and DHCP. 213 5. DNS Name Autoconfiguration 215 The DNS name autoconfiguration for an IoT device needs the 216 acquisition of DNS search list through either RA [RFC8106] or DHCPv6 217 [RFC3646]. Once the DNS search list is obtained, the IoT device 218 autonomously constructs its DNS name(s) with the DNS search list and 219 its device information. 221 5.1. DNS Name Format with Object Identifier 223 A DNS name for an IoT device can have the following format with 224 object identifier (OID), which is defined in [oneM2M-OID], as in 225 Figure 1: 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 | unique_id.object_identifier.OID.domain_name | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 Figure 1: IoT Device DNS Name Format with OID 233 Fields: 235 unique_id unique identifier to guarantee the uniqueness 236 of the DNS name in ASCII characters. The 237 identifier MAY be alphanumeric with readability, 238 e.g., product name plus a sequence number. 240 object_identifier device's object identifier that consists of a 241 higher arc, that is, M2M node indication ID ( 242 i.e., the concatenation of the managing 243 organization, administration, data country 244 code, and M2M node) and a sequence of four 245 arcs (i.e., manufacturer ID, model ID, serial 246 ID, and expanded ID) as defined in 247 [oneM2M-OID]. The fields are seperated by an 248 underscore '_'. 250 OID subdomain for the keyword of OID to indicate 251 that object_identifier is used. 253 domain_name domain name that represents a DNS domain for 254 the network having the IoT devices. 256 Note each subdomain (i.e., unique_id, object_identifier, OID, and 257 domain_name) in the domain name format in Figure 1 is expressed using 258 the name syntax described in [RFC1035]. 260 5.2. Procedure of DNS Name Autoconfiguration 262 The procedure of DNS name autoconfiguration is performed through a 263 DNSSL option delivered by either RA [RFC8106] or DHCPv6 [RFC3646]. 265 5.2.1. DNS Name Generation 267 When as an IPv6 host a device receives a DNSSL option through either 268 RA or DHCPv6, it checks the validity of the DNSSL option. If the 269 option is valid, the IPv6 host performs the DNS name 270 autoconfiguration with each DNS suffix domain name in the DNSSL 271 option as follows: 273 1. The host constructs its DNS name with the DNS suffix domain name 274 along with device configuration (i.e., manufacturer ID, model ID, 275 and serial ID) and a selected identifier (as unique_id) that is 276 considered unique, which is human-friendly, as shown in Figure 1. 278 2. The host constructs an IPv6 unicast address as a tentative 279 address with a 64-bit network prefix and the last 64 bits of the 280 MD5 hashed value of the above DNS name. 282 3. The host constructs the solicited-node multicast address in 283 [RFC4861] corresponding to the tentative IPv6 address. 285 4. The host performs Duplicate Address Detection (DAD) for the IPv6 286 address with the solicited-node multicast address [RFC4861] 287 [RFC4862]. 289 5. If there is no response from the DAD, the host sets the IPv6 290 tentative address as its IPv6 unicast address and regards the 291 constructed DNS name as unique on the local link. Otherwise, 292 since the DAD fails because of DNS name conflict, go to Step 1 293 for a new DNS name generation with another identifier for 294 unique_id. 296 6. Since the DNS name is proven to be unique, it is used as the 297 device's DNS name and the DNS autoconfiguration is done for the 298 given DNS suffix domain name. Also, the host joins the 299 solicited-node multicast address for the verified DNS name in 300 order to prevent other hosts from using this DNS name. 302 When the DNS search list has more than one DNS suffix domain name, 303 the IPv6 host repeats the above procedure until all of the DNS 304 suffixes are used for the DNS name autoconfiguration along with the 305 IPv6 unicast autoconfiguration corresponding to the DNS name. 307 5.2.2. DNS Name Collection 309 Once as IPv6 hosts the devices have autoconfigured their DNS names, 310 as a collector, any IPv6 node (i.e., router or host) in the same 311 subnet can collect the device DNS names using IPv6 Node Information 312 (NI) protocol [RFC4620]. 314 For a collector to collect the device DNS names without any prior 315 node information, a new NI query needs to be defined. That is, a new 316 ICMPv6 Code (e.g., 3) SHOULD be defined for the collection of the 317 IPv6 host DNS names. The Data field is not included in the ICMPv6 318 header since the NI query is for all the IPv6 hosts in the same 319 subnet. The Qtype field for NI type is set to 2 for Node Name. 321 The query SHOULD be transmitted by the collector to a link-local 322 multicast address for this NI query. Assume that a link-local scope 323 multicast address (e.g., all-nodes multicast address, FF02::1) SHOULD 324 be defined for device DNS name collection such that all the IPv6 325 hosts join this link-local multicast address for the device DNS name 326 collection service. 328 When an IPv6 host receives this query sent by the collector in 329 multicast, it transmits its Reply with its DNS name with a random 330 interval between zero and Query Response Interval, as defined by 331 Multicast Listener Discovery Version 2 [RFC3810]. This randomly 332 delayed Reply allows the collector to collect the device DNS names 333 with less frame collision probability by spreading out the Reply time 334 instants. 336 After the collector collects the device DNS names, it resolves the 337 DNS names into the corresponding IPv6 addresses by NI protocol 338 [RFC4620] with the ICMPv6 Code 1 of NI Query. This code indicates 339 that the Data field of the NI Query has the DNS name of an IoT 340 device. The IoT device that receives this NI query sends the 341 collector an NI Reply with its IPv6 address in the Data field. 343 For DNS name resolution service, the collector can register the 344 pair(s) of DNS name and IPv6 address for each IPv6 host into an 345 appropriate designated DNS server for the DNS domain suffix of the 346 DNS name. It is assumed that the collector is configured to register 347 DNS names into the designated DNS server in a secure way based on 348 DNSSEC [RFC4033][RFC6840]. This registration of the DNS name and 349 IPv6 address can be performed by DNS dynamic update [RFC2136]. 350 Before registering the DNS name into the designated DNS server, the 351 collector SHOULD verify the uniqueness of the DNS name in the 352 intended DNS domain by sending a DNS query for the resolution of the 353 DNS name. If there is no corresponding IPv6 address for the queried 354 DNS name, the collector registers the DNS name and the corresponding 355 IPv6 address for each IPv6 host into the designated DNS server. On 356 the other hand, if there is such a corresponding IPv6 address, the 357 DNS name is regarded as duplicate (i.e., not unique), and so the 358 corresponder notifies the corresponding IoT device with the duplicate 359 DNS name of an error message of DNS name duplication using NI 360 protocol. When an IoT device receives such a DNS name duplication 361 error, it needs to construct a new DNS name and repeats the procedure 362 of device DNS name generation along with the uniqueness test of the 363 device DNS name in its subnet. 365 The two separate procedures of the DNS name collection and IPv6 366 address resolution in the above NI protocol can be consolidated into 367 a single collection for the pairs of DNS names and the corresponding 368 IPv6 addresses. For such an optimization, a new ICMPv6 Code (e.g., 369 4) is defined for the NI Query to query the pair of a DNS name and 370 the corresponding IPv6 address. With this code, the collector can 371 collect the pairs of each IoT device's DNS name and IPv6 address in 372 one NI query message rather than two NI query messages. 374 For DNS name collection for IoT devices as IPv6 hosts, DHCPv6 375 [RFC3315] can be used instead of the NI protocol. For this purpose, 376 a new DHCP option (called DNSNA option) needs to be defined to 377 collect the pair of a DNS name and the corresponding IPv6 address of 378 an IoT device. As a DNS information collector, a DHCPv6 server (or a 379 router running a DHCPv6 server) sends a request message for the DHCP 380 DNSNA option to IoT devices as its DHCPv6 clients under its address 381 pool. The clients respond to this request message by sending the 382 DHCPv6 server a reply message with their DNS information. Thus, the 383 DHCPv6 server can collect the pairs of DNS names and the 384 corresponding IPv6 addresses of the IoT devices. Then, as a 385 collector, the DHCPv6 server can register the DNS names and the 386 corresponding IPv6 addresses of IoT devices into the designated DNS 387 server. 389 5.2.3. DNS Name Retrieval 391 A smart device like smartphone can retrieve the DNS names of IoT 392 devices by contacting a global (or local) DNS server having the IoT 393 device DNS names. If the smart device can retrieve the zone file 394 with the DNS names, it can display the information of IoT devices in 395 a target network, such as home network and office network. With this 396 information, the user can monitor and control the IoT devices in the 397 Internet (or local network). To monitor or remote-control IoT 398 devices, Constrained Application Protocol (CoAP) can be used 399 [RFC7252]. 401 6. Location-Aware DNS Name Configuration 403 If the DNS name of an IoT device includes location information, it 404 allows users to easily identify the physical location of each device. 405 This document proposes the representation of a location in a DNS 406 name. In this document, the location in a DNS name consists of two 407 levels for a detailed location specification, such as macro-location 408 for a large area and micro-location for a small area. 410 To denote both macro-location (i.e., mac_loc) and micro-location 411 (i.e., mic_loc) into a DNS name, the following format is described as 412 in Figure 2: 414 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 415 | unique_id.object_identifier.OID.mic_loc.mac_loc.LOC.domain_name | 416 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 418 Figure 2: Location-Aware Device DNS Name Format 420 Fields: 422 unique_id unique identifier to guarantee the uniqueness 423 of the DNS name in ASCII characters. The 424 identifier MAY be alphanumeric with readability, 425 such as product name plus a sequence number. 427 object_identifier device's object identifier that consists of a 428 higher arc, that is, M2M node indication ID ( 429 i.e., the concatenation of the managing 430 organization, administration, data country 431 code, and M2M node) and a sequence of four 432 arcs (i.e., manufacturer ID, model ID, serial 433 ID, and expanded ID) as defined in 434 [oneM2M-OID]. The fields are seperated by an 435 underscore '_'. 437 OID subdomain for the keyword of OID to indicate 438 that object_identifier is used. 440 mic_loc device's micro-location, such as center, edge, 441 and corner. 443 mac_loc device's macro-location, such as road segment. 445 LOC subdomain for the keyword of LOC to indicate 446 that mac_loc and mic_loc are used. 448 domain_name domain name that represents a DNS domain for 449 the network having the IoT devices. 451 Note each subdomain (e.g., mic_loc and mac_loc) in the domain name 452 format in Figure 2 is expressed using the name syntax described in 453 [RFC1035]. 455 7. Macro-Location-Aware DNS Name 457 If location information (such as cross area, intersection, and road 458 segment in a road network) is available to an IoT device, a keyword, 459 coordinate, or location ID for the location information can be used 460 to construct a DNS name as subdomain name. This location information 461 lets users track the position of mobile devices (such as vehicle, 462 smartphone, and tablet). The physical location of the device is 463 defined as macro-location for DNS naming. 465 A subdomain name for macro-location (denoted as mac_loc) MAY be 466 placed between micro-location (denoted as mic_loc) and the keyword 467 LOC of the DNS name format in Figure 2. For the localization of 468 macro-location, a localization scheme for indoor or outdoor can be 469 used [SALA]. 471 8. Micro-Location-Aware DNS Name 473 An IoT device can be located in the center or edge in a place that is 474 specified by macro-location. For example, assume that a loop- 475 detector is located in the start or end position of a road segment. 476 If the DNS name for the loop-detector contains the start or end 477 position of the road segment, a road network administrator can find 478 it easily. In this document, for this DNS naming, the detailed 479 location for an IoT device can be specified as a micro-location 480 subdomain name. 482 A subdomain name for micro-location (denoted as mic_loc) MAY be 483 placed between the keyword OID and macro-location (denoted as 484 mac_loc) of the DNS name format in Figure 2. For the localization of 485 micro-location, a localization scheme for indoor or outdoor can be 486 used [SALA]. 488 9. DNS Name Management for Mobile IoT Devices 490 Some IoT devices can have mobility, such as vehicle, smartphone, 491 tablet, laptop computer, and cleaning robot. This mobility allows 492 the IoT devices to move from a subnet to another subnet where subnets 493 can have different domain suffixes, such as 494 coordinate.road_segment.road, coordinate.intersection.road, 495 living_room.home and garage.home. The DNS name change (or addition) 496 due to the mobility should be considered. 498 To deal with DNS name management in mobile environments, whenever an 499 IoT device enters a new subnet and receives DNS suffix domain names, 500 it generates its new DNS names and registers them into a designated 501 DNS server, specified by RDNSS option. 503 When the IoT device recognizes the movement to another subnet, it can 504 delete its previous DNS name(s) from the DNS server having the DNS 505 name(s), using DNS dynamic update [RFC2136]. For at least one DNS 506 name to remain in a DNS server for the location management in Mobile 507 IPv6 [RFC6275], the IoT device does not delete its default DNS name 508 in its home network in Mobile IPv6. 510 10. Service Discovery for IoT Devices 512 DNS SRV resource record (RR) can be used to support the service 513 discovery of the services provided by IoT devices [RFC2782]. This 514 SRV RR specifies a service name, a transport layer protocol, the 515 corresponding port number, and an IP address of a process running in 516 an IP host as a server to provide a service. An instance for a 517 service can be specified in this SRV RR in DNS-based service 518 discovery [RFC6763]. After the DNS name registration in Section 5.2, 519 IoT devices can register their services in the DNS server via a 520 router with DNS SRV RRs for their services. 522 After the service registration, an IoT user can retrieve services 523 available in his/her target network through service discovery, which 524 can fetch the SRV RRs from the DNS server in the target network. 525 Once (s)he retrieves the list of the SRV RRs, (s)he can monitor or 526 remote-control the devices or their services by using the known 527 protocols and domain information of the devices or their services. 528 For this monitoring or remote-controlling of IoT devices, Constrained 529 Application Protocol (CoAP) can be used [RFC7252]. 531 11. Security Considerations 533 This document shares all the security issues of the NI protocol that 534 are specified in the "Security Considerations" section of [RFC4620]. 536 To prevent the disclosure of location information for privacy 537 concern, the subdomains related to location can be encrypted by a 538 shared key or public-and-private keys. For example, a DNS name of 539 vehicle1.oid1.OID.coordinate1.road_segment_id1.LOC.road can be 540 represented as vehicle1.oid1.OID.xxx.yyy.LOC.road where vehicle1 is 541 unique ID, oid1 is object ID, xxx is a string of the encrypted 542 representation of the coordinate (denoted as coordinate1) in a road 543 segment, and yyy is a string of the encrypted representation of the 544 road segment ID (denoted as road_segment_id1). Thus, the location of 545 the vehicle1 can be protected from unwanted users by encryption. 547 12. Acknowledgments 549 This work was supported by Basic Science Research Program through the 550 National Research Foundation of Korea (NRF) funded by the Ministry of 551 Education (2017R1D1A1B03035885). 553 This work was supported in part by Global Research Laboratory Program 554 through the NRF funded by the Ministry of Science and ICT (MSIT) 555 (NRF-2013K1A1A2A02078326) and by the DGIST R&D Program of the MSIT 556 (18-EE-01). 558 13. Contributors 560 This document is the group work of IPWAVE working group. This 561 document has the following contributing authors considered co- 562 authors: 564 o Keuntae Lee (Sungkyunkwan University) 566 o Seokhwa Kim (Sungkyunkwan University) 568 14. References 570 14.1. Normative References 572 [RFC1035] Mockapetris, P., "Domain Names - Implementation and 573 Specification", RFC 1035, November 1987. 575 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 576 Requirement Levels", BCP 14, RFC 2119, March 1997. 578 [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins, 579 C., and M. Carney, "Dynamic Host Configuration Protocol 580 for IPv6 (DHCPv6)", RFC 3315, July 2003. 582 [RFC3646] Droms, R., Ed., "DNS Configuration options for Dynamic 583 Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, 584 December 2003. 586 [RFC3736] Droms, R., "Stateless Dynamic Host Configuration Protocol 587 (DHCP) Service for IPv6", RFC 3736, April 2004. 589 [RFC4033] Arends, R., Ed., Austein, R., Larson, M., Massey, D., and 590 S. Rose, "DNS Security Introduction and Requirements", 591 RFC 4033, March 2005. 593 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 594 "Neighbor Discovery for IP Version 6 (IPv6)", RFC 4861, 595 September 2007. 597 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 598 Address Autoconfiguration", RFC 4862, September 2007. 600 [RFC6840] Weiler, S., Ed. and D. Blacka, Ed., "Clarifications and 601 Implementation Notes for DNS Security (DNSSEC)", RFC 6840, 602 February 2013. 604 [RFC8106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, 605 "IPv6 Router Advertisement Options for DNS Configuration", 606 RFC 8106, March 2017. 608 14.2. Informative References 610 [DSRC-WAVE] 611 Morgan, Y., "Notes on DSRC & WAVE Standards Suite: Its 612 Architecture, Design, and Characteristics", 613 IEEE Communications Surveys & Tutorials, 12(4), 2012. 615 [IEEE-802.11] 616 IEEE Std 802.11, "Part 11: Wireless LAN Medium Access 617 Control (MAC) and Physical Layer (PHY) Specifications", 618 March 2012. 620 [IEEE-802.11-OCB] 621 IEEE 802.11 Working Group, "Part 11: Wireless LAN Medium 622 Access Control (MAC) and Physical Layer (PHY) 623 Specifications", IEEE Std 802.11-2012, February 2012. 625 [IEEE-802.11a] 626 IEEE Std 802.11a, "Part 11: Wireless LAN Medium Access 627 Control (MAC) and Physical Layer (PHY) specifications - 628 High-speed Physical Layer in the 5 GHZ Band", September 629 1999. 631 [IEEE-802.11b] 632 IEEE Std 802.11b, "Part 11: Wireless LAN Medium Access 633 Control (MAC) and Physical Layer (PHY) specifications - 634 Higher-Speed Physical Layer Extension in the 2.4 GHz 635 Band", September 1999. 637 [IEEE-802.11g] 638 IEEE P802.11g/D8.2, "Part 11: Wireless LAN Medium Access 639 Control (MAC) and Physical Layer (PHY) specifications - 640 Further Higher Data Rate Extension in the 2.4 GHz Band", 641 April 2003. 643 [IEEE-802.11n] 644 IEEE P802.11n/D9.0, "Part 11: Wireless LAN Medium Access 645 Control (MAC) and Physical Layer (PHY) specifications - 646 Amendment 5: Enhancements for Higher Throughput", March 647 2009. 649 [IEEE-802.11p] 650 IEEE Std 802.11p, "Part 11: Wireless LAN Medium Access 651 Control (MAC) and Physical Layer (PHY) Specifications - 652 Amendment 6: Wireless Access in Vehicular Environments", 653 July 2010. 655 [IEEE-802.15.1] 656 IEEE Std 802.15.1, "Part 15.1: Wireless Medium Access 657 Control (MAC) and Physical Layer (PHY) specifications for 658 Wireless Personal Area Networks (WPANs)", June 2005. 660 [IEEE-802.15.4] 661 IEEE Std 802.15.4, "Part 15.4: Low-Rate Wireless Personal 662 Area Networks (LR-WPANs)", September 2011. 664 [IEEE-802.3] 665 IEEE Std 802.3, "IEEE Standard for Ethernet", December 666 2012. 668 [oneM2M-OID] 669 oneM2M, "Object Identifier based M2M Device Identification 670 Scheme", February 2014. 672 [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, 673 "Dynamic Updates in the Domain Name System (DNS UPDATE)", 674 RFC 2136, April 1997. 676 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for 677 specifying the location of services (DNS SRV)", RFC 2782, 678 February 2000. 680 [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery 681 Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. 683 [RFC4620] Crawford, M. and B. Haberman, Ed., "IPv6 Node Information 684 Queries", RFC 4620, August 2006. 686 [RFC6275] Perkins, C., Ed., Johnson, D., and J. Arkko, "Mobility 687 Support in IPv6", RFC 6275, July 2011. 689 [RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, 690 February 2013. 692 [RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service 693 Discovery", RFC 6763, February 2013. 695 [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained 696 Application Protocol (CoAP)", RFC 7252, June 2014. 698 [SALA] Jeong, J., Yeon, S., Kim, T., Lee, H., Kim, S., and S. 699 Kim, "SALA: Smartphone-Assisted Localization Algorithm for 700 Positioning Indoor IoT Devices", Springer Wireless 701 Networks, Vol. 24, No. 1, January 2018. 703 Authors' Addresses 704 Jaehoon Paul Jeong 705 Department of Software 706 Sungkyunkwan University 707 2066 Seobu-Ro, Jangan-Gu 708 Suwon, Gyeonggi-Do 16419 709 Republic of Korea 711 Phone: +82 31 299 4957 712 Fax: +82 31 290 7996 713 EMail: pauljeong@skku.edu 714 URI: http://iotlab.skku.edu/people-jaehoon-jeong.php 716 Sejun Lee 717 Ericsson-LG 718 77, Heungan-Daero 81 Beon-Gil, Dongan-Gu 719 Anyang-Si, Gyeonggi-Do 14117 720 Republic of Korea 722 Phone: +82 31 450 4099 723 EMail: prosejun14@gmail.com 725 Jung-Soo Park 726 Electronics and Telecommunications Research Institute 727 218 Gajeong-Ro, Yuseong-Gu 728 Daejeon 34129 729 Republic of Korea 731 Phone: +82 42 860 6514 732 EMail: pjs@etri.re.kr