<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-6lo-nfc-19" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3" consensus="true">
  <!-- xml2rfc v2v3 conversion 3.15.2 -->
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  <!-- used by XSLT processors -->
  <!-- For a complete list and description of processing instructions (PIs),
   please see http://xml.resource.org/authoring/README.html. -->
  <!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
   (Here they are set differently than their defaults in xml2rfc v1.32) -->
  <!-- give errors regarding ID-nits and DTD validation -->
  <!-- control the table of contents (ToC) -->
  <!-- generate a ToC -->
  <!-- the number of levels of subsections in ToC. default: 3 -->
  <!-- control references -->
  <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
  <!-- sort the reference entries alphabetically -->
  <!-- control vertical white space
   (using these PIs as follows is recommended by the RFC Editor) -->
  <!-- do not start each main section on a new page -->
  <!-- keep one blank line between list items -->
  <!-- end of list of popular I-D processing instructions -->

  <!-- ***** FRONT MATTER ***** -->
  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
       full title is longer than 39 characters -->

    <title abbrev="IPv6 over NFC">Transmission of IPv6 Packets over Near Field Communication</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-6lo-nfc-19"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->
    <!-- Another author who claims to be an editor -->

    <author fullname="Younghwan Choi" role="editor" surname="Choi">
      <organization abbrev="ETRI">Electronics and Telecommunications Research Institute</organization>
      <address>
        <postal>
          <street>218 Gajeongno, Yuseung-gu</street>
          <!-- Reorder these if your country does things differently -->
                <street/>
          <city>Daejeon</city>
          <region/>
          <code>34129</code>
          <country>South Korea</country>
        </postal>
        <phone>+82 42 860 1429</phone>
        <email>yhc@etri.re.kr</email>
        <!-- uri and facsimile elements may also be added -->
        </address>
    </author>
    <author fullname="Yong-Geun Hong" initials="Y-G" surname="Hong">
      <organization abbrev="Daejon Univ">Daejon University</organization>
      <address>
        <postal>
          <street>62 Daehak-ro, Dong-gu</street>
          <city>Daejeon</city>
          <region/>
          <code>34520</code>
          <country>South Korea</country>
        </postal>
        <phone>+82 42 280 4841</phone>
        <email>yonggeun.hong@gmail.com</email>
      </address>
    </author>
    <author fullname="Joo-Sang Youn" initials="J-S" surname="Youn">
      <organization abbrev="Dongeui Univ">DONG-EUI University</organization>
      <address>
        <postal>
          <street>176 Eomgwangno Busan_jin_gu</street>
          <city>Busan</city>
          <region/>
          <code>614-714</code>
          <country>South Korea</country>
        </postal>
        <phone>+82 51 890 1993</phone>
        <email>joosang.youn@gmail.com</email>
      </address>
    </author>
    <!--
	<author fullname="Dongkyun Kim" initials="D-K" surname="Kim">
        <organization abbrev="KNU">Kyungpook National University</organization>
        <address>
            <postal>
                <street>80 Daehak-ro, Buk-gu</street>
                <street></street>
                <city>Daegu</city>
                <region></region>
                <code>702-701</code>
                <country>Korea</country>
            </postal>
            <phone>+82 53 950 7571</phone>
            <email>dongkyun@knu.ac.kr</email>
        </address>
    </author>

    <author fullname="JinHyouk Choi" initials="J-H" surname="Choi">
        <organization abbrev="Samsung Electronics Co.,">Samsung Electronics Co.,</organization>
    
            <address>
                <postal>
                    <street>129 Samsung-ro, Youngdong-gu</street>
                    <street></street>
                    <city>Suwon</city>
                    <region></region>
                    <code>447-712</code>
                    <country>Korea</country>
                </postal>
                <phone>+82 2 2254 0114</phone>
                <email>jinchoe@samsung.com</email>
            </address>
    </author>
