<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc3633 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3633.xml">
<!ENTITY rfc4291 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY rfc4861 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml">
<!ENTITY rfc4862 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4862.xml">
<!ENTITY rfc4944 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4944.xml">
<!ENTITY rfc6282 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6282.xml">
<!ENTITY rfc6775 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6775.xml">
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc7136 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7136.xml">
<!ENTITY rfc7400 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7400.xml">
<!ENTITY id.draft-winter-energy-efficient-internet SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-winter-energy-efficient-internet-01.xml">
<!ENTITY id.draft-cheshire-edns0-owner-option SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-cheshire-edns0-owner-option-00.xml">
]>
<rfc category="std" docName="draft-ietf-6lo-nfc-07" ipr="trust200902">
    
  <?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) -->
  <?rfc strict="yes" ?>
  <!-- give errors regarding ID-nits and DTD validation -->
  <!-- control the table of contents (ToC) -->
  <?rfc toc="yes"?>
  <!-- generate a ToC -->
  <?rfc tocdepth="4"?>
  <!-- the number of levels of subsections in ToC. default: 3 -->
  <!-- control references -->
  <?rfc symrefs="no"?>
  <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
  <?rfc sortrefs="yes" ?>
  <!-- sort the reference entries alphabetically -->
  <!-- control vertical white space
   (using these PIs as follows is recommended by the RFC Editor) -->
  <?rfc compact="yes" ?>
  <!-- do not start each main section on a new page -->
  <?rfc subcompact="no" ?>
  <!-- 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>

    <!-- add 'role="editor"' below for the editors if appropriate -->
    <!-- Another author who claims to be an editor -->

    <author fullname="Younghwan Choi" initials="Y-H." 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></street>
                <city>Daejeon</city>
                <region></region>
                <code>34129</code>
                <country>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="ETRI">Electronics and Telecommunications Research Institute</organization>
        <address>
            <postal>
                <street>161 Gajeong-Dong Yuseung-gu</street>
                <city>Daejeon</city>
                <region></region>
                <code>305-700</code>
                <country>Korea</country>
            </postal>
            <phone>+82 42 860 6557</phone>
            <email>yghong@etri.re.kr</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></region>
	       		<code>614-714</code>
    	      	<country>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 month="June" year="2017" />
    <!-- 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. 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 title="Introduction">
		<t>NFC is a set of short-range wireless technologies, typically requiring a distance of 10 cm or less. NFC operates at 13.56 MHz on ISO/IEC 18000-3 air interface and at rates ranging from 106 kbit/s to 424 kbit/s. 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 that do not require batteries. NFC peer-to-peer communication is possible, provided both devices are powered. NFC builds upon RFID systems by allowing two-way communication between endpoints, where earlier systems such as contactless smart cards were one-way only. It has been used in devices such as mobile phones, running Android operating system, named with a feature called "Android Beam". In addition, it is expected for the other mobile phones, running the other operating systems (e.g., iOS, etc.) to be equipped with NFC technology in the near future.</t>

        <t>Considering the potential for exponential growth in the number of heterogeneous air interface technologies, NFC would be widely used as one of the other air interface technologies, such as Bluetooth Low Energy (BT-LE), Wi-Fi, and so on. Each of the heterogeneous air interface technologies has its own characteristics, which cannot be covered by the other technologies, so various kinds of air interface technologies would co-exist together. Therefore, it is required for them to communicate with each other. NFC also has the strongest ability (e.g., secure communication distance of 10 cm) to prevent a third party from attacking privacy.</t>

        <t>When the number of devices and things having different air interface technologies communicate with each other, IPv6 is an ideal internet protocols owing to its large address space. Also, NFC would be one of the endpoints using IPv6. Therefore, this document describes how IPv6 is transmitted over NFC using 6LoWPAN techniques.</t>
        
        <t><xref target="RFC4944">RFC4944</xref> specifies the transmission of IPv6 over IEEE 802.15.4.  The NFC link also has similar characteristics to that of IEEE 802.15.4.  Many of the mechanisms defined in <xref target="RFC4944">RFC 4944</xref> can be applied to the transmission of IPv6 on NFC links. This document specifies the details of IPv6 transmission over NFC links.</t>
    </section>

    <section title="Conventions and Terminology">
      <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 <xref target="RFC2119"></xref>.</t>
    </section>

    <section title="Overview of Near Field Communication Technology">
	    <t>NFC technology enables simple and safe two-way interactions between electronic devices, allowing consumers to perform contactless transactions, access digital content, and connect electronic devices with a single touch. NFC complements many popular consumer level wireless technologies, by utilizing the key elements in existing standards for contactless card technology (ISO/IEC 14443 A&amp;B and JIS-X 6319-4). NFC can be compatible with existing contactless card infrastructure and it enables a consumer to utilize one device across different systems.</t>
 
        <t>Extending the capability of  contactless card technology, NFC also enables devices to share information at a distance that is less than 10 cm with a maximum communication speed of 424 kbps. Users can share business cards, make transactions, access information from a smart poster or provide credentials for access control systems with a simple touch.</t>
        
        <t>NFC&apos;s bidirectional communication ability is ideal for establishing connections with other technologies by the simplicity of touch. In addition to the easy connection and quick transactions, simple data sharing is also available.</t>

		<section title="Peer-to-peer Mode of NFC">
	    	<t>NFC-enabled devices are unique in that they can support three modes of operation: card emulation, peer-to-peer, and reader/writer. Peer-to-peer mode enables two NFC-enabled devices to communicate with each other to exchange information and share files, so that users of NFC-enabled devices can quickly share contact information and other files with a touch. Therefore, an NFC-enabled device can securely send IPv6 packets to any corresponding node on the Internet when an NFC-enabled gateway is linked to the Internet.</t>
    	</section>

		<section anchor="protocol-stack-sec" title="Protocol Stacks of NFC">
	    	<t>IP can use the services provided by the Logical Link Control Protocol (LLCP) in the NFC stack to provide reliable, two-way transport of information between the peer devices. <xref target="protocol-stack-fig"/> depicts the NFC P2P protocol stack with IPv6 bindings to LLCP.</t>

	    	<t>For data communication in IPv6 over NFC, an IPv6 packet SHALL be passed down to LLCP of NFC and transported to an Information Field in Protocol Data Unit (I PDU) of LLCP of the NFC-enabled peer device. LLCP does not support fragmentation and reassembly. For IPv6 addressing or address configuration, LLCP SHALL provide related information, such as link layer addresses, to its upper layer. The LLCP to IPv6 protocol binding SHALL transfer the SSAP and DSAP value to the IPv6 over NFC protocol. SSAP stands for Source Service Access Point, which is a 6-bit value meaning a kind of Logical Link Control (LLC) address, while DSAP means an LLC address of the destination NFC-enabled device.</t>

            <figure anchor="protocol-stack-fig"
                    title="Protocol Stacks of NFC">
                    <artwork align="center">
