El proceso de transferencia de mensajes a través de internet requiere la cooperación de todas las computadoras del sistema, por lo que en cada computadora de Internet hay disponible un software encargado de controlar este proceso.
Una de las principales tareas del software de red consiste en proporcional la infraestructura necesaria para transferir mensajes de una máquina a otra. En Internet, esta actividad de paso de mensajes se lleva cabo por medio de una jerarquía de unidades de software de cuatro capas:
Los mensajes suelen originarse en la capa de aplicación. A partir de ahí se pasan hacia abajo a través de las capas de transporte y de red, mientras que se preparan para su transmisión y finalmente se envían por medio de la capa de enlace. El mensaje es recibido por la capa de enlace situada en el destino, después de lo cual se pasa a través de la jerarquía hacia arriba hasta que se entrega a la capa de aplicación situada en el destino del mensaje.
Las capas del software de Internet
Seguimiento de un mensaje a través de Internet
En resumen, la comunicación a través de Internet implica la interacción de 4 capas de software. La capa de aplicación gestiona los mensajes desde el punto de vista de una aplicación. La capa de transporte convierte esos mensajes en segmentos que sean compatibles con Internet y recompone los mensajes recibidos antes de entregarlos a la aplicación apropiada. La capa de red se ocupa de dirigir los segmentos a través de Internet. La capa de enlace se encarga de la propia transmisión de los segmentos de una máquina a otra.
El conjunto de protocolos TCP/IP es un conjunto de estándares de protocolo utilizados en Internet par aimplementar la jerarquía de comunicaciones de 4 capas. El protocolo TCP (Transmission Control Protocol) y el protocolo IP (Internet Protocol) son los nombres de solo dos de los protocolos que componen este amplio conjunto, así que el hecho de que llamemos conjunto de protocolos TCP/IP al conjunto completo resulta un tanto confuso. Para ser más precisos, TCP define una versión de la capa de transporte. Decimos una versión porque el conjunto proporciona más de una forma de implementar la capa de transporte; otra de las opciones está definida por UDP (User Datagram Protocol). Esta diversidad es análoga al hecho de que, a la hora de enviar un paquete podemos elegir entre diferentes empresas de transportes, cada una de las cuales ofrece el mismo servicio básico pero con sus propias características distintivas. Por tanto, dependiendo de la calidad del servicio concreta que necesitemos, una unidad dentro de la capa de aplicación podría decidir enviar los datos a través de una versión TCP o UDP de la capa de transporte.