Thread is a simplified, IPv6-based mesh networking protocol developed for connecting products around the home to each other, to the internet, and to the cloud. Thread is simple to install, highly secure, and scalable to hundreds of devices. It uses low-data-rate, low-cost, low-power 802.15.4 chipsets.
Thread’s focus on mesh networking, native support for Internet Protocol (IP), ultra-low power, and reliability delivers on the promise of seamless connectivity among “things” in the IoT. Thread enables efficient communication between connected devices and a simple yet robust interface to the cloud. Thread protocol offers a compelling wireless mesh networking solution by delivering the following seven benefits for the connected home:
1. Standards-based protocol
Open, standards-based protocols reap the benefits of technical peer reviews, cross-vendor interoperability, and competition. Thread is based on a foundation of IEEE and IETF standards, including IEEE 802.15.4. The official Thread specification was published by the Thread Group on July 13, 2015, and beta certification has opened.
2. Simplified configuration
Thread eliminates the complexities of prior mesh networking standards by supporting two node types: Router Eligible or End Device. Router Eligible nodes become routers when needed to support the mesh. The first Router Eligible node to form the network is autonomously designated a router as well as the Leader. A Leader performs additional network management tasks and makes decisions on behalf of the network. Other Router Eligible nodes can autonomously assume the role of a Leader, but there’s only one Leader per network at a time.
Nodes that join as End Devices send messages to a router designated as its “parent,” and the parent performs routing operations on behalf of its “child.” End Devices route communication through parents and can be programmed to be “sleepy” to reduce power consumption. End Devices that cannot communicate with their parent after multiple attempts will autonomously search and attach to a new parent.
3. IP-based messaging
Since Thread provides native support for IP, all devices in a Thread network have an IPv6 address and can be accessed directly by local devices on a home area network (HAN) or off-network using Thread-capable IP routers called border routers.
Nodes on the network form IPv6 global addresses from prefixes assigned by border routers, or locally by a self-assigned prefix to form a Unique Local Address (ULA). Routing IDs used in the network are assigned by the Leader. Thread leverages User Datagram Protocol (UDP) for messaging instead of its heavier alternative, Transmission Control Protocol (TCP). Unlike TCP, UDP is a connectionless protocol that forgoes TCP features — such as error-checking, packet-sequencing, and retransmissions — in exchange for faster, more efficient transmission. This efficiency equates to less overhead, which is critical for battery-powered, resource-constrained devices.
4. Low-power operation
Thread supports low-power operation using sleepy end nodes, which are devices that spend the majority of their time in a low-power sleep state. With Thread, sleepy devices are not required to check in with the network. Messages for sleepy devices are buffered by their parents. Message transmission is triggered only after a sleepy device wakes up and polls its parent for inbound messages.
5. Scalable and resilient
Thread can support networks of 250+ nodes. In a Thread network, the maximum number of active routers is 32. Routing information can be efficiently distributed across the network, and all routers maintain visibility of all routes within the network. As nodes are added to the network and the topology changes, the network adapts by exchanging Mesh Link Establishment (MLE) messages. Additional routers can be added autonomously if there are Router Eligible devices operating as end devices. These devices “listen” to routing messages and petition the network Leader to become a router when necessary to improve network performance.
Thread is a robust, self-healing mesh network with no single point of failure. If a router fails, the network dynamically reroutes traffic around the failed node. If a Leader fails, another router is autonomously elected the new Leader. Multiple border routers provide fail-safe redundancy for off-network communication.
The Thread Group has defined a standard test harness to be used for certification of all Thread stacks and final Thread products. This test harness is provided to Thread Group member companies for development and testing of software prior to certification.
7. Secure and User-Friendly
Thread networks are built to be simple to use, yet extremely secure. Thread uses AES-128 to protect networking transactions at the MAC level and uses a combination of ECC and J-PAKE algorithms to securely add devices to a network. Applications have the option to use standards-based IP security protocols to secure application payloads.
The Thread network assumes a commissioning device is available for a user to add any new devices to the network. Thread makes it possible to designate off-network devices — such as smart phones, computers, and on-network Thread devices — as commissioners. To join a Thread network, a user instructs the commissioning device that a new device is being added and inputs a unique passphrase associated with the joining device. This passphrase establishes a secure datagram transport layer security (DTLS) session to authenticate and authorize the joining device, and that device is then granted access to the Thread network. Once the device is added, the commissioning device is no longer needed.