< draft-ietf-6lo-nfc-15.txt   draft-ietf-6lo-nfc-16.txt >
6Lo Working Group Y. Choi, Ed. 6Lo Working Group Y. Choi, Ed.
Internet-Draft Y-G. Hong Internet-Draft Y-G. Hong
Intended status: Standards Track ETRI Intended status: Standards Track ETRI
Expires: January 9, 2020 J-S. Youn Expires: January 10, 2021 J-S. Youn
Dongeui Univ Dongeui Univ
D-K. Kim D-K. Kim
KNU KNU
J-H. Choi J-H. Choi
Samsung Electronics Co., Samsung Electronics Co.,
July 8, 2019 July 9, 2020
Transmission of IPv6 Packets over Near Field Communication Transmission of IPv6 Packets over Near Field Communication
draft-ietf-6lo-nfc-15 draft-ietf-6lo-nfc-16
Abstract Abstract
Near field communication (NFC) is a set of standards for smartphones Near Field Communication (NFC) is a set of standards for smartphones
and portable devices to establish radio communication with each other and portable devices to establish radio communication with each other
by touching them together or bringing them into proximity, usually no by touching them together or bringing them into proximity, usually no
more than 10 cm apart. NFC standards cover communications protocols more than 10 cm apart. NFC standards cover communications protocols
and data exchange formats, and are based on existing radio-frequency and data exchange formats, and are based on existing radio-frequency
identification (RFID) standards including ISO/IEC 14443 and FeliCa. identification (RFID) standards including ISO/IEC 14443 and FeliCa.
The standards include ISO/IEC 18092 and those defined by the NFC The standards include ISO/IEC 18092 and those defined by the NFC
Forum. The NFC technology has been widely implemented and available Forum. The NFC technology has been widely implemented and available
in mobile phones, laptop computers, and many other devices. This in mobile phones, laptop computers, and many other devices. This
document describes how IPv6 is transmitted over NFC using 6LoWPAN document describes how IPv6 is transmitted over NFC using 6LoWPAN
techniques. techniques.
skipping to change at page 1, line 46 skipping to change at page 1, line 46
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 9, 2020. This Internet-Draft will expire on January 10, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3
3. Overview of Near Field Communication Technology . . . . . . . 3 3. Overview of Near Field Communication Technology . . . . . . . 3
3.1. Peer-to-peer Mode of NFC . . . . . . . . . . . . . . . . 4 3.1. Peer-to-peer Mode of NFC . . . . . . . . . . . . . . . . 3
3.2. Protocol Stacks of NFC . . . . . . . . . . . . . . . . . 4 3.2. Protocol Stacks of NFC . . . . . . . . . . . . . . . . . 4
3.3. NFC-enabled Device Addressing . . . . . . . . . . . . . . 5 3.3. NFC-enabled Device Addressing . . . . . . . . . . . . . . 5
3.4. MTU of NFC Link Layer . . . . . . . . . . . . . . . . . . 6 3.4. MTU of NFC Link Layer . . . . . . . . . . . . . . . . . . 5
4. Specification of IPv6 over NFC . . . . . . . . . . . . . . . 7 4. Specification of IPv6 over NFC . . . . . . . . . . . . . . . 6
4.1. Protocol Stacks . . . . . . . . . . . . . . . . . . . . . 7 4.1. Protocol Stacks . . . . . . . . . . . . . . . . . . . . . 6
4.2. Link Model . . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Stateless Address Autoconfiguration . . . . . . . . . . . 7
4.3. Stateless Address Autoconfiguration . . . . . . . . . . . 8 4.3. IPv6 Link-Local Address . . . . . . . . . . . . . . . . . 8
4.4. IPv6 Link Local Address . . . . . . . . . . . . . . . . . 9 4.4. Neighbor Discovery . . . . . . . . . . . . . . . . . . . 8
4.5. Neighbor Discovery . . . . . . . . . . . . . . . . . . . 9 4.5. Dispatch Header . . . . . . . . . . . . . . . . . . . . . 9
4.6. Dispatch Header . . . . . . . . . . . . . . . . . . . . . 10 4.6. Header Compression . . . . . . . . . . . . . . . . . . . 9
4.7. Header Compression . . . . . . . . . . . . . . . . . . . 10 4.7. Fragmentation and Reassembly Considerations . . . . . . . 10
4.8. Fragmentation and Reassembly Considerations . . . . . . . 11 4.8. Unicast and Multicast Address Mapping . . . . . . . . . . 10
4.9. Unicast and Multicast Address Mapping . . . . . . . . . . 11 5. Internet Connectivity Scenarios . . . . . . . . . . . . . . . 11
5. Internet Connectivity Scenarios . . . . . . . . . . . . . . . 12 5.1. NFC-enabled Device Connected to the Internet . . . . . . 11
5.1. NFC-enabled Device Connected to the Internet . . . . . . 13 5.2. Isolated NFC-enabled Device Network . . . . . . . . . . . 12
5.2. Isolated NFC-enabled Device Network . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 9. Normative References . . . . . . . . . . . . . . . . . . . . 13
9. Normative References . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
NFC is a set of short-range wireless technologies, typically 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 requiring a distance between sender and receiver of 10 cm or less.
ISO/IEC 18000-3 air interface and at rates ranging from 106 kbit/s to NFC operates at 13.56 MHz, and at rates ranging from 106 kbit/s to
424 kbit/s [ECMA-340]. NFC always involves an initiator and a 424 kbit/s, as per the ISO/IEC 18000-3 air interface [ECMA-340]. NFC
target; the initiator actively generates an RF field that can power a builds upon RFID systems by allowing two-way communication between
passive target. This enables NFC targets to take very simple form endpoints. NFC always involves an initiator and a target; the
factors such as tags, stickers, key fobs, or cards that do not initiator actively generates an RF field that can power a passive
require batteries. NFC peer-to-peer communication is possible, target. This enables NFC targets to take very simple form factors,
provided both devices are powered. NFC builds upon RFID systems by such as tags, stickers, key fobs, or cards, while avoiding the need
allowing two-way communication between endpoints. At the time of for batteries. NFC peer-to-peer communication is possible, provided
this writing, it has been used in devices such as mobile phones, that both devices are powered. As of the writing, NFC is supported
running Android operating system, named with a feature called by the main smartphone operating systems.
"Android Beam". It is expected for the other mobile phones, running
other operating systems (e.g., iOS, etc.) to be equipped with NFC
technology in the near future.
Considering exponential growth in the number of heterogeneous air
interface technologies, NFC has been widely used like 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. NFC can provide secured
communications with its short transmission range.
When the number of devices and things having different air interface NFC is often regarded as a secure communications technology, due to
technologies communicate with each other, IPv6 is an ideal internet its very short transmission range.
protocol 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.
[RFC4944] specifies the transmission of IPv6 over IEEE 802.15.4. The In order to benefit from Internet connectivity, it is desirable for
NFC link also has similar characteristics to that of IEEE 802.15.4. NFC-enabled devices to support IPv6, considering its large address
Many of the mechanisms defined in [RFC4944] can be applied to the space, along with tools for unattended operation, among other
transmission of IPv6 on NFC links. This document specifies the advantages. This document specifies how IPv6 is supported over NFC
details of IPv6 transmission over NFC links. 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.
2. Conventions and Terminology 2. Conventions and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Overview of Near Field Communication Technology 3. Overview of Near Field Communication Technology
NFC enables simple and two-way interaction between two devices, This section presents an overview of NFC, focusing on the
allowing consumers to perform contactless transactions, access characteristics of NFC that are most relevant for supporting IPv6.
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&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.
Extending the capability of contactless card technology, NFC also NFC enables simple, two-way, interaction between two devices,
enables devices to share information at a distance that is less than allowing users to perform contactless transactions, access digital
10 cm with a maximum communication speed of 424 kbps. Users can content, and connect electronic devices with a single touch. NFC
share business cards, make transactions, access information from a utilizes key elements in existing standards for contactless card
smart poster or provide credentials for access control systems with a Technology, such as ISO/IEC 14443 A&B and JIS-X 6319-4. NFC allows
simple touch. devices to share information at a distance up to 10 cm with a maximum
physical layer bit rate of 424 kbps.
3.1. Peer-to-peer Mode of NFC 3.1. Peer-to-peer Mode of NFC
NFC-enabled devices are unique in that they can support three modes NFC defines three modes of operation: card emulation, peer-to-peer,
of operation: card emulation, peer-to-peer, and reader/writer. Only and reader/writer. Only the peer-to-peer mode enables two NFC-
peer-to-peer in the three modes enables two NFC-enabled devices to enabled devices to communicate with each other to exchange
communicate with each other to exchange information and share files, information and share files, so that users of NFC-enabled devices can
so that users of NFC-enabled devices can quickly share contact quickly share contact information and other files with a touch. The
information and other files with a touch. Therefore, the peer mode other two modes does not support two-way communications between two
is used for ipv6-over-nfc. In addition, NFC-enabled devices can devices. Therefore, the peer mode is used for ipv6-over-nfc.
securely send IPv6 packets in wireless range when an NFC-enabled
gateway is linked to the Internet.
3.2. Protocol Stacks of NFC 3.2. Protocol Stacks of NFC
IP can use the services provided by the Logical Link Control Protocol NFC defines a protocol stack for the peer-to-peer mode (Figure 1).
(LLCP) in the NFC stack to provide reliable, two-way transmission of The peer-to-peer mode is made in Activities Digital Protocol in NFC
information between the peer devices. Figure 1 depicts the NFC P2P Physical Lay. The NFC Logical Link consists of Binding for IPv6-LLCP
protocol stack with IPv6 bindings to LLCP. and Logical Link Control Protocol Layer (LLCP). IPv6 and its
underlying adaptation Layer (i.e., IPv6-over-NFC adaptation layer)
For data communication in IPv6 over NFC, an IPv6 packet MUST be are placed directly on the top of the IPv6-LLCP Binding. An IPv6
passed down to LLCP of NFC and transported to an Information (I) and datagram is transmitted by the Logical Link Control Protocol (LLCP)
an Unnumbered Information (UI) Field in Protocol Data Unit (PDU) of with reliable, two-way transmission of information between the peer
LLCP of the NFC-enabled peer device. LLCP does not support devices.
fragmentation and reassembly. For IPv6 addressing or address
configuration, LLCP MUST provide related information, such as link
layer addresses, to its upper layer. The LLCP to IPv6 protocol
binding MUST 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.
| |
| | Application Layer
| Upper Layer Protocols | Transport Layer
| | Network Layer
| | |
+----------------------------------------+ ------------------ +----------------------------------------+ ------------------
| IPv6-LLCP Binding | | | IPv6-LLCP Binding | |
+----------------------------------------+ NFC +----------------------------------------+ NFC
| | Logical Link | | Logical Link
| Logical Link Control Protocol | Layer | Logical Link Control Protocol | Layer
| (LLCP) | | | (LLCP) | |
+----------------------------------------+ ------------------ +----------------------------------------+ ------------------
| | | | | |
| Activities | | | Activities | |
| Digital Protocol | NFC | Digital Protocol | NFC
| | Physical | | Physical
+----------------------------------------+ Layer +----------------------------------------+ Layer
| | | | | |
| RF Analog | | | RF Analog | |
| | | | | |
+----------------------------------------+ ------------------ +----------------------------------------+ ------------------
Figure 1: Protocol Stacks of NFC Figure 1: Protocol Stack of NFC
The LLCP consists of Logical Link Control (LLC) and MAC Mapping. The The LLCP consists of Logical Link Control (LLC) and MAC Mapping. The
MAC Mapping integrates an existing RF protocol into the LLCP MAC Mapping integrates an existing RF protocol into the LLCP
architecture. The LLC contains three components, such as Link architecture. The LLC contains three components, such as Link
Management, Connection-oriented Transmission, and Connection-less Management, Connection-oriented Transmission, and Connection-less
Transmission. The Link Management component is responsible for Transmission. The Link Management component is responsible for
serializing all connection-oriented and connection-less LLC PDU serializing all connection-oriented and connection-less LLC PDU
(Protocol Data Unit) exchanges and for aggregation and disaggregation (Protocol Data Unit) exchanges and for aggregation and disaggregation
of small PDUs. The Connection-oriented Transmission component is of small PDUs. The Connection-oriented Transmission component is
responsible for maintaining all connection-oriented data exchanges responsible for maintaining all connection-oriented data exchanges
including connection set-up and termination. The Connectionless including connection set-up and termination. The Connectionless
Transmission component is responsible for handling unacknowledged Transmission component is responsible for handling unacknowledged
data exchanges. data exchanges.
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 (I) or an
Unnumbered Information (UI) Field in an LLCP Protocol Data Unit
(PDU). LLCP does not support fragmentation and reassembly. For IPv6
addressing or address configuration, LLCP MUST provide related
information, such as link layer addresses, to its upper layer. The
LLCP to IPv6 protocol binding MUST 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. Thus, SSAP is a source address, and DSAP is a
destination address.
3.3. NFC-enabled Device Addressing 3.3. NFC-enabled Device Addressing
According to NFC Logical Link Control Protocol v1.3 [LLCP-1.3], NFC- According to NFC Logical Link Control Protocol v1.3 [LLCP-1.3], NFC-
enabled devices have two types of 6-bit addresses (i.e., SSAP and enabled devices have two types of 6-bit addresses (i.e., SSAP and
DSAP) to identify service access points. The several service access DSAP) to identify service access points. Several service access
points can be installed on a NFC device. However, the SSAP and DSAP 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 can be used as identifiers for NFC link connections with the IPv6
over NFC adaptation layer. Therefore, the SSAP can be used to over NFC adaptation layer. Therefore, the SSAP can be used to
generate an IPv6 interface identifier. Address values between 00h generate an IPv6 interface identifier. Address values between 00h
and 0Fh of SSAP and DSAP are reserved for identifying the well-known and 0Fh of SSAP and DSAP are reserved for identifying the well-known
service access points, which are defined in the NFC Forum Assigned service access points, which are defined in the NFC Forum Assigned
Numbers Register. Address values between 10h and 1Fh are assigned by Numbers Register. Address values between 10h and 1Fh are assigned by
the local LLC to services registered by local service environment. the local LLC to services registered by local service environment.
In addition, address values between 20h and 3Fh are assigned by the In addition, address values between 20h and 3Fh are assigned by the
local LLC as a result of an upper layer service request. Therefore, local LLC as a result of an upper layer service request. Therefore,
the address values between 20h and 3Fh can be used for generating the address values between 20h and 3Fh can be used for generating
IPv6 interface identifiers. IPv6 interface identifiers.
3.4. MTU of NFC Link Layer 3.4. MTU of NFC Link Layer
As mentioned in Section 3.2, an IPv6 packet MUST be passed down to As mentioned in Section 3.2, when an IPv6 packet is transmitted, the
LLCP of NFC and transported to an Unnumbered Information Protocol packet MUST be passed down to LLCP of NFC and transported to an
Data Unit (UI PDU) and an Information Field in Protocol Data Unit (I Unnumbered Information Protocol Data Unit (UI PDU) and an Information
PDU) of LLCP of the NFC-enabled peer device. Field in Protocol Data Unit (I PDU) of LLCP of the NFC-enabled peer
device.
The information field of an I PDU contains a single service data The information field of an I PDU contains a single service data
unit. The maximum number of octets in the information field is unit. The maximum number of octets in the information field is
determined by the Maximum Information Unit (MIU) for the data link determined by the Maximum Information Unit (MIU) for the data link
connection. The default value of the MIU for I PDUs is 128 octets. connection. The default value of the MIU for I PDUs is 128 octets.
The local and remote LLCs each establish and maintain distinct MIU The local and remote LLCs each establish and maintain distinct MIU
values for each data link connection endpoint. Also, an LLC is values for each data link connection endpoint. Also, an LLC may
announce a larger MIU for a data link connection by transmitting an announce a larger MIU for a data link connection by transmitting an
MIUX extension parameter within the information field. If no MIUX optional Maximum Information Unit Extension (MIUX) parameter within
parameter is transmitted, the MIU value is 128 bytes. Otherwise, the the information field. If no MIUX parameter is transmitted, the MIU
MTU size in NFC LLCP MUST be calculated from the MIU value as value is 128 bytes. Otherwise, the MTU size in NFC LLCP MUST be
follows: calculated from the MIU value as follows:
MTU = MIU = 128 + MIUX. MTU = MIU = 128 + MIUX.
According to [LLCP-1.3], Figure 2 shows an example of the MIUX According to [LLCP-1.3], Figure 2 shows an example of the MIUX
parameter TLV. Each of TLV Type and TLV Length field is 1 byte, and parameter TLV. The Type and Length fields of the MIUX parameter TLV
TLV Value field is 2 bytes. have each a size of 1 byte. The size of the TLV Value field is 2
bytes.
0 0 1 2 3 0 0 1 2 3
0 8 6 2 1 0 8 6 2 1
+----------+----------+------+-----------+ +----------+----------+------+-----------+
| Type | Length | Value | | Type | Length | Value |
+----------+----------+------+-----------+ +----------+----------+------+-----------+
| 00000010 | 00000010 | 1011 | 0x0~0x7FF | | 00000010 | 00000010 | 1011 | 0x0~0x7FF |
+----------+----------+------+-----------+ +----------+----------+------+-----------+
Figure 2: Example of MIUX Parameter TLV Figure 2: Example of MIUX Parameter TLV
When the MIUX parameter is encoded as a TLV option, the TLV Type When the MIUX parameter is used, the TLV Type field MUST be 0x02 and
field MUST be 0x02 and the TLV Length field MUST be 0x02. The MIUX the TLV Length field MUST be 0x02. The MIUX parameter MUST be
parameter MUST be encoded into the least significant 11 bits of the encoded into the least significant 11 bits of the TLV Value field.
TLV Value field. The unused bits in the TLV Value field MUST be set The unused bits in the TLV Value field MUST be set to zero by the
to zero by the sender and ignored by the receiver. A maximum value sender and ignored by the receiver. The maximum possible value of
of the TLV Value field can be 0x7FF, and a maximum size of the MTU in the TLV Value field is 0x7FF, and the maximum size of the LLCP MTU is
NFC LLCP is 2176 bytes including the 128 byte default of MIU. This 2176 bytes. If fragmentation functionality is not used at the
value MUST be 0x480 to cover MTU of IPV6 if FAR is not used in IPv6 adaptation layer between IPv6 and NFC, the MIUX value MUST be 0x480
over NFC. to support the IPv6 MTU requirement (of 1280 bytes).
4. Specification of IPv6 over NFC 4. Specification of IPv6 over NFC
NFC technology also has considerations and requirements owing to low NFC technology also has considerations and requirements owing to low
power consumption and allowed protocol overhead. 6LoWPAN standards power consumption and allowed protocol overhead. 6LoWPAN standards
[RFC4944], [RFC6775], and [RFC6282] provide useful functionality for [RFC4944], [RFC6775], and [RFC6282] provide useful functionality for
reducing overhead which can be applied to NFC. This functionality reducing overhead which can be applied to NFC. This functionality
consists of link-local IPv6 addresses and stateless IPv6 address consists of link-local IPv6 addresses and stateless IPv6 address
auto-configuration (see Section 4.3), Neighbor Discovery (see auto-configuration (see Section 4.2), Neighbor Discovery (see
Section 4.5) and header compression (see Section 4.7). Section 4.4) and header compression (see Section 4.6).
4.1. Protocol Stacks 4.1. Protocol Stacks
Figure 3 illustrates IPv6 over NFC. Upper layer protocols can be Figure 3 illustrates IPv6 over NFC. Upper layer protocols can be
transport layer protocols (TCP and UDP), application layer protocols, transport layer protocols (e.g., TCP and UDP), application layer
and others capable running on top of IPv6. protocols, and others capable of running on top of IPv6.
| | | |
| Upper Layer Protocols | | Upper Layer Protocols |
+----------------------------------------+ +----------------------------------------+
| IPv6 | | IPv6 |
+----------------------------------------+ +----------------------------------------+
| Adaptation Layer for IPv6 over NFC | | Adaptation Layer for IPv6 over NFC |
+----------------------------------------+ +----------------------------------------+
| NFC Link Layer | | NFC Link Layer |
+----------------------------------------+ +----------------------------------------+
| NFC Physical Layer | | NFC Physical Layer |
+----------------------------------------+ +----------------------------------------+
Figure 3: Protocol Stacks for IPv6 over NFC Figure 3: Protocol Stack for IPv6 over NFC
The adaptation layer for IPv6 over NFC support neighbor discovery, The adaptation layer for IPv6 over NFC supports neighbor discovery,
stateless address auto-configuration, header compression, and stateless address auto-configuration, header compression, and
fragmentation & reassembly. fragmentation & reassembly, based on 6LoWPAN.
4.2. Link Model
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 [RFC4944].
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
Section 4.8).
This document does NOT RECOMMEND using FAR over NFC link. In
addition, the implementation for this specification MUST use MIUX
extension to communicate the MTU of the link to the peer as defined
in Section 3.4.
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.
4.3. Stateless Address Autoconfiguration 4.2. Stateless Address Autoconfiguration
An NFC-enabled device (i.e., 6LN) performs stateless address An NFC-enabled device performs stateless address autoconfiguration as
autoconfiguration as per [RFC4862]. A 64-bit Interface identifier per [RFC4862]. A 64-bit Interface identifier (IID) for an NFC
(IID) for an NFC interface is formed by utilizing the 6-bit NFC SSAP interface is formed by utilizing the 6-bit NFC SSAP (see
(see Section 3.3). In the viewpoint of address configuration, such Section 3.3). In the viewpoint of address configuration, such an IID
an IID should guarantee a stable IPv6 address during the course of a should guarantee a stable IPv6 address during the course of a single
single connection, because each data link connection is uniquely connection, because each data link connection is uniquely identified
identified by the pair of DSAP and SSAP included in the header of by the pair of DSAP and SSAP included in the header of each LLC PDU
each LLC PDU in NFC. in NFC.
Following the guidance of [RFC7136], interface identifiers of all Following the guidance of [RFC7136], interface identifiers of all
unicast addresses for NFC-enabled devices are 64 bits long and unicast addresses for NFC-enabled devices are 64 bits long and
constructed by using the generation algorithm of random (but stable) constructed by using the generation algorithm of random (but stable)
identifier (RID) [RFC7217] (see Figure 4). identifier (RID) [RFC7217] (see Figure 4).
0 1 3 4 6 0 1 3 4 6
0 6 2 8 3 0 6 2 8 3
+---------+---------+---------+---------+ +---------+---------+---------+---------+
| Random (but stable) Identifier (RID) | | Random (but stable) Identifier (RID) |
+---------+---------+---------+---------+ +---------+---------+---------+---------+
Figure 4: IID from NFC-enabled device Figure 4: IID from NFC-enabled device
The RID is an output which is created by the algorithm, F() with The RID is an output which is created by the algorithm, F() with
input parameters. One of the parameters is Net_IFace, and NFC Link input parameters. One of the parameters is Net_Iface, and NFC Link
Layer address (i.e., SSAP) is a source of the NetIFace parameter. Layer address (i.e., SSAP) is a source of the Net_Iface parameter.
The 6-bit address of SSAP of NFC is easy and short to be targeted by The 6-bit address of SSAP of NFC is easy and short to be targeted by
attacks of third party (e.g., address scanning). The F() can provide attacks of third party (e.g., address scanning). The F() can provide
secured and stable IIDs for NFC-enabled devices. In addition, an secured and stable IIDs for NFC-enabled devices. In addition, an
optional parameter, Network_ID is used to increase the randomness of optional parameter, Network_ID is used to increase the randomness of
the generated IID. the generated IID.
4.4. IPv6 Link Local Address 4.3. IPv6 Link-Local Address
The IPv6 link-local address for an NFC-enabled device is formed by The IPv6 link-local address for an NFC-enabled device is formed by
appending the IID, to the prefix FE80::/64, as depicted in Figure 5. appending the IID, to the prefix FE80::/64, as depicted in Figure 5.
0 0 0 1 0 0 0 1
0 1 6 2 0 1 6 2
0 0 4 7 0 0 4 7
+----------+------------------+----------------------------+ +----------+------------------+----------------------------+
|1111111010| zeros | Interface Identifier | |1111111010| zeros | Interface Identifier |
+----------+------------------+----------------------------+ +----------+------------------+----------------------------+
| | | |
| <---------------------- 128 bits ----------------------> | | <---------------------- 128 bits ----------------------> |
| | | |
Figure 5: IPv6 link-local address in NFC Figure 5: IPv6 link-local address in NFC
The tool for a 6LBR to obtain an IPv6 prefix for numbering the NFC A 6LBR may obtain an IPv6 prefix for numbering the NFC network via
network can be accomplished via DHCPv6 Prefix Delegation ([RFC3633]). DHCPv6 Prefix Delegation ([RFC3633]). The "Interface Identifier" can
The "Interface Identifier" is used the secured and stable IIDs for be a secured and stable IIDs.
NFC-enabled devices.
4.5. Neighbor Discovery 4.4. Neighbor Discovery
Neighbor Discovery Optimization for 6LoWPANs ([RFC6775]) describes Neighbor Discovery Optimization for 6LoWPANs ([RFC6775]) describes
the neighbor discovery approach in several 6LoWPAN topologies, such the neighbor discovery approach in several 6LoWPAN topologies, such
as mesh topology. NFC does not support a complicated mesh topology as mesh topology. NFC supports mesh topologies but most of all
but only a simple multi-hop network topology or directly connected applications would use a simple multi-hop network topology or
peer-to-peer network. Therefore, the following aspects of RFC 6775 directly connected peer-to-peer network because NFC RF range is very
are applicable to NFC: short.
o When an NFC-enabled device (6LN) is directly connected to a NFC- o When an NFC-enabled 6LN is directly connected to an NFC-enabled
enabled 6LBR, an NFC 6LN MUST register its address with the 6LBR, the NFC 6LN MUST register its address with the 6LBR by
6LBR[RFC4944] by sending a Neighbor Solicitation (NS) message with sending a Neighbor Solicitation (NS) message with the Address
the Address Registration Option (ARO) and process the Neighbor Registration Option (ARO), and process the Neighbor Advertisement
Advertisement (NA) accordingly. In addition, when the 6LN and (NA) accordingly. In addition, when the 6LN and 6LBR are directly
6LBR are directly connected, DHCPv6 is used for address connected, DHCPv6 is used for address assignment. Therefore,
assignment. Therefore, Duplicate Address Detection (DAD) is not Duplicate Address Detection (DAD) is not necessary between them.
necessary between them.
o When two or more NFC 6LNs[RFC4944](or 6LRs) are connected, there o When two or more NFC devices are connected, there are two cases.
are two cases. One is that three or more NFC devices are linked One is that three or more NFC devices are linked with multi-hop
with multi-hop connections, and the other is that they meet within connections, and the other is that they meet within a single hop
a single hop range (e.g., isolated network). In a case of multi- range (e.g., isolated network). In a case of multi-hop topology,
hops, all of 6LNs, which have two or more connections with devices which have two or more connections with neighbor devices,
different neighbors, is a router for 6LR/6LBR. In a case that play a router for 6LR/6LBR. In a case that they meet within a
they meet within a single hop and they have the same properties, single hop and they have the same properties, any of them can be a
any of them can be a router. router.
o For sending Router Solicitations and processing Router o For sending Router Solicitations and processing Router
Advertisements, the NFC 6LNs MUST follow Sections 5.3 and 5.4 of Advertisements, the NFC 6LNs MUST follow Sections 5.3 and 5.4 of
[RFC6775]. [RFC6775].
o When a NFC device becomes a 6LR or a 6LBR, the NFC device MUST o When a NFC device is a 6LR or a 6LBR, the NFC device MUST follow
follow Section 6 and 7 of [RFC6775]. Section 6 and 7 of [RFC6775].
4.6. Dispatch Header 4.5. Dispatch Header
All IPv6-over-NFC encapsulated datagrams are prefixed by an All IPv6-over-NFC encapsulated datagrams are prefixed by an
encapsulation header stack consisting of a Dispatch value followed by encapsulation header stack consisting of a Dispatch value. The only
zero or more header fields. The only sequence currently defined for sequence currently defined for IPv6-over-NFC is the 6LOWPAN_IPHC
IPv6-over-NFC is the LOWPAN_IPHC header followed by payload, as header followed by payload, as depicted in Figure 6.
depicted in Figure 6.
+---------------+---------------+--------------+ +---------------+---------------+--------------+
| IPHC Dispatch | IPHC Header | Payload | | IPHC Dispatch | IPHC Header | Payload |
+---------------+---------------+--------------+ +---------------+---------------+--------------+
Figure 6: A IPv6-over-NFC Encapsulated 6LOWPAN_IPHC Compressed IPv6 Figure 6: A IPv6-over-NFC Encapsulated 6LOWPAN_IPHC Compressed IPv6
Datagram Datagram
The dispatch value is treated as an unstructured namespace. Only a The dispatch value is treated as an unstructured namespace. Only a
single pattern is used to represent current IPv6-over-NFC single pattern is used to represent current IPv6-over-NFC
skipping to change at page 10, line 45 skipping to change at page 9, line 43
| Pattern | Header Type | Reference | | Pattern | Header Type | Reference |
+------------+--------------------+-----------+ +------------+--------------------+-----------+
| 01 1xxxxx | 6LOWPAN_IPHC | [RFC6282] | | 01 1xxxxx | 6LOWPAN_IPHC | [RFC6282] |
+------------+--------------------+-----------+ +------------+--------------------+-----------+
Figure 7: Dispatch Values Figure 7: Dispatch Values
Other IANA-assigned 6LoWPAN Dispatch values do not apply to this Other IANA-assigned 6LoWPAN Dispatch values do not apply to this
specification. specification.
4.7. Header Compression 4.6. Header Compression
Header compression as defined in [RFC6282], which specifies the Header compression as defined in [RFC6282], which specifies the
compression format for IPv6 datagrams on top of IEEE 802.15.4, is 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 REQUIRED in this document as the basis for IPv6 header compression on
top of NFC. All headers MUST be compressed according to RFC 6282 top of NFC. All headers MUST be compressed according to RFC 6282
encoding formats. encoding formats.
Therefore, IPv6 header compression in [RFC6282] MUST be implemented. Therefore, IPv6 header compression in [RFC6282] MUST be implemented.
Further, implementations MUST also support Generic Header Compression Further, implementations MUST also support Generic Header Compression
(GHC) of [RFC7400]. (GHC) of [RFC7400].
skipping to change at page 11, line 21 skipping to change at page 10, line 21
zeros as shown in Figure 8. zeros as shown in Figure 8.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Padding(all zeros)| NFC Addr. | | Padding(all zeros)| NFC Addr. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: NFC short address format Figure 8: NFC short address format
4.8. Fragmentation and Reassembly Considerations 4.7. Fragmentation and Reassembly Considerations
IPv6-over-NFC MUST NOT use fragmentation and reassembly (FAR) for the IPv6-over-NFC SHOULD NOT use fragmentation and reassembly (FAR) for
payloads as discussed in Section 3.4. The NFC link connection for the payloads as discussed in Section 3.4. The NFC link connection
IPv6 over NFC MUST be configured with an equivalent MIU size to fit for IPv6 over NFC MUST be configured with an equivalent MIU size to
the MTU of IPv6 Packet. The MIUX value is 0x480 in order to fit the fit the MTU of IPv6 Packet. The MIUX value is 0x480 in order to fit
MTU (1280 bytes) of a IPv6 packet if NFC devices support extension of the MTU (1280 bytes) of a IPv6 packet if NFC devices support
the MTU. However, if the NFC device does not support extension, extension of the MTU.
IPv6-over-NFC uses FAR with the default MTU (128 bytes), as defined
in [RFC4944].
4.9. Unicast and Multicast Address Mapping 4.8. Unicast and Multicast Address Mapping
The address resolution procedure for mapping IPv6 non-multicast The address resolution procedure for mapping IPv6 non-multicast
addresses into NFC link-layer addresses follows the general addresses into NFC link-layer addresses follows the general
description in Section 4.6.1 and 7.2 of [RFC4861], unless otherwise description in Section 4.6.1 and 7.2 of [RFC4861], unless otherwise
specified. specified.
The Source/Target link-layer Address option has the following form The Source/Target link-layer Address option has the following form
when the addresses are 6-bit NFC link-layer (node) addresses. when the addresses are 6-bit NFC link-layer (node) addresses.
0 1 0 1
skipping to change at page 12, line 47 skipping to change at page 11, line 33
The NFC Link Layer does not support multicast. Therefore, packets The NFC Link Layer does not support multicast. Therefore, packets
are always transmitted by unicast between two NFC-enabled devices. are always transmitted by unicast between two NFC-enabled devices.
Even in the case where a 6LBR is attached to multiple 6LNs, the 6LBR 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 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 to send a multicast packet to all its 6LNs, it has to replicate the
packet and unicast it on each link. packet and unicast it on each link.
5. Internet Connectivity Scenarios 5. Internet Connectivity Scenarios
NFC networks can be isolated and connected to the Internet. 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
in link layer.
5.1. NFC-enabled Device Connected to the Internet 5.1. NFC-enabled Device Connected to the Internet
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.
Figure 10 illustrates an example of an NFC-enabled device network Figure 10 illustrates an example of an NFC-enabled device network
connected to the Internet. The distance between 6LN and 6LBR is 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 typically 10 cm or less. If there is any laptop computers close to a
user, it will become a 6LBR. Additionally, when the user mounts an user, it will become a 6LBR. Additionally, when the user mounts an
NFC-enabled air interface adapter (e.g., portable NFC dongle) on the NFC-enabled air interface adapter (e.g., portable NFC dongle) on the
close laptop PC, the user's NFC-enabled device (6LN) can communicate close laptop PC, the user's NFC-enabled device (6LN) can communicate
with the laptop PC (6LBR) within 10 cm distance. with the laptop PC (6LBR) within 10 cm distance.
************ ************
6LN ------------------- 6LBR -----* Internet *------- CN 6LN ------------------- 6LBR -----* Internet *------- CN
| (dis. 10 cm or less) | ************ | | | ************ |
| | | | | |
| <-------- NFC -------> | <----- IPv6 packet ------> | | <------ NFC Link -----> | <----- IPv6 packet ------> |
| (IPv6 over NFC packet) | | | (dis. 10 cm or less) | |
Figure 10: NFC-enabled device network connected to the Internet Figure 10: NFC-enabled device network connected to the Internet
Two or more 6LNs are connected with a 6LBR, but each connection uses Two or more 6LNs are connected with a 6LBR, but each connection uses
a different subnet. The 6LBR is acting as a router and forwarding a different subnet. The 6LBR is acting as a router and forwarding
packets between 6LNs and the Internet. Also, the 6LBR MUST ensure packets between 6LNs and the Internet. Also, the 6LBR MUST ensure
address collisions do not occur and forwards packets sent by one 6LN address collisions do not occur and forwards packets sent by one 6LN
to another. to another.
5.2. Isolated NFC-enabled Device Network 5.2. Isolated NFC-enabled Device Network
In some scenarios, the NFC-enabled device network may transiently be In some scenarios, the NFC-enabled device network may transiently be
a simple isolated network as shown in the Figure 11. a simple isolated network as shown in the Figure 11.
6LN ---------------------- 6LR ---------------------- 6LN 6LN 6LN
| (10 cm or less) | (10 cm or less) | | |
| | | NFC link -> | NFC -> |
| <--------- NFC --------> | <--------- NFC --------> | (dist. 10 cm or less) | (dist. 10 cm or less) |
| (IPv6 over NFC packet) | (IPv6 over NFC packet) | | |
6LN ---------------------- 6LR ---------------------- 6LR
NFC Link NFC Link
(dist. 10 cm or less) (dist. 10 cm or less)
Figure 11: Isolated NFC-enabled device network Figure 11: Isolated NFC-enabled device network
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 work achieve a
common objective. In an isolated NFC-enabled device network, when
two or more 6LRs are connected with each other, and then they are
acting like routers, the 6LR MUST ensure address collisions do not
occur.
6. IANA Considerations 6. IANA Considerations
There are no IANA considerations related to this document. There are no IANA considerations related to this document.
7. Security Considerations 7. Security Considerations
This document does not RECOMMEND sending NFC packets over the There are the intrinsic security properties of NFC due to its short
Internet or any unsecured network. link range. When interface identifiers (IIDs) are generated, devices
and users are required to consider mitigating various threats, such
When interface identifiers (IIDs) are generated, devices and users as correlation of activities over time, location tracking, device-
are required to consider mitigating various threats, such as
correlation of activities over time, location tracking, device-
specific vulnerability exploitation, and address scanning. specific vulnerability exploitation, and address scanning.
IPv6-over-NFC uses an IPv6 interface identifier formed from a "Short IPv6-over-NFC uses an IPv6 interface identifier formed from a "Short
Address" and a set of well-known constant bits for the modified Address" and a set of well-known constant bits for the modified
EUI-64 format. However, NFC applications use short-lived EUI-64 format. However, NFC applications use short-lived
connections, and the every connection is made with different address connections, and a different address is used for each connection,
of NFC link with an extremely short-lived link. where the latter is of extremely short duration.
This document does not RECOMMEND sending NFC packets over the
Internet or any unsecured network. Especially, there can be a threat
model in the scenario of Section 5.1. when the NFC-enabled device
links to a NFC-enabled gateway for connectivity with the Internet,
the gateway can be attacked. Even though IPv6 over NFC guarantees
security between the two NFC devices, there can be another threat
during packet forwarding.
8. Acknowledgements 8. Acknowledgements
We are grateful to the members of the IETF 6lo working group. We are grateful to the members of the IETF 6lo working group.
Michael Richardson, Suresh Krishnan, Pascal Thubert, Carsten Bormann, Michael Richardson, Suresh Krishnan, Pascal Thubert, Carsten Bormann,
Alexandru Petrescu, James Woodyatt, Dave Thaler, Samita Chakrabarti, Alexandru Petrescu, James Woodyatt, Dave Thaler, Samita Chakrabarti,
and Gabriel Montenegro have provided valuable feedback for this Gabriel Montenegro and Carles Gomez Montenegro have provided valuable
draft. feedback for this document.
9. Normative References 9. Normative References
[ECMA-340] [ECMA-340]
"Near Field Communication - Interface and Protocol (NFCIP- "Near Field Communication - Interface and Protocol (NFCIP-
1) 3rd Ed.", ECMA-340 , June 2013. 1) 3rd Ed.", ECMA-340 , June 2013.
[LLCP-1.3] [LLCP-1.3]
"NFC Logical Link Control Protocol version 1.3", NFC Forum "NFC Logical Link Control Protocol version 1.3", NFC Forum
Technical Specification , March 2016. Technical Specification , March 2016.
 End of changes. 54 change blocks. 
256 lines changed or deleted 191 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/