|                                        |  
|                                        |  Application Layer
|         Upper Layer Protocols          |   Transport Layer
|                                        |    Network Layer
|                                        |         |
+----------------------------------------+ &lt;------------------
|            IPv6-LLCP Binding           |         |
+----------------------------------------+        NFC
|                                        |    Logical Link   
|      Logical Link Control Protocol     |       Layer
|                 (LLCP)                 |         |
+----------------------------------------+ &lt;------------------
|                                        |         |
|               Activities               |         |
|            Digital Protocol            |        NFC
|                                        |      Physical
+----------------------------------------+       Layer
|                                        |         |
|               RF Analog                |         |
|                                        |         |
+----------------------------------------+ &lt;------------------
                    </artwork>
                    <postamble></postamble>
            </figure>
            
            <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 Transport, and Connection-less Transport. The Link Management component is responsible for serializing all connection-oriented and connection-less LLC PDU (Protocol Data Unit) exchanges and for aggregation and disaggregation of small PDUs. This component also guarantees asynchronous balanced mode communication and provides link status supervision by performing the symmetry procedure. The Connection-oriented Transport component is responsible for maintaining all connection-oriented data exchanges including connection set-up and termination. The Connectionless Transport component is responsible for handling unacknowledged data exchanges.</t>
            
    	</section>

		<section anchor="nfc-addressing-sec" title="NFC-enabled Device Addressing">
	    	<t>According to <xref target="NFCF-TS-LLCP">NFCForum-TS-LLCP_1.3</xref>, NFC-enabled devices have two types of 6-bit addresses (i.e., SSAP and DSAP) to identify service access points. The 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 SHALL be assigned by the local LLC to services registered by local service environment. In addition, address values between 20h and 3Fh SHALL be 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" title="NFC MAC PDU Size and MTU">
	    	<t>As mentioned in <xref target="protocol-stack-sec"/>, an IPv6 packet SHALL passed down to LLCP of NFC and transported to an Unnumbered Information Protocol Data Unit (UI PDU) and an Information Field in Protocol Data Unit (I PDU) of LLCP of the NFC-enabled peer device.</t>
	    	
			<t>The information field of an I PDU SHALL contain 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 SHALL be 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 MIUX extension parameter within the information field. If no MIUX parameter is transmitted, the default MIU value of 128 SHALL be used. Otherwise, the MTU size in NFC LLCP SHALL calculate the MIU value as follows: </t>
			<figure>
            	<artwork align="center">
