<?xml version="1.0" encoding="US-ASCII"?>
<!-- <?xml version="1.0" encoding="UTF-8"?> -->
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private)
-->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" category="std" docName="draft-jeong-ipwave-iot-dns-autoconf-10">

<front>
    <title abbrev="DNSNA for IoT Devices">
         DNS Name Autoconfiguration for Internet-of-Things Devices in IP-Based Vehicular Networks
    </title>
        
    <!-- <author role='editor' initials="J." surname="Jeong" fullname="Jaehoon Paul Jeong"> -->
	<author initials="J." surname="Jeong" fullname="Jaehoon Paul Jeong">
        <organization abbrev="Sungkyunkwan University">
           Department of Computer Science and Engineering
        </organization>

        <address>
            <postal>
                <street>Sungkyunkwan University</street>
                <street>2066 Seobu-Ro, Jangan-Gu</street>
                <city>Suwon</city> <region>Gyeonggi-Do</region>
                <code>16419</code>
                <country>Republic of Korea</country>
            </postal>
            <phone>+82 31 299 4957</phone>
            <facsimile>+82 31 290 7996</facsimile>
            <email>pauljeong@skku.edu</email>
            <uri>http://iotlab.skku.edu/people-jaehoon-jeong.php</uri>
        </address>
    </author>
  
	<author initials="S." surname="Lee" fullname="Sejun Lee">
        <organization abbrev="Ericsson-LG">
	Ericsson-LG
	</organization>

        <address>
            <postal>
                <street>77, Heungan-Daero 81 Beon-Gil, Dongan-Gu</street>
                <city>Anyang-Si</city> <region>Gyeonggi-Do</region>
                <code>14117</code>
                <country>Republic of Korea</country>
            </postal>
            <phone>+82 31 450 4099</phone>
            <email>prosejun14@gmail.com</email>
        </address>
    </author>


	<author initials="J." surname="Park" fullname="Jung-Soo Park">
        <organization abbrev="ETRI">
            Electronics and Telecommunications Research Institute
        </organization>

        <address>
            <postal>
                <street>218 Gajeong-Ro, Yuseong-Gu</street>
                <city>Daejeon</city> <region></region>
                <code>34129</code>
                <country>Republic of Korea</country>
            </postal>
            <phone>+82 42 860 6514</phone>
            <email>pjs@etri.re.kr</email>
        </address>
    </author>
    

    <date month="February" day="21" year="2021" />

    <area>Internet</area>

    <workgroup>IPWAVE Working Group</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in
the title) for use on http://www.rfc-editor.org/rfcsearch.html. -->

<keyword>Internet-Draft</keyword>       

    <abstract>
        <t>
		This document specifies an autoconfiguration scheme for device
		discovery and service discovery in IP-based vehicular networks.
		Through the device discovery, this document supports the global (or local) DNS naming of Internet-of-Things (IoT) devices, 
		such as sensors, actuators, and in-vehicle units. 
		By this scheme, the DNS name of an IoT device can be autoconfigured 
		with the device's model information in wired and wireless target networks 
		(e.g., vehicle, road network, home, office, shopping mall, and smart grid). 
		Through the service discovery, IoT users (e.g., drivers, passengers, home residents, 
		and customers) in the Internet (or local network) can easily identify each device for 
		monitoring and remote-controlling it in a target network.
        </t>
    </abstract>
</front>

<middle>

<!--
(such as )
-->

