El Transmission Control Protocol/Internet Protocol (TCP/IP)
más que un protocolo es un conjunto de protocolos que definen una serie de reglas
y primitivas que permiten a máquinas muy heterogéneas intercambiarse información
mediante el uso de redes área local (LANs), redes de área extensa (WAN), redes
públicas de telefónía, etc... Por ejemplo, Internet en sí mismo está construido
sobre el protocolo TCP/IP.
Al contrario de la arquitectura de 7 niveles especificada
en la torre OSI, con TCP/IP bastan cinco niveles, estos son:

De forma muy resumida:
- Nivel Físico: define
los tipos de medio físico (cable de pares, coaxial, fibra, etc) y los niveles
de señal que se inyectarán en estos.
- Nivel de Enlace: prepara
los paquetes de datos para su envío por el medio físico en cuestión, resuelve
las colisiones, corrige errores de paquetes o solicita el reenvío de los mismos.
- Nivel de Red (IP):
los hosts pueden introducir paquetes en la red, los cuales llegan al destinatario
de forma independiente. No hay garantías de entrega ni de orden (IP no está
orientado a la conexión), gestiona las rutas de los paquetes y controla la
congestión.
- Nivel de Transporte:
es el nivel que realmente permite que dos máqinas conectadas TCP/IP puedan
conversar entre sí. En este nivel pueden funcionar dos tipos de protocolos:
- Transmission Control
Protocol (TCP). Proporciona una conexión segura que permite la
entrega sin errores de un flujo de bytes desde una máquina origen a una
destino Parte la ristra de datos a enviar en paquetes discretos y lo monta
de nuevo en el destino. Maneja el control de flujo.
- User Datagram Protocol
(UDP). Es un protocolo no orientado a la conexión, por lo tanto
no garantiza el reparto seguro del paquete enviado. En general, se usa
el UDP cuando la aplicación que se monta encima, necesita tiempos de respuesta
muy cortos mas que fiabilidad en el entrega.
- Nivel de aplicación.
Sobre él se montan las aplicaciones finales que nos facilitan la vida, destacan:
el correo electrónico, el navegador Web, el intercambio de ficheros FTP, y
aplicaciones como el Napster para el intercambio de música MP3 entre dos ordenadores.
Recordar que cuando se menciona el término "TCP/IP" en
general nos estamos refiriendo a todos estos niveles y todas las reglas que
hacen posible una comunicación extremo-a-extremo entre dos aplicaciones de máquinas
diferentes.
Bien, resumiendo TCP/IP permite trocear las ristras de
datos de las aplicaciones y encapsularlos en paquetes de longitud finita, con
una dirección de origen y una de destino (como si metiéramos los datos dentro
de un sobre de correos). Estos paquetes pasarán por Routers, Gateways, Bridges
o Switches que harán posible que lleguen a sus destinos, normalmente libres
de errores o pérdidas de información.
TCP/IP no está optimizado para la Domótica
La mayoría de los protocolos que han sido especialmente
creados para implementar redes de control distribuidas (Lonworks, EIB, EHS,
X-10), las tramas fueron diseñadas de forma que el espacio útil para datos de
las aplicaciones fuera el máximo. Por ejemplo para encender y pagar una luz
basta con una orden codificada en un par de octetos. Por lo tanto, se trata
de minimizar los campos de control (direcciones, CRCs, etc) que el protocolo
necesita para transferir estos dos octetos al dispositivo destino.
Los especialistas suelen usar dos formas para medir este
factor de mérito:
- Ancho de Banda Neto, medido en bits por segundo.
Por ejemplo, un bus puede inyectar un flujo de datos de 5400 bps en los cables
pero sólo 4800 bps son útiles para la aplicación. En este caso, 600 bps serían
añadidos por el propio protocolo.
- Overhead o tara, medido en tanto por ciento.
Por ejemplo, de una trama 55 bytes, son útiles 50 bytes. La tara sería del
10%.
Fijarse que ambos parámetros representan lo mismo: cuantos
bits puedo transferir por el medio físico en un instante dado y cuantos bits
son realmente útiles para la aplicación.
Por el contrario, el protocolo TCP/IP, que fue diseñado
para transferir ingentes cantidades de datos entre dos máquinas, cuando se usa
para transferir 2 o 3 octetos de información el coste en ancho de banda es muy
alto. Por ejemplo, entrando directamente a nivel IP, el paquete mínimo necesita
20 octetos sólo de campos de control. Si entramos a nivel de TCP son 40 octetos
de control como mínimo. Dando lugar a una tara del 900% y 1800 %, respecticamente.
Por este motivo, el protocolo TCP/IP no está optimizado
para su uso en redes de control distribuido en aplicaciones de automatización
de viviendas u oficinas.
Entonces ¿porqué hemos decidido poner a TCP/IP dentro del
apartado de Domótica?
A pesar de las razones técnicas que se acaban de mencionar,
pronto veremos como aparecerán dispositivos domóticos y electrodomésticos con
conexiones TCP/IP en el mercado. La razón es muy sencilla… TCP/IP está siendo
usado en infinidad de ordenadores y aplicaciones, de forma que ha conseguido
un volumen de negocio tal que ha hecho de este protocolo la herramienta ideal
para asegurar la interconectividad total entre máquinas en cualquier parte del
mundo.
Por otro lado, hasta hace bien poco, el coste de embarcar
la pila TCP/IP (stack TCP/IP, ver figura anterior) no era muy rentable
debido a que los precios de las memorias eran elevados y a la cantidad de procesador
que roba a la aplicación principal. Pero como el coste del hardware es cada
vez menor, estamos viendo como aparecen multitud de microcontroladores de 8
y 16 bits (los más usados en aplicaciones distribuidas de control de las viviendas)
que, con una arquitectura avanzada o una velocidad elevada, implementan el stack
TCP/IP ocupando muy poca memoria y sin apenas interferir en la velocidad de
la aplicación principal.
Por ejemplo el "eZ80 Webserver" de la empresa Zilog, es
un pequeño microcontrolador de 8 bits que es capaz de funcionar a 50 MHz y direccionar
hasta 16 Mbytes de memoria. Se puede configurar su memoria para implementar
todo o parte del stack TCP/IP además de los protocolos adicionales como el HTTP,
SMTP, PPP, DHCP, entre otros.
Es decir, que con un pequeño dispositivo, una memoria adicional
(sin discos duros) y un transceiver para el medio físico en cuestión (normalmente,
cable de pares trenzados UTP-Cat.5, o RS-232 para un modem con el protocolo
PPP) se puede tener un servidor Web que controle la calefacción, el HVAC, el
horno, etc y encima ¡proporcione una pagina Web! con la que el usuario podrá
acceder a telecontrolar y monitorizar todos los parámetros.
El coste de embarcar un microcontrolador como este dentro
de la caldera de la calefacción, del aire acondicionado, del horno, apenas incrementará
el coste final de estos equipos.
Otro especialista en el uso de TCP/IP es la empresa Lantronix.
Sus productos sirven para facilitar la conexión de autómatas industriales o
terminales remotos al mundo TCP/IP. De momento la mayoría de sus aplicaciones
están centradas en la automatización de industrias y factorías. Pero, según
los responsables de estrategia de esta empresa ya están pensando en como abordar
a los fabricantes de electrodomésticos, con la clara intención de dotarles a
estos de salida Ethernet y stack TCP/IP para poder construir aplicaciones remotas
que gestionen su funcionamiento y optimicen el consumo.