Chapter 4
Chapter 4
1. What are “constrained” devices? Name their classes and characteristics. Answer:
Small devices with limited processing, memory, and power resources are referred to as
constrained devices. Generally speaking, a constrained device is limited in one or more of the
following dimensions:
• Maximum code complexity (ROM/Flash).
• Size of run-time state and buffers (RAM).
• Amount of computation feasible in a specific period of time (“processing power”).
• Available power resources.
• Management of user interface and accessibility in deployment (ability to set securitykeys,
update software, etc.)
IETF RFC 7228 defines a taxonomy of constrained devices based on the first two dimensions
above, which recognizes three classes of devices as depicted in Table below.
Name Data size Code size
Class 0 <<10 KB <<100 KB
Class 1 ~10 KB ~100 KB
Class 2 ~50 KB ~250 KB
Class 0 devices are the most severely constrained in memory and processing power. In general,
such devices do not have the resources to connect to an IP network directly and will leverage
the services of helper devices such as proxies or gateways for connectivity. For example,
sensor motes fall under this class.
Class 1 devices are highly constrained in terms of code space and processing capacity;
however they are capable of connecting to an IP network directly, without the help of
gateways, as long as they are “parsimonious with state memory, code space, and often power
expenditure for protocol and application usage”. As such, these devices face challenges in
running certain demanding IPs such as BGP, OSPF, HTTP, or Transport Layer Security (TLS) and
in exchanging data using verbose data serialization formats such as XML.
Class 2 devices are less constrained when compared to the first two classes and are capable
of running the same IP stack that runs on general compute nodes today. Nevertheless, these
devices can still benefit from lightweight and efficient communication stacks since the
resources may then be directed toward applications in lieu of networking.
Answer:
Growing Number of Devices: IoT networks can involve an enormous number of devices. As
more devices are connected, the protocol must be able to handle the increased traffic and
device management efficiently. Scalability ensures that the network can accommodate this
growth.
Geographical Distribution: IoT devices are often distributed across a wide geographical area.
Scalability is crucial for ensuring that devices can communicate reliably regardless of their
physical location.
Interoperability: As IoT ecosystems expand, devices from different manufacturers and using
different communication technologies need to interoperate seamlessly. Scalable protocols
should support interoperability, allowing devices to communicate across different networks
and platforms.
7. Name three key IoT requirements that have impact on networking protocols
Answer: Three key IoT requirements that impact networking protocols are:
1.Scalability: IoT networks must handle a massive and growing number of devices efficiently.
Scalability involves the ability to add new devices to the network without causing congestion
2.Low Latency: Many IoT applications require real-time or low-latency communication.
3. Energy Efficiency: IoT devices often have limited power resources and need energy-efficient
communication.
8. What characteristics of the IP stack contributed to the success of the Internet?
Answer: The success of the Internet can be attributed to several key characteristics of the IP
(Internet Protocol) stack:
1.Interoperability: The IP stack was designed to support interoperability between diverse
hardware and software systems. It provides a common framework for devices and networks
to communicate regardless of their underlying technologies,
2.Open Standards: The Internet's protocols, including TCP/IP (Transmission Control
Protocol/Internet Protocol), were developed as open standards. This means that anyone
could implement them without restrictions or licensing fees. Open standards fostered
innovation and competition among vendors, leading to a vibrant ecosystem of hardware,
software, and services that contributed to the Internet's growth.
3.Scalability: The IP stack was designed with scalability in mind. It can accommodate an ever-
expanding number of devices and networks. This scalability is a crucial factor in the Internet's
ability to handle the massive growth in the number of connected devices and users over the
years.
9. Was the choice of the Internet as the underlying network for IoT always a given
or agreed upon fact?
Answer : No, the choice of the Internet as the underlying network for IoT (Internet of Things)
was not always a given or universally agreed upon fact. The adoption of the Internet as the
primary networking infrastructure for IoT evolved over time and was influenced by several
factors:
Historical Evolution: In the early days of IoT, various proprietary and non-Internet-based
communication protocols and networks were used for connecting devices.
Interoperability Demands: As IoT grew, there was a growing recognition of the need for
interoperability among devices and applications from different vendors and industries
Scalability Requirements: IoT's potential for massive scale, with billions of devices connected,
created a demand for a networking infrastructure that could handle this level of scalability.
10. Name the various options by which IoT devices can be supplied with power
IoT devices can be supplied with power through various methods, depending on the specific
requirements.
Battery Power:
• Disposable Batteries: IoT devices can be powered by off-the-shelf disposable batteries, such
as alkaline or lithium batteries.
Wired Power:
• AC Power: Devices that are located near power outlets or within buildings can be powered
using standard alternating current (AC) power sources
Wireless Charging: Devices can be powered using wireless charging technologies, such as Qi
wireless charging, which is often used for IoT devices like smartphones and wearables
Fuel Cells:
• Hydrogen fuel cells can be used to power certain IoT devicesproviding a longer operational
lifespan compared to traditional batteries.
Semantic interoperability guarantees that application entities in the IoT can access and
interpret data unambiguously. Providing unambiguous data descriptions that can be machine
processed and interpreted by application entities is one of the key enablers of automated
information communications and interactions in IoT.
Without semantic interoperability among communicating systems, sharing IoT data in a useful
way is impossible. Semantic interoperability guarantees a common vocabulary that paves the
way for accurate and reliable communication between applications and systems.
13. How does scalability impact the network control plane? Explain the various dimensions
impacted.
Answer:
The Internet encompasses diverse networks running different control plane protocols for the
purpose of discovering topology information, communicating connectivity status or link
health, signaling session or connection state, guaranteeing quality of service, and, among
other things, quickly reacting to faults. These protocols maintain distributed state that is
synchronized using message exchanges between peering nodes. In some cases, these peering
relationships are hierarchical in nature (e.g., a client-server model) or flat (e.g., overlay peers).
The behavior of the control plane functions together with the syntax and semantics of the
messages exchanged defines the specifics of the control plane protocol. As the number of
nodes participating in a given protocol increases, both the amount of state to be maintained
by each node increases and the volume of messages required for keeping the distributed state
tables in synchronization grows. Beyond a specific limit, attempts to scale a specific control
plane protocol typically lead to adverse side effects on the protocol’s convergence time, the
node resources, and the overall network response. The scalability of the IoT calls for elastic
control plane mechanisms that can accommodate the massive number of connected devices.
15. What common IoT functions can be abstracted through APIs in order to simplify
application development and improve the time to market new IoT applications and
services? Answer:
• Device management (activation, triggering, authentication, authorization, soft-
ware/firmware update, etc.)
• Data management (read, write, subscribe, notify, delete, etc.)
• Application management (start, stop, debug, upgrade, etc.)
18. How does the addition of billions of devices to the internet affect the wireless
spectrum?
The massive scalability of IoT impacts networking protocols in several areas, but here are three
key areas where scalability considerations are particularly significant:
Device Onboarding: With potentially billions of IoT devices coming online, networking
protocols must support efficient and secure onboarding processes for device registration,
provisioning, and authentication.
Quality of Service (QoS): Scalability impacts the ability to provide different levels of QoS to
various IoT applications.
Data Routing: As the number of devices grows, protocols must provide scalable mechanisms
for routing data between devices and applications. This includes efficient routing algorithms
that can handle the increased complexity of a larger network.
19. How does the complexity of developing, deploying, and managing IoT applications today
affect the state of the industry?
Answer:
The complexity of developing, deploying, and managing IoT applications remains a key
challenge for the industry. It constitutes a challenge for network operators who are trying to
offer profitable services tailored to the IoT market, for application developers building vertical-
specific applications, as well as for service providers who are trying to speed time to market,
reduce costs, and simplify robust application deployment. This complex- ity drives up the cost
of building IoT solutions.
20. What makes existing credentials management techniques inadequate for IoT? Answer:
Manual mechanisms currently employed for credentials management are not going to be
viable in IoT due to two reasons: the sheer number of devices and the limitations in (or
complete lack of) user interfaces on constrained devices. The number of devices renders the
use of pre-shared keys impractical for production deployments, especially when the devices
have rudimentary user interfaces or no user interface at all.
The massive scalability of the IoT calls for lightweight, low-touch, and highly automated
credentials management mechanisms.