## 3 Thread Protocol Overview
### Protocol Stack  
The Thread protocol stack is a combination of various standards like IEEE 802.15.4 and 6 LoWPAN, etc. [21; 25]. It has six different layers, as can be seen in Figure 1. Each of the layers is described below:  
* **IEEE 802.15.4 Physical Layer** The physical layer is used for the transmission and reception of packets over a physical medium. The physical and MAC layers of the Thread are defined according to the IEEE 802.15.4 standard. In the physical layer, it operates in the 2.4 GHz free ISM band and is divided into 16 channels numbered from 11 to 26. It offers a data rate of 250 kbps [12].  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Reference** & **Parameters** & **Bitrate Range** & **Payload Size** & **Link Failure** \\ \hline
[17] & RTT, packet loss & No & 10–300 & No \\
[19] & RTT, packet loss & No & 10–300 & No \\
[18] & RTT & No & 10–50 & No \\
[20] & RTT, packet loss & No & 10–200 & No \\
[23] & RTT & No & 10–70 & No \\
[25] & RTT & No & 8–1232 & No \\
[26] & RTT & No & 64 (fixed) & No \\ Our Work & RTT, packet loss, Jitter & 5 to 250 & 500 to 5000 & Yes \\ \hline \hline \end{tabular}
\end{table}
Table 1: Comparison between performance evaluation in our work and existing literature.  
Figure 1: Thread protocol stack [14].  
* **IEEE 802.15.4 MAC Layer** This layer is responsible for message handling and management, congestion control, and error correction. The MAC layer includes CSMA-CA (Carrier Sense Multiple Access-Collision Avoidance), allowing Thread devices to utilize the bandwidth efficiently. It has features like beacon management, channel access, Guaranteed Time Slot (GTS) management, etc. [27].
* **6 LoWPAN** It stands for IPv6 for low-power wireless personal area network (6 LoWPAN). It facilitates the Thread network by providing adaptation between the IP layer and the 802.15.4 MAC layer. Packet fragmentation happens here as the packets are assembled into IPv6 format while passing from the MAC layer to the IP layer and vice versa. The layer adapts the bigger frames into smaller ones, making it more suitable for energy-constrained and low-bandwidth devices. 6 LoWPAN supports both mesh and star topologies [9].
* **IP Routing** As Thread supports the IPv6 architecture, DHCPv6 is used for router address assignment. The IPv6 frames are 40 bytes long and contain an address field of 128 bits, allowing more addresses than the IPv4. In IP routing, the mesh local addresses of routers are maintained in a routing table, ensuring constant connectivity and the availability of paths. Thread uses the distance vector routing protocol, which aims to maximize the amount of routing information in a single message. The routing cost is estimated using the Mesh Link Establishment (MLE) mechanism [14; 25].
* **User Datagram Protocol** Thread uses User Datagram Protocol (UDP) for messaging between devices. It also supports TCP-based services for application-layer communication. UDP enables messaging with minimum connection overhead, providing a faster and higher throughput of messages. Applications requiring a guarantee may use the TCP protocol, assuring reliability by detecting network congestion and packet acknowledgement and re-transmission [13; 14].
* **Application Layer** The application layer provides an interface to the network. Thread is application-layer agnostic and provides the flexibility to choose from a variety of application layers to enable device connectivity like Message Queuing Telemetry Transport (MQTT), Constrained Application Protocol (CoAP), etc. [22; 24]. Thread, however, provides multicast and UDP messaging as essential application layer services to allow communication over IP.