In my last blog, I described why Internet of Things traffic must be self-classified if we are to wring meaning from billions of devices. Those self-classification techniques work fine with IPv6 -- but IPv6 has too much overhead for the vast majority of IoT devices. Instead, I suggest a minimal data format I call Chirp.
With Chirp, only the most important elements of an IoT signal need be sent or received. A Chirp can consist of a classification of data type, some minimal (non-unique) addressing, the actual value or reading, a directional "arrow" indicating whether this is a message intended for a device or for a server, and a minimal checksum to protect against garbled transmissions.
As I explained in my book, the low overhead of a Chirp is especially important for the IoT because many devices will send or receive only a tiny squib of data with each message -- often only 8 bits or fewer for a simple reading or status. This minimum message requires the addition of only 3.5 bytes of overhead to form a viable Chirp. Contrast this with roughly 40 bytes of overhead for an IPv6 packet to encapsulate that same 8-bit-or-less message, and the efficiencies become clear -- not to mention the processor power and memory needed to manage an IPv6 connection.
A Chirp device need not be concerned with managing a higher-level client-server relationship. Instead, Chirps may simply be repeated when a reading or state changes. Since the overwhelming majority of IoT messages are each individually uncritical, the success of any one Chirp transmission is of no consequence. For those applications that are critical -- a video surveillance data stream, perhaps -- IPv6 is available.
Read the rest of this article on EBN sister publication EETimes.