<section anchor="section:Introduction" title="Introduction"> 
    <t>
	Many Internet-of-Things (IoT) devices (e.g., sensors, actuators, and in-vehicle units) have begun to have wireless communication 
	capability (e.g., WiFi, Bluetooth, and ZigBee) for monitoring and remote-controlling in a local network
	or the Internet.
	According to the capacity, such IoT devices can be categorized into high-capacity devices and low-capacity devices.
	High-capacity devices have a high-power processor and a large storage, such as vehicles, 
	road infrastructure devices (e.g., road-side unit, traffic light, and loop-detector), 
	appliances (e.g., television, refrigerator, air conditioner, and washing machine), and 
	smart devices (smartphone and tablet).
	They are placed in environments (e.g., vehicle, road network, home, office, shopping mall,
	and smart grid) for the direct use for human users, and they require the interaction with
 	human users. Low-capacity devices have a low-power processor and a small storage, such as
 	sensors (e.g., in-vehicle units, light sensor, meter, and fire detector) and actuators (e.g., vehicle engine, signal light, street light, and room temperature controller). 
	They are installed for the easy management of environments (e.g., vehicle, road network, 
	home, office, store, and factory), and they do not require the interaction with human 
	users.
	</t>

	<t>
	For the Internet connectivity of IoT devices, 
	a variety of parameters (e.g., address prefixes, default routers, and DNS servers)
	can be automatically configured by Neighbor Discovery (ND) for IP Version 6,  
	IPv6 Stateless Address Autoconfiguration, and IPv6 Router Advertisement (RA) Options 
	for DNS Configuration <xref target="RFC4861" /><xref target="RFC4862" />
	<xref target="RFC8106" />.
    </t>

    <t>
	For these IoT devices, the manual configuration of DNS names will be
	cumbersome and time-consuming as the number of them increases rapidly in a network.
	It will be good for such DNS names to be automatically configured such that they are
	readable to human users.
	</t>

	<t>
	Multicast DNS (mDNS) in <xref target="RFC6762" /> can provide DNS service
	for networked devices on a local link (e.g., home network and office network)
	without any conventional recursive DNS server. mDNS also supports the
	autoconfiguration of a device's DNS name without the intervention of the user.
	mDNS aims at the DNS naming service for the local DNS names of the
	networked devices on the local link rather than the DNS naming service for the
	global DNS names of such devices in the Internet. However, for IoT devices
	accessible from the Internet, mDNS cannot be used. Thus, a new
	autoconfiguration scheme becomes required for the global DNS names of IoT
	devices.
	</t>

	<t>
	This document proposes an autoconfiguration scheme for the global (or local) DNS names 
	of IoT devices in IP-based vehicular networks. Since an autoconfigured DNS name contains the model identifier (ID) 
	of a device, IoT users in the Internet (or local network) can easily identify such a device. The autoconfigured DNS names and 
    the corresponding IP addresses of the IoT devices are registered with local or remote authoritative DNS servers that manage the DNS suffixes of  the DNS domain names.
	With these DNS names, they will be able to monitor and remote-control 
	their IoT devices with their smart devices (e.g., smartphone and tablet PC) by resolving their DNS names into the corresponding IP addresses.
	</t>

	<t>
 	For cloud-based DNS naming services of IoT devices, a cloud server can collect DNS zone files having the global DNS names and IP addresses of the IoT devices from multiple DNS servers and provide IoT users with such global DNS names of IoT devices relevant to the IoT users. These IoT users can monitor and remote-control their IoT devices in the Internet with the global DNS names and IP addresses, using their smart devices.
	</t>

    <section anchor="section:Applicability-Statements" title="Applicability Statements">
		<t>
	    It is assumed that IoT devices have networking capability through wired or 
		wireless communication media, such as Ethernet <xref target="IEEE-802.3" />, 
		WiFi <xref target="IEEE-802.11" /><xref target="IEEE-802.11a" /><xref target="IEEE-802.11b" /><xref target="IEEE-802.11g" />
		<xref target="IEEE-802.11n" />, 
		Dedicated Short-Range Communications (DSRC) <xref target="DSRC-WAVE" /><xref target="IEEE-802.11p" />,
		Bluetooth <xref target="IEEE-802.15.1" />, and
		ZigBee <xref target="IEEE-802.15.4" />
		in a local area network (LAN) or personal area network (PAN).
		Note that IEEE 802.11p was renamed IEEE 802.11 Outside the Context of a Basic Service Set <xref target="IEEE-802.11-OCB" /> in 2012.
		IPv6 packet delivery over an IEEE 802.11-OCB link is defined in <xref target="RFC8691" />.	
		</t>

		<t>
		Also, it is assumed that each IoT device has a factory configuration (called
		device configuration) having device model information by manufacturer ID and model ID
		 (e.g., vehicle, road-side unit, smart TV, smartphone, tablet, and 
		refrigerator). This device configuration can be read by the 
		device for DNS name autoconfiguration.
		</t>
    </section>
</section>

<section title="Requirements Language">
    <t>
	The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    document are to be interpreted as described in RFC 2119 <xref target="RFC2119" />.
    </t>
</section>

<section anchor="section:Terminology" title="Terminology">
    <t>
	This document uses the terminology described in <xref target="RFC4861" /> and <xref target="RFC4862" />.
    In addition, four new terms are defined below:
    </t>
    
    <t>
    <list style="symbols"> 
        <t>
		Device Configuration: A factory configuration that has device 
		model information by manufacturer ID and model ID (e.g., vehicle, road-side unit, smart TV, smartphone, tablet, and refrigerator).
        </t>

        <t>
		DNS Search List (DNSSL): The list of DNS suffix domain names used by IPv6 hosts 
		when they perform DNS query searches for short, unqualified domain names
		<xref target="RFC8106" />.
        </t>

        <t>
		DNSSL Option: IPv6 RA option to deliver the DNSSL information to IPv6 hosts
		<xref target="RFC8106" />.
        </t>
  
    </list>
    </t>
</section>