MIU = 128 + MIUX. 
				</artwork>
			</figure>
<t>
When the MIUX parameter is encoded as a TLV, the TLV Type field SHALL be 0x02 and the TLV Length field SHALL be 0x02. The MIUX parameter SHALL be encoded into the least significant 11 bits of the TLV Value field. The unused bits in the TLV Value field SHALL be set to zero by the sender and SHALL be ignored by the receiver. However, a maximum value of the TLV Value field can be 0x7FF, and a maximum size of the MTU in NFC LLCP is 2176 bytes.</t>
    	</section>
	</section>

    <section title="Specification of IPv6 over NFC">
        
        <t>NFC technology also has considerations and requirements owing to low power consumption and allowed protocol overhead. 6LoWPAN standards <xref target="RFC4944">RFC 4944</xref>, <xref target="RFC6775">RFC 6775</xref>, and <xref target="RFC6282">RFC 6282</xref> provide useful functionality for reducing overhead which can be applied to NFC.  This functionality consists of link-local IPv6 addresses and stateless IPv6 address auto-configuration (see <xref target="addr-conf-sec"/>), Neighbor Discovery (see <xref target="nd-sec"/>) and header compression (see <xref target="hc-sec"/>).</t> 
        
        <section anchor="IPv6-over-NFC-protocol-stack-sec" title="Protocol Stacks">
            <t> <xref target="IPv6-over-NFC-protocol-stack-fig"/> illustrates IPv6 over NFC.  Upper layer protocols can be transport layer protocols (TCP and UDP), application layer protocols, and others capable running on top of IPv6. </t>

            <figure anchor="IPv6-over-NFC-protocol-stack-fig"
                    title="Protocol Stacks for IPv6 over NFC">
                    <artwork align="center">
|                                        |     Transport &amp;
|         Upper Layer Protocols          |  Application Layer
+----------------------------------------+ &lt;------------------
|                                        |         |
|                 IPv6                   |         |
|                                        |      Network
+----------------------------------------+       Layer
|   Adaptation Layer for IPv6 over NFC   |         |
+----------------------------------------+ &lt;------------------
|            IPv6-LLCP Binding                     |
|      Logical Link Control Protocol     |   NFC Link Layer
|                 (LLCP)                 |         |
+----------------------------------------+ &lt;------------------
|                                        |         |
|               Activities               |        NFC
|            Digital Protocol            |   Physical Layer
|               RF Analog                |         |
|                                        |         |
+----------------------------------------+ &lt;------------------
                    </artwork>
                    <postamble></postamble>
            </figure>

            <t> The adaptation layer for IPv6 over NFC SHALL support neighbor discovery, stateless address auto-configuration, header compression, and fragmentation &amp; reassembly.</t>

        </section>

        <section anchor="link-model-sec" title="Link Model">

            <t>In the case of BT-LE, the Logical Link Control and Adaptation Protocol (L2CAP) supports fragmentation and reassembly (FAR) functionality; therefore, the adaptation layer for IPv6 over BT-LE does not have to conduct the FAR procedure. The NFC LLCP, in contrast, does not support the FAR functionality, so IPv6 over NFC needs to consider the FAR functionality, defined in <xref target="RFC4944">RFC 4944</xref>. However, the MTU on an NFC link can be configured in a connection procedure and extended enough to fit the MTU of IPv6 packet (see <xref target="FAR-sec"/>).</t>

            <t>The NFC link between two communicating devices is considered to be a point-to-point link only. Unlike in BT-LE, an NFC link does not support a star topology or mesh network topology but only direct connections between two devices. Furthermore, the NFC link layer does not support packet forwarding in link layer. Due to this characteristics, 6LoWPAN functionalities, such as addressing and auto-configuration, and header compression, need to be specialized into IPv6 over NFC.</t>
            
        </section>


        <section anchor="addr-conf-sec" title="Stateless Address Autoconfiguration">
        
        	<t>An NFC-enabled device (i.e., 6LN) performs stateless address autoconfiguration as per <xref target="RFC4862">RFC 4862</xref>.  A 64-bit Interface identifier (IID) for an NFC interface is formed by utilizing the 6-bit NFC LLCP address (see <xref target="nfc-addressing-sec"/>). In the viewpoint of address configuration, such an IID SHOULD guarantee a stable IPv6 address 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">RFC 7136</xref>, interface identifiers of all unicast addresses for NFC-enabled devices are 64 bits long and constructed in a modified EUI-64 format as shown in <xref target="nfc-iid-format-fig"/>.</t>

            <figure anchor="nfc-iid-format-fig"
                    title="Formation of IID from NFC-enabled device address">
				<artwork align="center">
 0                1                3                4               6
 0                6                2                8               3
