Network Working Group P. Kim Internet-Draft Korea Polytechnic University Intended status: Experimental Expires: December 31, 2015 July 1, 2015 IoT-Specific IPv6 Stateless Address Autoconfiguration with Modified EUI-64 draft-pskim-iot-ipv6-eui64-00 Abstract An IoT-specific IPv6 stateless address autoconfiguration is suggested for diverse types of IoT devices. Both domain type and device type are defined and combined with 16-bit hexadecimal number, which is called the IoT type identifier. Then, this IoT type identifier is reflected in generating EUI-64 for each IoT device. An IoT-specific IPv6 address is developed using the stateless address autoconfiguration with the network prefix and the modified EUI-64. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on December 31, 2015. Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must Kim Expires December 31, 2015 [Page 1] Internet-Draft IoT-Specific IPv6 Address Autoconfiguration July 2015 include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. IPv6 Stateless Address Autoconfiguration . . . . . . . . . . 2 3 IoT-Specific Stateless IPv6 Address Autoconfiguration . . . . 4 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6 1. Introduction IPv6 is considered the most suitable technology for the Internet of Things (IoT), since it offers scalability, flexibility, tested, extended, ubiquitous, open, and end-to-end connectivity[1]-[3]. IPv6 spreads the addressing space in order to support all the emerging Internet-enabled devices. Many new technologies are driving the need for IPv6 deployment, and the IoT may be the biggest driver. Stateless address autoconfiguration is a key feature of IPv6[4][5]. It enables serverless basic autoconfiguration of the IPv6 nodes and easy renumbering. IPv6 stateless address autoconfiguration uses the information in the router advertisement messages to configure the node. The prefix included in the router advertisement is used as the network prefix for the node address. An IPv6 node can autoconfigure itself with a globally unique IPv6 address by appending its link-layer address (EUI-64 format) to the local link prefix (64 bits). In this draft, an IoT-specific IPv6 stateless address autoconfiguration is suggested for diverse types of IoT devices. Both domain type and device type are defined and combined with 16-bit hexadecimal number, which is called the IoT type identifier. Then, this IoT type identifier is reflected in generating EUI-64 for each IoT device. An IoT-specific IPv6 address is developed using the stateless address autoconfiguration with the network prefix and the modified EUI-64. 2. IPv6 Stateless Address Autoconfiguration with EUI-64 A Media Access Control(MAC) address, is a unique identifier assigned to network interfaces for communications, such as a network card, on the physical network segment. Logically, MAC addresses are used in the MAC protocol sub-layer of the Open Systems Interconnection(OSI) reference model. Currently there exist three address spaces for MAC Kim Expires December 31, 2015 [Page 2] Internet-Draft IoT-Specific IPv6 Address Autoconfiguration July 2015 addresses, namely, MAC-48, Extended Unique Identifier(EUI-48 and EUI-64). As shown in Figure 1, the MAC-48 address consists of two partitions, the 24-bit Organizationally Unique Identifier(OUI) and a 24-bit Network Interface Controller(NIC). MAC-48 addresses are used by Ethernet, 802.11 wireless networks, Bluetooth, IEEE 802.5 token ring (and most other 802 networks), FDDI and ATM. ----------------------------------------- | Left-most 24 bits | Right-most 24 bits| ----------------------------------------- OUI NIC
MAC-48 Address Format As shown in [4][5], the EUI-64 allows a host to assign itself a unique 64-Bit IPv6 interface identifier. This feature is a key benefit over IPv4 as it eliminates the need of manual autoconfiguration or DHCP as in the world of IPv4. The IPv6 address with the EUI-64 is obtained through the MAC-48 address. As shown in Figure 2, the 16-bit hexadecimal number 0xFFFE is then inserted in the middle of the MAC-48 address to generate the EUI-64 address. IEEE has chosen 0xFFFE as a reserved value which can only appear in EUI-64 generated from the MAC-48 address. Next, the seventh bit from the left, or the universal/local (U/L) bit, needs to be inverted. This bit identifies whether this interface identifier is universally or locally administered. If 0, the address is locally administered and if 1, the address is globally unique. It is worth noticing that in the OUI portion, the globally unique address assigned by the IEEE has always been set to 0 whereas the locally created address has 1 configured. Therefore, when the bit is inverted, it maintains its original scope (global unique address is still global unique and vice versa). ---------------------------------------------------------- | Left-most 24 bits | Middel 16 bits | Right-most 24 bits| ---------------------------------------------------------- OUI 0xFFFE NIC
EUI-64 Address Format For example, there is an internet device with MAC address of 00-1C-C4-CF-4E-D0. The transforming MAC address 00-1C-C4-CF-4E-D0 using the EUI-64 standards leads to 02-1C-C4-FF-FE-CF-4E-D0. Using IPv6 notation, 020C:29FF:FEC2:52FF can be obtained. Thus, if an IPv6 network prefix is 2001:1234:AD:5555 that usually is received with Router Advertisement(RA) in Neighbor Discovery Protocol(NDP) protocol, the resulting IPv6 address with EUI-64 is shown as follows. 2001:1234:AD:5555:21C:C4FF:FECF:4ED0/64 Kim Expires December 31, 2015 [Page 3] Internet-Draft IoT-Specific IPv6 Address Autoconfiguration July 2015 3. IoT-Specific Stateless IPv6 Address Autoconfiguration with Modified EUI-64 An IoT-specific IPv6 stateless address autoconfiguration is proposed for diverse types of IoT devices. Many are the domains and the environments in which IoT applications would likely improve the quality of our lives: at home, while travelling, when sick, at work, when jogging and at the gym, just to cite a few. These domains and environments are now equipped with things(devices) with only primitive intelligence, most of times without any communication capabilities. Giving these things(devices) the possibility to communicate with each other and to elaborate the information perceived from the surroundings imply having different environments where a very wide range of applications can be deployed. These devices can be grouped into the following types according to application domains: - Personal - Office - Healthcare - Home appliance - Transportation vehicle, etc. These types are called the "domain type" of IoT devices. Each domain type can include several different IoT device types that are called the "device type". Table 1 shows an example of domain type and device type of IoT devices. As mentioned before, in order to make EUI-64 from MAC-48, the 16-bit hexadecimal number "0xFFFE" is added in the middle of the MAC-48. To create IoT specific IPv6 address, the hexadecimal number "0xFFFE" is replaced by 8-bit upper hexadecimal number for domain type and 8-bit lower hexadecimal number for device type, respectively. As shown Figure 3, two 8-bit hexadecimal numbers are combined. This 16-bit hexadecimal number is called the "IoT type identifier". Then, the IoT type identifier is inserted in the middle of the MAC-48 to generate the EUI-64 address. This modified EUI-64 with the network prefix can yield the IoT specific IPv6 address. ---------------------------------------------------------- | Left-most 24 bits | 8bits | 8 bits | Right-most 24 bits| ---------------------------------------------------------- OUI Domain Device NIC IoT Device Identifier
Modified EUI-64 Address Format Table I shows example of IoT type identifiers for diverse types of IoT devices. For example, there is a refrigerator with MAC address of 00-1C-C4-CF-4E-D0. For the network prefix 2001:1234:AD:5555, the resulting IPv6 address with the modifed EUI-64 is shown as follows. Kim Expires December 31, 2015 [Page 4] Internet-Draft IoT-Specific IPv6 Address Autoconfiguration July 2015 2001:1234:AD:5555:21C:C4F3:F3CF:4ED0/64 Example of IoT Type Identifier ----------------------------------------------------------- Domain Upper Device Lower IoT Device Type 8bits Type 8bits Type 16bits ----------------------------------------------------------- Phone 0xF0 0xF0F0 Personal 0xF0 Table 0xF1 0xF0F1 Watch 0xF2 0xF0F2 : : : ----------------------------------------------------------- Desktop 0xF0 0xF1F0 Office 0xF1 Laptop 0xF1 0xF1F1 Printer 0xF2 0xF1F2 : : : ----------------------------------------------------------- Wearable 0xF0 0xF2F0 Healthcare 0xF2 Monitoring 0xF1 0xF2F1 Talking 0xF2 0xF2F2 : : : ----------------------------------------------------------- TV 0xF0 0xF3F0 Home Washing Machine 0xF1 0xF3F1 Appliances 0xF3 Refrigerator 0xF2 0xF3F2 Microwave 0xF3 0xF3F3 : : : ----------------------------------------------------------- Personal Car 0xF0 0xF4F0 Bus 0xF1 0xF4F1 Transportation 0xF4 Taxi 0xF2 0xF4F2 Vehicles Airplane 0xF3 0xF4F3 Logistics 0xF4 0xF4F4 Ship 0xF5 0xF4F5 : : : ----------------------------------------------------------- : : : : : ----------------------------------------------------------- Both intermediate node and end node that are communicating with IoT device can recognize both domain and device types of corresponding IoT device using 16-bit hexadecimal number in IPv6 address. 3. IANA Considerations This document has no IANA actions. Kim Expires December 31, 2015 [Page 5] Internet-Draft IoT-Specific IPv6 Address Autoconfiguration July 2015 4. References [1] A. J. Jara, L. Ladid, and A. Skarmeta, "The Internet of Everything through IPv6: An Analysis of Challenges, Solutions and Opportunities", Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA), Vol. 4, No. 3, pp. 97~118, 2013. [2] T. Savolainen, J. Soininen, and B. Silverajan, "IPv6 addressing strategies for IoT," IEEE Sensors Journal, vol. 13, no. 10, pp. 3511~3519, 2013. [3] I. Ishaq, D. Carels, G. K. Teklemariam, J. Hoebeke, F. V. den Abeele, E. De Poorter, I. Moerman, and P. Demeester, "IETF Standardization in the field of the Internet of Things (IoT): A survey," Journal of Sensor and Actuator Network, vol. 2, no. 2, pp. 235?287, 2013. [4] R. Hinden, S. Deering, "IP Version 6 Addressing Architecture", IETF RFC 4291, February 2006 [5] Sunil Khanna, Understanding IPv6 EUI-64 Bit Address, Cisco Support Community, May 17, 2012. Author's Address Pyung Soo Kim Department of Electronics Engineering, Korea Polytechnic University, 2121 Jungwang-Dong, Shiheung City, Gyeonggi-Do 429-793 KOREA Phone: +82 31 8041 0489 EMail: pskim@kpu.ac.kr Kim Expires December 31, 2015 [Page 6]