<section anchor="section:Overview" title="Overview">
	<t>
	This document specifies an autoconfiguration scheme for an IoT device using
	device configuration and DNS search list.
	Device configuration has device model information (e.g., device's manufacturer and model). DNS search list has
	DNS suffix domain names that represent the DNS domains of a network having
	the IoT device <xref target="RFC8106" />.
	</t>

	<t>
	As an IPv6 host, the IoT device can obtain DNS search list through
	IPv6 Router Advertisement (RA) with DNS Search List (DNSSL) Option <xref target="RFC4861" /><xref target="RFC8106" /> 
	or DHCPv6 with Domain Search List Option <xref target="RFC3315" /><xref target="RFC3736" /><xref target="RFC3646" />.
	</t>

    <t>
	The IoT device can construct its DNS name with the concatenation of
	manufacturer ID, model ID, and domain name. Since there exist more than one
	device with the same model, the DNS name should have a unique identification (e.g., unique ID or serial ID) to differentiate multiple devices with the same model.
    </t>

	<t>
	Since both RA and DHCPv6 can be simultaneously used for the parameter configuration 
	for IPv6 hosts, this document considers the DNS name autoconfiguration in the 
	coexistence of RA and DHCP.
    </t> 
</section>

<section anchor="section:DNSNA" title="DNS Name Autoconfiguration">
    <t>
	The DNS name autoconfiguration for an IoT device needs the acquisition of
	DNS search list through either RA <xref target="RFC8106" /> or DHCPv6 <xref target="RFC3646" />.
	Once the DNS search list is obtained, the IoT device autonomously 
	constructs its DNS name(s) with the DNS search list and its device information.
    </t>

	<section anchor="subsection:DNSNA-Name-Format" title="DNS Name Format with Object Identifier">
		<t>
		A DNS name for an IoT device can have the following format with object identifier (OID), which is defined in <xref target="oneM2M-OID" />, as in
		<xref target="fig:dns-name-format-with-oid" />:
		</t>


        <figure anchor="fig:dns-name-format-with-oid" title="IoT Device DNS Name Format with OID">
            <artwork><![CDATA[
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |   unique_id.object_identifier.OID.domain_name   | 
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            ]]></artwork>
        </figure>

		
    <t>Fields:</t>
	<figure>
           <artwork><![CDATA[
  unique_id          unique identifier to guarantee the uniqueness 
                     of the DNS name in ASCII characters.  The 
                     identifier MAY be alphanumeric with readability, 
                     e.g., product name plus a sequence number.

  object_identifier  device's object identifier that consists of a 
                     higher arc, that is, M2M node indication ID 
                     (i.e., the concatenation of the managing 
                     organization, administration, data country 
                     code, and M2M node) and a sequence of four 
                     arcs (i.e., manufacturer ID, model ID, serial 
                     ID, and expanded ID) as defined in 
                     [oneM2M-OID]. The fields are separated by an
                     underscore '_'.

  OID                subdomain for the keyword of OID to indicate 
                     that object_identifier is used.

  domain_name        domain name that represents a DNS domain for
                     the network having the IoT devices. 
            ]]></artwork>
    </figure>

	<t>
	Note each subdomain (i.e., unique_id, object_identifier, OID, and domain_name) 
	in the domain name format in <xref target="fig:dns-name-format-with-oid" /> is 
	expressed using the name syntax described in <xref target="RFC1035" />.
	</t>

    </section>


	<section anchor="subsection:DNSNA-Procedure" title="Procedure of DNS Name Autoconfiguration">
		<t>
		The procedure of DNS name autoconfiguration is performed through a
		DNSSL option	delivered by either RA <xref target="RFC8106" /> or
		DHCPv6 <xref target="RFC3646" />.
		</t>

		<section anchor="subsubsection:DNS-Name-Generation" title="DNS Name Generation">
			<t>
			When as an IPv6 host a device receives a DNSSL option
			through either RA or DHCPv6, it checks the validity of the
			DNSSL option. If the option is valid, the IPv6 host performs the
			DNS name autoconfiguration with each DNS suffix	domain name
			in the DNSSL option as follows:
			</t>

			<t>
				<list style="numbers">
					<t>
					The host constructs its DNS name with the DNS
					suffix domain name along with device configuration
					(i.e., manufacturer ID, model ID, and serial ID)
					and a selected identifier (as unique_id) that is
					considered unique, which is human-friendly, as shown in <xref target="fig:dns-name-format-with-oid" />.
					</t>

					<t>
					The host constructs an IPv6 unicast address as a tentative 
					address with a 64-bit network prefix and the last 64 
					bits of the MD5 hashed value of the above DNS name.
					</t>

					<t>
					The host constructs the solicited-node multicast address in
					<xref target="RFC4861" /> corresponding to the tentative 
					IPv6 address.
					</t>

					<t>
					The host performs Duplicate Address Detection (DAD) for the
					IPv6 address with the solicited-node multicast address <xref target="RFC4861" /> 
					<xref target="RFC4862" />. 
					<!--See Section 5.2.2 for the detailed test procedure.-->
					</t>

					<t>
					If there is no response from the DAD, the host sets the 
					IPv6 tentative address as its IPv6 unicast address and 
					regards the constructed DNS name as unique on the local 
					link.
					Otherwise, since the DAD fails because of DNS name
					conflict, go to Step 1 for a new DNS name generation 
					with another identifier for unique_id.
					</t>

					<t>
					Since the DNS name is proven to be unique, it is used
					as the device's DNS name and the DNS autoconfiguration 
					is done for the given DNS suffix domain name. Also, the 
					host joins the solicited-node multicast address for the 
					verified DNS name in order to prevent other hosts from 
					using this DNS name. 
					</t>
				</list>
			</t>
			
			<t>
			When the DNS search list has more than one DNS suffix domain
			name, the IPv6 host repeats the above procedure until all of the
			DNS suffixes are used for the DNS name autoconfiguration along 
			with the IPv6 unicast autoconfiguration corresponding to the DNS
			name.
			</t>
		</section>

		<section anchor="subsubsection:DNS-Name-Registration" title="DNS Name Registration">
            <t>
			Once as IPv6 hosts the devices have autoconfigured their DNS names, as a collector,
			any IPv6 node (i.e., router or host) in the same subnet can collect the device DNS names
			using IPv6 Node Information (NI) protocol <xref target="RFC4620" />.
			</t>
	
			<t>
			For a collector to collect the device DNS names without any prior node information, a
			new NI query needs to be defined.  That is, a new ICMPv6 Code (e.g.,
			3) SHOULD be defined for the collection of the IPv6 host DNS names.
			The Data field is not included in the ICMPv6 header since the NI
			query is for all the IPv6 hosts in the same subnet.  The Qtype field
			for NI type is set to 2 for Node Name.
			</t>

			<t>
			The query SHOULD be transmitted by the collector to a link-local multicast address for
			this NI query.  Assume that a link-local scope multicast address (e.g., all-nodes multicast address,
			FF02::1) SHOULD be defined for device DNS name collection such that all the IPv6 hosts join 
			this link-local multicast address for the device DNS name collection service.
			</t>

			<t>
			When an IPv6 host receives this query sent by the collector in multicast, it transmits its
			Reply with its DNS name with a random interval between zero and Query Response
			Interval, as defined by Multicast Listener Discovery Version
			2 <xref target="RFC3810" />.  This randomly delayed Reply allows the collector
			to collect the device DNS names with less frame collision probability
			by spreading out the Reply time instants.
			</t>

			<t>
			After the collector collects the device DNS names, it resolves the DNS names into
			the corresponding IPv6 addresses by NI protocol <xref target="RFC4620" /> 
			with the ICMPv6 Code 1 of NI Query. This code indicates that the Data field of the 
			NI Query has the DNS name of an IoT device. The IoT device that receives this NI query
			sends the collector an NI Reply with its IPv6 address in the Data field.
			</t>

			<t>
			For DNS name resolution service, the collector can register the pair(s) of DNS name and 
			IPv6 address for each IPv6 host with an appropriate designated DNS server for the DNS
			domain suffix of the DNS name. It is assumed that the collector is configured to register
			DNS names with the designated DNS server in a secure way based on 
			DNSSEC <xref target="RFC4033" /><xref target="RFC6840" />.
			This registration of the DNS name and IPv6 address can be performed by
			DNS dynamic update <xref target="RFC2136" />. 
			Before registering the DNS name with the designated DNS server, the collector SHOULD 
			verify the uniqueness of the DNS name in the intended DNS domain by sending a DNS query 
			for the resolution of the DNS name. If there is no corresponding IPv6 address for 
			the queried DNS name, the collector registers the DNS name and the
			corresponding IPv6 address for each IPv6 host with the designated DNS server. 
			On the other hand, if there is such a corresponding IPv6 address, 
			the DNS name is regarded as duplicate (i.e., not unique), and so 
			the collector notifies the corresponding IoT 
			device with the duplicate DNS name of an error message of DNS name 
			duplication using NI protocol. When an IoT device receives such a 
			DNS name duplication error, it needs to construct a new DNS name and 
			repeats the procedure of device DNS name generation along with 
			the uniqueness test of the device DNS name in its subnet.
			</t>

			<t>
			The two separate procedures of the DNS name collection and IPv6 address resolution in the
			above NI protocol can be consolidated into a single collection for the pairs of DNS names 
			and the corresponding IPv6 addresses.
			For such an optimization, a new ICMPv6 Code (e.g., 4) is defined for the NI Query
			to query the pair of a DNS name and the corresponding IPv6 address. 
			With this code, the collector can collect the pairs of each IoT device's
			DNS name and IPv6 address in one NI query message rather than two NI query messages.
			</t>

			<t>
			For DNS name registration of IoT devices as IPv6 hosts, DHCPv6 <xref target="RFC3315" /> can be used instead of the NI protocol. 
			For this purpose, a new DHCP option (called DNSNA option) needs to be defined to collect the pair of a DNS name and 
			the corresponding IPv6 address of an IoT device. As a DNS information collector, a DHCPv6 server (or
			a router running a DHCPv6 server) sends a request message for the DHCP DNSNA option to IoT devices 
			as its DHCPv6 clients under its address pool. The clients respond to this request message 
			by sending the DHCPv6 server a reply message with their DNS information.
			Thus, the DHCPv6 server can collect the pairs of DNS names and the corresponding IPv6 addresses of the IoT devices.
            Then, as a collector, the DHCPv6 server can register the DNS names and the corresponding IPv6 addresses of 
			IoT devices with the designated DNS server.
			</t>
			
			<t>
		    To allow only a legitimate IoT device to register its DNS name and IPv6 address with the designated DNS server via a router (or
            DHCPv6 server), the IoT device can sign its registration message with its private key through a digital signature, and the router
            (or DHCPv6 server) can verify the message with the IoT device's public key. For the detailed authentication based on a
            digital signature, refer to <xref target="DNSNA-FGCS" />.
		    </t>
		</section>


		<section anchor="subsubsection:DNS-Name-Retrieval" title="DNS Name Retrieval">
		<t>
		For device discovery, a smart device (e.g., smartphone) can retrieve the DNS names of IoT devices by contacting a global (or local) DNS server
		having the IoT device DNS names. If the smart device can retrieve the zone file with the DNS names,
		it can display the information of IoT devices in a target network, such as a vehicle's internal network, home network, and office network.
		With this information, the user can monitor and control the IoT devices in the Internet (or local network). 
        To monitor or remote-control IoT devices, Constrained Application Protocol (CoAP) can be used <xref target="RFC7252" />.
		</t>
		</section>
    </section>
</section>

<section anchor="subsubsection:Location-Aware-DNSNA" title="Location-Aware DNS Name Configuration">
	<t>
	If the DNS name of an IoT device includes location information, it allows users to easily identify
	the physical location of each device. This document proposes the representation of a location in a DNS name. 
    In this document, the location in a DNS name consists of two levels for a detailed location specification, 
    such as macro-location for a large area and micro-location for a small area.
	</t>

	<t>
	To denote both macro-location (i.e., mac_loc) and micro-location (i.e., mic_loc)
	into a DNS name, the following format is described as in 
	<xref target="fig:location-aware-dns-name-format" />:
	</t>

        <figure anchor="fig:location-aware-dns-name-format" title="Location-Aware Device DNS Name Format">
            <artwork><![CDATA[
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | unique_id.object_identifier.OID.mic_loc.mac_loc.LOC.domain_name | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            ]]></artwork>
        </figure>

    <t>Fields:</t>
     <figure>
           <artwork><![CDATA[
  unique_id          unique identifier to guarantee the uniqueness 
                     of the DNS name in ASCII characters.  The 
                     identifier MAY be alphanumeric with readability, 
                     such as product name plus a sequence number.

  object_identifier  device's object identifier that consists of a 
                     higher arc, that is, M2M node indication ID
                     (i.e., the concatenation of the managing 
                     organization, administration, data country 
                     code, and M2M node) and a sequence of four 
                     arcs (i.e., manufacturer ID, model ID, serial 
                     ID, and expanded ID) as defined in 
                     [oneM2M-OID]. The fields are seperated by an
                     underscore '_'.

  OID                subdomain for the keyword of OID to indicate 
                     that object_identifier is used.

  mic_loc            device's micro-location, such as an offset in a 
                     road segment and coordinates in 2-dimensional
                     (or 3-dimensional) space.

  mac_loc            device's macro-location, such as a road 
                     segment and 2-dimensional (or 3-dimensional) 
                     space.

  LOC                subdomain for the keyword of LOC to indicate 
                     that mac_loc and mic_loc are used.

  domain_name        domain name that represents a DNS domain for
                     the network having the IoT devices. 
           ]]></artwork>
     </figure>

 	<t>
	Note each subdomain (e.g., mic_loc and mac_loc) in the domain name 
	format in <xref target="fig:location-aware-dns-name-format" /> is expressed 
	using the name syntax described in <xref target="RFC1035" />.
	</t>

	</section>

	<section  title="Macro-Location-Aware DNS Name">
		<t>
		If location information (such as cross area, intersection, and road segment in 
		a road network) is available to an IoT device, a keyword, coordinate, or location ID for the location information can be 
		used to construct a DNS name as subdomain name. This location information lets 
		users track the position of mobile devices (such as vehicle, smartphone, and 
		tablet).
		The physical location of the device is defined as macro-location for DNS naming.
		</t>

		<t>
		A subdomain name for macro-location (denoted as mac_loc) MAY be placed between micro-location (denoted as mic_loc) and the keyword LOC of the DNS name format in
		<xref target="fig:location-aware-dns-name-format" />.  
		For the localization of macro-location, a localization scheme for indoor or outdoor can be used <xref target="SALA" />.
	
		</t>
	</section>

	<section  title="Micro-Location-Aware DNS Name">
		<t>
		An IoT device can be located in the center or edge in a place that is 
		specified by macro-location. 
		For example, assume that a loop-detector is located in the start or end position 
		of a road segment.
		If the DNS name for the loop-detector contains the start or end position of the 
		road segment, a road network administrator can find it easily.
		In this document, for this DNS naming, the detailed location for an IoT device can be specified as a micro-location
		subdomain name.
		</t>

		<t>
		A subdomain name for micro-location (denoted as mic_loc) MAY be placed between the keyword OID and macro-location (denoted as mac_loc) of the DNS name format in 
		<xref target="fig:location-aware-dns-name-format" />.  
		For the localization of micro-location, a localization scheme for indoor or outdoor can be used <xref target="SALA" />.
		</t>

</section>

<section title="DNS Name Management for Mobile IoT Devices">
	<t>
	Some IoT devices can have mobility, such as vehicle, smartphone, tablet, laptop computer, and cleaning robot. 
    This mobility allows the IoT devices to move from a subnet to another subnet where subnets can have different 
    domain suffixes, such as coordinate.road_segment.road, coordinate.intersection.road, living_room.home and garage.home.
	The DNS name change (or addition) due to the mobility should be considered. 
	</t>

	<t>
	To deal with DNS name management in mobile environments, whenever an IoT device
	enters a new subnet and receives DNS suffix domain names, it generates its new DNS  
	names and registers them with a designated DNS server, specified by RDNSS option.
	</t>

	<t>When the IoT device recognizes the movement to another subnet, it can delete
	its previous DNS name(s) from the DNS server having the DNS name(s), using DNS 
	dynamic update <xref target="RFC2136" />. For at least one DNS name to remain
	in a DNS server for the location management in Mobile IPv6 <xref target="RFC6275" />, the IoT device 
	does not delete its default DNS name in its home network in Mobile IPv6.
	</t> 
</section>

<section anchor="section:device-discovery" title="Device Discovery for IoT Devices">
	<t>
    DNSNA can facilitate the device discovery of a user for IoT devices using a global 
	(or local) DNS server having the IoT device DNS information, as discussed in
	<xref target="subsubsection:DNS-Name-Retrieval" />. This device discovery 
	based on unicast outperforms mDNS <xref target="RFC6762" /> using multicast 
	in terms of the discovery speed and the network bandwidth usage for discovery.		
    </t>
	
	<t>
	For example, a vehicle can have its own internal network having in-vehicle devices 
	(e.g., Electronic Control Units (ECUs) such as engine control module, powertrain 
	control module, transmission control module, and brake control module).
	When the vehicle's internal network is constructed by the Ethernet, those ECUs can
	autoconfigure their DNS names with the DNSNA and register them with the vehicle's 
	local DNS server <xref target="ID-IPWAVE-PS" />. The local DNS server can register 
	them with a global DNS server accessible by the automotive service center to monitor 
	and make on-line diagnosis on them. 	
	</t>
</section>
	
<section anchor="section:service-discovery" title="Service Discovery for IoT Devices">
	<t>
	DNS SRV resource record (RR) can be used to support the service discovery of
	the services provided by IoT devices <xref target="RFC2782" />. This SRV RR specifies a service name, 
	a transport layer protocol, the corresponding port number, and an IP address
	of a process running in an IP host as a server to provide a service. An instance for a service can be 
    specified in this SRV RR in DNS-based service discovery <xref target="RFC6763" />. 
    After the DNS name registration in <xref target="subsection:DNSNA-Procedure" />, IoT devices can 
    register their services with the DNS server via a router with DNS SRV RRs for their services. 
	</t>

	<t>
	After the service registration, an IoT user can retrieve services available in his/her target network through 
    service discovery, which can fetch the SRV RRs from the DNS server in the target network. Once (s)he 
    retrieves the list of the SRV RRs, (s)he can monitor or remote-control the devices or their services by 
    using the known protocols and domain information of the devices or their services. For this monitoring or 
    remote-controlling of IoT devices, Constrained Application Protocol (CoAP) can be used <xref target="RFC7252" />.
	</t>
</section>	

<section anchor="security-considerations" title="Security Considerations">
	<t>
	This document shares all the security issues of the NI protocol that
	are specified in the "Security Considerations" section of <xref target="RFC4620" />.
	</t>

	<t>
	To prevent the disclosure of location information for privacy concern,
	the subdomains related to location can be encrypted by a shared key or
	public-and-private keys.
	For example, a DNS name of vehicle1.oid1.OID.coordinate1.road_segment_id1.LOC.road can be
	represented as vehicle1.oid1.OID.xxx.yyy.LOC.road where vehicle1 is unique ID, oid1 is object ID, xxx is a string of the encrypted 
	representation of the coordinate (denoted as coordinate1) in a road segment, 
	and yyy is a string of the encrypted representation of the road segment ID (denoted as road_segment_id1).
	Thus, the location of the vehicle1 can be protected from unwanted users by encryption.
	</t>
</section>

<section title="Acknowledgments">
    <t>
    This work was supported by Basic Science Research Program through the 
    National Research Foundation of Korea (NRF) funded by the Ministry of 
    Education (2017R1D1A1B03035885).
    </t>

    <t>
	This work was supported by the MSIT (Ministry of Science and ICT), Korea, 
	under the ITRC (Information Technology Research Center) support program 
	(IITP-2019-2017-0-01633) supervised by the IITP (Institute for Information 
	&amp; communications Technology Promotion).	
    </t>
</section>

<section title="Contributors">
        <t>      
       This document is the group work of IPWAVE working group.
       This document has the following contributing authors considered co-authors:
       </t>
      
        <t> 
        <list style="symbols">
        <t> Keuntae Lee (Sungkyunkwan University) </t>
        <t> Seokhwa Kim (Sungkyunkwan University) </t>
        </list>
        </t> 
  </section>
  
</middle>

<back>

<references title="Normative References">

    <reference anchor="RFC2119">
        <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" />
            <date month="March" year="1997" />
        </front>
        <seriesInfo name="BCP" value="14" />
        <seriesInfo name="RFC" value="2119" />
    </reference>  

    <reference anchor="RFC4861">
        <front>
            <title>Neighbor Discovery for IP Version 6 (IPv6)</title>
            <author initials="T." surname="Narten" />
            <author initials="E." surname="Nordmark" />
            <author initials="W." surname="Simpson" />
			<author initials="H." surname="Soliman" />
            <date month="September" year="2007" />
        </front>
        <seriesInfo name="RFC" value="4861" />
    </reference>  

    <reference anchor="RFC4862">
        <front>
            <title>IPv6 Stateless Address Autoconfiguration</title>
            <author initials="S." surname="Thomson" />
            <author initials="T." surname="Narten" />
		<author initials="T." surname="Jinmei" />
            <date month="September" year="2007" />
        </front>
        <seriesInfo name="RFC" value="4862" />
    </reference>  

    <reference anchor="RFC8106">
        <front>
            <title>IPv6 Router Advertisement Options for DNS Configuration</title>
            <author initials="J." surname="Jeong" />
            <author initials="S." surname="Park" />
			<author initials="L." surname="Beloeil" />
			<author initials="S." surname="Madanapalli" />
            <date month="March" year="2017" />
        </front>
        <seriesInfo name="RFC" value="8106" />
    </reference>  

    <reference anchor="RFC3315">
        <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author role='editor' initials="R." surname="Droms" />
	    <author initials="J." surname="Bound" />
            <author initials="B." surname="Volz" />
            <author initials="T." surname="Lemon" />
            <author initials="C." surname="Perkins" />
            <author initials="M." surname="Carney" />
            <date month="July" year="2003" />
        </front>
        <seriesInfo name="RFC" value="3315" />
    </reference>  

    <reference anchor="RFC3736">
        <front>
            <title>Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6</title>
            <author initials="R." surname="Droms" />
            <date month="April" year="2004" />
        </front>
        <seriesInfo name="RFC" value="3736" />
    </reference>  

    <reference anchor="RFC3646">
        <front>
            <title>DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author role='editor' initials="R." surname="Droms" />
            <date month="December" year="2003" />
        </front>
        <seriesInfo name="RFC" value="3646" />
    </reference> 

    <reference anchor="RFC1035">
        <front>
            <title>Domain Names - Implementation and Specification</title>
            <author initials="P." surname="Mockapetris" />
            <date month="November" year="1987" />
        </front>
        <seriesInfo name="RFC" value="1035" />
    </reference> 

    <reference anchor="RFC4033">
        <front>
            <title>DNS Security Introduction and Requirements</title>
            <author role='editor' initials="R." surname="Arends" />
            <author initials="R." surname="Austein" />
            <author initials="M." surname="Larson" />
            <author initials="D." surname="Massey" />
            <author initials="S." surname="Rose" />
            <date month="March" year="2005" />
        </front>
        <seriesInfo name="RFC" value="4033" />
    </reference>  

    <reference anchor="RFC6840">
        <front>
            <title>Clarifications and Implementation Notes for DNS Security (DNSSEC)</title>
            <author role='editor' initials="S." surname="Weiler" />
	    <author role='editor' initials="D." surname="Blacka" />
            <date month="February" year="2013" />
        </front>
        <seriesInfo name="RFC" value="6840" />
    </reference>  

    <reference anchor="RFC8691">
        <front>
            <title>Basic Support for IPv6 Networks Operating Outside the Context of a Basic Service Set over IEEE Std 802.11						
			</title>
            <author initials="N." surname="Benamar" />
            <author initials="J." surname="Haerri" />
            <author initials="J." surname="Lee" />
            <author initials="T." surname="Ernst" />
            <date month="December" year="2019" />
        </front>
        <seriesInfo name="RFC" value="8691" />
    </reference> 
	
    <reference anchor="ID-IPWAVE-PS">
        <front>
            <title>IPv6 Wireless Access in Vehicular Environments (IPWAVE): Problem Statement and Use Cases</title>
            <author role='editor' initials="J." surname="Jeong" />
            <date month="July" year="2020" />
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ipwave-vehicular-networking-19"/>
    </reference>

</references>
    
<references title="Informative References">

  <reference anchor="RFC6762">
        <front>
            <title>Multicast DNS</title>
            <author initials="S." surname="Cheshire" />
            <author initials="M." surname="Krochmal" />
            <date month="February" year="2013" />
        </front>
        <seriesInfo name="RFC" value="6762" />
    </reference>  

    <reference anchor="RFC4620">
        <front>
            <title>IPv6 Node Information Queries</title>
            <author initials="M." surname="Crawford" />
            <author role='editor' initials="B." surname="Haberman" />
            <date month="August" year="2006" />
        </front>
        <seriesInfo name="RFC" value="4620" />
    </reference>  

    <reference anchor="RFC3810">
        <front>
            <title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
            <author initials="R." surname="Vida" />
			<author initials="L." surname="Costa" />
            <date month="June" year="2004" />
        </front>
        <seriesInfo name="RFC" value="3810" />
    </reference>  

    <reference anchor="RFC2136">
        <front>
            <title>Dynamic Updates in the Domain Name System (DNS UPDATE)</title>
            <author role='editor' initials="P." surname="Vixie" />
            <author initials="S." surname="Thomson" />
			<author initials="Y." surname="Rekhter" />
			<author initials="J." surname="Bound" />
            <date month="April" year="1997" />
        </front>
        <seriesInfo name="RFC" value="2136" />
    </reference> 

    <reference anchor="RFC6275">
        <front>
            <title>Mobility Support in IPv6</title>
            <author role='editor' initials="C." surname="Perkins" />
            <author initials="D." surname="Johnson" />
            <author initials="J." surname="Arkko" />
            <date month="July" year="2011" />
        </front>
        <seriesInfo name="RFC" value="6275" />
    </reference>  

    <reference anchor="IEEE-802.3">
        <front>
            <title>IEEE Standard for Ethernet</title>
            <author surname="IEEE Std 802.3" />
            <date month="December" year="2012" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.11">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
            <author surname="IEEE Std 802.11" />
            <date month="March" year="2012" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.11a">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications - High-speed Physical Layer in the 5 GHZ Band</title>
            <author surname="IEEE Std 802.11a" />
            <date month="September" year="1999" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.11b">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications - Higher-Speed Physical Layer Extension in the 2.4 GHz Band</title>
            <author surname="IEEE Std 802.11b" />
            <date month="September" year="1999" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.11g">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications - Further Higher Data Rate Extension in the 2.4 GHz Band</title>
            <author surname="IEEE P802.11g/D8.2" />
            <date month="April" year="2003" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.11n">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications - Amendment 5: Enhancements for Higher Throughput</title>
            <author surname="IEEE P802.11n/D9.0" />
            <date month="March" year="2009" />
        </front>
    </reference> 

    <reference anchor="DSRC-WAVE">
        <front>
            <title>Notes on DSRC &amp; WAVE Standards Suite: Its Architecture, Design, and Characteristics</title>
            <author initials="Y." surname="Morgan" />
            <date year="2012" />
        </front>
        <seriesInfo name="IEEE" value="Communications Surveys &amp; Tutorials, 12(4)" />
    </reference>

    <reference anchor="IEEE-802.11p">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment 6: Wireless Access in Vehicular Environments</title>
            <author surname="IEEE Std 802.11p" />
            <date month="July" year="2010" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.11-OCB">
        <front>
            <title>Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
    		<author surname="IEEE 802.11 Working Group" />
            <date month="December" year="2016" />
        </front>
    	<seriesInfo name="IEEE" value="Std 802.11-2016" />
    </reference>

   <reference anchor="IEEE-802.15.1">
        <front>
            <title>Part 15.1: Wireless Medium Access Control (MAC) and Physical Layer (PHY) specifications for Wireless Personal Area Networks (WPANs)</title>
            <author surname="IEEE Std 802.15.1" />
            <date month="June" year="2005" />
        </front>
    </reference>  

    <reference anchor="IEEE-802.15.4">
        <front>
            <title>Part 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs)</title>
            <author surname="IEEE Std 802.15.4" />
            <date month="September" year="2011" />
        </front>
    </reference> 

    <reference anchor="oneM2M-OID">
        <front>
            <title>Object Identifier based M2M Device Identification Scheme</title>
            <author surname="oneM2M" />
            <date month="February" year="2014" />
        </front>
    </reference>

    <reference anchor="DNSNA-FGCS">
        <front>
            <title>A Framework for DNS Naming Services for Internet-of-Things Devices</title>
            <author initials="K." surname="Lee" />
            <author initials="S." surname="Kim" />
            <author initials="J." surname="Jeong" />
            <author initials="S." surname="Lee" />
            <author initials="H." surname="Kim" />
            <author initials="J." surname="Park" />
            <date month="March" year="2019" />
        </front>
        <seriesInfo name="Elsevier" value="Future Generation Computer Systems, Vol. 92" />
    </reference>
    
    <reference anchor="SALA">
        <front>
            <title>SALA: Smartphone-Assisted Localization Algorithm for Positioning Indoor IoT Devices</title>
            <author initials="J." surname="Jeong" />
            <author initials="S." surname="Yeon" />
            <author initials="T." surname="Kim" />
            <author initials="H." surname="Lee" />
            <author initials="S." surname="Kim" />
            <author initials="S." surname="Kim" />
            <date month="January" year="2018" />
        </front>
        <seriesInfo name="Springer" value="Wireless Networks, Vol. 24, No. 1" />
    </reference>

    <reference anchor="RFC2782">
        <front>
            <title>A DNS RR for specifying the location of services (DNS SRV)</title>
            <author initials="A." surname="Gulbrandsen" />
            <author initials="P." surname="Vixie" />
            <author initials="L." surname="Esibov" />
            <date month="February" year="2000" />
        </front>
        <seriesInfo name="RFC" value="2782" />
    </reference>  

    <reference anchor="RFC6763">
        <front>
            <title>DNS-Based Service Discovery</title>
            <author initials="S." surname="Cheshire" />
            <author initials="M." surname="Krochmal" />
            <date month="February" year="2013" />
        </front>
        <seriesInfo name="RFC" value="6763" />
    </reference>  

    <reference anchor="RFC7252">
        <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author initials="Z." surname="Shelby" />
            <author initials="K." surname="Hartke" />
            <author initials="C." surname="Bormann" />
            <date month="June" year="2014" />
        </front>
        <seriesInfo name="RFC" value="7252" />
    </reference>  
	
</references>

	<section title="Changes from draft-jeong-ipwave-iot-dns-autoconf-09">
		<t>
		The following changes are made from draft-jeong-ipwave-iot-dns-autoconf-09:
		<list style="symbols">
        <t>
        This version has a submission date update to maintain the active status of
        the document.
        </t>
		</list>
		</t>
	</section>			

</back>

<!-- <vspace blankLines="100"/> -->
<!-- page break to put addresses onto one page-->

</rfc>
