Los protocolos de comunicación se crean utilizando capas. Cada capa tiene una función particular, que proporciona un servicio estándar a la capa de arriba. La capa anterior no necesita saber nada sobre cómo funciona la capa subyacente, sino que solo utiliza el servicio proporcionado. Esto permite que cualquier capa se cambie por una alternativa, y las capas superiores e inferiores no tienen importancia siempre que el servicio proporcionado por cada capa subyacente sea el mismo.
Entonces, por ejemplo, podría tener una capa de red que proporciona la función de enviar un elemento de datos a través de un medio físico particular. Una implementación de esta capa de red maneja el envío de estos datos a través de Ethernet, y otra implementación maneja el envío de datos a través de una línea telefónica. También podría tener una capa de aplicación por encima de esta que usa este elemento de datos para una aplicación en particular, por ejemplo: una implementación usa los datos para enviar un mensaje de texto, y otra implementación usa los datos para enviar un mensaje de correo electrónico. El punto es que la capa de aplicación no necesita saber nada sobre el medio físico. La interfaz de servicio estándar proporcionada por la capa de red, independientemente de si Ethernet o una línea telefónica transporta los datos, permite que la capa de aplicación funcione exactamente de la misma manera. Sin capas, tendría que haber dos aplicaciones de correo electrónico diferentes: una que usara Ethernet y otra que usara una línea telefónica. Del mismo modo, debería haber dos aplicaciones de mensajes de texto diferentes. En cambio, por capas puedo desarrollar un solo correo electrónico y una sola aplicación de mensajes de texto, y puedo mezclarlos y combinarlos libremente con diferentes capas de red que trabajan con diferentes medios físicos.
Incluso puedo introducir una nueva implementación de capa de red, tal vez para manejar WiFi, que ni siquiera se había pensado cuando se desarrollaron mis aplicaciones de correo electrónico y mensajería de texto. Siempre que la nueva capa de red WiFi proporcione el mismo servicio de capa de red a la capa anterior, las capas de aplicación originales continuarán funcionando sin cambios. Del mismo modo, puedo introducir una nueva capa de aplicación, por ejemplo, un servicio de Instagram para enviar imágenes. Mientras la aplicación de Instagram use la interfaz de servicio de capa de red estándar, funcionará inmediatamente en cualquiera de las diferentes capas de red.
En la práctica, generalmente hay más de dos capas, pero es una extensión de exactamente la misma idea. En general, se considera que Internet tiene cuatro capas de la siguiente manera:
- En la parte superior tienes la capa de aplicación. Correo electrónico, mensajes de texto, mensajes de instagram, navegador web, transmisión de audio y / o video, teléfonos IP, etc.
- Debajo de esto tiene la capa TCP (en realidad Protocolo de Control de Transmisión). La capa TCP se encarga de garantizar que haya un canal confiable para la capa de aplicación. El servicio que brinda se basa en la conexión. Una vez que establece una conexión, la capa TCP permite transferir un flujo ilimitado de datos en cualquier dirección a través de la conexión, asegurando que todo lo que se envíe desde un extremo de la conexión llegue al otro extremo, sin errores u omisiones, y en el mismo orden según lo enviado
- La siguiente capa hacia abajo es la capa IP (Protocolo de Internet). Actualmente hay dos implementaciones de esta capa, IPv4 e IPv6, aunque la gran mayoría de Internet todavía usa IPv4. La función de la capa IP es obtener un “paquete” de datos proporcionados por la capa TCP de una dirección a otra en Internet (pública o privada). IPv4 usa un formato de dirección e IPV6 usa uno diferente. Esto es esencialmente un servicio de “carta”. Cada carta que envía tiene una dirección de destino, una dirección de “retorno” y “dentro” está el paquete de datos que se envía. Cada carta puede tomar un tiempo diferente para cruzar la red, posiblemente a través de una ruta diferente, por lo que las cartas pueden llegar al destino en un orden diferente al enviado. Las cartas también pueden perderse y simplemente no aparecer.
- La capa inferior es la capa de red, con implementaciones para una amplia gama de redes: ethernet, WiFi, fibra óptica, etc.
Entonces, la capa de aplicación simplemente le dice a la capa TCP que establezca una conexión a un destino, y luego comienza a transferir datos. Puede suponer que, independientemente de los datos que envíe, la capa TCP se encargará de entregarlos al destino de manera confiable y en el mismo orden.
La capa TCP tiene que dividir estos datos en paquetes para dar a la capa IP. La capa TCP tiene que incluir información de secuencia en los paquetes para permitirle volver a ensamblarlos en el orden correcto en el extremo más alejado, y para detectar si un paquete se ha perdido. También debe poder reenviar un paquete cuando esto sucede. Finalmente, la capa TCP envía paquetes adicionales para administrar cada conexión, configurarla, finalizarla, etc.
La capa IP es lo que transporta cada paquete a través de Internet. De hecho, Internet no necesita saber nada sobre TCP o las capas de aplicación. Simplemente necesita saber cómo se ve una “carta” de IP para que pueda encontrar la información de la dirección. Como un servicio postal. Los diversos paquetes TCP y los datos de la aplicación dentro de estos paquetes son solo el contenido de la “carta” de IP en lo que respecta a Internet.
TCP / IP es simplemente una forma abreviada de TCP sobre IP.