-->
    <date day="18" month="November" year="2022"/>
    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill
     in the current day for you. If only the current year is specified, xml2rfc will fill
	 in the current day and month for you. If the year is not the current one, it is
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to
	 specify just the year. -->
    
    <!-- Meta-data Declarations -->
    <area>Internet</area>
    <workgroup>6Lo Working Group</workgroup>
    <!-- WG name at the upperleft corner of the doc,
     IETF is fine for individual submissions.
	 If this element is not present, the default is "Network Working Group",
     which is used by the RFC Editor as a nod to the history of the IETF. -->
    
    <keyword>Internet-Draft</keyword>
    <!-- Keywords will be incorporated into HTML output
     files in a meta tag but they have no effect on text or nroff
     output. If you submit your draft to the RFC Editor, the
     keywords will be used for the search engine. -->

    <abstract>
      <t>Near Field Communication (NFC) is a set of standards for smartphones and portable devices to establish radio communication with each other by touching them together or bringing them into proximity, usually no more than 10 cm apart. NFC standards cover communications protocols and data exchange formats, and are based on existing radio-frequency identification (RFID) standards including ISO/IEC 14443 and FeliCa. The standards include ISO/IEC 18092 and those defined by the NFC Forum. The NFC technology has been widely implemented and available in mobile phones, laptop computers, and many other devices. This document describes how IPv6 is transmitted over NFC using 6LoWPAN techniques.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>NFC is a set of short-range wireless technologies, typically requiring a distance between sender and receiver of 10 cm or less. NFC operates at 13.56 MHz, and at rates ranging from 106 kbit/s to 424 kbit/s, as per the ISO/IEC 18000-3 air interface <xref target="ECMA-340" format="default"/>. NFC builds upon RFID systems by allowing two-way communication between endpoints. NFC always involves an initiator and a target; the initiator actively generates an RF field that can power a passive target. This enables NFC targets to take very simple form factors, such as tags, stickers, key fobs, or cards, while avoiding the need for batteries. NFC peer-to-peer communication is possible, provided that both devices are powered. As of the writing, NFC is supported by the main smartphone operating systems. </t>
      <t>NFC is often regarded as a secure communications technology, due to its very short transmission range.</t>
      <t>In order to benefit from Internet connectivity, it is desirable for NFC-enabled devices to support IPv6, considering its large address space, along with tools for unattended operation, among other advantages. This document specifies how IPv6 is supported over NFC by using IPv6 over Low-power Wireless Personal Area Network (6LoWPAN) techniques [RFC4944], [RFC6282], [RFC6775]. 6LoWPAN is suitable, considering that it was designed to support IPv6 over IEEE 802.15.4 networks, and some of the characteristics of the latter are similar to those of NFC.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Conventions and Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Overview of Near Field Communication Technology</name>
      <t>This section presents an overview of NFC, focusing on the characteristics of NFC that are most relevant for supporting IPv6.</t>
      <t>NFC enables simple, two-way, interaction between two devices, allowing users to perform contactless transactions, access digital content, and connect electronic devices with a single touch. NFC utilizes key elements in existing standards for contactless card Technology, such as ISO/IEC 14443 A&amp;B and JIS-X 6319-4. NFC allows devices to share information at a distance up to 10 cm with a maximum physical layer bit rate of 424 kbps. </t>
      <section numbered="true" toc="default">
        <name>Peer-to-peer Mode of NFC</name>
        <t>NFC defines three modes of operation: card emulation, peer-to-peer, and reader/writer. Only the peer-to-peer mode allows two NFC-enabled devices to communicate with each other to exchange information bidirectionally. The other two modes do not support two-way communications between two devices. Therefore, the peer-to-peer mode is used for IPv6 over NFC.</t>
      </section>
      <section anchor="protocol-stack-sec" numbered="true" toc="default">
        <name>Protocol Stack of NFC</name>
        <t>NFC defines a protocol stack for the peer-to-peer mode (<xref target="protocol-stack-fig" format="default"/>). The peer-to-peer mode is offered by the Activities Digital Protocol at the NFC Physical Layer. The NFC Logical Link Layer comprises the Logical Link Control Protocol (LLCP), and when IPv6 is used over NFC, it also includes an IPv6-LLCP Binding. IPv6 and its underlying adaptation Layer (i.e., IPv6-over-NFC adaptation layer) are placed directly on the top of the IPv6-LLCP Binding. An IPv6 datagram is transmitted by the Logical Link Control Protocol (LLCP) with reliable, two-way transmission of information between the peer devices.</t>
        <figure anchor="protocol-stack-fig">
          <name>Protocol Stack of NFC</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

+----------------------------------------+ - - - - - - - - -
|              IPv6 - LLCP               |         .
|                Binding                 |         .
+----------------------------------------+        NFC
|                                        |    Logical Link   
|      Logical Link Control Protocol     |       Layer
|                 (LLCP)                 |         .
|                                        |         .
+----------------------------------------+ - - - - - - - - -
|                                        |         .
|               Activities               |         .
|            Digital Protocol            |         . 
|                                        |    NFC Physical
+----------------------------------------+       Layer
|                                        |         .
|               RF Analog                |         .
|                                        |         .
+----------------------------------------+ - - - - - - - - -
                    ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>The LLCP consists of Logical Link Control (LLC) and MAC Mapping. The MAC Mapping integrates an existing RF protocol into the LLCP architecture. The LLC contains three components, such as Link Management, Connection-oriented Transmission, and Connectionless Transmission. The Link Management component is responsible for serializing all connection-oriented and connectionless LLC PDU (Protocol Data Unit) exchanges and for aggregation and disaggregation of small PDUs. The Connection-oriented Transmission component is responsible for maintaining all connection-oriented data exchanges including connection set-up and termination. The Connectionless Transmission component is responsible for handling unacknowledged data exchanges.</t>
        <t>In order to send an IPv6 packet over NFC, the packet MUST be passed down to the LLCP layer of NFC and carried by an Information Field in an LLCP Protocol Data Unit (I PDU). The LLCP does not support fragmentation and reassembly. For IPv6 addressing or address configuration, the LLCP MUST provide related information, such as link layer addresses, to its upper layer. The LLCP to IPv6 protocol binding MUST transfer the Source Service Access 
