0% found this document useful (0 votes)
9 views34 pages

IoT Protocols

Uploaded by

2021804412.ngum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views34 pages

IoT Protocols

Uploaded by

2021804412.ngum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

IoT Protocol

Prof. Ruqaiya Khanam


ECE
ECE 619
IoT Protocols
Link Layer:

• Link layer protocols determine how the data is physically sent over the network’s physical
layer or medium (e.g., copper wire, coaxial cable, or a radio wave).

• The scope of the link layer is the local network connection to which host is attached.

• Hosts on the same link exchange data packets over the link layer using link layer protocols.

• Link layer determines how the packets are coded and signaled by the hardware device over
the medium to which the host is attached (such as a coaxial cable).
IoT Protocols
802.3. Ethernet:
IEEE 802.3 is a collection of wired Ethernet
standards for the link layer.
For Example,
• 802.3 is the standard for 10BASE5 Ethernet that uses coaxial cable as a shared medium.
• 802.3.i is the standard for 10BASE-T Ethernet over copper twisted-pair connections.
• 802.3.j is the standard for 10BASE-F Ethernet over fiber optic connections etc.

These standards provide data rates from 10Mb/s to 40Gb/s and higher.
802.11- WiFi:
IEEE802.11 is a collection of wireless local area network (WLAN) communication standards.

For Example:
• 802.11a operates in the 5GHz band
• 802.11b and 802.11g operate in the 2.4GHz band
• 802.11n operates in the 2.4/5GHz bands
• 802.11ad operates in the 60GHz band

These standards provide data rates from 1Mb/s to 6.75Gb/s.


802.16- WiMax:
IEEE 802.16 is a collection of wireless broadband standards, including extensive descriptions for the
link layer (also called WiMax).

WiMax standards provide data rates from 1.5 Mbit/s to 1 Gb/s.

• 802.16m provides data rates of 100Mbit/s for mobile stations and 1 Gbit/s for fixed stations.
802.15.4 – LR-WPAN:
IEEE 802.15.4 is a collection of standards for low-
rate wireless personal area networks (LR-WPANs)
These standards form the basis of specifications for high level communications for high level communication
protocols such as ZigBee.

• LR-WPAN standards provide data rates from 40 Kb/s 250Kb/s.

These standards provide low-cost and low-speed communication for power constrained devices.
2G/3G/4G- Mobile communication:

• There are different generations or mobile communication standards including 2nd (2G
including GSM and CDMA), 3rd (3G- including UMTS and CDMA2000) and 4th – including
LTE).

• IoT devices based on these standards can communicate over cellular networks.

• Data rates for these standards range from 9.6 Kb/s (for 2G) to upto 100 Mb/s (for 4G).
Network Layer

The network layer is divided into two sublayers:


• Routing layer which handles the transfer of packets from source to
destination,
• Encapsulation layer that forms the packets.
RPL Protocol
• RPL stands for Routing Protocol for Low-Power and Lossy Network.
• It is a distance-vector protocol that supports a verity of Data Link
Protocols.
• RPL builds a Destination Oriented Directed Acyclic Graph
(DODAG) which has only one route from each leaf node to the root.
• All the traffic in this DODAG is routed through the root.
• Initially, each node sends a DODAG Information Object (DIO)
announcing them self as a root.
• This information travels in the network, and complete DODAG is
gradually built.
• When a new node wants to join the network, it sends a DODAG
Information Solicitation (DIS) request and root responds back with a
DAO Acknowledgment (DAO-ACK) confirming the join.
CORPL Protocol
• CORPL protocol is the extension of the RPL protocol, which is termed
as cognitive RPL.
• This network protocol is designed for cognitive networks and uses
DODAG topology.
• CORPL protocol makes two new modifications in the RPL protocol.
• It uses opportunistic forwarding to forward a packet between the
nodes.
• Each node of CORPL protocol keeps the information of forwarding set
rather than parents only maintaining it.
• Each node updates its changes to its neighbor using DIO messages.
On the basis of this updated message, each node frequently updates
its neighbor for constant forwarder set.
CARP Protocol
• CARP (Channel-Aware Routing Protocol) is a distributed routing protocol.
• It is designed for underwater communication.
• It has lightweight packets so that it can be used for Internet of Things (IoT).
• It performs two different functionalities: network initialization and data
forwarding.
• CARP protocol does not support previously collected data.
• Hence, it is not beneficial for those IoT or other application where data is
changed frequently.
• The upgradation of CARP is done in E-CARP which overcomes the limitation
of CARP.
• The E-CARP allows the sink node to save previously received sensory data.
6LoWPAN

• The 6LoWPAN protocol refers to IPv6 Low Power Personal Area


