On 2020-06-07 19:02, Brandon Martin wrote:
On 6/7/20 6:01 AM, Denys Fedoryshchenko wrote:
There are very interesting and unobvious moments on IPv4 vs IPv6, for
example related to battery lifetime in embedded electronics. In ipv4,
many devices are forced to send "keepalives" so that the NAT entry
does not disappear, with IPv6 it is not required and bidirectional
communications possible at any time. And in fact, it has a huge impact
on the cost and battery life of IoT devices.
When I developed some IoT devices for clients, it turned out that if
"IPv6-only" is possible, this significantly reduces the cost of the
solution and simplify setup.
This is difficult to understate. "People" are continually amazed when
I show them that I can leave TCP sessions up for days at a time (with
properly configured endpoints) with absolutely zero keepalive traffic
being exchanged.
As amusingly useful as this may be, it pales in comparison to the
ability to do the same on deeply embedded devices running off small
primary cell batteries. I've got an industrial sensor network product
where the device poll interval is upwards of 10 minutes, and even then
it only turns on its receiver. The transmitter only gets lit up about
once a day for a "yes I'm still here" notification unless it has
something else to say.
In the end, we made it work across IPv4 by inserting an application
level gateway. We just couldn't get reliable, transparent IPv6
full-prefix connectivity from any of the cellular telematics providers
at the time. I don't know if this has changed. For our application,
this was fine, but for mixed vendor "IoT" devices, it would probably
not work out well.
"Cellular telematics" are bad in general.
I had problem during development of OTA,because operator decided that he
should
put TCP session data limit about 1MB, so people dont abuse unlimited
data plan.
As their DPI was not very precise, i was getting
random hangs during data transfer. Did workaround by splitting OTA to
several 256Kb chunks.
With IPv6 major problems that most of operators open only some ports,
block inbound connections,
often run stateful firewall.
Usually customers prefer to pay extra to get custom firmware that is
working properly on
particular cellular operator. Still IPv6 works better than IPv4.