Point (SSAP) and Destination Service Access Point (DSAP) value to the IPv6 over NFC protocol. SSAP is a Logical Link Control (LLC) address of the source NFC-enabled device with a size of 6 bits, while DSAP means an LLC address of the destination NFC-enabled device. Thus, SSAP is a source address, and DSAP is a destination address.</t>
      </section>
      <section anchor="nfc-addressing-sec" numbered="true" toc="default">
        <name>NFC-enabled Device Addressing</name>
        <t>According to <xref target="LLCP-1.4" format="default"/>, NFC-enabled devices have two types of 6-bit addresses (i.e., SSAP and DSAP) to identify service access points. Several service access points can be installed on a NFC device. However, the SSAP and DSAP can be used as identifiers for NFC link connections with the IPv6 over NFC adaptation layer. Therefore, the SSAP can be used to generate an IPv6 interface identifier. Address values between 00h and 0Fh of SSAP and DSAP are reserved for identifying the well-known service access points, which are defined in the NFC Forum Assigned Numbers Register. Address values between 10h and 1Fh are assigned by the local LLC to services registered by local service environment. In addition, address values between 20h and 3Fh are assigned by the local LLC as a result of an upper layer service request. Therefore, the address values between 20h and 3Fh can be used for generating IPv6 interface identifiers.</t>
      </section>
      <section anchor="nfc-mtu-sec" numbered="true" toc="default">
        <name>MTU of NFC Link Layer</name>
        <t>As mentioned in <xref target="protocol-stack-sec" format="default"/>, when an IPv6 packet is transmitted, the packet MUST be passed down to LLCP of NFC and transported to an I PDU of LLCP of the NFC-enabled peer device.</t>
        <t>The information field of an I PDU contains a single service data unit. The maximum number of octets in the information field is determined by the Maximum Information Unit (MIU) for the data link connection. The default value of the MIU for I PDUs is 128 octets. The local and remote LLCs each establish and maintain distinct MIU values for each data link connection endpoint. Also, an LLC may announce a larger MIU for a data link connection by transmitting an optional Maximum Information Unit Extension (MIUX) parameter within the information field. If no MIUX parameter is transmitted, the MIU value is 128 bytes. Otherwise, the MTU size in NFC LLCP MUST be calculated from the MIU value as follows: </t>
        <artwork align="center" name="" type="" alt=""><![CDATA[
MTU = MIU = 128 + MIUX. 
				]]></artwork>
        <t>According to <xref target="LLCP-1.4" format="default"/>, <xref target="nfc-format-miux-fig" format="default"/> shows an example of the MIUX parameter TLV. The Type and Length fields of the MIUX parameter TLV have each a size of 1 byte. The size of the TLV Value field is 2 bytes.</t>
        <figure anchor="nfc-format-miux-fig">
          <name>Example of MIUX Parameter TLV</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0          0          1      2          3
 0          8          6      2          1
+----------+----------+------+-----------+
|   Type   |  Length  |       Value      |
+----------+----------+------+-----------+
| 00000010 | 00000010 | 1011 | 0x0~0x7FF |
+----------+----------+------+-----------+
                    ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>
When the MIUX parameter is used, the TLV Type field MUST be 0x02 and the TLV Length field MUST be 0x02. The MIUX parameter MUST be encoded into the least significant 11 bits of the TLV Value field. The unused bits in the TLV Value field MUST be set to zero by the sender and ignored by the receiver. The maximum possible value of the TLV Value field is 0x7FF, and the maximum size of the LLCP MTU is 2175 bytes. The MIUX value MUST be 0x480 to support the IPv6 MTU requirement (of 1280 bytes).</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Specification of IPv6 over NFC</name>
      <t>NFC technology has requirements owing to low power consumption and allowed protocol overhead. 6LoWPAN standards <xref target="RFC4944" format="default"/>, <xref target="RFC6775" format="default"/>, and <xref target="RFC6282" format="default"/> provide useful functionality for reducing the overhead of IPv6 over NFC. This functionality consists of link-local IPv6 addresses and stateless IPv6 address auto-configuration (see <xref target="addr-conf-sec" format="default"/> and <xref target="link-local-addr-sec" format="default"/>), Neighbor Discovery (see <xref target="nd-sec" format="default"/>) and header compression (see <xref target="hc-sec" format="default"/>).</t>
      <section anchor="IPv6-over-NFC-protocol-stack-sec" numbered="true" toc="default">
        <name>Protocol Stack</name>
        <t> <xref target="IPv6-over-NFC-protocol-stack-fig" format="default"/> illustrates the IPv6 over NFC protocol stack.  Upper layer protocols can be transport layer protocols (e.g., TCP and UDP), application layer protocols, and others capable of running on top of IPv6. </t>
        <figure anchor="IPv6-over-NFC-protocol-stack-fig">
          <name>Protocol Stack for IPv6 over NFC</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
