TCP/IP funciona sobre el concepto del modelo cliente/servidor, donde, como recordarás de unidades anteriores:
- El Cliente es el programa que ejecuta el usuario y solicita un servicio al servidor. Es quien inicia la comunicación.
- El Servidor es el programa que se ejecuta en una máquina (o varias) de red y ofrece un servicio (FTP, web, SMTP, etc.) a uno o múltiples clientes. Este proceso permanece a la espera de peticiones, las acepta y como respuesta, proporciona el servicio solicitado.
La capa de aplicación es el nivel que utilizan los programas para comunicarse a través de una red con otros programas. Los procesos que aparecen en esta capa, son aplicaciones específicas que pasan los datos al nivel de aplicación en el formato que internamente use el programa, y es codificado de acuerdo con un protocolo estándar. Una vez que los datos de la aplicación han sido codificados, en un protocolo estándar del nivel de aplicación, se pasan hacia abajo al siguiente nivel de la pila de protocolos TCP/IP.
En el nivel de transporte, las aplicaciones normalmente hacen uso de TCP y UDP, y son habitualmente asociados a un número de puerto. Por ejemplo, el servicio web mediante HTTP utiliza por defecto el puerto 80, el servicio FTP el puerto 21, etc.
Por ejemplo, la World Wide Web o Web, que usa el protocolo HTTP, sigue fielmente el modelo cliente/servidor:
- Los clientes son las aplicaciones que permiten consultar las páginas web (navegadores) y los servidores, las aplicaciones que suministran (sirven) páginas web.
- Cuando un usuario introduce una dirección web en el navegador (una URL), por ejemplo
http://www.dominio.es
, éste solicita mediante el protocolo HTTP la página web al servidor web que se ejecuta en la máquina donde está la página. - El servidor web envía la página por Internet al cliente (navegador) que la solicitó, y éste último la muestra al usuario.
Los dos extremos dialogan siguiendo un protocolo de aplicación, tal y como puedes ver en la imagen que representa el ejemplo anterior.
- El cliente solicita el recurso web
www.dominio.es
medianteGET HTTP/1.0
- El servidor le contesta
HTTP/1.0 200 OK
(todo correcto) y le envía la página html solicitada.
Más adelante veremos varios ejemplos de cómo implementar un servicio web básico.