Network which uses a lightweight IP-based communication to travel
over low data rate networks.
• It has limited processing ability to transfer information wirelessly
using an internet protocol.
• So, it is mainly used for home and building automation.
• The 6LoWPAN protocol operates only within the 2.4 GHz frequency
range with 250 kbps transfer rate.
• It has a maximum length of 128-bit header packets.
6LowPAN Security Measure

• Security is a major issue for 6LowPAN communication Protocol.


• There are several attacks issues at the security level of 6LoWPAN
which aim is to direct destruction of the network.
• Since it is the combination of two systems, so, there is a possibility of
attack from two sides that targets all the layer of the 6LoWPAN stack
(Physical layer, Data link layer, Adaptation layer, Network layer,
Transport layer, Application layer).
Properties of 6LowPAN protocol

• Standard: RFC6282
• Frequency: Used over a variety of other networking media including
Bluetooth Smart (2.4GHz) or ZigBee or low-power RF (sub-1GHz)
• Range: NA
• Data Rates: NA
IP version 4 (IPv4)

• Five IPv4 classes — A, B, C, D and E.


• The class of an IPv4 address is identified by the first octet of the IP
address.
• The classes A, B and C are most commonly used.
• The class D is reserved for multi-casting and Class E for experimental
purposes.
• In class A IPv4 address, first octet is used to identify network and remaining
three octet are used to identify the host.

• This addressing class is generally used in networks having large number of host
devices.

• The first bit of the first octet is always set to 0, so, the first octet can have a
decimal value in range from 1 to 127.

• The value of 127 for first octet in class A address remains reserved for loopback
IP address or localhost, so values only from 1 to 126 remains available.

• The default subnet mask for class A is 255.0.0.0.

• With this addressing scheme, maximum 126 networks and maximum 16777214
host devices in each network can be uniquely identified.
• In class B IPv4 address, first two octet are used to identify network and
last two octet are used to identify host device.

• The first two bits in first octet of Class B address is always set to 10, so
the network address can range from 128.0.X.X to 191.255.X.X.

• The default subnet mask for class B address is 255.255.0.0.

• With this addressing scheme, maximum 16384 networks and maximum


65534 host devices in each network can be uniquely identified.
• In class C IPv4 address, first three octet are used to identify network and last octet
is used to identify host device.

• The first three bits in first octet of Class C address is always set to 110, so its
value can range from 192 to 223.

• The network address can range from 192.0.0.X to 223.255.255.X.

• The default subnet mask for class B address is 255.255.255.0.

• With this addressing scheme, maximum 2097152 networks and maximum 254
host devices in each network can be uniquely identified.
• Suppose, a class C IPv4 address be 192.168.8.1 and a subnet mask be
255.255.255.0.

• The subnet mask in binary converts to 11111111.11111111.11111111.00000000,


which implies that first three octet are the network address and the last octet is
the host address.

• So, in the IP address 192.168.8.1, 192.168.8.0 will be the network address and
000.000.000.1 will be the host address.

• There is only address space for 4,294,967,296 addresses in IPv4 standard.

• This address space has already exhausted and is not scalable to accommodate
the billions of IOT devices.

• So, IPv6 has been introduced to expand address space for the IOT.
IP version 6 (IPv6)

• IP Version 6 is an interoperable successor of IPv4.


• The address space in IPv4 is limited to roughly 4.3 billion devices.
• There will be 20 billion IOT devices alone by the year 2020.
• So, an IP addressing standard that would be scalable to cater to the
future IOT infrastructure was the need of the time.
IP version 6 (IPv6)
• Compared to 32-bit addresses in IPv4, there are 128-bit addresses in
IPv6.
• The address is divided into eight 16-bit blocks where each block can
be represented by a 4-digit hexadecimal number.
• Each block in the IPv6 address is separated by a semi-colon.
• So, a typical IPv6 address would look like
77AD:45DF:A23D:8:2D:76DF:245:AF.
• There are eight blocks in the address — 77AD, 45DF, A23D, 8, 2D,
76DF, 245 and AF.
• There can be three types of addresses in IPv6 standard –
• 1) Unicast address — address to identify a single interface

• 2) Multicast address — address to identify multiple interfaces grouped into different


nodes.

• 3) Anycast address — address to identify single interface in a set of interfaces belonging


to different nodes.

• With 128-bit addresses, IPv6 can be used to identify 340 trillion trillion trillion (38X1038)
devices which is roughly 667 sextillion (667X1021) devices per square meter on earth.

• This is more than enough for the farthest future of the IOT.
Transport Layer
• The transport layer protocols provide end-to-end message transfer capability independent of the
underlaying network.

• The message transfer capability can be set up on connections, either using handshakes (as in TCP)
or without handshakes/ acknowledgements (as in UDP).