+----------------------------------------+
|         Upper Layer Protocols          |
+----------------------------------------+
|                 IPv6                   |
+----------------------------------------+
|   Adaptation Layer for IPv6 over NFC   |
+----------------------------------------+
|          NFC Logical Link Layer        |
+----------------------------------------+
|           NFC Physical Layer           |
+----------------------------------------+
                    ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t> The adaptation layer for IPv6 over NFC supports neighbor discovery, stateless address auto-configuration, header compression, and fragmentation &amp; reassembly, based on 6LoWPAN.</t>
      </section>
      <section anchor="addr-conf-sec" numbered="true" toc="default">
        <name>Stateless Address Autoconfiguration</name>
        <t>An NFC-enabled device performs stateless address autoconfiguration as per <xref target="RFC4862" format="default"/>.  A 64-bit Interface identifier
   (IID) for an NFC interface is formed by utilizing the 6-bit NFC SSAP (see <xref target="nfc-addressing-sec" format="default"/>). In the viewpoint of address configuration, such an IID should guarantee a stable IPv6 address during the course of a single connection, because each data link connection is uniquely identified by the pair of DSAP and SSAP included in the header of each LLC PDU in NFC.</t>
        <t>Following the guidance of <xref target="RFC7136" format="default"/>, interface identifiers of all unicast addresses for NFC-enabled devices are 64 bits long and constructed by using the generation algorithm of <xref target="RFC7217" format="default">random (but stable) identifier (RID)</xref> (see <xref target="nfc-iid-format-fig" format="default"/>).</t>
        <figure anchor="nfc-iid-format-fig">
          <name>IID from NFC-enabled device</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0         1         3         4       6
 0         6         2         8       3
+---------+---------+---------+---------+
|  Random (but stable) Identifier (RID) |
+---------+---------+---------+---------+
                ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>The RID is an output which is created by the F() algorithm with input parameters. One of the parameters is Net_Iface, and NFC Link Layer address (i.e., SSAP) is a source of the Net_Iface parameter. The 6-bit address of SSAP of NFC is short and easy to be targeted by attacks of third party (e.g., address scanning). The F() algorithm can provide secured and stable IIDs for NFC-enabled devices. In addition, an optional parameter, Network_ID is used to increase the randomness of the generated IID.</t>
      </section>
      <section anchor="link-local-addr-sec" numbered="true" toc="default">
        <name>IPv6 Link-Local Address</name>
        <t>The IPv6 link-local address for an NFC-enabled device is formed by appending the IID to the prefix FE80::/64, as depicted in  <xref target="IPv6-over-NFC-link-addr-fig" format="default"/>.</t>
        <figure anchor="IPv6-over-NFC-link-addr-fig">
          <name>IPv6 link-local address in NFC</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0          0                  0                          1
 0          1                  6                          2 
 0          0                  4                          7 
+----------+------------------+----------------------------+
|1111111010|       zeros      |    Interface Identifier    |
+----------+------------------+----------------------------+
.                                                          .
. <- - - - - - - - - - - 128 bits - - - - - - - - - - - -> .
.                                                          .
                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>A 6LBR may obtain an IPv6 prefix for numbering the NFC network via DHCPv6 Prefix Delegation (<xref target="RFC3633" format="default"/>). The "Interface Identifier" can be a secured and stable IID.</t>
      </section>
      <section anchor="nd-sec" numbered="true" toc="default">
        <name>Neighbor Discovery</name>
        <t>Neighbor Discovery Optimization for 6LoWPANs (<xref target="RFC6775" format="default"/>) describes the neighbor discovery approach in several 6LoWPAN topologies, such as mesh topology. NFC supports  mesh topologies but most of all applications would use a simple multi-hop network topology or directly connected peer-to-peer network because NFC RF range is very short.
			
        </t>
        <ul spacing="normal">
          <li>	When an NFC-enabled 6LN is directly connected to an NFC-enabled 6LBR, the NFC 6LN MUST register its address with the 6LBR by sending a Neighbor Solicitation (NS) message with the Extended Address Registration Option (EARO) <xref target="RFC8505" format="default"/>, and process the Neighbor Advertisement (NA) accordingly. In addition, when the 6LN and 6LBR are directly connected, DHCPv6 is used for address assignment. Therefore, Duplicate Address Detection (DAD) is not necessary between them.</li>
          <li>	When two or more NFC devices are connected, there are two cases. One is that three or more NFC devices are linked with multi-hop connections, and the other is that they meet within a single hop range. Two NFC devices might still talk to each other (point-to-point topology), but one of them may be connected to the Internet. In a case of multi-hop topology, devices which have two or more connections with neighbor devices, may act as routers. In a case that they meet within a single hop and they have the same properties, any of them can be a router.</li>
          <li>For sending Router Solicitations and processing Router Advertisements, the NFC 6LNs MUST follow Sections 5.3 and 5.4 of <xref target="RFC6775" format="default"/>.</li>
          <li>When a NFC device is a 6LR or a 6LBR, the NFC device MUST follow Section 6 and 7 of <xref target="RFC6775" format="default"/>.</li>
        </ul>
      </section>
      <section anchor="dh-sec" numbered="true" toc="default">
        <name>Dispatch Header</name>
        <t>All IPv6-over-NFC encapsulated datagrams are prefixed by an encapsulation header stack consisting of a Dispatch value. The only sequence currently
   defined for IPv6-over-NFC is the LOWPAN_IPHC compressed IPv6 header (see <xref target="hc-sec" format="default"/>) header followed by payload, as depicted in  <xref target="IPv6-over-NFC-encap-format-fig" format="default"/>.</t>
        <figure anchor="IPv6-over-NFC-encap-format-fig">
          <name>A IPv6-over-NFC Encapsulated 6LOWPAN_IPHC Compressed IPv6 Datagram</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