+----------------+----------------+----------------+-----------------+
|RRRRRRuRRRRRRRRR|RRRRRRRR11111111|11111110RRRRRRRR|RRRRRRRRRRRRRRRRR|
+----------------+----------------+----------------+-----------------+
                </artwork>
                <postamble></postamble>
            </figure>
<t>The 'R' bits are output values which MAY be created by mechanisms like hash functions with input values, i.e., the SSAP and other values (e.g., a prefix and a nonce) because the 6-bit address of SSAP is easy and short to be targeted by attacks of third party (e.g., address scanning). <xref target="hash-func-example-fig"/> shows an example for IID creation. The F() means a mechanism to make a output value for 64-bit IID, and an parameter, "nonce" is an example input value for making the different output values.</t>
            <figure anchor="hash-func-example-fig"
                    title="An example of an IID creation mechanism">
                    <artwork align="center">
IID = F( SHA-256(6-bit SSAP, 64-bit Prefix), 'u' bit, nonce ) 
                    </artwork>
                    <postamble></postamble>
            </figure>
<t>In addition, the "Universal/Local" bit (i.e., the 'u' bit) of an NFC-enabled device address MUST be set to 0 <xref target="RFC4291">RFC 4291</xref>.</t>
        	</section>
        	<section anchor="link-local-addr-sec" title="IPv6 Link Local Address">  
        	<t>Only if the NFC-enabled device address is known to be a public address, the "Universal/Local" bit be set to 1. 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"/>.</t>
        	        	
            <figure anchor="IPv6-over-NFC-link-addr-fig"
                    title="IPv6 link-local address in NFC">
                    <artwork align="center">
 0          0                  0                          1
 0          1                  6                          2 
 0          0                  4                          7 
+----------+------------------+----------------------------+
|1111111010|       zeros      |    Interface Identifier    |
+----------+------------------+----------------------------+
|                                                          |
| &lt;---------------------- 128 bits ----------------------> |
|                                                          |
                   </artwork>
                    <postamble></postamble>
            </figure>
   			<t>The tool for a 6LBR to obtain an IPv6 prefix for numbering the NFC    network is can be accomplished via DHCPv6 Prefix Delegation (<xref target="RFC3633">RFC 3633</xref>).</t>
        
        </section>
        
        <section anchor="nd-sec" title="Neighbor Discovery">
			<t>Neighbor Discovery Optimization for 6LoWPANs (<xref target="RFC6775">RFC 6775</xref>) describes the neighbor discovery approach in several 6LoWPAN topologies, such as mesh topology. NFC does not support a complicated mesh topology but only a simple multi-hop network topology or directly connected peer-to-peer network. Therefore, the following aspects of RFC 6775 are applicable to NFC:
			
				<list style="numbers">
					<t>	In a case that an NFC-enabled device (6LN) is directly connected to a 6LBR, an NFC 6LN MUST register its address with the 6LBR by sending a Neighbor Solicitation (NS) message with the Address Registration Option (ARO) and process   the Neighbor Advertisement (NA) accordingly. In addition, if DHCPv6 is used to assign an address, Duplicate Address Detection (DAD) MAY not be required.</t>
					<t>	For sending Router Solicitations and processing Router Advertisements the NFC 6LNs MUST follow Sections 5.3 and 5.4 of RFC 6775.</t>
				</list>
   			</t>

        </section>

        <section anchor="dh-sec" title="Dispatch Header">
			<t>All IPv6-over-NFC encapsulated datagrams are prefixed
   by an encapsulation header stack consisting of a Dispatch value
   followed by zero or more header fields.  The only sequence currently
   defined for IPv6-over-NFC is the LOWPAN_IPHC header followed by payload, as depicted in  <xref target="IPv6-over-NFC-encap-format-fig"/>.</t>

               <figure anchor="IPv6-over-NFC-encap-format-fig"
                    title="A IPv6-over-NFC Encapsulated 6LOWPAN_IPHC Compressed IPv6 Datagram">
                    <artwork align="center">
