¿Por qué no se utiliza TCP en IoT?

Información sobre TCP

TCP se utiliza para la mayoría de nuestras interacciones humanas con la Web (correo electrónico, navegación web, etc.). Y mucha gente cree que TCP debería ser el único protocolo utilizado en la capa de transporte. TCP proporciona el concepto de una conexión lógica, reconocimiento de paquetes transmitidos, retransmisión de paquetes perdidos y control de flujo.

Información sobre IoT

Internet of Things (IoT) generalmente se refiere a la interconexión de diferentes tipos de dispositivos informáticos para admitir varios tipos de aplicaciones de monitoreo y control. Las redes IoT a menudo contienen una gran cantidad de dispositivos de gama baja y con recursos limitados.

La razón principal de TCP no se utiliza en IoT es aquí:

Las redes de IoT difieren de las redes de computadoras cableadas tradicionales en formas fundamentales como explicamos a continuación. Esas diferencias plantean desafíos importantes en la aplicación de tecnologías TCP / IP al entorno IoT, y abordar estos desafíos tendrá un impacto de gran alcance en la arquitectura de la red.

La capa de transporte en la arquitectura TCP / IP proporciona control de congestión y entrega confiable, ambas implementadas por TCP, el protocolo de capa de transporte dominante en Internet. TCP ha sido diseñado durante muchos años para entregar eficientemente una gran cantidad de datos a través de una conexión punto a punto de larga duración sin un requisito de latencia estricto. Modela la comunicación como un flujo de bytes entre el emisor y el receptor, y aplica la entrega confiable en orden de cada byte en el flujo.

Sin embargo, las aplicaciones de IoT generalmente enfrentan una variedad de patrones de comunicación que TCP no puede soportar de manera eficiente.

Primero, debido a las limitaciones de energía, los dispositivos pueden entrar frecuentemente en modo de suspensión, por lo que no es factible mantener una conexión de larga duración en aplicaciones IoT.

En segundo lugar, mucha comunicación de IoT involucra solo una pequeña cantidad de datos, lo que hace que la sobrecarga de establecer una conexión sea inaceptable.

En tercer lugar, algunas aplicaciones (p. Ej., Activación del dispositivo) pueden tener un requisito de baja latencia, que puede no tolerar el retraso causado por el protocolo de enlace TCP.

Lea más aquí: https://named-data.net/wp-conten…

TCP utiliza sockets que deben actualizarse de vez en cuando para actualizar los recursos. Incluso consume más RAM en su controlador, ya que cuando se reciben los datos, pasan a través de capas para procesar los datos recibidos. Esto no es adecuado para aplicaciones IoT.

Sin embargo, podemos usar señales de baja potencia, ya que son menos voluminosas y tienden a operar solo en horarios y prioridades, que es una forma efectiva de utilizar el espacio para procesar los datos recibidos.

No estoy seguro del contexto aquí, ya que la comunicación IOT de extremo a extremo es demasiado amplia.

Pero ciertamente puedo decir que no es cierto, que TCP no se usa en IOT. Sin embargo, en la mayoría de los casos, la comunicación se basa en eventos, asíncrona, etc.

TCP fue diseñado para la web, no para dispositivos de bajo consumo de recursos. Usarlo tiene sobrepeso y gravará la red IoT, en su lugar, intente CoAP o MQTT (menos preferible)