+---------------+---------------+--------------+
| IPHC Dispatch |  IPHC Header  |    Payload   |
+---------------+---------------+--------------+
                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>The dispatch value is treated as an unstructured namespace. Only a single pattern is used to represent current IPv6-over-NFC functionality.</t>
        <figure anchor="dispatch-value-fig">
          <name>Dispatch Values</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
+------------+--------------------+-----------+
|  Pattern   | Header Type        | Reference |
+------------+--------------------+-----------+
| 01  1xxxxx | 6LOWPAN_IPHC       | [RFC6282] |
+------------+--------------------+-----------+
                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>Other IANA-assigned 6LoWPAN Dispatch values do not apply to this specification.</t>
      </section>
      <section anchor="hc-sec" numbered="true" toc="default">
        <name>Header Compression</name>
        <t>Header compression as defined in <xref target="RFC6282" format="default"/>, which specifies the compression format for IPv6 datagrams on top of IEEE 802.15.4, is REQUIRED in this document as the basis for IPv6 header compression on top of NFC. All headers MUST be compressed according to RFC 6282 encoding formats. <!--The following text describes the principles of IPv6 address compression on top of NFC.--> </t>
        <t>Therefore, IPv6 header compression in <xref target="RFC6282" format="default"/> MUST be implemented. Further, implementations MUST also support Generic Header Compression (GHC) of <xref target="RFC7400" format="default"/>.</t>
        <t>If a 16-bit address is required as a short address, it MUST be formed by padding the 6-bit NFC link-layer (node) address to the left with zeros as shown in <xref target="shortaddr-fig" format="default"/>.</t>
        <figure anchor="shortaddr-fig">
          <name>NFC short address format</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Padding(all zeros)| NFC Addr. | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
      </section>
      <section anchor="FAR-sec" numbered="true" toc="default">
        <name>Fragmentation and Reassembly Considerations</name>
        <t>IIPv6-over-NFC MUST NOT use fragmentation and reassembly (FAR) at the adaptation layer for the payloads as discussed in Section 3.4. The NFC link connection for IPv6 over NFC MUST be configured with an equivalent MIU size to support the IPv6 MTU requirement (of 1280 bytes). To this end, the MIUX value is 0x480.</t>
        <t/>
      </section>
      <section anchor="unicasting-sec" numbered="true" toc="default">
        <name>Unicast and Multicast Address Mapping</name>
        <t>The address resolution procedure for mapping IPv6 non-multicast addresses into NFC link-layer addresses follows the general description in Section 4.6.1 and 7.2 of <xref target="RFC4861" format="default"/>, unless otherwise specified.</t>
        <t>The Source/Target link-layer Address option has the following form when the addresses are 6-bit NFC link-layer (node) addresses.</t>
        <figure anchor="unicasting-fig">
          <name>Unicast address mapping</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Type     |   Length=1    | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               | 