• The transport layer provides functions such as error control, segmentation, flow control and
congestion control.
TCP (Transmission Control Protocol)
• TCP is most widely used transport layer protocol, that is used by web browsers (along HTTP, HTTPS
application layer protocols), email programs(SMTP application layer protocol) and the file transfer protocol
(FTP).
• TCP is a connection oriented and stateful protocol.

• While IP protocol deals with sending packets, TCP ensures reliable transmission of packets in-order.

• TCP also provides error detection capability so that duplicate packets can be discarded and lost packets are
retransmitted.

• The flow control capability of TCP ensures that rate at which the sender sends the data is not too high for the
receiver to process.

• The congestion control capability of TCP helps in avoiding network congestion and connection collapse which
can lead to degradation of network performance.
UDP (User Datagram Protocol)
• Unlike TCP, which requires carrying out an initial setup procedure, UDP is a connectionless protocol.

• UDP is useful for time-sensitive applications that have very small data units to exchange and do not
want the overhead of connection setup.

• UDP is a transaction orientated and stateless protocol.

• UDP does not provide guaranteed delivery, ordering of messages and duplicate elimination.

• Higher level of protocols can ensure reliable delivery or ensuring connections created are reliable.
Application Layer
• Application layer protocols define how the applications interface with the lower layer protocols to
send the data over the network.

• The application data, typically in files, is encoded by the application layer protocol and
encapsulated in the transport layer protocol which provides connection addressing (for example
port 80 for HTTP, port 22 for SSH, etc.).

• Application layer protocols enable process-to-process connections using ports.


HTTP (Hypertext Transfer Protocol)
• HTTP is the application layer protocol that forms the foundation of the World Wide Web (WWW).

• HTTP includes commands such as GET, PUT, POST, DELETE, HEAD, TRACE, OPTIONS etc.

• The protocol follows a request-response model where a client sends requests to a server using the HTTP
commands.

• HTTP is the stateless protocol and each HTTP request is independent of the other requests.

• An HTTP client can be a browser or an application running on the client (e.g ., an application running on an
IoT device, a mobile applicationor other software).

• HTTP protocol uses Universal Resource Identifiers (URIs) to identify HTTP resources.
CoAP (Constrained Application Protocol)
• CoAP is an application layer protocol for machine-to-machine (M2M) applications,
meant for constrained environments with constrained devices and constrained networks.

• Like HTTP, CoAP is a web transfer protocol and uses a request-response model, however it runs
on top of UDP instead of TCP.

• CoAP uses a client-server architecture where clients communicate with servers using
connectionless datagrams.

• CoAP is designed to easily interface with HTTP.

• Like HTTP, CoAP supports methods such as GET,PUT, POST, and DELETE.
WebSocket
• WebSocket protocols allows full-duplex communication over a single
socket connection for sending messages between client and server.

• WebSocket is based on TCP and allows streams of messages to sent


back and forth between client and server while keeping the TCP
connection open.

• The client can be a browser, a mobile application or an IoT device.


MQTT (Message Queue Telemetry)

• MQTT is a light-weight messaging protocol based on the publish-subscribe


model.

• MQTT uses a client server architecture where the client (such as an IoT device)
connects to the server (also called MQTT Broker) and publishes messages to
topics on the server.

• The broker forwards the messages to the clients subscribed to topics.

• MQTT is well suited for constrained environments where the devices have
limited processing and memory resources and the network bandwidth is low.
XMPP (Extensible Messaging and Presence
Protocol)
• XMPP is a protocol for real-time communication and streaming XML data between
network entities.

• XMPP powers wide range of applications including messaging, presence, data syndication,
gaming, multi-party chat and voice/video calls.

• XMPP allows sending small chunks of XML data from one network entity to another in
near real-time.

• XMPP is a decentralized protocol and uses a client-server architecture.

• XMPP supports both client-to- server and server-to-server communication paths.

• In IoT, XMPP allows real-time communication between IoT devices.


DDS (Data Distribution Service)
• DDS is a data-centric middleware standard for device-to-device or machine-to-machine
communication.

• DDS uses a publish- subscribe model where publishers (e.g. devices that generate data) create topic
to which subscribers (e.g. devices that wat to consume data) can subscribe.

• Publisher is an object responsible for data distribution and the subscriber is responsible for receiving
published data.

• DDS provides quality-of-service (QoS) control and configurable reliability.


AMQP (Advanced Message Queuing Protocol)

• AMQP is an open application layer protocol for business messaging.

• AMPQ supports both point-to-point and publisher/subscriber models, routing and queuing.

• AMQP brokers receive messages from publishers (e.g., devices or applications that generate data).

• Publishers publish the messages to exchanges which then distribute message copies to queues.

• Messages are either delivered by the broker to the consumers which have subscribed to the queues
or the consumers can pull the messages from the queue.

You might also like