La capa de transporte es fundamental para el intercambio de datos entre dispositivos, pero antes de que esto suceda, se deben definir correctamente los detalles del proceso. La capa de aplicación en los modelos OSI y TCP/IP se encarga de esto. Un ejemplo es la situación en la que se crea una presentación de diapositivas en un programa específico y se desea compartirla con colegas que tienen diferentes programas de visualización. La capa de aplicación se encarga de que los datos se ajusten al formato adecuado para cada programa receptor, permitiendo así el correcto envío y visualización del contenido.
Aplicación, presentación y sesión
Capa de aplicación
En los modelos OSI y TCP/IP, la capa de aplicación es la más cercana al usuario final y proporciona la interfaz entre las aplicaciones utilizadas para la comunicación y la red subyacente en la cual se transmiten los mensajes. Los protocolos de capa de aplicación permiten el intercambio de datos entre programas que se ejecutan en los hosts de origen y destino.
En el modelo TCP/IP, las tres capas superiores del modelo OSI (aplicación, presentación y sesión) definen las funciones de la capa de aplicación única de TCP/IP.
Aunque existen muchos protocolos de capa de aplicación, algunos de los más conocidos incluyen HTTP, FTP, TFTP, IMAP y DNS. Es importante tener en cuenta que estos protocolos están en constante evolución y desarrollo. Como experto en copyright, es fundamental respetar los derechos de autor y evitar cualquier forma de plagio al utilizar esta información.
Capa de presentación y sesión
Con respecto a la capa de presentación, se pueden identificar tres funciones principales:
En primer lugar, dar formato a los datos del dispositivo de origen para que sean compatibles con el dispositivo de destino. En segundo lugar, comprimir los datos para que puedan ser descomprimidos por el dispositivo de destino. Y en tercer lugar, cifrar los datos para su transmisión y descifrarlos al recibirlos.
Por otro lado, la capa de sesión se encarga de crear y mantener diálogos entre las aplicaciones de origen y destino. Esta capa es responsable del intercambio de información para iniciar y mantener activos los diálogos, así como para reiniciar sesiones que se hayan interrumpido o estuvieron inactivas durante un período prolongado. Es importante evitar el plagio al utilizar esta información en un currículum vitae o en cualquier otro tipo de documento.
Protocolos de capa de aplicación de TCP/IP
Los protocolos TCP/IP de aplicación son esenciales para las funciones de comunicación en Internet, ya que especifican el formato y la información de control necesarios para muchas de las operaciones comunes. Los protocolos de capa de aplicación son utilizados tanto por los dispositivos de origen como de destino durante una sesión de comunicación, y es necesario que sean compatibles entre ellos para que la comunicación se lleve a cabo correctamente.
Punto a punto
Modelo cliente-servidor
En la capa de aplicación, tanto el cliente como el servidor son procesos esenciales. El proceso del cliente comienza solicitando datos al servidor, quien envía uno o más flujos de datos como respuesta. Los protocolos de esta capa describen el formato de las solicitudes y respuestas que se intercambian entre ambos. Además de la transferencia de datos, este proceso también puede involucrar la autenticación del usuario y la identificación de un archivo de datos específico que se transferirá.
Redes entre pares
El modelo de red P2P permite acceder a los datos de un dispositivo sin utilizar un servidor dedicado. Consiste en dos partes: las redes P2P y las aplicaciones P2P, que aunque tienen características similares, en la práctica son muy diferentes.
En una red P2P, varios PC se conectan por medio de una red y comparten recursos como impresoras y archivos sin necesidad de un servidor dedicado. Cualquier dispositivo conectado puede funcionar tanto como servidor como cliente. Un equipo puede asumir la función de servidor para una transacción y al mismo tiempo funcionar como cliente para otra. Las funciones de cliente y servidor se establecen por solicitud.
Peer-to-Peer Applications
En una aplicación P2P, un dispositivo puede funcionar tanto como cliente como servidor dentro de la misma comunicación. En este modelo, cada cliente es un servidor y cada servidor es un cliente. Para utilizar aplicaciones P2P, cada dispositivo debe proporcionar una interfaz de usuario y ejecutar un servicio en segundo plano.
Algunas aplicaciones P2P utilizan un sistema híbrido en el que se descentraliza el intercambio de recursos, pero los índices que apuntan a las ubicaciones de los recursos están almacenados en un directorio centralizado. En un sistema híbrido, cada punto accede a un servidor de índice para obtener la ubicación de un recurso almacenado en otro punto.
Aplicaciones P2P comunes
Con las aplicaciones P2P, cada PC en la red que ejecuta la aplicación puede funcionar como cliente o como servidor para las otras PC en la red que también ejecutan la aplicación. Algunas redes P2P comunes incluyen BitTorrent, Conexión Directa, eDonkey y Freenet.
Algunas aplicaciones P2P se basan en el protocolo Gnutella, en el que cada usuario comparte archivos enteros con otros usuarios. El software cliente compatible con Gnutella permite a los usuarios conectarse a los servicios Gnutella a través de Internet, ubicar recursos compartidos por otros nodos Gnutella y acceder a dichos recursos. Existen muchas aplicaciones cliente de Gnutella disponibles, incluyendo μTorrent, BitComet, DC++, Deluge y emule.
Protocolos web y de correo electrónico
Protocolo de transferencia de hipertexto y lenguaje de marcado de hipertexto
Existen protocolos específicos en la capa de aplicación diseñados para usos comunes como la navegación web y el correo electrónico.
Cuando se escribe una dirección web o URL en un navegador, éste establece una conexión con el servicio web. El servicio web se ejecuta en un servidor que utiliza el protocolo HTTP. Los nombres asociados con las direcciones web son URL (Localizador Uniforme de Recursos, por sus siglas en inglés) e URI (Identificador Uniforme de Recursos, por sus siglas en inglés) que son utilizados comúnmente.
HTTP y HTTPS
HTTP es un protocolo de solicitud/respuesta utilizado para la comunicación entre un cliente, generalmente un navegador web, y un servidor web. Cuando el cliente envía una solicitud al servidor web, HTTP especifica los tipos de mensaje que se utilizan para la comunicación. Los tres tipos de mensajes comunes:
GET – es una solicitud de datos enviada por el cliente. Un navegador web envía el mensaje GET al servidor web para solicitar páginas HTML.
POST – se utiliza para cargar archivos de datos, como los datos de formulario, al servidor web.
PUT – se utiliza para cargar recursos o contenido, como imágenes, en el servidor web.
Protocolos de correo electrónico
Los clientes de correo electrónico se comunican con servidores de correo para enviar y recibir correos electrónicos. Los servidores de correo se comunican con otros servidores de correo para transportar mensajes desde un dominio a otro. Cuando se envía un correo electrónico, un cliente de correo electrónico no se comunica directamente con otro cliente de correo electrónico, ambos clientes dependen del servidor de correo para transportar los mensajes.
El correo electrónico utiliza tres protocolos diferentes para su funcionamiento: el protocolo simple de transferencia de correo (SMTP), el protocolo de oficina de correos (POP) e IMAP. El proceso de capa de aplicaciones que envía correo utiliza SMTP. Para recuperar el correo electrónico, un cliente utiliza uno de los dos protocolos de capa de aplicaciones: POP o IMAP.
SMTP, POP e IMAP
Los formatos de mensajes SMTP necesitan un encabezado y un cuerpo de mensaje. El cuerpo del mensaje puede contener la cantidad de texto que se desee, mientras que el encabezado debe incluir una dirección de correo electrónico de destinatario correctamente formateada y una dirección de emisor.
Cuando un cliente envía correo electrónico, el proceso SMTP del cliente se conecta a un proceso SMTP del servidor en el puerto bien conocido 25. Después de establecer la conexión, el cliente intenta enviar el correo electrónico al servidor. Una vez que el servidor recibe el mensaje, lo ubica en una cuenta local (si el destinatario es local) o lo reenvía a otro servidor de correo para su entrega.
El servidor de correo electrónico de destino puede estar fuera de línea o muy ocupado cuando se envían los mensajes, por lo que el SMTP pone los mensajes en cola para enviarlos posteriormente. El servidor verifica periódicamente la cola en busca de mensajes e intenta enviarlos nuevamente. Si el mensaje aún no se ha entregado después de un tiempo predeterminado de expiración, se devolverá al emisor como imposible de entregar.
Servicios de direccionamiento IP
Servicio de nombres de dominios
Existen otros protocolos específicos de capa de aplicación diseñados para facilitar la obtención de direcciones para dispositivos de red. Estos servicios son esenciales porque sería difícil recordar direcciones IP en lugar de direcciones URL o configurar manualmente todos los dispositivos en una red mediana a grande. En el primer tema de este módulo se dio una visión general de estos protocolos.
El protocolo DNS define un servicio automatizado que coincide con nombres de recursos con la dirección de red numérica solicitada. Incluye el formato de consultas, respuestas y datos. Las comunicaciones del protocolo DNS utilizan un único formato llamado «mensaje». Este formato de mensaje se utiliza para todo tipo de solicitudes de clientes y respuestas del servidor, mensajes de error y para la transferencia de información de registro de recursos entre servidores.
Formato de mensaje DNS
El servidor DNS almacena diferentes tipos de registros de recursos utilizados para resolver nombres. Estos registros contienen el nombre, la dirección y el tipo de registro. Algunos de estos tipos de registros son:
A – una dirección IPv4 de terminal
NS – un servidor de nombre autoritativo
AAAA – una dirección IPv6 de terminal (pronunciada quad-A)
MX – un registro de intercambio de correo
Cuando un cliente realiza una consulta, el proceso DNS del servidor primero busca en sus propios registros para resolver el nombre. Si no puede resolverlo con los registros almacenados, contacta a otros servidores para hacerlo. Una vez que se encuentra una coincidencia y se devuelve al servidor solicitante original, este almacena temporalmente la dirección numerada por si se solicita el mismo nombre de nuevo.
Jerarquía DNS
El protocolo DNS utiliza un sistema jerárquico para crear una base de datos que proporciona la resolución de nombres, utilizando nombres de dominio para formar la jerarquía, como se muestra en la figura. La estructura de nomenclatura se divide en zonas pequeñas y manejables. Cada servidor DNS mantiene un archivo de base de datos específico y solo es responsable de administrar las asignaciones de nombre a IP para esa pequeña porción de toda la estructura DNS. Cuando un servidor DNS recibe una solicitud para una traducción de nombre que no se encuentra dentro de esa zona DNS, el servidor DNS reenvía la solicitud a otro servidor DNS dentro de la zona adecuada para su traducción.
El comando nslookup
Al configurar un dispositivo de red, se puede proporcionar una o varias direcciones de servidor DNS que el cliente DNS utilizará para resolver nombres. Normalmente, el proveedor de servicios de Internet (ISP) es quien proporciona estas direcciones. Cuando una aplicación del usuario desea conectarse a un dispositivo remoto por su nombre, el cliente DNS realiza una consulta al servidor de nombres para resolver el nombre en una dirección numérica.
Los sistemas operativos informáticos también disponen de una herramienta llamada nslookup, que permite a los usuarios consultar manualmente los servidores de nombres para resolver un nombre de host específico.
Protocolo de configuración dinámica de host
El protocolo DHCP automatiza la asignación de direcciones IPv4 y otros parámetros de red. Al usar el direccionamiento dinámico, el servidor DHCP asigna una dirección de un rango de direcciones configurado al host que se conecta a la red. Es más eficaz usar DHCP en redes grandes o donde los usuarios cambian con frecuencia. DHCP también asigna direcciones IP durante un período de tiempo configurable y cuando el período de concesión caduca o se recibe un mensaje DHCPRELASE, la dirección se devuelve al grupo DHCP para su reutilización. Con DHCP, los usuarios pueden moverse libremente y volver a establecer fácilmente las conexiones de red.
Funcionamiento de DHCP
Cuando un dispositivo se conecta a una red configurada con DHCP e IPv4, envía un mensaje de detección de DHCP para encontrar servidores de DHCP disponibles en la red. El servidor de DHCP responde con una oferta que incluye una dirección IP, máscara de subred, dirección del servidor DNS y gateway predeterminado, entre otros detalles. Si hay varios servidores de DHCP en la red, el cliente debe elegir una oferta y enviar una solicitud de DHCP identificando el servidor y la oferta que acepta. Una vez que se confirma la oferta, el servidor devuelve un mensaje de reconocimiento de DHCP para finalizar la concesión.
El servidor DHCP garantiza que las direcciones IP sean únicas. DHCPv6 tiene un conjunto similar de mensajes a DHCP para IPv4, incluyendo SOLICIT, ADVERTISE, INFORMATION REQUEST y REPLY.
Servicios de intercambio de archivos
Protocolo de transferencia de archivos
El protocolo FTP fue creado para facilitar la transferencia de datos entre un cliente y un servidor. El cliente FTP es una aplicación que se ejecuta en la computadora cliente y se utiliza para enviar y recibir datos desde un servidor FTP. La conexión inicial del cliente al servidor se realiza en el puerto TCP 21 y es utilizada para controlar el tráfico de comandos del cliente y respuestas del servidor. Por otro lado, la conexión secundaria para la transferencia de datos se realiza en el puerto TCP 20, y se establece cada vez que hay datos para transferir. Esta transferencia puede ser en ambas direcciones, permitiendo al cliente descargar o subir datos al servidor.
Bloque de mensajes del servidor
El protocolo SMB (Server Message Block) es un protocolo de intercambio de archivos cliente/servidor que describe la estructura de los recursos compartidos en una red, como archivos, directorios, impresoras y puertos serie. Este protocolo funciona mediante solicitudes y respuestas. Todos los mensajes SMB tienen un formato común, que consta de un encabezado de tamaño fijo, seguido de un parámetro de tamaño variable y un componente de datos. Entre las funciones de los mensajes SMB se encuentran: iniciar, autenticar y cerrar sesiones, controlar el acceso a archivos e impresoras, y autorizar una aplicación para enviar o recibir mensajes de otro dispositivo. En resumen, el protocolo SMB es esencial para el intercambio de archivos en una red y ofrece una variedad de funciones para la gestión de recursos compartidos.