IoT Unit I
IoT Unit I
Internet of Things (IoT) is the networking of physical objects that contain electronics
embedded within their architecture in order to communicate and sense interactions amongst
each other or with respect to the external environment. In the upcoming years, IoT-based
technology will offer advanced levels of services and practically change the way people lead
their daily lives. Advancements in medicine, power, gene therapies, agriculture, smart cities,
and smart homes are just a very few of the categorical examples where IoT is strongly
established.
Over 9 billion ‘Things’ (physical objects) are currently connected to the Internet, as of now.
In the near future, this number is expected to rise to a whopping 20 billion.
Definition of IoT
The definition of IoT can be explained as follows: Internet of Things means a network of
physical things (objects) sending, receiving, or communicating information using the Internet
or other communication technologies and network just as the computers, tablets and mobiles
do, and thus enabling the monitoring, coordinating or controlling process across the Internet
or another data network.
Another source, defines the term IoT as follows: Internet of Things is the network of physical
objects or ‘things’ embedded with electronics, software, sensors and connectivity to enable it
to achieve greater value and service by exchanging data with the manufacturer, operator
and/or other connected devices. Each thing is uniquely identifiable through its embedded
computing system but is able to interoperate within the existing Internet infrastructure.
1
presence or absence of traffic in group vicinity, and about the ambient conditions, whether
cloudy, dark or normal daylight.
2
Architectural Overview
An IoT system has multiple levels and equations for IoT, Cloud server and cloud serives are
given below
i. Physical Object + Controller, Sensor and Actuators + Internet = Internet of Things
ii. Gather + Enrich + Stream + Manage + Acquire + Organise and Analyse = Internet of
Things with connectivity to data center, enterprose or cloud server
iii. Gather + Consolidate + Connect + Collect + Assemble + Manage and Analyse = Internet
of Things with connectivity to cloud services
These levels are also known as tiers. A reference model can be used to show building blocks,
continuous connections and integration. An example is CISCO’s presentation of a reference
model comprising seven levels (Figure 2).
Figure 2: An IoT reference model suggested by CISCO that gives a general IoT system
An IoT architecture has the following features:
1. The architecture helps as a reference in applications of IoT in services and business
processes.
2. A set of sensors, gather the data and perform necessary data analysis then transform
directly to a communication manager as per device application framework (structure/layout).
3. A set of sensor circuits is connected to a gateway having separate data capturing,
gathering, computing and communication capabilities. The gateway receives the data in one
form at one end and sends it in another form to the other end.
4. The communication-management subsystem consists of protocol handlers, message routers
and message cache.
5. This management subsystem has functionalities for device identity database, device
identity management and access management.
6. Data centre of the application server or enterprise server acquire the data form the device
management.
3
7. Organisation and analysis system enable the services, business processes, enterprise
integration and complex processes.
Figure 3: Oracle’s IoT architecture of Internet of Things with connectivity to data center,
enterprose or cloud server
https://www.hiotron.com/iot-architecture-layers/
https://www.youtube.com/watch?v=KeaeuUcw02Q
4
ii. ETSI M2M TC analyse a set of M2M use cases (M2M exaples) to understand the M2M
service requirements, then developed an architecture and set of supporting system interfaces.
iii. Similar to SENSEI, ETSI M2M TC is a horizontal system with separation of devices,
gateways, communications networks, and common service core.
3. IoT-A
i. IoT-A differs from SENSEI and ETSI M2M TC approaches.
ii. In IoT-A, instead of defining a single architecture, a reference architecture is created,
known to be as the Architectural Reference Model (ARM).
iii. Via ARM, a high level of inter-operability between different IoT solutions at the different
system levels of communication, service and information.
These design principles have a set of interpretations and further expectations on IoT
technology solutions, they are
i. Design for reuse of deployed IoT resources across application domains
The Deployed IoT resources shall be able to be used in a vast range of different applications.
This implies that devices shall be made application independent. A system design will benefit
from providing an abstracted view of these basic services.
ii. Design for a set of support services that provide open service-oriented capabilities and
can be used for application development and execution.
The IoT applications are to be built as an open environment and particular provide support
for a few key service capabilities which are central from an IoT.
iii. Design for different abstraction levels that hide underlying complexities and
heterogeneities.
Typical IoT solutions can involve a large number of different devices with associated sensor
and involve a large number of different actors providing services and information that need to
be composed. Then the system design will abstractions (construct) both of basic technologies,
data and service.
iv. Design for ensuring trust, security, and privacy. Trust with in IoT often implies reliability,
which can be both ensuring the availability of services as well as how dependable the
services are, and that data is only used for the purposes the end-user has agreed to. One
important aspect of dependability is the accuracy of data or information, as you can have
multiple sources of IoT data. Concepts like Quality of Information become important,
especially considering that a piece of information can very well be accurate enough for one
application, but not for another. As has been already mentioned, security and privacy are
potential barriers for IoT adoption and represent key areas to address when building
solutions. Privacy needs to be ensured by, for example, anonymization of data, seeing that
profiling of individuals is not easily done. Still, it is expected that authorities and agencies
will require support to get access to data and information for the purpose of national security
or public safety.
v. Design for scalability, performance, and effectiveness. IoT deployments will happen on a
global scale and are expected to involve billions of deployed nodes. Sensor data will be
provided with a wide range of different characteristics. Data may be very infrequent (e.g.
alarms or detected abnormal events), or may be coming as real-time data streams, all
dependent on the type of data needed or based on application needs. Scalability features
include the large number of devices and amounts of data produced that needs to be processed
or stored.
5
vi. Design for evolvability, heterogeneity, and simplicity of integration. The IoT devices and
sensor nodes are expected to be operational for many years, sometimes with lifecycles of
over 15 years (e.g. smart meters). IoT solutions must be able to withstand and satisfy to use
of new technologies.
vii. Design for simplicity of management. simplicity of management is an important
capability that needs to be properly taken care of when designing IoT solutions.
Autoconfiguration and autoprovisioning are key and well-known means that can ease
deployment of IoT devices, and are also very important to lower operating expenditures
(OPEX).
viii. Design for different service delivery models. Technology is move from product offerings
a combination of product and service offering in a number of industries. For instance,
connected vehicles with the Software as a Service (SaaS). IoT with the wide span of possible
applications clearly benefit from elasticity in deployment of solutions. Cloud and
virtualization technologies play a key enabler role in delivering future IoT services.
ix. Design for lifecycle support. The lifecycle phases are: planning, development,
deployment, and execution. Management aspects include deployment efficiency, design time
tools, and run-time management.
These design principles are taking into consideration for designing use cases (Projects) and
target applications.
Network
A network is a system that allows communication to occur between two people or machines.
In the world of computer networking, the rules for communication must be well defined.
Communicating computers need to know the rules, like two people speaking the same
language- they can communicate without delay. If the computers don’t understand each other,
nothing is accomplished; there is no Internet access, sharing of files, or printing; and all work
stops.
Networking Basics
i. Networks are used to make work and communication more efficient. A network may
connect computers, printers, CD-ROM drives, scanners, and other equipment. The advantage
of having computers and other machines connected is that people can then pass information
back and forth much more quickly.
ii. Another advantage of using networks is that they allow people to share resources. Printers,
hard disks, and applications can be shared, greatly reducing the costs of providing these
resources to each person in a company.
iii. A computer network consists of senders and receivers. The sender, or source, is a
computer that wants to send information to another computer. The receiver is the computer
that the information is sent to, also known as the destination computer.
iv. Often, computers are not the only machines communicating on a network. Other
machines-such as printers with network capabilities-can also act as senders and receivers. A
printer, computer, or any machine that is capable of communicating on the network is
referred to as a device or node.
Types of Networks
The three main categories of networks are as follows:
i. A local area network (LAN) is a small network of computers and printers in a single
building or floor.
6
ii. A metropolitan area network (MAN) is a high-speed internetwork of LANs across a
metropolitan area.
iii. A wide area network (WAN) connects LANs using the public switched telephone
network.
7
iv. They use devices such as routers, modems , and WAN switches.
https://www.youtube.com/watch?v=GGYNyhJWh64
https://www.youtube.com/watch?v=_IOZ8_cPgu8
M2M Architecture
M2M architecture consists of three domains (Figure 4):
i. M2M device domain ii. M2M network domain iii. M2M application domain
8
Devices and gateways
Devices
There is a growing market for small-scale embedded processing such as 8-, 16-, and 32-bit
microcontrollers with on-chip RAM and flash memory, I/O capabilities, and networking
interfaces such as IEEE 802.15.4 that are integrated on tiny System-on-a-Chip (SoC)
solutions.
i. Such devices allow very limited devices with a small area of a few mm2 and with a very
low power consumption in the milli- to micro-Watt range. These are capable of hosting/
accommodating an entire Transmission Control Protocol/Internet Protocol (TCP/IP) stack,
including a small web server.
ii. A device can be characterized as having several properties, including:
• Microcontroller: 8-, 16-, or 32-bit working memory and storage.
• Power Source: Fixed, battery, energy harvesting, or hybrid.
• Sensors and Actuators: On board sensors and actuators, or circuitry that allows them to be
connected, sampled, conditioned, and controlled.
• Communication: Cellular, wireless, or wired for LAN and WAN communication.
• Operating System (OS): Main-loop, event-based, real-time, or full featured OS.
• Applications: Simple sensor sampling or more advanced applications.
• User Interface: Display, buttons, or other functions for user interaction.
• Device Management (DM): Provisioning, firmware, bootstrapping, and monitoring.
• Execution Environment (EE): Application lifecycle management and Application
Programming Interface (API).
Device management
1. Device management (DM) is an essential part of the IoT and perform many of the
management tasks for devices:
i. Provisioning: Initialization (or activation) of devices also includes configure the device to
enable the device features.
ii. Device Configuration: Management of device settings and parameters.
iii. Software Upgrades: Installation of firmware, system software, and applications on the
device.
iv. Fault Management: Enables error reporting and access to device status.
2. If the devices are visible (recognized) to the DM server, the gateway can simply forward
the messages between the device.
vi. In case the devices are not visible (not recognized) but understand the DM protocol, the
gateway can act as a proxy.
3. For deployments where the devices use a different DM protocol from the server, the
gateway can represent the devices and translate between the different protocols (e.g. TR-069,
OMA-DM, or CoAP).
Device types
Group devices into two categories
Basic Devices: Devices that only provide the basic services of sensor readings and/or
actuation tasks, and in some cases limited support for user interaction. LAN communication
is supported via wired or wireless technology.
Advanced Devices: In this case the devices also host the application logic and a WAN
connection. They also have device management feature and an execution environment for
hosting multiple applications. Gateway devices are most likely to fall into this category.
9
Basic devices
i. These devices are often intended for a single purpose, such as measuring air pressure or
closing a valve.
ii. In some cases several functions are deployed on the same device, such as monitoring
humidity, temperature, and light level.
iii. Basic devices keeping the bill of materials (BOM) (cost of the device) as low as possible
by using inexpensive microcontrollers with built-in memory and storage. SoC – A integrated
circuit with all main components on one single chip Figure 5.
iv. Another aim is to enable battery as a power source, with a lifespan of a year and upwards
by using ultra-low energy microcontrollers.
Figure 5: Basic device SoC – A integrated circuit with all main components on one single
chip.
v. The microcontroller typically hosts a number of ports that allow integration with sensors
and actuators, such as General Purpose I/O (GPIO) and an analog-to-digital converter (ADC)
for supporting analog input. For certain actuators, such as motors, pulse-width modulation
(PWM) can be used.
vi. Battery-powered devices should as low-power operation. The microcontroller facilitate
sleeping and wake up function of the device depends on the external and internal events.
Some devices even go as far as harvesting energy from their environment, e.g. in the form of
solar, thermal, and physical energy.
vii. To interact with peripherals such as storage or display, it’s common to use a serial
interface such as SPI, I2C, or UART. These interfaces can also be used to communicate with
another microcontroller on the device.
10
viii. This is common when the there is a need for offloading certain tasks, or when in some
cases the entire application logic is put on a separate host processor.
ix. The micro controller also contain a security processor, e.g. to accelerate Advanced
Encryption Standard (AES).
Advanced devices
Some features that can characterize an advanced device are the following:
i. A powerful CPU or microcontroller with enough memory and storage to host advanced
applications, such as a printer offering functions for copying, faxing, printing, and remote
management.
ii. A more advanced user interface. Example, user input in the form of a keypad or touch
screen.
iii. Video or other high bandwidth functions. The advanced device also functions as a
gateway for local devices on the same LAN.
iv. For more computationally capable devices, the OS can be used. Example, GNU/Linux or
Blackberry’s QNX.
v. Advanced devices have optimized and high-performance IP stacks, thus making
networking a non-issue.
vi. By offering a more common and open OS, along with community standardized APIs,
software libraries, programming languages, and development tools, the advance devices
grows significantly.
https://www.youtube.com/watch?v=XvqJtcTXPs4
11
Gateways
i. A gateway serves as a translator between different protocols, e.g. between IEEE 802.15.4
or IEEE 802.11, to Ethernet or cellular.
ii. There are many different types of gateways, which can work on different levels in the
protocol layers.
iii. A gateway refers to a device that performs translation of the physical and link layer, but
gateway are also common in application layer gateways (ALGs).
iv. Preferably avoided or reduce ALG because it adds complexity and is a common source of
error in deployments.
v. Some examples of ALGs include the ZigBee Gateway Device which translates from
ZigBee to SOAP and IP, or gateways that translate from Constrained Application Protocol
(CoAP) to HyperText Transfer Protocol/Representational State Transfer (HTTP/REST).
vi. The gateway device is also used for many other tasks, such as data management, device
management, and local applications
https://www.youtube.com/watch?v=i4fHdnnraKw
Data management
i. Typical functions for data management include performing sensor readings and caching
this data, as well as filtering, concentrating, and aggregating the data before transmitting it to
back-end servers. (check IoT architecture figure)
ii. Modern enterprises need to be quick-thinking and dynamically support multiple decision-
making processes taken at several levels. In order to achieve this, critical information needs
to be available at the right point in a timely manner, and in the right form.
iii. All this info is the result of data being acquired increasingly by M2M interactions, which
in conjunction with the processes involved, assist in better decision-making.
Some of the key characteristics of M2M data include:
1. Big Data: Huge amounts of data are generated, capturing detailed aspects of the processes
where devices are involved.
2. Heterogeneous Data: The data is produced by a huge variety of devices and is itself highly
heterogeneous, differing on sampling rate, quality of captured values, etc.
3. Real-World Data: The overwhelming majority of the M2M data relates to real-world
processes and is dependent on the environment they interact with.
4. Real-Time Data: M2M data is generated in real-time and communicated in a very timely
manner. It is importance since many times their business value depends on the real-time
processing of the info they transfer.
5. Temporal Data: The majority of M2M data is of temporal nature, measuring the
environment over time.
6. Spatial Data: Increasingly, the data generated by M2M interactions are not only captured
by mobile devices, but also coupled to interactions in specific locations, and their assessment
may dynamically vary depending on the location.
7. Polymorphic Data: The data acquired and used by M2M processes may be complex and
involve various data, which can also obtain different meanings depending on the semantics
applied and the process they participate in.
8. Proprietary Data: Up to now, due to monolithic application development, a significant
amount of M2M data is stored and captured in proprietary formats. However, increasingly
due to the interactions with heterogeneous devices and stakeholders, open approaches for
data storage and exchange are used.
12
9. Security and Privacy Data Aspects: Due to the detailed capturing of interactions by M2M,
analysis of the obtained data has a high risk of leaking private information and usage patterns,
as well as compromising security.
In the era of M2M, where billions of devices interact and generate data at exponential growth
rates, data management is of critical importance as it sets the basis upon which any other
processes can rely and operate.
https://www.youtube.com/watch?v=85UjnwvE9RM
13
IoT integration with enterprise systems
1. M2M communication and the vision of the IoT pose a new era where billions of devices
will need to interact with each other and exchange information in order to fulfill their
purpose. Much of this communication is expected to happen over Internet technologies.
2. As shown in Figure 6, cross-layer interaction and cooperation can be pursued:
• At the M2M level, where the machines cooperate with each other (machine-focused
interactions), as well as
• At the machine-to-business (M2B) layer, where machines cooperate also with network-
based services, business systems (business service focus), and applications.
3. As showed in Figure 6, there are several devices in the lowest layer. These can
communicate with each other over short-range protocols (e.g. over ZigBee, Bluetooth), or
even longer distances (e.g. over Wi-Fi, etc.).
2. Transportation of data from the point of action (point where data is collected) to the
backend system then evaluate their usefulness. Due to the processing load data analysis will
suffers the enterprise. This is something that the current systems were not designed for.
Enterprise systems trying to process such a high rate of non- or minor-relevancy data will be
overloaded.
14
3. As such, the first strategic step is to minimize communication with enterprise systems to
only what is relevant for business. With the increase in resources (e.g. computational
capabilities) in the network, and especially on the devices themselves (more memory, multi-
core CPUs, etc.), it makes sense not to host the intelligence and the computation required
for it only on the enterprise side, but actually distribute it on the network, and even on the
edge nodes (i.e. the devices themselves), as depicted on the right side of Figure 7.
4. As devices are capable of computing, they can either realize the task of processing and
evaluating business relevant information. They generate by themselves from clusters.
5. We care about what is provided but not how, as depicted in Figure 8. As such, we can
now model distributed business processes that execute on enterprise systems, in network,
and on-device.
6. The vision is during runtime additionally consider the requirements and costs associated
with the execution in order to select the best of available and optimize the business process
in total according to the enterprise needs, e.g. for low impact on a device’s energy source,
or for high-speed communication, etc.
Figure 8: On-Device and in-network Business Process Composition and runtime execution
https://www.youtube.com/watch?v=lzMtyW8-x_c
15
can be provisioned, configured, and made available with minimal management effort or
service provider interaction.
3. Cloud computing, does not change the fundamentals of software engineering. All
applications need access to three things: compute, storage, and data processing capacities.
With cloud computing, a fourth element is added - distribution services - i.e. the manner in
which the data and computational capacity are linked together and coordinated. A cloud-
computing platform may therefore be viewed conceptually, Figure 9.
Cloud computing comes in several different service models and deployment options for
enterprises wishing to use it. The three main service models may be defined as:
16
Software as a Service (SaaS): Refers to software that is provided to consumers on demand,
typically via a client. The end-users do not manage the cloud infrastructure in any way. This
software is handled by an Application Service Provider (ASP) or Independent Software
Vendor (ISV). Examples messaging software, email for offices. The end-user has limited
ability to change anything beyond user-specific application configuration settings.
Platform as a Service (PaaS): Refers to cloud that provide both computing and solution as a
service via the Internet. The customers themselves develop the necessary software using tools
provided by the provider, who also provides the networks, the storage, and the other
distribution services required. The provider manages the cloud infrastructure, while the
customer has control over the deployed applications.
Infrastructure as a Service (IaaS): In this model, the provider offers virtual machines and
other resources such as hypervisors (e.g. Xen, KVM) to customers. The hypervisors allow
users to scale resource usage in accordance with their computational requirements. Users
install OS image and application software on the cloud infrastructure. The provider manages
the cloud infrastructure, while the customer has control over OS, storage, deployed
applications, and possibly some networking components.
Cloud deployment Models:
Private Cloud - The cloud infrastructure is provisioned for exclusive use by a single
organization comprising multiple consumers (e.g. business units). It may be owned, managed,
and operated by the organization, a third party, or some combination of them.
Community Cloud - The cloud infrastructure is provisioned for exclusive use by a specific
community of consumers from organizations that have shared concerns (e.g. mission, security
requirements, policy, and compliance considerations). It may be owned, managed, and
operated by one or more of the organizations in the community.
Public Cloud - The cloud infrastructure is provisioned for open use by the general public. It
may be owned, managed, and operated by a business, academic, or government organization,
or some combination.
Hybrid Cloud - The cloud infrastructure is a composition of two or more distinct cloud
infrastructures (private, community, or public) that remain unique entities. They are bound
together by identical technology that enables data and application portability (e.g. cloud
bursting for load balancing between clouds).
17
Figure 10: Security function group components in functional view in IoT reference
architecture
The IoT infrastructure in its entirety contains a wide range of technologies like cloud, big
data, mobile devices, and Internet of Things. Each of these technological components are
subject to various types of security threats, which can render them ineffective. It is very
important to ensure that the IoT infrastructure components are adequately safeguarded from
various security breaches.
Other materials
18
NETWORKING STANDARDS AND TECHNOLOGIES
1. The Open Systems Interconnection (OSI) model is an ISO-standard abstract model is a
stack of seven protocol layers.
2. From the top down, they are: application, presentation, session, transport, network, data
link and physical. TCP/IP, or the Internet Protocol suite, underpins the internet, and it
provides a simplified concrete implementation of these layers in the OSI model.
19
Internet Layer
This layer maps to the OSI Layer 3 (network layer). OSI Layer 3 relates to logical addressing.
Protocols at this layer define how routers deliver packets of databetween source and
destination hosts identified by IP addresses. IPv6 is commonly adopted for IoT device
addressing.
Transport Layer
The transport layer (Layer 4 in OSI) focuses on end-to-end communication and provides
features such as reliability, congestion avoidance, and guaranteeing that packets will be
delivered in the same order that they were sent. UDP (User Datagram protocol) is often
adopted for IoT transport for performance reasons.
Application Layer
The application layer (Layers 5, 6, and 7 in OSI) covers application-level messaging. HTTP/S
is an example of an application layer protocol that is widely adopted across the internet.
Although the TCP/IP and OSI models provide you with useful abstractions for discussing
networking protocols and specific technologies that implement each protocol, some protocols
don’t fit neatly into these layered models and are impractical. For example, the Transport
Layer Security (TLS) protocol that implements encryption to ensure privacy and data
integrity of network traffic can be considered to operate across OSI layers 4, 5, and 6.
LPWAN (Low Power Wide Area Network) is a category of technologies designed for low-
power, long-range wireless communication. They are ideal for large-scale deployments of
low-power IoT devices such as wireless sensors. LPWAN technologies include LoRa
(LongRange physical layer protocol), Haystack, SigFox, LTE-M, and NB-IoT (Narrow-Band
IoT).
Cellular The LPWAN NB-IoT and LTE-M standards address low-power, low-cost IoT
communication options using existing cellular networks. NB-IoT is the newest of these
standards and is focused on long-range communication between large numbers of primarily
indoor devices. LTE-M and NB-IoT were developed specifically for IoT, however existing
cellular technologies are also frequently adopted for long-range wireless communication.
While this has included 2G (GSM) in legacy devices (and currently being phased out),
CDMA (also being retired or phased out), it also includes 3G, which is rapidly being phased
out with several network providers retiring all 3G devices. 4G is still active and will be until
5G becomes fully available and implemented.
20
and save power when they are not transmitting data. Personal IoT devices such as wearable
health and fitness trackers, often use BLE.
ZigBee ZigBee operates on 2.4GHz wireless communication spectrum. It has a longer range
than BLE by up to 100 meters. It also has a slightly lower data rate (250 kbps maximum
compared to 270 kbps for BLE) than BLE. ZigBee is a mesh network protocol. Unlike BLE,
not all devices can sleep between bursts. Much depends on their position in the mesh and
whether they need to act as routers or controllers within the mesh. ZigBee was designed for
building and home automation applications. Another closely related technology to ZigBee is
Z-Wave, which is also based on IEEE 802.15.4. Z-Wave was designed for home automation.
It has been proprietary technology, but was recently released as a public domain
specification.
NFC The near field communication (NFC) protocol is used for very small range
communication (up to 4 cm), such as holding an NFC card or tag next to a reader. NFC is
often used for payment systems, but also useful for check-in systems and smart labels in asset
tracking.
RFID RFID stands for Radio Frequency Identification. RFID tags store identifiers and data.
The tags are attached to devices and read by an RFID reader. The typical range of RFID is
less than a meter. RFID tags can be active, passive, or assisted passive. Passive tags are ideal
for devices without batteries, as the ID is passively read by the reader. Active tags
periodically broadcast their ID, while assisted passive tags become active when RFID reader
is present. Dash7 is a communication protocol that uses active RFID that is designed to be
used within Industrial IoT applications for secure long-range communication. Similar to
NFC, a typical use case for RFID is tracking inventory items within retail and industrial IoT
applications.
Ethernet Widely deployed for wired connectivity within local area networks, Ethernet
implements the IEEE 802.3 standard. Not all IoT devices need to be stationery wireless . For
example, sensor units installed within a building automation system can use wired
networking technologies like Ethernet. Power line communication (PLC), an alternative hard-
wired solution, uses existing electrical wiring instead of dedicated network cables.
IPv6 At the Internet layer, devices are identified by IP addresses. IPv6 is typically used for
IoT applications over legacy IPv4 addressing. IPv4 is limited to 32-bit addresses, which only
provide around 4.3 billion addresses in total, which is less than the current number of IoT
devices that are connected, while IPv6 uses 128 bits, and so provides 2 128 addresses (around
3.4 × 10 38 or 340 billion billion billion billion) addresses. In practice, not all IoT devices
need public addresses. Of the tens of billions of devices expected to connect via the IoT over
the next few years, many will be deployed in private networks that use private address ranges
21
and only communicate out to other devices or services on external networks by using
gateways.
6LoWPAN The IPv6 Low Power Wireless Personal Area Network (6LoWPAN) standard
allows IPv6 to be used over 802.15.4 wireless networks. 6LoWPAN is often used for wireless
sensor networks, and the Thread protocol for home automation devices also runs over
6LoWPAN.
RPL The Internet Layer also covers routing. IPv6 Routing Protocol for Low-Power and
Lossy Networks (RPL) is designed for routing IPv6 traffic over low-power networks like
those networks implemented over 6LoWPAN. RPL (pronounced “ripple”) is designed for
routing packets within constrained networks such as wireless sensor networks, where not all
devices are reachable at all times and there are high or unpredictable amounts of packet loss.
RPL can compute the optimal path by building up a graph of the nodes in the network based
on dynamic metrics and constraints like minimizing energy consumption or latency.
22