+---------------+---------------+--------------+
| IPHC Dispatch |  IPHC Header  |    Payload   |
+---------------+---------------+--------------+
                   </artwork>
                    <postamble></postamble>
            </figure>


   			<t>The dispatch value may be treated as an unstructured namespace.  Only
   a single pattern is used to represent current IPv6-over-NFC functionality.</t>

               <figure anchor="dispatch-value-fig"
                    title="Dispatch Values">
                    <artwork align="center">
+------------+--------------------+-----------+
|  Pattern   | Header Type        | Reference |
+------------+--------------------+-----------+
| 01  1xxxxx | 6LOWPAN_IPHC       | [RFC6282] |
+------------+--------------------+-----------+
                   </artwork>
                    <postamble></postamble>
            </figure>

   			<t>Other IANA-assigned 6LoWPAN Dispatch values do not apply to this
   specification.</t>
   
        </section>

        <section anchor="hc-sec" title="Header Compression">
			<t>Header compression as defined in <xref target="RFC6282">RFC 6282</xref>, 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">RFC 6282</xref> MUST be implemented. Further, implementations MAY also support Generic Header Compression (GHC) of <xref target="RFC7400">RFC 7400</xref>.</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"/>.</t>

                 <figure anchor="shortaddr-fig"
                    title="NFC short address format">
                    <artwork align="center">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Padding(all zeros)| NFC Addr. | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   </artwork>
                    <postamble></postamble>
            	</figure>

        </section>

        <section anchor="FAR-sec" title="Fragmentation and Reassembly">
			<t>NFC provides fragmentation and reassembly (FAR) for payloads from 128 bytes up to 2176 bytes as mentioned in <xref target="nfc-mtu-sec"/>. The MTU of a general IPv6 packet can fit into a single NFC link frame. Therefore, the FAR functionality as defined in RFC 4944, which specifies the fragmentation methods for IPv6 datagrams on top of IEEE 802.15.4, MAY NOT be required as the basis for IPv6 datagram FAR on top of NFC. The NFC link connection for IPv6 over NFC MUST be configured with an equivalent MIU size to fit the MTU of IPv6 Packet. If NFC devices support extension of the MTU, the MIUX value is 0x480 in order to fit the MTU (1280 bytes) of a IPv6 packet.</t>
			<t></t>
        </section>

        <section anchor="unicasting-sec" title="Unicast Address Mapping">
            <t>The address resolution procedure for mapping IPv6 non-multicast addresses into NFC link-layer addresses follows the general description in Section 7.2 of <xref target="RFC4861">RFC 4861</xref>, 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"
                    title="Unicast address mapping">
                    <artwork align="center">
 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>
                    <postamble></postamble>
            </figure>

			<t>
			Option fields:
				<list style="">
					<t hangText="type">Type:
						<list style="">
							<t>1: for Source Link-layer address.</t>
							<t>2: for Target Link-layer address.</t>
						</list>
					</t>
					<t hangText="length">
	                    Length: 
						<list style="">
							<t>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.</t>
						</list>
    	            </t>
    	            <t hangText="NFC-addr">
	                    NFC address: 
						<list style="">
							<t>The 6-bit address in canonical bit order. This is the unicast address the interface currently responds to.</t>
						</list>
    	            </t>
				</list>
			</t>
        </section>

        <section anchor="multicasting-sec" title="Multicast Address Mapping">
			<t> All IPv6 multicast packets MUST be sent to NFC Destination Address, 0x3F (broadcast) and be filtered at the IPv6 layer. When represented as a 16-bit address in a compressed header, it MUST be formed by padding on the left with a zero. In addition, the NFC Destination Address, 0x3F, MUST NOT be used as a unicast NFC address of SSAP or DSAP.</t>
			
            <figure anchor="multicasting-fig"
                    title="Multicast address mapping">
                    <artwork align="center">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Padding(all zeros)|1 1 1 1 1 1| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   </artwork>
                    <postamble></postamble>
            </figure>			            
        </section>

    </section>
    
    <section anchor="connection-scenario-sec" title="Internet Connectivity Scenarios">
		<t>As two typical scenarios, the NFC network can be isolated and connected to the Internet.</t>
		
	  	<section anchor="internet-conn-scenario-sec" title="NFC-enabled Device Connected to the Internet">
			<t>One of the key applications of using IPv6 over NFC is securely transmitting IPv6 packets because the RF distance between 6LN and 6LBR is typically within 10 cm. If any third party wants to hack into the RF between them, it must come to nearly touch them. Applications can choose which kinds of air interfaces (e.g., BT-LE, Wi-Fi, NFC, etc.) to send data depending on the characteristics of the data.</t>
	  	
			<t><xref target="IPv6-over-NFC-Internet-conn-fig"/> 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. If there is any laptop computers close to a user, it will become the a 6LBR. Additionally, when the user mounts an NFC-enabled air interface adapter (e.g., portable NFC dongle) on the close laptop PC, the user's NFC-enabled device (6LN) can communicate with the laptop PC (6LBR) within 10 cm distance.</t>
            <figure anchor="IPv6-over-NFC-Internet-conn-fig"
                    title="NFC-enabled device network connected to the Internet">
                    <artwork align="center">
                                  ************        
