| < draft-ietf-6lo-nfc-09.txt | draft-ietf-6lo-nfc-10.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: July 12, 2018 J-S. Youn | Expires: January 18, 2019 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., | |||
| January 8, 2018 | July 17, 2018 | |||
| Transmission of IPv6 Packets over Near Field Communication | Transmission of IPv6 Packets over Near Field Communication | |||
| draft-ietf-6lo-nfc-09 | draft-ietf-6lo-nfc-10 | |||
| 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. NFC standards cover communications protocols and | more than 10 cm. NFC standards cover communications protocols and | |||
| data exchange formats, and are based on existing radio-frequency | 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 | |||
| 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 July 12, 2018. | This Internet-Draft will expire on January 18, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
| skipping to change at page 2, line 31 ¶ | skipping to change at page 2, line 31 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3 | 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3 | |||
| 3. Overview of Near Field Communication Technology . . . . . . . 4 | 3. Overview of Near Field Communication Technology . . . . . . . 4 | |||
| 3.1. Peer-to-peer Mode of NFC . . . . . . . . . . . . . . . . 4 | 3.1. Peer-to-peer Mode of NFC . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Protocol Stacks of NFC . . . . . . . . . . . . . . . . . 4 | 3.2. Protocol Stacks of NFC . . . . . . . . . . . . . . . . . 4 | |||
| 3.3. NFC-enabled Device Addressing . . . . . . . . . . . . . . 6 | 3.3. NFC-enabled Device Addressing . . . . . . . . . . . . . . 6 | |||
| 3.4. MTU of NFC Link Layer . . . . . . . . . . . . . . . . . . 6 | 3.4. MTU of NFC Link Layer . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Specification of IPv6 over NFC . . . . . . . . . . . . . . . 7 | 4. Specification of IPv6 over NFC . . . . . . . . . . . . . . . 7 | |||
| 4.1. Protocol Stacks . . . . . . . . . . . . . . . . . . . . . 7 | 4.1. Protocol Stacks . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.2. Link Model . . . . . . . . . . . . . . . . . . . . . . . 7 | 4.2. Link Model . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4.3. Stateless Address Autoconfiguration . . . . . . . . . . . 8 | 4.3. Stateless Address Autoconfiguration . . . . . . . . . . . 9 | |||
| 4.4. IPv6 Link Local Address . . . . . . . . . . . . . . . . . 9 | 4.4. IPv6 Link Local Address . . . . . . . . . . . . . . . . . 9 | |||
| 4.5. Neighbor Discovery . . . . . . . . . . . . . . . . . . . 9 | 4.5. Neighbor Discovery . . . . . . . . . . . . . . . . . . . 10 | |||
| 4.6. Dispatch Header . . . . . . . . . . . . . . . . . . . . . 10 | 4.6. Dispatch Header . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.7. Header Compression . . . . . . . . . . . . . . . . . . . 10 | 4.7. Header Compression . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.8. Fragmentation and Reassembly . . . . . . . . . . . . . . 11 | 4.8. Fragmentation and Reassembly . . . . . . . . . . . . . . 12 | |||
| 4.9. Unicast Address Mapping . . . . . . . . . . . . . . . . . 11 | 4.9. Unicast and Multicast Address Mapping . . . . . . . . . . 12 | |||
| 4.10. Multicast Address Mapping . . . . . . . . . . . . . . . . 12 | ||||
| 5. Internet Connectivity Scenarios . . . . . . . . . . . . . . . 13 | 5. Internet Connectivity Scenarios . . . . . . . . . . . . . . . 13 | |||
| 5.1. NFC-enabled Device Connected to the Internet . . . . . . 13 | 5.1. NFC-enabled Device Connected to the Internet . . . . . . 13 | |||
| 5.2. Isolated NFC-enabled Device Network . . . . . . . . . . . 13 | 5.2. Isolated NFC-enabled Device Network . . . . . . . . . . . 14 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 16 | 9.2. Informative References . . . . . . . . . . . . . . . . . 17 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 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 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 | 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 | 424 kbit/s. NFC always involves an initiator and a target; the | |||
| initiator actively generates an RF field that can power a passive | initiator actively generates an RF field that can power a passive | |||
| target. This enables NFC targets to take very simple form factors | target. This enables NFC targets to take very simple form factors | |||
| such as tags, stickers, key fobs, or cards that do not require | such as tags, stickers, key fobs, or cards that do not require | |||
| skipping to change at page 3, line 50 ¶ | skipping to change at page 3, line 50 ¶ | |||
| [RFC4944] specifies the transmission of IPv6 over IEEE 802.15.4. The | [RFC4944] specifies the transmission of IPv6 over IEEE 802.15.4. The | |||
| NFC link also has similar characteristics to that of IEEE 802.15.4. | NFC link also has similar characteristics to that of IEEE 802.15.4. | |||
| Many of the mechanisms defined in [RFC4944] can be applied to the | Many of the mechanisms defined in [RFC4944] can be applied to the | |||
| transmission of IPv6 on NFC links. This document specifies the | transmission of IPv6 on NFC links. This document specifies the | |||
| details of IPv6 transmission over NFC links. | details of IPv6 transmission over NFC links. | |||
| 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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in [RFC2119]. | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 3. Overview of Near Field Communication Technology | 3. Overview of Near Field Communication Technology | |||
| NFC technology enables simple and safe two-way interactions between | NFC technology enables simple and safe two-way interactions between | |||
| electronic devices, allowing consumers to perform contactless | electronic devices, allowing consumers to perform contactless | |||
| transactions, access digital content, and connect electronic devices | transactions, access digital content, and connect electronic devices | |||
| with a single touch. NFC complements many popular consumer level | with a single touch. NFC complements many popular consumer level | |||
| wireless technologies, by utilizing the key elements in existing | wireless technologies, by utilizing the key elements in existing | |||
| standards for contactless card technology (ISO/IEC 14443 A&B and | standards for contactless card technology (ISO/IEC 14443 A&B and | |||
| JIS-X 6319-4). NFC can be compatible with existing contactless card | JIS-X 6319-4). NFC can be compatible with existing contactless card | |||
| skipping to change at page 4, line 47 ¶ | skipping to change at page 4, line 49 ¶ | |||
| IPv6 packets to any corresponding node on the Internet when an NFC- | IPv6 packets to any corresponding node on the Internet when an NFC- | |||
| enabled gateway is linked to the Internet. | 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 | IP can use the services provided by the Logical Link Control Protocol | |||
| (LLCP) in the NFC stack to provide reliable, two-way transport of | (LLCP) in the NFC stack to provide reliable, two-way transport of | |||
| information between the peer devices. Figure 1 depicts the NFC P2P | information between the peer devices. Figure 1 depicts the NFC P2P | |||
| protocol stack with IPv6 bindings to LLCP. | protocol stack with IPv6 bindings to LLCP. | |||
| For data communication in IPv6 over NFC, an IPv6 packet SHALL be | For data communication in IPv6 over NFC, an IPv6 packet MUST be | |||
| passed down to LLCP of NFC and transported to an Information Field in | 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. | Protocol Data Unit (I PDU) of LLCP of the NFC-enabled peer device. | |||
| LLCP does not support fragmentation and reassembly. For IPv6 | LLCP does not support fragmentation and reassembly. For IPv6 | |||
| addressing or address configuration, LLCP SHALL provide related | addressing or address configuration, LLCP MUST provide related | |||
| information, such as link layer addresses, to its upper layer. The | information, such as link layer addresses, to its upper layer. The | |||
| LLCP to IPv6 protocol binding SHALL transfer the SSAP and DSAP value | LLCP to IPv6 protocol binding MUST transfer the SSAP and DSAP value | |||
| to the IPv6 over NFC protocol. SSAP stands for Source Service Access | 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 | 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 | (LLC) address, while DSAP means an LLC address of the destination | |||
| NFC-enabled device. | NFC-enabled device. | |||
| | | | | | | |||
| | | Application Layer | | | Application Layer | |||
| | Upper Layer Protocols | Transport Layer | | Upper Layer Protocols | Transport Layer | |||
| | | Network Layer | | | Network Layer | |||
| | | | | | | | | |||
| skipping to change at page 6, line 25 ¶ | skipping to change at page 6, line 25 ¶ | |||
| 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 SHALL be | Numbers Register. Address values between 10h and 1Fh SHALL be | |||
| assigned by the local LLC to services registered by local service | assigned by the local LLC to services registered by local service | |||
| environment. In addition, address values between 20h and 3Fh SHALL | environment. In addition, address values between 20h and 3Fh SHALL | |||
| be assigned by the local LLC as a result of an upper layer service | 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 | request. Therefore, the address values between 20h and 3Fh can be | |||
| used for generating IPv6 interface identifiers. | used for generating 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 SHALL passed down to LLCP | As mentioned in Section 3.2, an IPv6 packet MUST be passed down to | |||
| of NFC and transported to an Unnumbered Information Protocol Data | LLCP of NFC and transported to an Unnumbered Information Protocol | |||
| Unit (UI PDU) and an Information Field in Protocol Data Unit (I PDU) | Data Unit (UI PDU) and an Information Field in Protocol Data Unit (I | |||
| of LLCP of the NFC-enabled peer device. | PDU) of LLCP of the NFC-enabled peer device. | |||
| The information field of an I PDU SHALL contain 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 SHALL be 128 | connection. The default value of the MIU for I PDUs is 128 octets. | |||
| octets. The local and remote LLCs each establish and maintain | The local and remote LLCs each establish and maintain distinct MIU | |||
| distinct MIU values for each data link connection endpoint. Also, an | values for each data link connection endpoint. Also, an LLC MAY | |||
| LLC MAY announce a larger MIU for a data link connection by | announce a larger MIU for a data link connection by transmitting an | |||
| transmitting an MIUX extension parameter within the information | MIUX extension parameter within the information field. If no MIUX | |||
| field. If no MIUX parameter is transmitted, the default MIU value of | parameter is transmitted, the default MIU value of 128 MUST be used. | |||
| 128 SHALL be used. Otherwise, the MTU size in NFC LLCP SHALL | Otherwise, the MTU size in NFC LLCP SHOULD be calculated from the MIU | |||
| calculate the MIU value as follows: | value as follows: | |||
| MIU = 128 + MIUX. | MIU = 128 + MIUX. | |||
| When the MIUX parameter is encoded as a TLV, the TLV Type field SHALL | According to [LLCP-1.3], Figure 2 shows an example of the MIUX | |||
| be 0x02 and the TLV Length field SHALL be 0x02. The MIUX parameter | parameter TLV. Each of TLV Type and TLV Length field is 1 byte, and | |||
| SHALL be encoded into the least significant 11 bits of the TLV Value | TLV Value field is 2 bytes. | |||
| 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 | 0 0 1 2 3 | |||
| maximum value of the TLV Value field can be 0x7FF, and a maximum size | 0 8 6 2 1 | |||
| of the MTU in NFC LLCP is 2176 bytes. | +--------+--------+----------------+ | |||
| | Type | Length | Value | | ||||
| +--------+--------+----+-----------+ | ||||
| |00000010|00000010|1011| MIUX | | ||||
| +--------+--------+----+-----------+ | ||||
| | <-------> | | ||||
| 0x000 ~ 0x7FF | ||||
| Figure 2: Example of MIUX Parameter TLV | ||||
| When the MIUX parameter is encoded as a TLV option, the TLV Type | ||||
| field MUST be 0x02 and the TLV Length field MUST be 0x02. The MIUX | ||||
| parameter MUST be encoded into the least significant 11 bits of the | ||||
| TLV Value field. The unused bits in the TLV Value field MUST be set | ||||
| to zero by the sender and ignored by the receiver. A maximum value | ||||
| of the TLV Value field can be 0x7FF, and a maximum size of the MTU in | ||||
| NFC LLCP is 2176 bytes including the 128 byte default of MIU. | ||||
| 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.3), Neighbor Discovery (see | |||
| Section 4.5) and header compression (see Section 4.7). | Section 4.5) and header compression (see Section 4.7). | |||
| 4.1. Protocol Stacks | 4.1. Protocol Stacks | |||
| Figure 2 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 (TCP and UDP), application layer protocols, | |||
| and others capable running on top of IPv6. | and others capable running on top of IPv6. | |||
| | | Transport & | | | Transport & | |||
| | Upper Layer Protocols | Application Layer | | Upper Layer Protocols | Application Layer | |||
| +----------------------------------------+ <------------------ | +----------------------------------------+ <------------------ | |||
| | | | | | | | | |||
| | IPv6 | | | | IPv6 | | | |||
| | | Network | | | Network | |||
| +----------------------------------------+ Layer | +----------------------------------------+ Layer | |||
| skipping to change at page 7, line 41 ¶ | skipping to change at page 8, line 25 ¶ | |||
| | Logical Link Control Protocol | NFC Link Layer | | Logical Link Control Protocol | NFC Link Layer | |||
| | (LLCP) | | | | (LLCP) | | | |||
| +----------------------------------------+ <------------------ | +----------------------------------------+ <------------------ | |||
| | | | | | | | | |||
| | Activities | NFC | | Activities | NFC | |||
| | Digital Protocol | Physical Layer | | Digital Protocol | Physical Layer | |||
| | RF Analog | | | | RF Analog | | | |||
| | | | | | | | | |||
| +----------------------------------------+ <------------------ | +----------------------------------------+ <------------------ | |||
| Figure 2: Protocol Stacks for IPv6 over NFC | Figure 3: Protocol Stacks for IPv6 over NFC | |||
| The adaptation layer for IPv6 over NFC SHALL support neighbor | The adaptation layer for IPv6 over NFC SHALL support neighbor | |||
| discovery, stateless address auto-configuration, header compression, | discovery, stateless address auto-configuration, header compression, | |||
| and fragmentation & reassembly. | and fragmentation & reassembly. | |||
| 4.2. Link Model | 4.2. Link Model | |||
| In the case of BT-LE, the Logical Link Control and Adaptation | In the case of BT-LE, the Logical Link Control and Adaptation | |||
| Protocol (L2CAP) supports fragmentation and reassembly (FAR) | Protocol (L2CAP) supports fragmentation and reassembly (FAR) | |||
| functionality; therefore, the adaptation layer for IPv6 over BT-LE | functionality; therefore, the adaptation layer for IPv6 over BT-LE | |||
| does not have to conduct the FAR procedure. The NFC LLCP, in | does not have to conduct the FAR procedure. The NFC LLCP, in | |||
| contrast, does not support the FAR functionality, so IPv6 over NFC | contrast, does not support the FAR functionality, so IPv6 over NFC | |||
| needs to consider the FAR functionality, defined in [RFC4944]. | needs to consider the FAR functionality, defined in [RFC4944]. | |||
| However, the MTU on an NFC link can be configured in a connection | 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 | procedure and extended enough to fit the MTU of IPv6 packet (see | |||
| Section 4.8). | Section 4.8). | |||
| This document does NOT RECOMMEND using FAR over NFC link due to | ||||
| simplicity of the protocol and implementation. In addition, the | ||||
| implementation for this specification SHOULD 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 | 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 | 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 | support a star topology or mesh network topology but only direct | |||
| connections between two devices. Furthermore, the NFC link layer | connections between two devices. Furthermore, the NFC link layer | |||
| does not support packet forwarding in link layer. Due to this | does not support packet forwarding in link layer. Due to this | |||
| characteristics, 6LoWPAN functionalities, such as addressing and | characteristics, 6LoWPAN functionalities, such as addressing and | |||
| auto-configuration, and header compression, need to be specialized | auto-configuration, and header compression, need to be specialized | |||
| into IPv6 over NFC. | into IPv6 over NFC. | |||
| 4.3. Stateless Address Autoconfiguration | 4.3. Stateless Address Autoconfiguration | |||
| skipping to change at page 8, line 32 ¶ | skipping to change at page 9, line 22 ¶ | |||
| autoconfiguration as per [RFC4862]. A 64-bit Interface identifier | autoconfiguration as per [RFC4862]. A 64-bit Interface identifier | |||
| (IID) for an NFC interface is formed by utilizing the 6-bit NFC LLCP | (IID) for an NFC interface is formed by utilizing the 6-bit NFC LLCP | |||
| address (see Section 3.3). In the viewpoint of address | address (see Section 3.3). In the viewpoint of address | |||
| configuration, such an IID SHOULD guarantee a stable IPv6 address | configuration, such an IID SHOULD guarantee a stable IPv6 address | |||
| because each data link connection is uniquely identified by the pair | 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. | of DSAP and SSAP included in the header of each LLC PDU 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 3). | 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 3: IID from NFC-enabled device | Figure 4: IID from NFC-enabled device | |||
| The RID is an output which MAY be created by the algorithm, F() with | The RID is an output which MAY be 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) MAY be a source of the NetIFace parameter. | Layer address (i.e., SSAP) MAY be a source of the NetIFace 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. | secured and stable IIDs for NFC-enabled devices. | |||
| In addition, the "Universal/Local" bit (i.e., the 'u' bit) of an NFC- | In addition, the "Universal/Local" bit (i.e., the 'u' bit) of an NFC- | |||
| enabled device address MUST be set to 0 [RFC4291]. | enabled device address MUST be set to 0 [RFC4291]. | |||
| 4.4. IPv6 Link Local Address | 4.4. IPv6 Link Local Address | |||
| Only if the NFC-enabled device address is known to be a public | 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, 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 | address for an NFC-enabled device is formed by appending the IID, to | |||
| the prefix FE80::/64, as depicted in Figure 4. | 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 4: 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 | The tool for a 6LBR to obtain an IPv6 prefix for numbering the NFC | |||
| network is can be accomplished via DHCPv6 Prefix Delegation | network is can be accomplished via DHCPv6 Prefix Delegation | |||
| ([RFC3633]). | ([RFC3633]). | |||
| 4.5. Neighbor Discovery | 4.5. 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 does not support a complicated mesh topology | |||
| skipping to change at page 9, line 50 ¶ | skipping to change at page 10, line 43 ¶ | |||
| Option (ARO) and process the Neighbor Advertisement (NA) | Option (ARO) and process the Neighbor Advertisement (NA) | |||
| accordingly. In addition, if DHCPv6 is used to assign an address, | accordingly. In addition, if DHCPv6 is used to assign an address, | |||
| Duplicate Address Detection (DAD) MAY not be required. | Duplicate Address Detection (DAD) MAY not be required. | |||
| o When two or more NFC 6LNs meet, there MAY be two cases. One is | o When two or more NFC 6LNs meet, there MAY be two cases. One is | |||
| that they meet with multi-hop connections, and the other is that | that they meet with multi-hop connections, and the other is that | |||
| they meet within a sigle hop range (e.g., isolated network). In a | they meet within a sigle hop range (e.g., isolated network). In a | |||
| case of multi-hops, all of 6LNs, which have two or more | case of multi-hops, all of 6LNs, which have two or more | |||
| connections with different neighbors, MAY be a router for | connections with different neighbors, MAY be a router for | |||
| 6LR/6LBR. In a case that they meet within a single hop and they | 6LR/6LBR. In a case that they meet within a single hop and they | |||
| have the same properties, any of them can be a router. Unless | have the same properties, any of them can be a router. When the | |||
| they are the same (e.g., different MTU, level of remaining energy, | NFC nodes are not of uniform category (e.g., different MTU, level | |||
| connectivity, etc.), a performance-outstanding device can become a | of remaining energy, connectivity, etc.), a performance- | |||
| router. Also, they MAY deliver their own information (e.g., MTU | outstanding device can become a router. Also, they MUST deliver | |||
| and energy level, etc.) to neighbors with NFC LLCP protocols | their MTU information to neighbors with NFC LLCP protocols during | |||
| during connection initialization. | connection initialization. The router MAY also communicate other | |||
| capabilities which is out of scope of this document. | ||||
| 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 | |||
| RFC 6775. | [RFC6775]. | |||
| 4.6. Dispatch Header | 4.6. 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 followed by | |||
| zero or more header fields. The only sequence currently defined for | zero or more header fields. The only sequence currently defined for | |||
| IPv6-over-NFC is the LOWPAN_IPHC header followed by payload, as | IPv6-over-NFC is the LOWPAN_IPHC header followed by payload, as | |||
| depicted in Figure 5. | depicted in Figure 6. | |||
| +---------------+---------------+--------------+ | +---------------+---------------+--------------+ | |||
| | IPHC Dispatch | IPHC Header | Payload | | | IPHC Dispatch | IPHC Header | Payload | | |||
| +---------------+---------------+--------------+ | +---------------+---------------+--------------+ | |||
| Figure 5: 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 may be treated as an unstructured namespace. Only | The dispatch value may be treated as an unstructured namespace. Only | |||
| a single pattern is used to represent current IPv6-over-NFC | a single pattern is used to represent current IPv6-over-NFC | |||
| functionality. | functionality. | |||
| +------------+--------------------+-----------+ | +------------+--------------------+-----------+ | |||
| | Pattern | Header Type | Reference | | | Pattern | Header Type | Reference | | |||
| +------------+--------------------+-----------+ | +------------+--------------------+-----------+ | |||
| | 01 1xxxxx | 6LOWPAN_IPHC | [RFC6282] | | | 01 1xxxxx | 6LOWPAN_IPHC | [RFC6282] | | |||
| +------------+--------------------+-----------+ | +------------+--------------------+-----------+ | |||
| Figure 6: 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.7. 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 MAY also support Generic Header Compression | Further, implementations MAY also support Generic Header Compression | |||
| (GHC) of [RFC7400]. | (GHC) of [RFC7400]. | |||
| If a 16-bit address is required as a short address, it MUST be formed | 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 | by padding the 6-bit NFC link-layer (node) address to the left with | |||
| zeros as shown in Figure 7. | 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 7: NFC short address format | Figure 8: NFC short address format | |||
| 4.8. Fragmentation and Reassembly | 4.8. Fragmentation and Reassembly | |||
| NFC provides fragmentation and reassembly (FAR) for payloads from 128 | IPv6-over-NFC fragmentation and reassembly (FAR) for the payloads is | |||
| bytes up to 2176 bytes as mentioned in Section 3.4. The MTU of a | NOT RECOMMENDED in this document as discussed in Section 3.4. The | |||
| general IPv6 packet can fit into a single NFC link frame. Therefore, | NFC link connection for IPv6 over NFC MUST be configured with an | |||
| 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 | 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 | support extension of the MTU, the MIUX value is 0x480 in order to fit | |||
| the MTU (1280 bytes) of a IPv6 packet. | the MTU (1280 bytes) of a IPv6 packet. | |||
| 4.9. Unicast Address Mapping | 4.9. 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 7.2 of [RFC4861], unless otherwise specified. | description in Section 7.2 of [RFC4861], unless otherwise 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 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length=1 | | | Type | Length=1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +- Padding (all zeros) -+ | +- Padding (all zeros) -+ | |||
| | | | | | | |||
| +- +-+-+-+-+-+-+ | +- +-+-+-+-+-+-+ | |||
| | | NFC Addr. | | | | NFC Addr. | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 8: Unicast address mapping | Figure 9: Unicast address mapping | |||
| Option fields: | Option fields: | |||
| Type: | Type: | |||
| 1: for Source Link-layer address. | 1: for Source Link-layer address. | |||
| 2: for Target Link-layer address. | 2: for Target Link-layer address. | |||
| Length: | Length: | |||
| This is the length of this option (including the type and | This is the length of this option (including the type and | |||
| length fields) in units of 8 octets. The value of this field | length fields) in units of 8 octets. The value of this field | |||
| is 1 for 6-bit NFC node addresses. | is 1 for 6-bit NFC node addresses. | |||
| NFC address: | NFC address: | |||
| The 6-bit address in canonical bit order. This is the unicast | The 6-bit address in canonical bit order. This is the unicast | |||
| address the interface currently responds to. | address the interface currently responds to. | |||
| 4.10. Multicast Address Mapping | The NFC Link Layer does not support multicast. Therefore, packets | |||
| are always transmitted by unicast between two NFC-enabled devices. | ||||
| All IPv6 multicast packets MUST be sent to NFC Destination Address, | Even in the case where a 6LBR is attached to multiple 6LNs, the 6LBR | |||
| 0x3F (broadcast) and be filtered at the IPv6 layer. When represented | cannot do a multicast to all the connected 6LNs. If the 6LBR needs | |||
| as a 16-bit address in a compressed header, it MUST be formed by | to send a multicast packet to all its 6LNs, it has to replicate the | |||
| padding on the left with a zero. In addition, the NFC Destination | packet and unicast it on each link. | |||
| Address, 0x3F, MUST NOT be used as a unicast NFC address of SSAP or | ||||
| DSAP. | ||||
| 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| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 9: Multicast address mapping | ||||
| 5. Internet Connectivity Scenarios | 5. Internet Connectivity Scenarios | |||
| As two typical scenarios, the NFC network can be isolated and | As two typical scenarios, the NFC network can be isolated and | |||
| connected to the Internet. | connected to the Internet. | |||
| 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 | One of the key applications of using IPv6 over NFC is securely | |||
| transmitting IPv6 packets because the RF distance between 6LN and | transmitting IPv6 packets because the RF distance between 6LN and | |||
| skipping to change at page 14, line 45 ¶ | skipping to change at page 15, line 10 ¶ | |||
| 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 (such as padding with | 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 | '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 | NFC link layer (LLC) is not generated as a physically permanent value | |||
| but logically generated for each connection. Thus, every single | but logically generated for each connection. Thus, every single | |||
| touch connection can use a different short address of NFC link with | touch connection can use a different short address of NFC link with | |||
| an extremely short-lived link. This can mitigate address scanning as | an extremely short-lived link. This can mitigate address scanning as | |||
| well as location tracking and device-specific vulnerability | well as location tracking and device-specific vulnerability | |||
| exploitation. | exploitation. | |||
| Thus, this document does not RECOMMEND sending NFC packets over the | ||||
| Internet or any unsecured network. | ||||
| If there is a compelling reason to send/receive the IPv6-over-NFC | ||||
| packets over the unsecured network, the deployment SHOULD make sure | ||||
| that the packets are sent over secured channels. The particular | ||||
| Security mechanisms are out of scope of this document. | ||||
| 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 | and Gabriel Montenegro have provided valuable feedback for this | |||
| draft. | draft. | |||
| 9. References | 9. References | |||
| skipping to change at page 16, line 20 ¶ | skipping to change at page 16, line 46 ¶ | |||
| Interface Identifiers with IPv6 Stateless Address | Interface Identifiers with IPv6 Stateless Address | |||
| Autoconfiguration (SLAAC)", RFC 7217, | Autoconfiguration (SLAAC)", RFC 7217, | |||
| DOI 10.17487/RFC7217, April 2014, | DOI 10.17487/RFC7217, April 2014, | |||
| <https://www.rfc-editor.org/info/rfc7217>. | <https://www.rfc-editor.org/info/rfc7217>. | |||
| [RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for | [RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for | |||
| IPv6 over Low-Power Wireless Personal Area Networks | IPv6 over Low-Power Wireless Personal Area Networks | |||
| (6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November | (6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November | |||
| 2014, <https://www.rfc-editor.org/info/rfc7400>. | 2014, <https://www.rfc-editor.org/info/rfc7400>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
| 9.2. Informative References | 9.2. Informative 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. | |||
| Authors' Addresses | Authors' Addresses | |||
| Younghwan Choi (editor) | Younghwan Choi (editor) | |||
| Electronics and Telecommunications Research Institute | Electronics and Telecommunications Research Institute | |||
| End of changes. 38 change blocks. | ||||
| 84 lines changed or deleted | 107 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/ | ||||