IPv6 is good for IoT and IoT is good for IPv6. There are several arguments and features that demonstrate that IPv6 is actually a key communication enabler for the future Internet of Things:
· Adoption is just a matter of time
The Internet Protocol is a must and a requirement for any Internet connectivity. It is the addressing scheme for any data transfer on the web. The limited address capacity of its predecessor, IPv4, has made the transition to IPv6 unavoidable. Google’s figures are revealing an IPv6 adoption rate following an exponential curve, doubling every 6 months.
IPv6 offers a highly scalable address scheme. The present scheme of Internet Governance provides at most 2 x 1019 unique, globally routable, addresses. This is many orders of magnitude more that the 2 x 109 that is possible with IPv4 and the 1013 that is the largest estimate of IoT devices that will be used this century. It is quite sufficient to address the needs of any present and future communicating device still allowing it to have many addresses.
· Solving the NAT barrier
Due to the limits of the IPv4 address space, the current Internet had to adopt a stopgap solution to face its unplanned expansion: the Network Address Translation (NAT). It enables several users and devices to share the same public IP address. This solution is working but with two main trades-off:
The NAT users are borrowing and sharing IP addresses with others. While this technique allows single stakeholders to mount large applications, it becomes completely unmanageable if the same end-points are to be used by many different stakeholders; this would occur in an IoT deployment where the same sensors are to be used by multiple, independent, stakeholders. Secondly the mechanism cannot be used to access specific end-points from the Internet..
· Multi-Stakeholder Support
IPv6 provides for end devices to have multiple addresses and an even more distributed routing mechanism than the IPv4 Internet. This allows different stakeholders to assign IoT end-device addresses that are consistent with their own application and network practices. Thus multiple stakeholders can deploy their own applications, sharing a common sensor/actuation infrastructure, without impacting the technical operation or governance of the Internet.
· IPv6 Features
Many features have been built into the basic IPv6 specifications that are very useful both for the operation and the deployment of IoT. Besides the features already mentioned, these include multicast, anycast, mobility support, auto-configuration and address scope.
· Over the last decade, many new higher level protocols have been developed that are both useful for IoT and are well-suited to devices with constrained resources. Examples are 6LowPAN (wireless nets), COAP (transport with web services) and DTLS (secured datagrams). Indeed there is a whole REST environment targetted at constrained devices.
· Tiny operating systems and network stacks
IPv6 application to the Internet of Things has been researched for many years. The research community has developed several operating systems like TinyOS and Contiki that are relatively small and support the above protocol suites and environments. While the main IPv6 is very rich in possible features, these reduced environments have often restricted carefully the features available in order to meet IoT needs while reducing the size of the underlying system and leaving more space for applications. For example a basic Contiki system takes less than 20KByte, and even one supporting a full IPv6 stack and the other high-level protocols including DTLS can probably fit into 70 Kbyte
· Increased hardware support
The operating system and network stack (with security) could be made much more compact by providing more hardware support in the chipset (or a co-processor). However such initiatives would detract from the efficient porting of the system to other chipsets. It would be desirable to make such upgrades for large deployments in commercial environments.
· Mapping of physical systems onto IPv6 address and Privacy extension
We have shown it is possible to map many features of the physical IoT devices onto IPv6 addresses. This can ease large-scale deployments – though at the cost of revealing to anyone interested architectural features of the IoT devices because of the tranparency of the Domain Name Service entries.
In contrast, IPv6 provides for privacy by automatically randomising the suffix of the IPv6 address to hide the MAC address or any serial number used as identifier when connecting to the Internet. This feature is made available on all operating systems automatically.
Of course these two techniques have contradictory aims and effects; their relevance are determined by the needs of the IoT application.
· Use of Identifiers and improved functionality
We have shown that by the use of Identifiers in conjunction with IPv6, one can take advantages of IPv6 features without their drawbacks. For example, with systems like Handle the structure can mirror the topology of a deployment, while the security features of the identifier system precludes unauthorized access to this information. At the same time IPv6 addresses can be attributes of the Handle Identifiers, but use the privacy enhancements at the same time.
· Enabling the extension of the Internet to the web of things
Thanks to its large address space, IPv6 enables the extension of the Internet to any device and service. Experiments have demonstrated the successful use of IPv6 addresses to large-scale deployments of sensors in smart buildings, smart cities and even with cattle. Moreover, the CoAP protocol enables the constrained devices to behave as web services easily accessible and fully compliant with REST architecture.
IPv6 provides strong features and solutions to support mobility of end-nodes, as well as mobility of the routing nodes of the network. The project has also achieved some interesting results on including Mobile IP in the Contiki stack.
· Address auto-configuration
IPv6 provides an address self-configuration mechanism (Stateless mechanism). The nodes can define their addresses in very autonomous manner. This enables drastic reduction of IoT configuration effort and deployment cost. With an Identifier-based system like Handle, this technique can be combined with automated procedures to derive authentication tokens from the device, and have access control features added.
· Fully Internet compliant Gateways
IPv6 Gateways can be fully Internet compliant. In other words, it is possible to build a proprietary network of smart things or to interconnect one’s own smart things with the rest of the World via a gateway that is fully compliant with IP requirements towards the Internet.
Some of the IoT6 developments like GLowBALIP and the Identifier system would benefit hugely if their attributes were standardized in this context much more rigidly for IoT. EC initiatives should support directly such standardization – possibly in a Support Action..
Much detailed dissemination has been achieved in IoT6. However applicability to new applications by new entities would require even more dissemination. Again this activity could be included in a further Support Action.