6LN ------------------- 6LBR -----* Internet *------- CN 
 |  (dis. 10 cm or less)  |       ************         |   
 |                        |                            |
 | &lt;-------- NFC -------> | &lt;----- IPv6 packet ------> | 
 | (IPv6 over NFC packet) |                            |
                   </artwork>
                    <postamble></postamble>
            </figure>

    	</section>

	    <section anchor="adhoc-conn-scenario-sec" title="Isolated NFC-enabled Device Network">
	    	<t>In some scenarios, the NFC-enabled device network may transiently be a simple isolated network as shown in the <xref target="IPv6-over-NFC-isolated-net-fig"/>.</t>
	    
            <figure anchor="IPv6-over-NFC-isolated-net-fig"
                    title="Isolated NFC-enabled device network">
                    <artwork align="center">
6LN ---------------------- 6LR ---------------------- 6LN
 |     (10 cm or less)      |     (10 cm or less)      |
 |                          |                          |
 | &lt;--------- NFC --------> | &lt;--------- NFC --------> |
 |   (IPv6 over NFC packet) |  (IPv6 over NFC packet)  |
                    </artwork>
                    <postamble></postamble>
            </figure>

   			<t>In mobile phone markets, applications are designed and made by user developers. They may image interesting applications, where three or more mobile phones touch or attach each other to accomplish outstanding performance.</t>
    	</section>

    </section>

	<section anchor="IANA" title="IANA Considerations">
		<t>There are no IANA considerations related to this document.</t>
	</section>

    <section title="Security Considerations">
    	<t>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.</t>
    	<t>IPv6-over-NFC is, in practice, not used for long-lived links for big size data transfer or multimedia streaming, but used for extremely short-lived links (i.e., single touch-based approaches) for ID verification and mobile payment. This will mitigate the threat of correlation of activities over time.</t>
		<t>IPv6-over-NFC uses an IPv6 interface identifier formed from a "Short Address" and a set of well-known constant bits (such as padding with '0's) for the modified EUI-64 format. However, the short address of NFC link layer (LLC) is not generated as a physically permanent value but logically generated for each connection. Thus, every single touch connection can use a different short address of NFC link with an extremely short-lived link. This can mitigate address scanning as well as location tracking and device-specific vulnerability exploitation.</t>
		<t>However, malicious tries for one connection of a long-lived link with NFC technology are not secure, so the method of deriving interface identifiers from 6-bit NFC Link layer addresses is intended to preserve global uniqueness when it is possible. Therefore, it requires a way to protect from duplication through accident or forgery and to define a way to include sufficient bit of entropy in the IPv6 interface identifier, such as random EUI-64.</t>
    </section>