+-     Padding (all zeros)     -+ 
|                               | 
+-                  +-+-+-+-+-+-+ 
|                   | NFC Addr. | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>
			Option fields:
        </t>
        <ul empty="true" spacing="normal">
          <li>
            <t>Type:
            </t>
            <ul spacing="normal">
              <li>1: for Source Link-layer address.</li>
              <li>2: for Target Link-layer address.</li>
            </ul>
          </li>
          <li>
            <t>
	                    Length: 
            </t>
            <ul spacing="normal">
              <li>This is the length of this option (including the type and length fields) in units of 8 octets.  The value of this field is 1 for 6-bit NFC node addresses.</li>
            </ul>
          </li>
          <li>
            <t>
	                    NFC address: 
            </t>
            <ul spacing="normal">
              <li>The 6-bit address in canonical bit order. This is the unicast address the interface currently responds to.</li>
            </ul>
          </li>
        </ul>
        <t> The NFC Link Layer does not support multicast. Therefore, packets are always transmitted by unicast between two NFC-enabled devices.  Even in the case where a 6LBR is attached to multiple 6LNs, the 6LBR cannot do a multicast to all the connected 6LNs.  If the 6LBR needs to send a multicast packet to all its 6LNs, it has to replicate the packet and unicast it on each link.</t>
      </section>
    </section>
    <section anchor="connection-scenario-sec" numbered="true" toc="default">
      <name>Internet Connectivity Scenarios</name>
      <t>NFC networks can either be isolated or connected to the Internet. The NFC link between two communicating devices is considered to be a point-to-point link only. An NFC link does not support a star topology or mesh network topology but only direct connections between two devices. The NFC link layer does not support packet forwarding at link layer.</t>
      <section anchor="internet-conn-scenario-sec" numbered="true" toc="default">
        <name>NFC-enabled Device Network Connected to the Internet</name>
        <t><xref target="IPv6-over-NFC-Internet-conn-fig" format="default"/> illustrates an example of an NFC-enabled device network connected to the Internet. The distance between 6LN and 6LBR is typically 10 cm or less. For example, a laptop computer that is connected to the Internet (e.g. via Wi-Fi, Ethernet, etc.) may also support NFC and act as a 6LBR. Another NFC-enabled device may run as a 6LN and communicate with the 6LBR, as long as both are within each other's range.</t>
        <figure anchor="IPv6-over-NFC-Internet-conn-fig">
          <name>NFC-enabled device network connected to the Internet</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[


                               
         NFC link   
6LN ------------------- 6LBR -------( Internet )--------- CN 
 .                        .                                .
 . <- - - - Subnet - - -> . < - - - IPv6 connection - - -> . 
 .                        .         to the Internet        .
                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>Two or more 6LNs may be connected with a 6LBR, but each connection uses a different subnet. The 6LBR is acting as a router and forwarding packets between 6LNs and the Internet. Also, the 6LBR MUST ensure address collisions do not occur and forwards packets sent by one 6LN to another.</t>
      </section>
      <section anchor="adhoc-conn-scenario-sec" numbered="true" toc="default">
        <name>Isolated NFC-enabled Device Network</name>
        <t>In some scenarios, the NFC-enabled device network may permanently be a simple isolated network as shown in the <xref target="IPv6-over-NFC-isolated-net-fig" format="default"/>.</t>
        <figure anchor="IPv6-over-NFC-isolated-net-fig">
          <name>Isolated NFC-enabled device network</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
                           6LN                        6LN - - - - -
                            |                          |      .
                NFC link - >|              NFC link - >|      .
                            |                          |      .
6LN ---------------------- 6LR ---------------------- 6LR   Subnet
 .         NFC link                    NFC link        |      .
 .                                                     |      .
 .                                         NFC link - >|      .
 .                                                    6LN - - - - -
 .                                                     .
 . < - - - - - - - - - -  Subnet - - - - - - - - - - > . 
                                                        
                    ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
      </section>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>There are no IANA considerations related to this document.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Neighbor Discovery in unencrypted wireless device networks may be susceptible to various threats as described in <xref target="RFC3756" format="default"/>. LLCP<xref target="LLCP-1.4" format="default"/> of NFC provides protection of user data to ensure confidentiality of communications. The confidentiality mechanism involves the encryption of user service data with a secret key that has been established during link activation. LLCP of NFC has two modes (i.e., ad-hoc mode and authenticated mode for secure data transfer. Ad-hoc secure data transfer can be established between two communication parties without any prior knowledge of the communication partner. Ad-hoc secure data transfer can be vulnerable to Man-In-The-Middle (MITM) attacks. Authenticated secure data transfer provides protection against Man-In-The-Middle (MITM) attacks. In the initial bonding step, the two communicating parties store a shared secret along with a Bonding Identifier. For all subsequent interactions, the communicating parties re-use the shared secret and compute only the unique encryption key for that session. Secure data transfer is based on the cryptographic algorithms defined in the NFC Authentication Protocol (NAP).</t>
      <t>Furthermore, NFC is considered by many to offer intrinsic security properties due to its short link range. When interface identifiers (IIDs) are generated, devices and users are required to consider mitigating various threats, such as correlation of activities over time, location tracking, device-specific vulnerability exploitation, and address scanning. However, IPv6-over-NFC uses a <xref target="RFC7217" format="default">random (but stable) identifier (RID)</xref> as an IPv6 interface identifier, and NFC applications use short-lived connections, and a different address is used for each connection, where the latter is of extremely short duration.</t>
    </section>
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>We are grateful to the members of the IETF 6lo working group.</t>
      <t> Michael Richardson, Suresh Krishnan, Pascal Thubert, Carsten Bormann, Alexandru Petrescu, James Woodyatt, Dave Thaler, Samita Chakrabarti, Gabriel Montenegro, Erik Kline and Carles Gomez Montenegro have provided valuable feedback for this document.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->
<back>
    <!-- References split into informative and normative -->
    
    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
     (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
     
     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references>
      <name>Normative References</name>
      <!--
      &rfc4944;
      &rfc2119;
-->

	<reference anchor="LLCP-1.4">
        <front>
          <title>NFC Logical Link Control Protocol, Version 1.4</title>
          <author/>
          <date month="January" year="2021"/>
        </front>
        <seriesInfo name="NFC Forum Technical Specification" value=""/>
      </reference>
      <reference anchor="ECMA-340">
        <front>
          <title>Near Field Communication - Interface and Protocol (NFCIP-1) 3rd Ed.</title>
          <author/>
          <date month="June" year="2013"/>
        </front>
        <seriesInfo name="ECMA-340" value=""/>
      </reference>
      <reference anchor="RFC4944" target="https://www.rfc-editor.org/info/rfc4944" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4944.xml">
        <front>
          <title>Transmission of IPv6 Packets over IEEE 802.15.4 Networks</title>
          <author fullname="G. Montenegro" initials="G." surname="Montenegro"/>
          <author fullname="N. Kushalnagar" initials="N." surname="Kushalnagar"/>
          <author fullname="J. Hui" initials="J." surname="Hui"/>
          <author fullname="D. Culler" initials="D." surname="Culler"/>
          <date month="September" year="2007"/>
          <abstract>
            <t>This document describes the frame format for transmission of IPv6 packets and the method of forming IPv6 link-local addresses and statelessly autoconfigured addresses on IEEE 802.15.4 networks.  Additional specifications include a simple header compression scheme using shared context and provisions for packet delivery in IEEE 802.15.4 meshes. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4944"/>
        <seriesInfo name="DOI" value="10.17487/RFC4944"/>
      </reference>
      <reference anchor="RFC3756" target="https://www.rfc-editor.org/info/rfc3756" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3756.xml">
        <front>
          <title>IPv6 Neighbor Discovery (ND) Trust Models and Threats</title>
          <author fullname="P. Nikander" initials="P." role="editor" surname="Nikander"/>
          <author fullname="J. Kempf" initials="J." surname="Kempf"/>
          <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
          <date month="May" year="2004"/>
          <abstract>
            <t>The existing IETF standards specify that IPv6 Neighbor Discovery (ND) and Address Autoconfiguration mechanisms may be protected with IPsec Authentication Header (AH).  However, the current specifications limit the security solutions to manual keying due to practical problems faced with automatic key management.  This document specifies three different trust models and discusses the threats pertinent to IPv6 Neighbor Discovery.  The purpose of this discussion is to define the requirements for Securing IPv6 Neighbor Discovery.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3756"/>
        <seriesInfo name="DOI" value="10.17487/RFC3756"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized.  This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC6775" target="https://www.rfc-editor.org/info/rfc6775" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6775.xml">
        <front>
          <title>Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</title>
          <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby"/>
          <author fullname="S. Chakrabarti" initials="S." surname="Chakrabarti"/>
          <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>The IETF work in IPv6 over Low-power Wireless Personal Area Network (6LoWPAN) defines 6LoWPANs such as IEEE 802.15.4.  This and other similar link technologies have limited or no usage of multicast signaling due to energy conservation.  In addition, the wireless network may not strictly follow the traditional concept of IP subnets and IP links.  IPv6 Neighbor Discovery was not designed for non- transitive wireless links, as its reliance on the traditional IPv6 link concept and its heavy use of multicast make it inefficient and sometimes impractical in a low-power and lossy network.  This document describes simple optimizations to IPv6 Neighbor Discovery, its addressing mechanisms, and duplicate address detection for Low- power Wireless Personal Area Networks and similar networks.  The document thus updates RFC 4944 to specify the use of the optimizations defined here. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6775"/>
        <seriesInfo name="DOI" value="10.17487/RFC6775"/>
      </reference>
      <reference anchor="RFC6282" target="https://www.rfc-editor.org/info/rfc6282" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6282.xml">
        <front>
          <title>Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks</title>
          <author fullname="J. Hui" initials="J." role="editor" surname="Hui"/>
          <author fullname="P. Thubert" initials="P." surname="Thubert"/>
          <date month="September" year="2011"/>
          <abstract>
            <t>This document updates RFC 4944, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks".  This document specifies an IPv6 header compression format for IPv6 packet delivery in Low Power Wireless Personal Area Networks (6LoWPANs).  The compression format relies on shared context to allow compression of arbitrary prefixes.  How the information is maintained in that shared context is out of scope.  This document specifies compression of multicast addresses and a framework for compressing next headers.  UDP header compression is specified within this framework. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6282"/>
        <seriesInfo name="DOI" value="10.17487/RFC6282"/>
      </reference>
      <reference anchor="RFC4862" target="https://www.rfc-editor.org/info/rfc4862" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4862.xml">
        <front>
          <title>IPv6 Stateless Address Autoconfiguration</title>
          <author fullname="S. Thomson" initials="S." surname="Thomson"/>
          <author fullname="T. Narten" initials="T." surname="Narten"/>
          <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
          <date month="September" year="2007"/>
          <abstract>
            <t>This document specifies the steps a host takes in deciding how to autoconfigure its interfaces in IP version 6.  The autoconfiguration process includes generating a link-local address, generating global addresses via stateless address autoconfiguration, and the Duplicate Address Detection procedure to verify the uniqueness of the addresses on a link. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4862"/>
        <seriesInfo name="DOI" value="10.17487/RFC4862"/>
      </reference>
      <reference anchor="RFC3633" target="https://www.rfc-editor.org/info/rfc3633" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3633.xml">
        <front>
          <title>IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6</title>
          <author fullname="O. Troan" initials="O." surname="Troan"/>
          <author fullname="R. Droms" initials="R." surname="Droms"/>
          <date month="December" year="2003"/>
          <abstract>
            <t>The Prefix Delegation options provide a mechanism for automated delegation of IPv6 prefixes using the Dynamic Host Configuration Protocol (DHCP).  This mechanism is intended for delegating a long-lived prefix from a delegating router to a requesting router, across an administrative boundary, where the delegating router does not require knowledge about the topology of the links in the network to which the prefixes will be assigned.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3633"/>
        <seriesInfo name="DOI" value="10.17487/RFC3633"/>
      </reference>
      <reference anchor="RFC4861" target="https://www.rfc-editor.org/info/rfc4861" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml">
        <front>
          <title>Neighbor Discovery for IP version 6 (IPv6)</title>
          <author fullname="T. Narten" initials="T." surname="Narten"/>
          <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
          <author fullname="W. Simpson" initials="W." surname="Simpson"/>
          <author fullname="H. Soliman" initials="H." surname="Soliman"/>
          <date month="September" year="2007"/>
          <abstract>
            <t>This document specifies the Neighbor Discovery protocol for IP Version 6.  IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4861"/>
        <seriesInfo name="DOI" value="10.17487/RFC4861"/>
      </reference>
      <reference anchor="RFC7136" target="https://www.rfc-editor.org/info/rfc7136" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7136.xml">
        <front>
          <title>Significance of IPv6 Interface Identifiers</title>
          <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
          <author fullname="S. Jiang" initials="S." surname="Jiang"/>
          <date month="February" year="2014"/>
          <abstract>
            <t>The IPv6 addressing architecture includes a unicast interface identifier that is used in the creation of many IPv6 addresses.  Interface identifiers are formed by a variety of methods.  This document clarifies that the bits in an interface identifier have no meaning and that the entire identifier should be treated as an opaque value.  In particular, RFC 4291 defines a method by which the Universal and Group bits of an IEEE link-layer address are mapped into an IPv6 unicast interface identifier.  This document clarifies that those two bits are significant only in the process of deriving interface identifiers from an IEEE link-layer address, and it updates RFC 4291 accordingly.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7136"/>
        <seriesInfo name="DOI" value="10.17487/RFC7136"/>
      </reference>
      <reference anchor="RFC7217" target="https://www.rfc-editor.org/info/rfc7217" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7217.xml">
        <front>
          <title>A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)</title>
          <author fullname="F. Gont" initials="F." surname="Gont"/>
          <date month="April" year="2014"/>
          <abstract>
            <t>This document specifies a method for generating IPv6 Interface Identifiers to be used with IPv6 Stateless Address Autoconfiguration (SLAAC), such that an IPv6 address configured using this method is stable within each subnet, but the corresponding Interface Identifier changes when the host moves from one network to another.  This method is meant to be an alternative to generating Interface Identifiers based on hardware addresses (e.g., IEEE LAN Media Access Control (MAC) addresses), such that the benefits of stable addresses can be achieved without sacrificing the security and privacy of users.  The method specified in this document applies to all prefixes a host may be employing, including link-local, global, and unique-local prefixes (and their corresponding addresses).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7217"/>
        <seriesInfo name="DOI" value="10.17487/RFC7217"/>
      </reference>
      <reference anchor="RFC7400" target="https://www.rfc-editor.org/info/rfc7400" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7400.xml">
        <front>
          <title>6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</title>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <date month="November" year="2014"/>
          <abstract>
            <t>RFC 6282 defines header compression in 6LoWPAN packets (where "6LoWPAN" refers to "IPv6 over Low-Power Wireless Personal Area Network").  The present document specifies a simple addition that enables the compression of generic headers and header-like payloads, without a need to define a new header compression scheme for each such new header or header-like payload.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7400"/>
        <seriesInfo name="DOI" value="10.17487/RFC7400"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8505" target="https://www.rfc-editor.org/info/rfc8505" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8505.xml">
        <front>
          <title>Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery</title>
          <author fullname="P. Thubert" initials="P." role="editor" surname="Thubert"/>
          <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
          <author fullname="S. Chakrabarti" initials="S." surname="Chakrabarti"/>
          <author fullname="C. Perkins" initials="C." surname="Perkins"/>
          <date month="November" year="2018"/>
          <abstract>
            <t>This specification updates RFC 6775 -- the Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery specification -- to clarify the role of the protocol as a registration technique and simplify the registration operation in 6LoWPAN routers, as well as to provide enhancements to the registration capabilities and mobility detection for different network topologies, including the Routing Registrars performing routing for host routes and/or proxy Neighbor Discovery in a low-power network.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8505"/>
        <seriesInfo name="DOI" value="10.17487/RFC8505"/>
      </reference>
    </references>
    <!--
    <references title="Informative References">
    </references>
-->

</back>
</rfc>
