Aplicaciones y servicios de red
Las aplicaciones y servicios de red son los programas y protocolos que se ejecutan en el borde de la red y ofrecen valor a los usuarios —desde la web y el correo electrónico hasta el Sistema de Nombres de Dominio y las redes de distribución de contenido— construidos sobre los servicios de transporte subyacentes.
Definition
La capa de aplicación es la capa de protocolo superior, donde los procesos de aplicación en red intercambian mensajes de acuerdo con protocolos específicos de la aplicación; los servicios de red son la infraestructura de soporte, como la denominación y la entrega de contenido, de la que dependen esas aplicaciones.
Scope
Esta área abarca la capa de aplicación y los servicios de infraestructura que la soportan: arquitecturas de aplicación (cliente-servidor y peer-to-peer), protocolos de aplicación centrales como HTTP, SMTP y FTP, el Sistema de Nombres de Dominio que mapea nombres legibles por humanos a direcciones, redes de distribución de contenido que replican contenido cerca de los usuarios, y una visión general de la seguridad de la red tal como se aplica a los sistemas de comunicación. Excluye los mecanismos de la capa de transporte en los que se basa, centrándose en cambio en los servicios que exponen las aplicaciones y los protocolos que utilizan.
Sub-topics
Core questions
- ¿Cómo se estructuran las aplicaciones de red —cliente-servidor versus peer-to-peer— y cuáles son las ventajas y desventajas?
- ¿Cómo definen los protocolos de aplicación centrales como HTTP y SMTP los formatos de mensaje y las interacciones?
- ¿Cómo traduce el Sistema de Nombres de Dominio los nombres a direcciones de una manera escalable y distribuida?
- ¿Cómo reducen las redes de distribución de contenido la latencia y la carga al replicar contenido cerca de los usuarios?
- ¿Qué propiedades de seguridad —confidencialidad, integridad, autenticación— deben proporcionar las aplicaciones en red y cómo?
Key concepts
- arquitectura cliente-servidor
- arquitectura peer-to-peer
- HTTP y la web
- protocolos de correo electrónico (SMTP, IMAP)
- Sistema de Nombres de Dominio (DNS)
- caché y jerarquía de DNS
- redes de distribución de contenido (CDNs)
- sockets y APIs de aplicación
- confidencialidad, integridad y autenticación
- seguridad de la capa de transporte (TLS)
Key theories
- Arquitecturas cliente-servidor y peer-to-peer
- Las aplicaciones se organizan en torno a servidores siempre activos a los que los clientes contactan, lo que centraliza la gestión pero concentra la carga, o como sistemas peer-to-peer donde los hosts participantes solicitan y sirven, lo que escala con la población de usuarios pero complica la gestión y la seguridad.
- Nomenclatura jerárquica y distribuida (DNS)
- El Sistema de Nombres de Dominio resuelve nombres a direcciones a través de una jerarquía de servidores autoritativos delegados y un almacenamiento en caché agresivo, proporcionando un servicio de búsqueda escalable y resistente que ninguna organización individual controla de principio a fin.
- Replicación y distribución de contenido
- Las redes de distribución de contenido colocan copias de contenido en servidores cercanos a los usuarios y dirigen cada solicitud a una réplica adecuada, reduciendo la latencia, la carga del servidor de origen y el tráfico troncal, una razón clave por la que los servicios web y de transmisión a gran escala funcionan bien.
Clinical relevance
La capa de aplicación es lo que los usuarios realmente experimentan: la web, los medios de transmisión (streaming), la mensajería y los servicios en la nube residen aquí. El DNS es una dependencia crítica para casi todas las interacciones en línea, y sus interrupciones se propagan ampliamente. Las redes de distribución de contenido transportan una gran parte del tráfico de Internet y son fundamentales para entregar video y software a escala, mientras que la seguridad de la capa de aplicación a través de TLS protege la confidencialidad e integridad de la comunicación diaria.
History
Las primeras aplicaciones de Internet fueron el correo electrónico y la transferencia de archivos; la World Wide Web, inventada por Tim Berners-Lee alrededor de 1990 con HTTP y HTML, transformó Internet en un medio masivo. El Sistema de Nombres de Dominio (Mockapetris, mediados de la década de 1980) reemplazó un archivo plano de nombres de host con un directorio distribuido escalable. Las redes de distribución de contenido surgieron a fines de la década de 1990 para hacer frente al crecimiento de la web, y el cifrado de la capa de aplicación maduró de SSL a TLS para asegurar las comunicaciones.
Debates
- Servicios en la nube centralizados cliente-servidor versus sistemas peer-to-peer descentralizados
- Las arquitecturas de nube centralizadas ofrecen capacidad de gestión y rendimiento consistente, pero concentran el control y crean puntos únicos de falla, mientras que los diseños peer-to-peer y descentralizados distribuyen la carga y el control a costa de la complejidad; el equilibrio se repite en el intercambio de archivos, la entrega de contenido y los esfuerzos emergentes de la web descentralizada.
Key figures
- Tim Berners-Lee
- Paul Mockapetris
- Roy Fielding
- Jon Postel
Related topics
Seminal works
- kurose2021
- rfc9110
- rfc1035
Frequently asked questions
- ¿Qué hace el Sistema de Nombres de Dominio?
- El DNS traduce nombres amigables para el usuario, como example.com, en las direcciones IP que la capa de red necesita para enrutar paquetes. Es una base de datos distribuida y jerárquica con almacenamiento en caché, por lo que las búsquedas son rápidas y el sistema escala a todo Internet sin que ningún servidor individual contenga todos los nombres.
- ¿Cómo acelera la web una red de distribución de contenido?
- Una CDN almacena copias de contenido en muchos servidores distribuidos por todo el mundo y dirige la solicitud de cada usuario a una copia cercana. Esto acorta la ruta de red, reduciendo la latencia y la pérdida de paquetes, al tiempo que descarga el servidor de origen y reduce el tráfico de larga distancia, lo que en conjunto mejora la velocidad y la fiabilidad.