<section anchor="Acknowledgements" title="Acknowledgements">
      <t>We are grateful to the members of the IETF 6lo working group.</t>
   
      <t> Michael Richardson, Suresh Krishnan, Pascal Thubert, Carsten Bormann, and Alexandru Petrescu have provided valuable feedback for this draft.</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 title="Normative References">

      &rfc4944;
      &rfc2119;

	<reference anchor='NFCF-TS-LLCP'>
        <front>
            <title>NFC Logical Link Control Protocol version 1.3</title>
            <author></author>
            <date month='March' year='2016' />
        </front>
        <seriesInfo name='NFC Forum Technical Specification' value='' />
    </reference>

      &rfc6775;
      &rfc6282;
      &rfc4862;
      &rfc4291;
      &rfc3633;
      &rfc4861;
      &rfc7136;
      &rfc7400;
    </references>
    
    <references title="Informative References">

	<reference anchor='ECMA-340'>
        <front>
            <title>Near Field Communication - Interface and Protocol (NFCIP-1) 3rd Ed.</title>
            <author></author>
            <date month='June' year='2013' />
        </front>
        <seriesInfo name='ECMA-340' value='' />
    </reference>
    
<!--
 &id.draft-winter-energy-efficient-internet;
 &id.draft-cheshire-edns0-owner-option;
    <reference anchor='ITU'>
        <front>
            <title>Resolution 73 - Information and communication technologies and climate change</title>
            <author></author>
            <date month='October' year='2008' />
        </front>
        </reference>

    <reference anchor='EPC'>
        <front>
            <title>The Case for Energy-Proportional Computing</title>
            <author initials='L.' surname='Barroso' fullname='Luiz Andre Barroso'></author>
            <author initials='U.' surname='Holzle' fullname='Urs Holzle'></author>
            <date month='December' year='2007'/>
        </front>
        <seriesInfo name='Proc. IEEE International Conference on Network Protocols (ICNP)' value=''/>
    </reference>

	<reference anchor='GreenSurvey'>
        <front>
            <title>A survey of green networking research</title>
            <author initials='A.P.' surname='Bianzino' fullname='Aruna Prem Bianzino'></author>
            <author initials='C.' surname='Chaudet' fullname='Claude Chaudet'></author>
            <author initials='D.' surname='Rossi' fullname='Dario Rossi'></author>
            <author initials='J.-L.' surname='Rougier' fullname='Jean-Louis Rougier'></author>            <date month='' year='2012' />
        </front>
        <seriesInfo name='IEEE Communications Surveys Tutorials' value='' />
    </reference>

    <reference anchor='EEE'>
        <front>
            <title>802.3az-2010</title>
            <author></author>
            <date month='' year='2010' />
        </front>
        <seriesInfo name='IEEE std' value='' />
    </reference>
    
    <reference anchor='PROXZZZY'>
        <front>
            <title>ProxZZZy for sleeping hosts</title>
            <author></author>
            <date month='June' year='2012' />
        </front>
        <seriesInfo name='ECMA International' value='ECMA-393' />
    </reference>
    

    <reference anchor='EEEC'>
        <front>
            <title>Improving the Energy Efficiency of Ethernet-Connected: 
			A Proposal for Proxying</title>
            <author initials='B.' surname='Nordman' fullname='Bbuce Nordman'></author>
            <author initials='K.' surname='Christensen' fullname='Ken Christensen'></author>      
            <date month='September' year='2007' />
        </front>
        <seriesInfo name='Ethernet Alliance' value='' />
    </reference>


    <reference anchor='NCP'>
        <front>
            <title>A Network Connection Proxy to Enable Hosts to Sleep and Save Energy</title>
            <author initials='M.' surname='Jimeno' fullname='M. Jimeno'></author>
            <author initials='K.' surname='Christensen' fullname='K. Christensen'></author>      
	    <author initials='B.' surname='Nordman' fullname='B. Nordman'></author>   
	 <date month='' year='2008' />
        </front>
        <seriesInfo name='Proc. IEEE Internat. Performance Computing and Communications Conf' value='' />
    </reference>

    <reference anchor='SKILL'>
        <front>
            <title>Skilled in the Art of Being Idle: Reducing Energy Waste in Networked Systems</title>
            <author initials='S.' surname='Nedevschi' fullname='S. Nedevschi'></author>
            <author initials='J.' surname='Liu' fullname='J. Liu'></author>      
			<author initials='B.' surname='Nordman' fullname='B. Nordman'></author>
		    <author initials='S.' surname='Ratnasamy' fullname='S. Ratnasamy'></author>
			<author initials='N.' surname='Taft' fullname='N. Taft'></author>
			<date month='' year='2009' />
        </front>
        <seriesInfo name='Proc. USENIX Symposium on Networked Systems Design and Implementation' value='' />
    </reference>
 -->
    </references>

</back>
</rfc>
