Physical Design of IoT
Physical Design of IoT refers to IoT Devices and IoT Protocols. Things are Node device which have unique identities and can perform remote sensing, actuating and monitoring capabilities. IoT Protocols helps Communication established between things and cloud based server over the Internet.
- “Things” in IoT
Things refer to IoT devices with unique identities that have actuating, monitoring, and remote sensing capabilities. Things are the primary component of IoT applications.
IoT devices can be of various types, including smartwatches, sensing devices, smart electronics appliances, automobiles, wearable sensors, and industrial machines. IoT devices generate data in some form which leads to useful information when processed.
IoT Protocols help to establish Communication between IoT Device (Node Device) and Cloud based Server over the Internet. It is the set of rules governing all direct or indirect exchange of data between computers on a network.
a.) Link Layer : Link-layer protocols are the type of data transmission protocol used to help send data over the physical layer. They also determine how devices signal and code packets on the network.
(i) 802.3 – Ethernet : IEEE802.3 is collection of wired Ethernet standards for the link layer. Eg: 802.3 uses co-axial cable; 802.3i uses copper twisted pair connection; 802.3j uses fiber optic connection; 802.3ae uses Ethernet over fiber.
(ii) 802.11 -WiFi :IEEE802.11 is a collection of wireless LAN(WLAN) communication standards including extensive description of link layer. Eg: 802.11a operates in 5GHz band, 802.11b and 802.11g operates in 2.4GHz band, 802.11n operates in 2.4/5GHz band, 802.11ac operates in 5GHz band, 802.11ad operates in 60Ghzband.
(iii) 802.16 – WiMax : IEEE802.16 is a collection of wireless broadband standards including exclusive description of link layer. WiMax provide data rates from 1.5 Mb/s to 1Gb/s.
(iv) 802.15.4 – LR – WPAN : IEEE802.15.4 is a collection of standards for low rate wireless personal area network(LR-WPAN). Basis for high level communication protocols such as ZigBee. Provides data rate from 40kb/s to250kb/s.
(v) 2G/3G/LTE – Mobile Communication : There are different generations of mobile communication standards including second generation (2G including GSM and CDMA), third generation (3G – including UMTS and CDMA2000) and fourth generation (4G – including LTE), IoT devices based on these standards can communicate over cellular networks. Data rates from 9.6kb/s(2G) to up to100Mb/s(4G).
b.) Network Layer : This layer is used to send data from a source network to a destination network. For this, IPv4 and IPv6 protocols are used for host identification, which transfers data in packets.
(i) IPv4 : Internet Protocol version 4 (IPv4) is the most deployed Internet Protocol that is used to identify the devices on a network using a hierarchical addressing scheme. It was the first version of IP deployed for production in the ARPANET in 1983. It uses a 32-bit address scheme to store 2^32 addresses which is more than 4 billion addresses. It is considered the primary Internet Protocol and carries 94% of Internet traffic.
(ii) IPv6 : Internet Protocol version 6 (IPv6) is the newest version of Internet Protocol and successor to IPv4. It was aimed to resolve issues that are associated with IPv4. With 128-bit address space, it allows 340 undecillion unique address space. IPv6 is also called IPng (Internet Protocol next generation). Internet Engineer Taskforce initiated it in early 1994. The design and development of that suite are now called IPv6.
(iii) 6LoWPAN : 6LoWPAN is an acronym of IPv6 over Low-Power Wireless Personal Area Networks. 6LoWPAN operates in 2.4 GHz frequency range and data transfer 250 kb/s. 6LoWPAN works with the 802.15.4 link layer protocol and defines compression mechanism for IPv6 datagrams over IEEE 802.15.4 – based networks
c.) Transport Layer : This layer is responsible for data flow control and error handling, ensuring that there are rules in place to deal with errors. This layer also provides end-to-end message transfer capability, independent of the underlying network infrastructure. It provides essential connectivity between the two nodes on either end of the point-to-send-point-receive model used by key protocols such as TCP/IP.
(i) TCP : Transmission Control Protocol is the most widely used protocol by web browsers(along with HTTP and HTTPS), email(along with SMTP, FTP). Connection oriented and stateless protocol. IP Protocol deals with sending packets, TCP ensures reliable transmission of protocols in order. Avoids network congestion and congestion collapse.
(ii) UDP : User Datagram Protocol (UDP) is a connectionless protocol. Useful in time sensitive applications, very small data units to exchange. Transaction oriented and stateless protocol. Does not provide guaranteed delivery
d.) Application Layer : On Application Layer, protocols use an application interface to define how the data can be sent over the network. These protocols include HTTP, XMPP, Web Socket, DDS, MQTT, and AMQP.
(i) HTTP : Hypertext Transfer Protocol (HTTP) is an application-layer protocol for transmitting hypermedia documents, such as HTML. It was designed for communication between web browsers and web servers, but it can also be used for other purposes. HTTP follows a request-response model where a client sends requests to a server using the HTTP commands. HTTP is a stateless protocol and each HTTP requests is independent of the other requests.
(ii) CoAP : Constrained Application Protocol for machine-to-machine (M2M) applications with constrained devices, constrained environment and constrained networks. Uses client- server architecture where clients communicate with servers using connectionless datagrams. CoAP is a web transfer protocol and uses a request response model, It runs on top of UDP instead of TCP. CoAP supports methods like GET, PUT, POST, and DELETE.
(iii) Web Socket : WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection for sending messages between client and server. The client can be a s=browser, a mobile application or an IoT device. WebSocket is described in RFC 6455.
(iv) MQTT : Message Queue Telemetry Transport is light weight messaging protocol based on publish-subscribe model. It uses client server architecture where the client (IoT Device) connects to the server (MQTT Broker) and publishes messages to topics on the server. The broker forwards the messages to the clients subscribed to topics.
(v) XMPP : Extensible Message and Presence Protocol for real time communication and streaming XML data between network entities. XMPP is a decentralized protocol and uses a client-server architecture. It supports both client-server and server-server communication.
(vi) DDS : Data Distribution Service is data centric middleware standards for device-to-device or machine-to-machine communication. It uses publish-subscribe model where publishers (device that generate data) creates topics to which subscribers (device that want to consume data) can subscribe. DDS provides quality-of-service (QoS) control and configurable reliability.
(vii) AMQP : Advanced Message Queuing Protocol is open application layer protocol for business messaging. It supports both point-to-point and publish-subscribe model. AMQP brokers receive messages from publishers and route them over connections to consumers.