[TriEmbed] Did anyone discuss M2M data plans?

Bill Farrow bill at arrowsreach.com
Mon Nov 24 08:19:49 CST 2014


On Sun, Nov 23, 2014 at 11:47 PM, Charles McClelland
<chip at mcclellands.org> wrote:
> Seems like a lot of overhead -  ~4kb to send about 28 bytes.  Here is what I

Is your device doing a DNS lookup as well ? Are you sending this
directly to an IP address ?

A single datagram on the physical layer requires a header, ie ethernet header.
A single IP Packet has a 20 byte header.
A single TCP/IP packet has a 20 byte IP header plus a 20+ byte TCP header.

TCP is a connection based protocol, so to establish a connection and
send a small number of bytes and then close the connection would
require several packets in both directions.

Example:
========
Using Wireshark and netcat, I got the following data for single 1 byte
TCP transfer:
  SYN  Device --> Host = 74 bytes
  SYN-ACK  Host --> Device = 74 bytes
  ACK Device --> Host = 66 bytes
  PSH-ACK Device-->Host = 67 bytes
  ACK Host-->Device = 66 bytes

The Ethernet header is 14 bytes, IP is 20 bytes, TCP in my case is 32
bytes. Therefore the minimum packet size is 66 bytes. The above TCP
transaction to send 1 byte of data took 347 bytes.

The smallest IPv6 header is 40 bytes, and there are various extensions
to the header to add routing and security, which would make it even
larger.

M2M:
========
The Machine to Machine protocol is then going to add more overhead to
the data transfer, plus SSL or TLS encryption headers, which also need
an accurate UTC time, typically fetched via NTP (Chip could probably
use the GPS time).


This would make a great mini talk !

Bill




More information about the TriEmbed mailing list