La explosión masiva de aplicaciones se debe, en gran medida, al genio del enfoque en capas para el procesamiento de datos a través de una red. Concretamente, si se mantiene la funcionalidad de la capa de aplicación separada de la funcionalidad del transporte de datos, los protocolos de capa de aplicación se pueden modificar, y se pueden desarrollar nuevas aplicaciones, sin que el desarrollador deba preocuparse por el procedimiento de obtención de datos a través de la red. Esa es la funcionalidad de otras capas y, por lo tanto, de otros desarrolladores.
Como se muestra en la ilustración, cuando una aplicación envía una solicitud a una aplicación de servidor, la capa de aplicación construye el mensaje, pero después se pasa por las diversas funcionalidades de la capa en el cliente para entregarse. Mientras se traslada por el stack, cada capa inferior encapsula los datos con un encabezado que contiene los protocolos de comunicación para esa capa. Estos protocolos, que se implementan en los hosts emisores y receptores, interactúan para proporcionar una entrega extremo a extremo de las aplicaciones a través de la red.
Por ejemplo, los protocolos como el HTTP, admiten el envío de páginas Web a dispositivos finales. Ahora que conocemos todas las diversas capas y sus funcionalidades, podemos seguir la solicitud de una página Web de un cliente desde el servidor Web para ver cómo funciona cada una de estas funcionalidades individuales en forma completa y conjunta.
Si se utiliza el modelo TCP/IP, un proceso completo de comunicación incluye los siguientes seis pasos:
Creación de los datos
El primer paso es la creación de datos en la capa de aplicación del dispositivo final de origen que inicia la comunicación. En este caso, después de crear la solicitud del cliente Web, conocida como HTTP GET, esos datos se codifican, comprimen y encriptan, si es necesario. De esto se encarga el protocolo de capa de aplicación del modelo TCP/IP, pero incluye la funcionalidad descrita por las capas de aplicación, presentación y sesión del modelo OSI. La capa de aplicación envía estos datos como un stream a la capa de transporte.
Segmentación y encapsulación inicial
El siguiente paso es la segmentación y la encapsulación de los datos a medida que pasan por el stack de protocolos. En la capa de transporte, el mensaje HTTP GET se divide en partes más pequeñas y fáciles de manejar. A cada parte del mensaje se le agrega un encabezado de capa de transporte. Dentro del encabezado de la capa de transporte, hay indicadores que establecen cómo reconstruir el mensaje. También se incluye un identificador, el número de puerto 80. Este se utiliza para avisar al servidor de destino que se quiere enviar el mensaje a su aplicación de servidor Web. También se agrega un puerto de origen generado aleatoriamente para asegurarse de que el cliente pueda seguir la comunicación de retorno y reenviarla a la aplicación cliente correcta.