Transport is the OSI Level 4 layer and is recognized by the same name in the TCP-IP model. Like physical layer, data link layer and network layer, this layer is also part of the infrastructure layer in IOT reference architecture. In the previous tutorials, physical and data link layer protocols and network layer protocols were discussed.
To learn about physical and data link layer protocols commonly used for computer and mobile devices networking, check out the following tutorial –
Physical and Data Link Layer Protocols for Computers and Mobile Devices – Ethernet BLE Wi-Fi Wi-Fi Direct WPA
To learn about physical and data link layer protocols developed for LPWAN, check out the following tutorial –
Physical and Data Link Layer Protocols for LPWAN
To learn about physical and data link layer protocols developed for PAN, HAN and LAN, check out the following tutorial –
Physical and Data Link Layer Protocols for LAN HAN and PAN
To learn about RFID and Mobile standards with applications in IOT, check out the following tutorial –
Physical and Data Link Layer Protocols – RFID and Mobile Standards
To learn about various network layer protocols, check out the following tutorial –
In this tutorial, transport layer protocols will be discussed. Transport layer which is also known as routing layer is responsible for routing of data packets over a network. At this layer, ordering of packets, error detection and correction in delivery of data packets is performed. The commonly used transport layer protocols include the following –
• CCN (Content Centric Networking)
• TSMP (Time Synchronized Mesh Protocol)
TCP – Transmission Control Protocol (TCP) is connection oriented and heavyweight protocol. It is suitable for reliable communication because in this protocol acknowledgment is received when the client sends the packet to the server via TCP protocol. The data must be guaranteed sent at the other end if the packet is sent via TCP protocol.
The protocol operates in three phases – Connection establishment, data transfer and connection close. A TCP connection is managed by an internet socket which lying at the end point (physical) undergoes various state changes.
The packet overhead is very large in this protocol. TCP consumes more power from the devices and has large overhead so it is not suitable for low power devices with constrained environment. Therefore, UDP is preferred as a connection less protocol for low overhead.
UDP – User Datagram Protocol is a connection less protocol and is not reliable for guaranteed transmission of data. However, the UDP protocol is a best protocol to send data to the server when packet loss during transmission of the data can be afforded. UDP protocol is a lightweight protocol and is suitable for wireless sensor network communication. UDP is often used in applications specially tuned for real-time performance.
DCCP – Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol. This protocol is more secure than TCP protocol. Compared to TCP which has a single byte long ID for each packet, the packet ID is 48-bit long (6-bytes) in DCCP. This makes it hard for any attacker to hack data packets. This protocol is generally used for time critical data transfers like media streaming and VoIP.
SCTP – Stream Control Transmission Protocol (SCTP) protocol is a message oriented transport layer protocol and it uses congestion control to reliably transfer data over a network. The data transferred along with a 12-byte header is secured using 4-way handshake. Due to multi-homing, data is reliably sent to the destination.
RSVP – Resource Reservation Protocol (RSVP) is a control protocol mainly used for unicast and multicast data transmission. It actually does not transport data but is used to ensure quality of service (QoS) for data streams.
DTLS – Based on Transport Layer Security (TLS) protocol, Datagram Transport Layer Security (DTLS) is a stream oriented transport layer protocol. This is a security protocol designed against message forgery, tampering and eavesdropping. However, large packet size, packet reordering and loss of datagram are some of the major drawbacks of this protocol stack.
TLS – Transport Layer Security (TLS) is a security protocol which uses symmetric cryptography to secure data. This protocol has been now prohibited from use due to security considerations.
RPL – IPv6 Routing Protocol for Low Power and Lossy Networks is a transport layer protocol developed for 6LoWPAN networks. This protocol stack has been specially designed for constraint networks. The protocol has been designed handle unknown packet losses and minimize energy consumption by the network. The protocol uses a graph of nodes (Destination Oriented Directed Acyclic Graph, DODAG) to route data through the most optimum path, so that data is delivered with minimum latency. It is also designed to tackle situations where the destination end-point is not reachable or not available the time packet is routed. Despite that when the end-point wakes up, it manages to deliver the data packets.
A node can join the network by sending DODAG Information Solicitation (DIS) request to the root device which responds by a DAO Acknowledgment (DAO-ACK) confirming the inclusion of the node in the network. It is the root which determines how to route data through various nodes and deliver it to the destination node or end point.
Not only for 6LoWPAN, the RPL (or Ripple) can be used along with various other low power data link layer protocols. It is based on IPv6 standard, so it is quite suitable for any IOT application.
CARP – Channel-Aware Routing Protocol (CARP) is a transport layer protocol developed for underwater networks. This protocol is quite suitable for IOT implementations as header size in this protocol is very small. The protocol keeps track of data communication history to select nodes for data transfer. The focus in this protocol remains on building quality links through which data packets can be reliably and securely delivered. The data transfer happens in two stages – Network Initialization and Data Forwarding. In network initialization phase, a sink node (node requesting sensor data) sends a HELLO packet to all the nodes of the network. Then, in the data forwarding phase, the data from the sensors is routed to the sink node from one hop to another hop where each hop route data independently. This protocol is designed especially for sensor networks.
CORPL – Cognitive RPL (CORPL) is an extension of RPL protocol developed for cognitive networks. It is also based on Destination Oriented Directed Acyclic Graph (DODAG) topology with few modifications to suit the cognitive networks. In CORPL, there is opportunistic forwarding. There are multiple forwarders (called forwarder set) from which best node to forward data can be selected. Not only the parent node, instead each node maintains a forwarder set. The nodes communicate changes in their forwarder set by sending Destination Advertisement Object (DAO) messeges.
QUIC – Quick UDP Interconnections (QUIP) is a protocol stack based on User Datagram Protocol with additional features that make this protocol as secured as TLS protocol. It uses a set of multiplexed connections between the source and destination such that there is minimum latency and data losses.
uIP – It is an open-source TCP-IP protocol stack which can be used with tiny 8-bit and 16-bit microcontrollers.
ROLL – Routing Over Low power and Lossy networks (ROLL) is an IPv6 routing protocol based on RPL designed for Low power and Lossy Networks.
Aeron – Aeron is a protocol stack designed for UDP unicast and UDP multicast. It is a high throughput and low latency communication protocol generally used for streaming data.
CCN – Content Centric Networking (CCN) or Information Centric Networking (ICN) is a network architecture and protocol stack designed for content distribution. In this protocol stack, the data is delivered as named packets which are saved in memories wherever available in the network. By automatic and application neutral caching of content or information, the protocol removes the need of any application layer protocol or service to deliver data.
NanoIP – Based on TCP-IP, NanoIP is an underdevelopment protocol stack for sensors and embedded devices.
TSMP – Time Synchronized Mesh Protocol (TSMP) is a protocol stack developed for motes or sensor nodes. It is used for networking of wireless sensors so that sensors could communicate data to each other in timeslots. It has an approach similar to time division multiplexing.
In the next tutorial, service delivery protocols will be discussed.
Filed Under: Featured Contributions