La capa de aplicación

Aprende cómo funcionan los protocolos de aplicación de internet y por qué están diseñados así. Compara los diseños cliente-servidor y entre pares y elige entre TCP y UDP. Lee mensajes HTTP, explica las cookies, el almacenamiento en caché, HTTP/2 y HTTP/3 sobre QUIC, y sigue las consultas DNS y la entrega del correo electrónico. Calcula los tiempos de distribución entre pares, explica la transmisión adaptativa de vídeo y las redes de distribución de contenidos, y escribe programas sencillos de cliente y servidor UDP y TCP en Python.

IntermedioUnidad 2 de 8 del curso Curso de Redes informáticas

Lo que aprenderás

  1. Compara los diseños cliente-servidor y entre pares, describe cómo los procesos de aplicación intercambian mensajes mediante sockets y relaciona las necesidades de una aplicación con los servicios que ofrecen TCP y UDP.
    • Compara las arquitecturas cliente-servidor y entre pares
      Describe cómo cada arquitectura asigna funciones a los sistemas terminales, por qué los diseños entre pares escalan con sus usuarios y qué desafíos plantea cada diseño.
    • Describe cómo se comunican los procesos y elige un servicio de transporte
      Explica los sockets, el direccionamiento de procesos y lo que define un protocolo de la capa de aplicación, y decide si una aplicación debe ejecutarse sobre TCP o UDP.
  2. Lee y analiza mensajes y conexiones HTTP, explica cómo funcionan las cookies y las cachés, y describe qué cambian HTTP/2 y HTTP/3 en la forma en que viajan los mensajes.
    • Lee mensajes HTTP y compara los tipos de conexión
      Interpreta solicitudes y respuestas HTTP y calcula cómo afectan las conexiones persistentes y no persistentes al tiempo necesario para cargar una página.
    • Explica cómo funcionan las cookies y las cachés web
      Describe cómo las cookies permiten a los sitios web reconocer a los usuarios sobre HTTP sin estado y calcula cómo un proxy de caché y las solicitudes condicionales reducen el retardo y el tráfico.
    • Explica cómo HTTP/2 y HTTP/3 con QUIC aceleran la web
      Describe el bloqueo de cabecera de cola y explica cómo las tramas de HTTP/2 y HTTP/3 sobre QUIC reducen los retardos mientras el significado de los mensajes HTTP sigue siendo el mismo.
  3. Sigue una consulta de nombres a través de la jerarquía del DNS, lee registros y mensajes DNS y explica cómo el almacenamiento en caché y un diseño distribuido mantienen el DNS rápido y resistente a fallos.
    • Sigue una consulta de nombres a través de la jerarquía del DNS
      Describe los servicios que proporciona el DNS y las funciones de los servidores raíz, de dominio de nivel superior, autoritativos y locales, y sigue paso a paso las consultas de una resolución.
    • Lee registros y mensajes DNS
      Interpreta los tipos habituales de registros de recursos, sigue cómo los registros enlazan los niveles de la jerarquía y lee consultas y respuestas DNS y sus puntos débiles de seguridad.
  4. Sigue un mensaje desde el remitente hasta el destinatario mediante SMTP, lee diálogos de transferencia y formatos de mensajes de correo, y explica cómo los protocolos de acceso al correo permiten a los usuarios leer sus mensajes.
    • Sigue un mensaje durante su transferencia mediante SMTP
      Describe las partes del sistema de correo electrónico, sigue un diálogo SMTP entre servidores de correo y explica cómo se envía el correo al servidor y cómo se detectan los remitentes falsificados.
    • Explica los formatos de los mensajes y los protocolos de acceso al correo
      Lee la cabecera y la estructura MIME de un mensaje de correo electrónico y compara IMAP, POP3 y el correo web como formas de leer el correo.
  5. Calcula por qué escala la distribución de archivos entre pares, explica cómo BitTorrent comparte un archivo y describe cómo la transmisión adaptativa y las redes de distribución de contenidos entregan vídeo a millones de espectadores.
    • Calcula el tiempo de distribución P2P y explica BitTorrent
      Compara el tiempo mínimo para distribuir un archivo con un servidor y entre pares, y explica cómo funcionan los fragmentos de BitTorrent, las solicitudes del fragmento más raro primero y el intercambio recíproco.
    • Explica la transmisión adaptativa de vídeo sobre HTTP
      Relaciona las tasas de bits de vídeo con el rendimiento de la red y explica cómo los clientes DASH eligen segmentos para mantener una reproducción fluida.
    • Explica cómo las redes de distribución de contenidos entregan los contenidos
      Describe por qué los proveedores de contenidos usan CDN, compara formas de ubicar servidores CDN y sigue cómo el DNS dirige una solicitud a un servidor CDN cercano.
  6. Usa el módulo socket de Python para crear clientes y servidores UDP y TCP, y explica cómo el comportamiento de cada programa se deriva del servicio de transporte subyacente.
    • Crea un cliente y un servidor UDP
      Escribe y explica una pareja de cliente y servidor UDP en Python, incluidos el direccionamiento, la codificación, los tiempos de espera máximos y los límites de la entrega de datagramas.
    • Crea un cliente y un servidor TCP
      Escribe y explica una pareja de cliente y servidor TCP en Python, gestiona correctamente el flujo de bytes de TCP y usa un socket para comunicarte mediante HTTP de forma manual.

Guía de estudio de Capa de aplicación

6 capítulos

1

Diseño de aplicaciones y servicios de transporte

Los programas en red necesitan un plan que determine quién se comunica con quién y un servicio que transporte sus datos. Un navegador que obtiene un archivo y un juego que envía actualizaciones de posición pueden compartir la misma internet y tomar distintas decisiones de diseño. Sigue un intercambio desde los procesos de sus extremos a través de sus sockets y compara lo que ofrecen TCP, UDP y los transportes seguros en cuanto a fiabilidad, tiempo, rendimiento y protección.

1.1 Dónde se ejecutan los programas de aplicación

Una aplicación de red consta de programas que se ejecutan en sistemas terminales: teléfonos, portátiles y servidores. Sus procesos intercambian mensajes a través de la red. Los encaminadores y conmutadores reenvían los paquetes; no necesitan que se instale un nuevo programa de aplicación cada vez que alguien crea un servicio nuevo.

Dos formas de repartir el trabajo

Una arquitectura de aplicación describe cómo divide la aplicación el trabajo entre los sistemas terminales. Es independiente de la arquitectura por capas de la red. El desarrollador elige dónde se ejecutan los programas y confía en que la red existente los conecte.

En un diseño cliente-servidor, los clientes contactan con un servidor siempre encendido en una dirección conocida. Un navegador solicita un documento a un servidor web, que lo devuelve. Otros navegadores no necesitan estar conectados para que funcione ese intercambio. Un servicio popular puede distribuir la función de servidor entre miles de máquinas en centros de datos; un único nombre público puede representar a ese grupo. Los equipos, la electricidad, la refrigeración y las conexiones a internet cuestan dinero.

Un diseño entre pares, o P2P, permite que los dispositivos de los usuarios intercambien datos directamente. Un par puede solicitar un fragmento de archivo y también subir fragmentos que ya tiene. Los pares pueden desconectarse o cambiar de dirección, por lo que la aplicación debe encontrar pares disponibles y seguir funcionando cuando cambia la participación.

Diseño¿Quién proporciona el contenido?¿Qué ocurre cuando se incorporan usuarios?
Cliente-servidorSistemas terminales dedicados como servidoresLlegan más solicitudes a los servidores del servicio.
P2PSistemas terminales de los usuarios participantesCrece la demanda y los pares aportan capacidad de subida.
Sigue un intercambio

Supón que un grupo de investigación distribuye un conjunto de datos grande. En un diseño cliente-servidor, cada investigador descarga una copia del servidor del grupo. Diez investigadores nuevos suponen diez copias más que ese servidor debe subir. En un diseño P2P, los investigadores que ya tienen algunos fragmentos se los envían a los recién llegados. Cada investigador que se incorpora puede añadir tanto capacidad como demanda. Esto es autoescalabilidad: los recursos de la aplicación crecen con la participación.

La autoescalabilidad sigue dependiendo de contribuciones útiles. Un par con un enlace de subida lento añade menos capacidad que uno con un enlace rápido. Muchos enlaces domésticos son asimétricos: la descarga es más rápida que la subida. Un par que se desconecta no aporta nada mientras está fuera de línea. El software P2P también debe proteger a los participantes frente a pares no fiables y animar a los usuarios a subir datos en vez de limitarse a obtenerlos.

Coordinación central y transferencia directa

Un diseño híbrido combina la coordinación de un servidor con la transferencia de datos P2P. Un rastreador de BitTorrent informa a un par sobre otros pares; no tiene que enviar el archivo. Del mismo modo, un servicio de llamadas puede localizar a los participantes mediante un servidor, permitir que sus dispositivos intercambien contenidos multimedia directamente y usar un servidor de retransmisión cuando no hay un trayecto directo disponible. Clasifica el trayecto que transporta los datos por separado del trayecto que establece la conexión.

Las palabras cliente y servidor también describen funciones en un intercambio individual. Si el par Mira inicia una solicitud al par Leo, Mira es el cliente y Leo es el servidor de ese intercambio. Pueden invertir sus funciones un momento después. P2P elimina la dependencia de servidores de contenido dedicados; no elimina las funciones de iniciar y responder.

Puntos clave

  • Los programas de aplicación se ejecutan en sistemas terminales; el núcleo de la red reenvía sus paquetes.
  • Los diseños cliente-servidor sitúan la capacidad del servicio en sistemas terminales dedicados.
  • Los participantes P2P añaden tanto capacidad de subida como demanda.
  • Un diseño híbrido puede usar un directorio central mientras los pares transfieren el contenido.
  • Las funciones de cliente y servidor dependen de quién inicia cada intercambio.

1.2 Sockets, direcciones y elección del transporte

Un programa de aplicación en ejecución es un proceso. Los procesos de distintos sistemas terminales intercambian mensajes mediante sockets, las interfaces de software entre las capas de aplicación y transporte. El código de la aplicación decide qué significa el mensaje; el servicio de transporte lleva sus bytes o datagramas.

Encuentra el proceso receptor

Una dirección IP identifica un sistema terminal, pero este puede ejecutar muchos servicios. Un número de puerto identifica un extremo de transporte en él. Para contactar con un servicio HTTPS en 203.0.113.10, un cliente normalmente se dirige al puerto 443. Su propio sistema operativo suele asignarle un puerto de origen temporal o efímero.

Los puertos son valores de 16 bits, de 0 a 65 535. Los puertos de sistema ocupan del 0 al 1023, los puertos registrados del 1024 al 49 151 y los puertos dinámicos del 49 152 al 65 535. Entre los puertos de servicio habituales están HTTP 80, HTTPS 443, transferencia SMTP 25 y DNS 53. Un puerto forma parte del direccionamiento; no indica que el tráfico esté cifrado o sea fiable.

Acuerda los mensajes

Un protocolo de la capa de aplicación define los tipos de mensajes, la sintaxis, la semántica y las reglas de intercambio. Los tipos distinguen una solicitud de una respuesta. La sintaxis describe los campos y separadores. La semántica indica a cada participante qué significan esos campos. Las reglas de intercambio determinan cuándo envía un proceso un mensaje y cómo responde el receptor. Las especificaciones públicas, a menudo RFC, permiten que se comuniquen programas escritos por distintos desarrolladores.

Un protocolo es un componente de una aplicación. La web también necesita navegadores, servidores y documentos. Definir HTTP por sí solo no crea un navegador ni decide el aspecto de su interfaz.

Relaciona el servicio con la necesidad

Considera cuatro necesidades: entrega correcta, rendimiento suficiente, retardo aceptable y seguridad. Un archivo adjunto de correo necesita todos los bytes. Una llamada de voz puede tolerar cierta pérdida de contenido multimedia, pero se ve afectada si el audio antiguo llega demasiado tarde. Un vídeo almacenado necesita un rendimiento sostenido cercano a su tasa de bits codificada, mientras que una descarga elástica puede usar la tasa disponible.

ServicioQué recibe la aplicaciónQué debe seguir gestionando
TCPUn flujo de bytes fiable y ordenado después de establecer la conexiónLa delimitación de mensajes, la seguridad y las variaciones de retardo o rendimiento
UDPDatagramas separados sin establecer una conexiónLas pérdidas, duplicaciones, el orden y cualquier fiabilidad necesaria

TCP incluye control de flujo para proteger al receptor y control de congestión para reducir la sobrecarga de la red. No proporciona un ancho de banda mínimo ni un plazo de entrega. UDP por sí mismo no añade fiabilidad ni control de congestión. Elegirlo no elimina la congestión del trayecto.

Por ejemplo, un juego que envía posiciones 30 veces por segundo produce una actualización reciente aproximadamente cada 33 ms. Puede usar UDP para que una actualización perdida se sustituya por otra más nueva sin esperar a que se retransmita. El chat del juego sigue necesitando una entrega fiable, ya sea mediante TCP o mediante la fiabilidad añadida por su propio protocolo.

Añade seguridad a la pila

Ni TCP ni UDP por sí solos cifran los datos de la aplicación. HTTP/1.1 y HTTP/2 suelen usar TLS sobre TCP para HTTPS. TLS añade confidencialidad, integridad y autenticación del servidor. HTTP/3 usa QUIC sobre UDP; QUIC proporciona fiabilidad, control de congestión y TLS 1.3 integrado. Por tanto, el vídeo almacenado que se entrega mediante HTTP usa TCP o QUIC, mientras que las llamadas interactivas suelen transportar el contenido multimedia mediante UDP.

Puntos clave

  • Una dirección IP y un puerto identifican dónde recibe tráfico de red un proceso.
  • Los protocolos de aplicación definen tipos, sintaxis, semántica y reglas de intercambio.
  • TCP proporciona bytes fiables y ordenados, sin una tasa ni un plazo garantizados.
  • UDP conserva los datagramas, pero deja la fiabilidad a las capas superiores.
  • Ni TCP ni UDP cifran los datos por sí solos.
  • HTTP/3 obtiene flujos fiables y seguros de QUIC sobre UDP.
2

Cómo entrega HTTP el contenido web

La carga de una página combina formatos de mensajes, establecimiento de conexiones y solicitudes de varios objetos. Su comportamiento también depende de si el navegador puede reutilizar una conexión o una respuesta y de si el sitio necesita reconocer al visitante. Lee primero el intercambio HTTP visible, calcula sus principales retardos y sigue después cómo las cookies, el almacenamiento en caché y los transportes HTTP más recientes cambian el trabajo necesario para entregar la página.

2.1 Mensajes HTTP y tiempos de conexión

Una página web suele estar formada por varios objetos, cada uno con su propia URL. El HTML base indica las imágenes, los scripts y otros archivos. En https://www.example.org/docs/intro.html, el esquema es https, el sistema terminal es www.example.org y la ruta es /docs/intro.html.

Lee una solicitud y una respuesta

HTTP sigue intercambios de solicitud y respuesta. Una solicitud HTTP/1.1 comienza con un método, una ruta y una versión:

GET /docs/intro.html HTTP/1.1
Host: www.example.org
Connection: close

La línea de solicitud y las líneas de cabecera terminan con CRLF. Una línea en blanco termina las cabeceras y después puede aparecer un cuerpo opcional. Host es obligatorio en HTTP/1.1 porque varios sitios pueden compartir una dirección de servidor. Connection: close solicita el cierre después de la respuesta.

GET obtiene un objeto. HEAD solicita las cabeceras de su respuesta sin el cuerpo. POST envía datos en el cuerpo de una solicitud; un GET también puede llevar valores de formulario en la cadena de consulta de su URL. PUT almacena un objeto en una URL especificada y DELETE elimina uno.

La respuesta comienza con una línea de estado como HTTP/1.1 200 OK, seguida de cabeceras, una línea en blanco y el cuerpo. Content-Type identifica la representación; Content-Length indica su longitud en bytes. Las clases de estado son 1xx información, 2xx éxito, 3xx redirección, 4xx error del cliente y 5xx error del servidor. Un 301 apunta a una nueva URL en Location; un 304 permite reutilizar una copia almacenada en caché. Un 404 significa que el servidor respondió que no se encontró el objeto solicitado, no que el servidor fuera inaccesible. Otros códigos útiles son 400, 500 y 505.

HTTP no tiene estado: cada solicitud puede entenderse sin las solicitudes anteriores. Un sitio web puede mantener el estado de inicio de sesión o del carrito por encima de HTTP. Un GET normal repetido puede devolver el objeto de nuevo, mientras que una solicitud condicional puede validar una copia guardada.

Cuenta los tiempos de ida y vuelta

Para un objeto en una nueva conexión TCP, cuenta un RTT para establecer la conexión y otro para la solicitud y el comienzo de la respuesta. Después añade el tiempo de transmisión del objeto. Con un RTT de 30 ms, un tamaño de 500 kB y una tasa de 50 Mbps:

Ttransmit=500 000×850 000 000=0,08 s

El total es 60 ms más 80 ms, o 140 ms. Este modelo omite DNS, TLS y el tiempo de procesamiento. Un intercambio de establecimiento completo de TLS 1.3 sobre la nueva conexión TCP añade otro RTT.

Reutiliza o vuelve a abrir la conexión

Una conexión no persistente transporta un objeto. Una conexión persistente puede transportar solicitudes posteriores sin otro establecimiento TCP. La persistencia es la opción predeterminada en HTTP/1.1, aunque las conexiones inactivas terminan por cerrarse.

Para un objeto HTML y ocho imágenes pequeñas, con un RTT de 20 ms y tiempos de transmisión insignificantes:

Patrón de obtenciónTiempos de ida y vueltaTiempo
Una conexión nueva para cada objeto, de forma secuencial18360 ms
Primero el HTML y después ocho conexiones nuevas en paralelo480 ms
Una conexión persistente, con solicitudes secuenciales10200 ms
Una conexión persistente, con ocho solicitudes de imágenes en cadena360 ms

Las solicitudes de imágenes dependen de recibir el HTML. Incluso con la obtención en paralelo, no pueden comenzar antes de que se conozcan sus URL. Cuenta esas etapas de dependencia antes de contar los intercambios de establecimiento. Los navegadores HTTP/1.1 suelen usar varias conexiones por sistema terminal; la transmisión en cadena es un modelo de tiempos, no un requisito para la persistencia.

Puntos clave

  • La carga de una página incluye el HTML y los objetos a los que hace referencia.
  • HTTP/1.1 separa su línea inicial, sus cabeceras y su cuerpo opcional mediante finales de línea y una línea en blanco.
  • En una nueva conexión TCP, un objeto cuesta aproximadamente dos RTT más el tiempo de transmisión, antes de sumar los costes de TLS.
  • La persistencia evita establecer repetidamente la conexión.
  • Las solicitudes paralelas siguen esperando hasta que el HTML revela sus URL.
  • Una respuesta 404 muestra que un servidor HTTP respondió.

2.2 Reconocimiento de usuarios y reutilización de respuestas

Las solicitudes HTTP son independientes, pero una tienda puede recordar un carrito. Un navegador también puede reutilizar una imagen en vez de descargarla de nuevo. Las cookies permiten el reconocimiento entre solicitudes; las cachés permiten reutilizar respuestas.

Sigue una cookie

En una primera visita, shop.example.com crea una entrada en la base de datos para un visitante y devuelve Set-Cookie: id=1678. El navegador guarda ese valor. Las solicitudes posteriores que coinciden incluyen Cookie: id=1678, lo que permite al servidor buscar el carrito. La cookie es un dato, no código ejecutable, y el propio carrito puede permanecer en la base de datos del servidor.

Los atributos de una cookie controlan su uso. Expires o Max-Age establece un tiempo de vida; una cookie sin ninguno de los dos es una cookie de sesión. Domain y Path restringen las solicitudes a las que se aplica. Secure restringe su envío a HTTPS, HttpOnly impide el acceso mediante scripts de la página y SameSite controla el envío en contextos entre sitios. La restauración de sesión puede conservar las cookies de sesión cuando un navegador restaura una sesión anterior.

Las cookies de origen pertenecen al sitio visitado. Un servicio de terceros integrado puede usar cookies en distintos sitios para reconocer un navegador. Safari bloquea las cookies de terceros de forma predeterminada; Firefox las separa por sitio; Chrome ofrece controles al usuario y las bloquea en el modo de incógnito. Las normas de la Unión Europea exigen consentimiento para las cookies que no son estrictamente necesarias para prestar un servicio solicitado.

Sigue una solicitud con caché

Una caché web almacena respuestas HTTP. Un navegador tiene su propia caché. Un proxy de caché se sitúa entre los clientes y los servidores de origen: sirve directamente un acierto de caché o, ante un fallo, obtiene, almacena y reenvía una respuesta. Actúa como servidor frente al navegador y como cliente frente al origen. Un proxy puede existir sin almacenar en caché.

Un acierto cercano reduce el retardo, la carga del origen y el tráfico del enlace de acceso. Para 90 solicitudes por segundo de 1 Mbit cada una en promedio, el tráfico ofrecido es de 90 Mbps. En un enlace de acceso de 100 Mbps, la intensidad de tráfico es 0,9, un valor con el que las colas pueden crecer mucho. Una tasa de aciertos del 40 % deja que el 60 % atraviese el enlace: 54 Mbps y una intensidad de 0,54. Si los aciertos tardan 10 ms y los fallos 200 ms, el tiempo medio de respuesta es:

T=0,4(10)+0,6(200)=124 ms

Este cálculo de tráfico supone que los grupos de aciertos y fallos tienen el mismo tamaño medio de objeto. Una tasa de aciertos medida solo por el número de solicitudes no tiene por qué ser igual a la fracción de bytes ahorrados cuando los tamaños de los objetos difieren.

Comprueba la vigencia antes de reutilizar

Un GET condicional envía If-Modified-Since con una fecha de modificación guardada o If-None-Match con una ETag guardada. Un objeto que no ha cambiado produce 304 Not Modified sin cuerpo del objeto. La caché reutiliza su copia. Un objeto que ha cambiado produce 200 OK con el reemplazo. La validación ahorra la transmisión del cuerpo, pero sigue requiriendo un viaje de ida y vuelta al origen.

Directiva de respuestaSignificado
max-age=3600Una copia puede seguir vigente durante 3600 segundos.
no-cacheAlmacénala si está permitido, pero valídala antes de reutilizarla.
no-storeNo almacenes la respuesta.
privateUna caché privada puede almacenarla; las cachés compartidas no.

Un proxy compartido normalmente no puede inspeccionar el contenido de una conexión HTTPS que lo atraviesa. Las cachés de los navegadores y los servidores CDN que actúan en nombre de un sitio pueden almacenar contenido en los extremos donde esas respuestas están disponibles en forma legible.

Puntos clave

  • Las cookies permiten a un servidor reconocer un navegador entre solicitudes HTTP independientes.
  • Los atributos de las cookies controlan su tiempo de vida, alcance y acceso.
  • Un proxy de caché desempeña las funciones de cliente y servidor.
  • Los aciertos de caché pueden reducir el retardo y el tráfico del enlace de acceso.
  • Una respuesta 304 valida un objeto guardado sin volver a enviar su cuerpo.
  • no-cache exige validación; no-store prohíbe el almacenamiento.
  • HTTPS limita lo que puede almacenar en caché un proxy compartido normal.

2.3 Tramas, flujos y HTTP/3

Las versiones de HTTP mantienen el significado de los métodos, estados, campos y URL. Un 404 sigue significando que no se encontró el recurso solicitado. Lo que cambia es cómo viajan las solicitudes y las respuestas: HTTP/1.1 usa mensajes de texto, mientras que HTTP/2 y HTTP/3 usan tramas binarias.

Permite que avancen las respuestas pequeñas

En una conexión HTTP/1.1, las respuestas ordenadas pueden hacer que un objeto pequeño espere detrás de uno grande. Esto es el bloqueo de cabecera de cola en la capa de aplicación. Abrir varias conexiones TCP reduce esa espera, pero supone establecimientos adicionales y da a la página varias conexiones que compiten entre sí y están sujetas al control de congestión.

HTTP/2 divide los mensajes en tramas y asigna un flujo a cada intercambio de solicitud y respuesta. El emisor intercala tramas de distintos flujos en una conexión TCP. La compresión de cabeceras, llamada HPACK, reduce los datos repetidos de los campos. Las prioridades pueden orientar qué respuestas se atienden primero.

Para una comparación simplificada, una respuesta grande tiene 1000 tramas y ocho pequeñas tienen dos tramas cada una. Envía una trama por intervalo de tiempo. Enviar primero la respuesta grande hace que las respuestas pequeñas terminen entre los intervalos 1002 y 1016, con una media de 1009. Enviar por turnos una trama de cada flujo que no ha terminado permite que las respuestas pequeñas terminen en los intervalos 11 a 18, con una media de 14,5. La respuesta grande termina en el intervalo 1016. La intercalación cambia los tiempos de finalización sin aumentar la tasa de transmisión del enlace.

HTTP/2 también especificó el envío anticipado del servidor, que envía contenido antes de una solicitud. Los principales navegadores lo han desactivado. En su lugar, una respuesta 103 Early Hints señala recursos para que el navegador pueda empezar a solicitarlos.

Encuentra el punto de bloqueo restante

TCP entrega un solo flujo ordenado de bytes. Si faltan bytes, los posteriores esperan a su recuperación incluso cuando contienen tramas de otro flujo HTTP/2. HTTP/2 elimina el bloqueo por el orden de las respuestas, pero conserva este bloqueo en la capa de transporte.

HTTP/3 asigna HTTP a QUIC, un protocolo de transporte que funciona sobre UDP, y comprime las cabeceras con QPACK. QUIC proporciona flujos fiables, control de flujo y de congestión y seguridad TLS 1.3. Cada flujo tiene su propio orden de entrega. Los datos que faltan en un flujo no impiden, por sí solos, la entrega de datos ya recibidos en otro. El control de congestión compartido y las dependencias de la aplicación aún pueden afectar a varios flujos.

QUIC usa identificadores de conexión para que una conexión pueda sobrevivir a un cambio de dirección IP, como al pasar de Wi-Fi a una red celular. Su implementación puede actualizarse junto con una biblioteca de la aplicación, lo que evita el lento despliegue de cambios en TCP en los sistemas operativos y los dispositivos intermedios de red.

Compara una conexión nueva

Con un RTT de 50 ms y sin costes de DNS ni de procesamiento, TCP más TLS 1.3 tarda dos RTT antes de que salga la primera solicitud HTTP/2. Una primera respuesta comienza después de unos 150 ms. QUIC combina el establecimiento del transporte y de la seguridad en un RTT, por lo que una respuesta HTTP/3 puede comenzar después de unos 100 ms. Las conexiones QUIC reanudadas pueden usar datos 0-RTT, pero el riesgo de repetición limita qué solicitudes pueden enviarse de forma segura por anticipado.

Los navegadores pueden descubrir HTTP/3 mediante Alt-Svc o registros DNS HTTPS. Si UDP está bloqueado, pueden recurrir a HTTP sobre TCP. HTTP/3 sigue siendo fiable porque QUIC proporciona fiabilidad por encima de UDP.

Puntos clave

  • Las versiones de HTTP conservan los significados compartidos de los mensajes.
  • HTTP/2 intercala flujos en una conexión TCP.
  • Una pérdida en TCP aún puede bloquear todos los flujos HTTP/2 de esa conexión.
  • QUIC proporciona flujos ordenados independientes y seguridad integrada sobre UDP.
  • QUIC reduce el tiempo de establecimiento de una conexión nueva y admite cambios de dirección mediante identificadores de conexión.
3

Cómo encuentra servicios el DNS

Los nombres ocultan las ubicaciones cambiantes de los servicios de internet. Antes de que un navegador o un servidor de correo contacte con un destino, el DNS puede proporcionar una dirección, un alias o un nombre de servidor de correo. Sigue a un resolutor a través de la jerarquía distribuida y examina después los registros y campos de los mensajes que intercambia. Las respuestas almacenadas en caché agilizan este proceso, mientras que sus tiempos de vida explican por qué un cambio de dirección puede tardar en llegar a todos los usuarios.

3.1 Una consulta DNS desde la caché hasta el servidor autoritativo

Un nombre como www.example.org resulta cómodo para una persona. Una conexión necesita una dirección IP. El sistema de nombres de dominio, o DNS, es tanto la base de datos distribuida de registros de nombres como el protocolo de aplicación que se usa para consultarla. Normalmente utiliza el puerto 53 y funciona de forma independiente de HTTP.

Divide el trabajo de resolución de nombres

Lee www.example.org. de derecha a izquierda: raíz, org, example y después www. El punto final representa la raíz y suele omitirse en la escritura cotidiana. Un servidor centralizado para todos los nombres crearía un punto de fallo, un cuello de botella de tráfico y trayectos largos para los clientes lejanos.

Los servidores raíz remiten a los resolutores a los servidores de dominio de nivel superior. Los servidores TLD los remiten a los servidores autoritativos de los dominios subordinados al TLD. Los servidores autoritativos publican los registros reales de un dominio. Las 13 identidades con nombre de los servidores raíz se replican en muchas instancias físicas; 13 no es el número de máquinas que sostienen el DNS mundial.

El sistema terminal normalmente envía su pregunta a un resolutor local, proporcionado por su organización, su ISP o un servicio público. Ese resolutor trabaja en nombre del sistema terminal. No es otro nivel entre la raíz y el TLD en la jerarquía de nombres.

Sigue una consulta con la caché vacía

Un portátil de un campus necesita la dirección IPv4 de www.example.org:

  1. El portátil pide la respuesta final a su resolutor local.
  2. El resolutor pregunta a un servidor raíz y recibe una referencia a los servidores de .org.
  3. Pregunta a un servidor de .org y recibe una referencia a los servidores autoritativos de example.org.
  4. Pregunta a un servidor autoritativo y recibe 203.0.113.25.
  5. Devuelve la dirección al portátil.

Hay cuatro pares de consulta y respuesta, u ocho mensajes. La solicitud del sistema terminal es recursiva: obtén la respuesta por mí. Las consultas del resolutor son iterativas: cada servidor contactado responde según lo que sabe o remite al resolutor al siguiente. La raíz no obtiene la dirección del servidor web en nombre del portátil.

Reutiliza las respuestas hasta que termine su TTL

Un registro de recursos lleva un tiempo de vida, o TTL, medido en segundos. Los resolutores conservan los registros reutilizables en cachés hasta que termina su tiempo de vida permitido. Pueden almacenar en caché tanto referencias como direcciones finales. Un TLD o una delegación de dominio guardados permiten que una consulta posterior omita los pasos anteriores. Los sistemas operativos y los navegadores también pueden tener cachés.

Con un RTT de 2 ms entre el sistema terminal y el resolutor y un RTT de 30 ms para cada una de tres consultas secuenciales a la jerarquía, la consulta con la caché vacía tarda unos 92 ms. Una dirección almacenada en la caché del resolutor tarda unos 2 ms. Los tiempos de espera se suman porque cada referencia proporciona información necesaria para la siguiente consulta.

El almacenamiento en caché también retrasa los cambios. Si un resolutor almacenó una dirección con un TTL de una hora justo antes de una actualización, puede seguir devolviendo la dirección anterior durante el tiempo de vida restante. Reducir un TTL antes de un cambio planificado limita este solapamiento; cambiar solo el registro autoritativo no sustituye todas las copias almacenadas en caché.

El DNS hace más que buscar direcciones a partir de nombres. Admite alias, encuentra servidores de correo y distribuye la carga al devolver varias direcciones para un servicio. Estas funciones explican por qué la entrega del correo electrónico y la selección de una CDN también dependen del DNS.

Puntos clave

  • El DNS es una base de datos distribuida y un protocolo de consulta de la capa de aplicación.
  • Los servidores raíz, TLD y autoritativos se reparten la responsabilidad según el nombre.
  • Un resolutor local lleva a cabo la solicitud recursiva del sistema terminal mediante consultas iterativas.
  • Los registros y las referencias almacenados en caché acortan las consultas posteriores.
  • El TTL limita el tiempo de almacenamiento en caché, por lo que los cambios de dirección tardan en difundirse.

3.2 Registros, referencias y respuestas DNS

El DNS almacena registros de recursos con un nombre, un valor, un tipo y un TTL. El tipo indica al resolutor cómo interpretar el valor. Un registro de dirección, un alias y un registro de servidor de correo responden a preguntas distintas sobre el mismo dominio.

Lee el tipo de registro
TipoQué proporciona su valor
AUna dirección IPv4 para un nombre de sistema terminal
AAAAUna dirección IPv6 para un nombre de sistema terminal
NSEl nombre de un servidor autoritativo
CNAMEUn nombre canónico para un alias
MXUn nombre de servidor de correo con un número de preferencia
TXTTexto, incluida información de autenticación de correo
PTRUn nombre para una consulta inversa de dirección
SOAInformación administrativa de una zona
HTTPSInformación del servicio, incluidas las versiones de HTTP admitidas

Por ejemplo, www.example.org. 3600 IN A 203.0.113.25 proporciona el nombre del titular, el TTL, la clase de internet, el tipo y la dirección. Un valor NS es un nombre, no una dirección. Una referencia puede incluir un registro A separado que proporciona la dirección del servidor de nombres, a menudo llamado registro de enlace (glue) cuando es necesario para resolver la delegación.

Un CNAME como media.example.org que apunta a edge.cdn.example.net lleva al resolutor a buscar la dirección del destino. Un registro MX, en cambio, dirige la entrega del correo. Con preferencias 10 y 20, prueba primero el servidor de correo con preferencia 10; un número mayor no significa una prioridad más alta.

Lee el mensaje que rodea los registros

Las consultas y las respuestas comparten un formato. La cabecera de 12 bytes contiene un número de identificación, indicadores y recuentos de entradas en cuatro secciones. La respuesta copia el identificador de la consulta para que quien la solicitó pueda relacionarla con el intercambio.

La sección de pregunta indica lo que se solicitó. La sección de respuesta contiene los registros correspondientes. La sección de autoridad puede contener referencias NS, mientras que la sección adicional proporciona registros útiles, como direcciones de servidores de nombres. En la salida impresa de dig, qr indica una respuesta, rd significa que se solicitó recursión y ra significa que hay recursión disponible. NOERROR indica que no hay un error DNS; NXDOMAIN indica que el nombre consultado no existe. Una respuesta sin error puede aun así carecer de un registro del tipo solicitado.

Para publicar un nuevo dominio, su propietario lo registra y proporciona la información de sus servidores autoritativos. La delegación del dominio padre dirige las consultas a esos servidores, que publican los propios registros de sistemas terminales y de correo del dominio. Registrar el nombre no convierte al registrador en el servidor que contiene todos los registros.

Entrega y protección

La mayoría de los intercambios DNS pequeños usan el puerto UDP 53. Una respuesta UDP truncada tiene activado su indicador TC; el resolutor puede volver a intentarlo por el puerto TCP 53. TCP también permite transferencias de zona. Por tanto, el DNS no se limita a UDP.

El tráfico DNS clásico expone los nombres consultados a quienes observan su trayecto. DNS sobre TLS o DNS sobre HTTPS cifra el intercambio entre el cliente y el resolutor, normalmente en los puertos 853 y 443, respectivamente. El cifrado de ese intercambio y la autenticidad de un registro son propiedades distintas.

En el envenenamiento de caché, un resolutor acepta una respuesta falsificada y después envía a los usuarios a una dirección incorrecta. Los identificadores y puertos de origen impredecibles dificultan que las respuestas falsificadas coincidan con una consulta. DNSSEC añade firmas que permiten verificar la autenticidad de los registros; no oculta la consulta. La inundación también puede hacer que los servidores DNS sean inaccesibles. La replicación y las referencias almacenadas en caché reducen la dependencia de la raíz para cada solicitud, pero los fallos de un proveedor autoritativo muy utilizado aún pueden interrumpir muchos sitios.

Puntos clave

  • Los tipos de registro distinguen direcciones, delegaciones, alias y encaminamiento de correo.
  • Un registro NS nombra un servidor; un registro de dirección separado permite localizarlo.
  • Los registros MX con números de preferencia menores se prueban primero.
  • Las respuestas DNS separan las respuestas, la información de autoridad y los registros adicionales.
  • El DNS puede usar tanto TCP como UDP.
  • El DNS cifrado protege un trayecto; DNSSEC autentica los registros firmados.
4

Cómo se transfiere y permanece disponible el correo electrónico

Un correo electrónico puede llegar mientras el teléfono de su destinatario está apagado porque los servidores gestionan la entrega y el almacenamiento independientemente de los dispositivos de los usuarios. Sigue el diálogo de transferencia, distingue su sobre de entrega de los campos que se muestran al lector y examina cómo se incorporan los archivos adjuntos a un mensaje. Después compara los protocolos de acceso que permiten a un portátil, un teléfono o un navegador obtener el correo y mantener actualizado el estado del buzón.

4.1 Entrega SMTP y sobre de correo

El correo electrónico separa la redacción de un mensaje de su entrega. Un agente de usuario es la aplicación o página web que se usa para leer y escribir correo. Un servidor de correo almacena el correo entrante en buzones y mantiene los mensajes salientes en una cola. SMTP transfiere mensajes entre sistemas.

Sigue la entrega después del envío

Alicia envía un mensaje para Bob a su propio servidor. Ese servidor consulta los registros MX del dominio de Bob, resuelve la dirección del servidor elegido y abre una conexión TCP al puerto 25. Envía el mensaje al servidor de Bob, que lo almacena en su buzón. El servidor de Alicia es el cliente SMTP durante esa transferencia, aunque actúa como servidor para el agente de usuario de Alicia en otro intercambio.

Si el destino no está disponible temporalmente, la cola de salida conserva el mensaje para volver a intentarlo. El dispositivo de Alicia puede desconectarse mientras su servidor sigue trabajando. Después de varios fallos, puede enviarse un informe de no entrega al remitente del sobre.

Lee el diálogo

SMTP usa comandos de texto y respuestas numéricas. Este es un intercambio de entrega abreviado; C: y S: identifican a los dos participantes y no se transmiten como parte de cada comando.

S: 220 mail.example.net ready
C: EHLO mail.example.org
S: 250 mail.example.net
C: MAIL FROM:<alice@example.org>
S: 250 OK
C: RCPT TO:<bob@example.net>
S: 250 OK
C: DATA
S: 354 Send message
C: From: Alice <alice@example.org>
C: To: Bob <bob@example.net>
C: Date: Tue, 03 Mar 2026 10:02:44 +0100
C: Subject: Lab report
C:
C: The report is ready.
C: .
S: 250 Message accepted
C: QUIT
S: 221 Closing

EHLO presenta al sistema terminal emisor. MAIL FROM establece el remitente del sobre; cada RCPT TO indica un destinatario del sobre. DATA inicia el mensaje y una línea que contiene solo un punto lo termina. Una conexión puede transportar más de un mensaje. Las clases de respuesta distinguen el éxito (2xx), una solicitud de más datos (3xx), un fallo temporal (4xx) y un fallo permanente (5xx). Una respuesta 4xx requiere volver a intentarlo más tarde; un fallo 5xx necesita otro tratamiento, a menudo un rebote.

Separa las direcciones de entrega de los campos mostrados

El sobre SMTP controla el encaminamiento. Los campos From: y To: dentro del mensaje se muestran al lector. Pueden diferir del sobre. Un destinatario en copia oculta puede aparecer en RCPT TO sin aparecer en las cabeceras visibles del mensaje. Responder a un mensaje y notificar un fallo de entrega no tienen por qué usar la misma dirección.

Un usuario normalmente envía correo mediante SMTP autenticado en el puerto 587 con STARTTLS o en el puerto 465 con TLS desde el principio. La transferencia entre servidores normalmente usa el puerto 25 y puede negociar STARTTLS. El envío al servidor y la transferencia tienen funciones distintas, aunque ambos usen SMTP. HTTP generalmente obtiene objetos solicitados; SMTP envía activamente un mensaje preparado.

Comprueba el dominio del remitente

Un campo From: visible es fácil de falsificar. SPF comprueba si el sistema terminal emisor está autorizado para el dominio del sobre. DKIM verifica la firma de un mensaje mediante una clave pública publicada en DNS. DMARC vincula un resultado satisfactorio de SPF o DKIM con el dominio visible de From mediante la alineación de dominios y publica una política para los fallos. Superar SPF para un dominio del sobre no relacionado no valida por sí solo al remitente visible.

Puntos clave

  • SMTP envía activamente mensajes sobre TCP entre servidores de correo.
  • Las colas permiten a los servidores volver a intentar la entrega mientras los dispositivos de los usuarios están desconectados.
  • El sobre SMTP controla la entrega; las cabeceras del mensaje controlan lo que ven los lectores.
  • El envío al servidor suele usar SMTP autenticado en el puerto 587 o 465.
  • Los fallos SMTP temporales y permanentes requieren respuestas diferentes.
  • DMARC exige un resultado satisfactorio y alineado de SPF o DKIM, no simplemente cualquier resultado satisfactorio de SPF.

4.2 Contenido de los mensajes y lectura de un buzón

La transferencia de correo, el contenido de los mensajes y el acceso al buzón son partes distintas del correo electrónico. SMTP traslada un mensaje a un servidor de correo. El mensaje tiene su propio formato de cabecera y cuerpo, y el destinatario accede después al buzón almacenado mediante otro protocolo.

Lee el mensaje en sí

Un mensaje comienza con campos como From:, To:, Date:, Subject: y Message-ID:. Una línea en blanco separa estas cabeceras del cuerpo. Permanecen como parte del mensaje almacenado; los comandos SMTP MAIL FROM y RCPT TO no se convierten en cabeceras del mensaje.

El formato básico usa líneas de texto. MIME, extensiones multipropósito de correo de internet, describe contenido más variado mediante campos adicionales. Content-Type: text/plain; charset=UTF-8 describe texto sin formato y su codificación de caracteres. image/jpeg identifica una imagen. multipart/mixed describe varias partes, separadas por una cadena delimitadora, como una nota de texto seguida de un archivo adjunto. Cada parte puede tener su propio tipo de contenido y codificación de transferencia.

Content-Transfer-Encoding describe cómo se representa una parte para su transferencia. Base64 convierte cada grupo de tres bytes en cuatro caracteres ASCII. Para un archivo adjunto de 3 MB, 3 000 000 bytes se convierten en 4 000 000 de caracteres antes de añadir los saltos de línea y las cabeceras del mensaje. La codificación añade aproximadamente un tercio al tamaño. Por tanto, el límite de tamaño total de un mensaje en un servidor no puede compararse únicamente con el tamaño original del archivo adjunto. Quoted-printable es otra codificación adecuada para texto mayormente legible.

Elige un protocolo de acceso al correo

El servidor del destinatario puede recibir correo mientras sus dispositivos están desconectados. Cuando el destinatario vuelve, un protocolo de acceso al correo permite a un cliente obtener los mensajes almacenados.

Método de accesoDónde reside el estado del buzónEfecto entre dispositivos
IMAPLos mensajes, las carpetas y los indicadores permanecen en el servidor.Los dispositivos pueden compartir la misma organización y el mismo estado de lectura.
POP3Un cliente descarga mensajes y puede eliminarlos del servidor.Descargar y eliminar puede hacer que el correo no esté disponible para otro dispositivo.
Correo webUn navegador interactúa con el servicio de correo mediante HTTPS.El servicio gestiona el buzón detrás de la interfaz web.

IMAP puede obtener las cabeceras de un mensaje o partes seleccionadas sin descargar todos los archivos adjuntos. Normalmente usa el puerto 143 con STARTTLS o el puerto 993 con TLS desde el principio. POP3 normalmente usa el puerto 110 o TLS en el 995. Sus marcas de eliminación surten efecto cuando la sesión termina normalmente. Descargar y conservar deja copias en el servidor, pero POP3 no proporciona las carpetas en el servidor ni los indicadores compartidos de IMAP.

Supón que Bob consulta el correo en un portátil antes de salir de casa y después en un teléfono. Si el portátil usa POP3 en modo descargar y eliminar, el teléfono puede encontrar vacío el buzón del servidor. Con IMAP, marcar un mensaje como leído en el portátil cambia el estado del servidor, que el teléfono también puede ver. La diferencia está en la sincronización del buzón, no en la entrega mediante SMTP.

Sigue un mensaje de correo web más allá del navegador

Un navegador envía o lee correo mediante HTTPS. El proveedor de correo web sigue usando SMTP para trasladar el correo al servidor de otro dominio. Por tanto, un recorrido completo puede usar HTTPS del remitente al proveedor, SMTP entre proveedores y después IMAP o HTTPS en el extremo receptor. Llamar correo web a un servicio describe su interfaz de usuario y su conexión con el navegador, no todos los protocolos usados en el recorrido del mensaje.

Puntos clave

  • Las cabeceras pertenecen al mensaje y son independientes de los comandos SMTP.
  • MIME describe tipos de contenido, delimitadores de varias partes y codificaciones de transferencia.
  • Base64 añade aproximadamente un tercio a los datos de un archivo adjunto antes de otros costes adicionales.
  • IMAP sincroniza los mensajes, carpetas e indicadores del servidor.
  • POP3 en modo descargar y eliminar puede borrar mensajes antes de que otro dispositivo los lea.
  • El correo web usa HTTPS en el navegador y sigue dependiendo de SMTP entre servidores de correo.
5

Distribución de archivos y transmisión de vídeo

Las audiencias grandes crean distintos cuellos de botella para un servidor, un grupo de pares y un conjunto distribuido de cachés. Comienza con los límites de subida y descarga en la distribución de archivos y examina después cómo BitTorrent reparte ese trabajo. Para el vídeo, relaciona la tasa de codificación y las descargas de segmentos con el búfer de reproducción y sigue cómo una CDN ubica el contenido y dirige a los usuarios hacia servidores que pueden entregarlo de forma eficiente.

5.1 Distribución de archivos y BitTorrent

Distribuir un archivo significa que cada destinatario debe obtener una copia completa. El cuello de botella no siempre es el servidor: una descarga lenta o una capacidad total de subida insuficiente pueden determinar el tiempo mínimo. El modelo estándar supone que los enlaces de acceso son los cuellos de botella y que el núcleo tiene suficiente capacidad.

Compara las cotas inferiores

Sea F el número de bits del archivo y N el número de destinatarios. El servidor sube a us; el par i sube a ui y descarga a di. La tasa de descarga más baja entre los pares es dmin. Usa unidades compatibles, como Mbit y Mbps, para que la división produzca segundos.

Con la distribución cliente-servidor, el servidor debe enviar NF bits y el par más lento debe recibir F bits:

Dcs≥max⁡{NFus,Fdmin}

En P2P, el servidor debe introducir cada bit al menos una vez. Los pares siguen teniendo que descargar el archivo y todo el sistema debe subir suficientes datos para todas las copias:

DP2P≥max⁡{Fus,Fdmin,NFus+∑iui}

Toma el máximo, porque todos los requisitos deben cumplirse durante la distribución. Sumar los términos supondría erróneamente que esas actividades de subida y descarga ocurren una tras otra. Estas son cotas inferiores; la sobrecarga del protocolo, los pares no disponibles y otros cuellos de botella pueden hacer que las transferencias reales sean más lentas.

Resuelve una comparación

Para un archivo de 2 Gbit, usa 2000 Mbit. Supón que la subida del servidor es de 100 Mbps, la descarga más lenta de 20 Mbps y que cada uno de los 100 pares sube a 5 Mbps.

El término de servidor en cliente-servidor es 200 000 Mbit divididos entre 100 Mbps, o 2000 s. El término de la descarga más lenta es 100 s. Por tanto, su cota es 2000 s.

En P2P, introducir el archivo tarda al menos 20 s. La descarga más lenta sigue tardando 100 s. La capacidad total de subida es 100 más 500, o 600 Mbps; distribuir 200 000 Mbit tarda al menos unos 333 s. La cota P2P es de unos 333 s. Con 1000 pares, la cota cliente-servidor aumenta a 20 000 s, mientras que la cota P2P es de unos 392 s. Con tasas de subida iguales entre los pares, el término de capacidad total se aproxima al tamaño del archivo dividido entre la tasa de subida de un par cuando el número de pares crece mucho.

Intercambia fragmentos en BitTorrent

Un torrent es un grupo que comparte un archivo. Los pares intercambian fragmentos, descubren vecinos mediante un rastreador o una tabla hash distribuida y pueden subir datos antes de terminar la descarga. Una semilla tiene el archivo completo y sigue compartiéndolo.

La estrategia primero el fragmento más raro elige un fragmento necesario que tienen menos vecinos y ayuda a conservar fragmentos que de otro modo podrían desaparecer cuando un par se marcha. Decide qué solicitar. La reciprocidad fomenta un intercambio útil al favorecer a los vecinos que proporcionan datos rápidamente; decide a quién subir datos.

En el diseño original, se desbloquea a cuatro vecinos interesados a la vez, incluido uno mediante desbloqueo optimista. La elección habitual se reconsidera aproximadamente cada 10 s y el par optimista aproximadamente cada 30 s. Ese turno de exploración da a los recién llegados una forma de obtener fragmentos iniciales y ayuda a descubrir mejores compañeros. El rastreador coordina el descubrimiento; no es la fuente de datos de cada fragmento.

Puntos clave

  • La distribución cliente-servidor está limitada por la subida del servidor y la descarga más lenta.
  • P2P también depende de introducir el archivo y de la capacidad total de subida del sistema.
  • Toma el máximo de las restricciones simultáneas, no su suma.
  • P2P escala porque los nuevos pares aportan capacidad de subida.
  • Primero el fragmento más raro selecciona fragmentos; la reciprocidad selecciona compañeros a quienes subir datos.
  • Un desbloqueo optimista da a los pares nuevos o aún no probados una oportunidad de intercambiar datos.

5.2 Transmisión adaptativa y cambios en el búfer

Un vídeo consta de fotogramas que se muestran a lo largo del tiempo. La compresión elimina información repetida dentro de un fotograma (redundancia espacial) y entre fotogramas (redundancia temporal). El resultado codificado tiene una tasa de bits: la cantidad de datos de vídeo necesaria para cada segundo de reproducción.

Relaciona la tasa, el tamaño y el tiempo de reproducción

Un vídeo de dos horas a 5 Mbps contiene 36 000 Mbit, o 4,5 GB. Multiplica la tasa por la duración para obtener bits y después divide entre ocho para obtener bytes. Un rendimiento medio del trayecto inferior a la tasa de vídeo seleccionada acaba vaciando cualquier búfer finito durante la reproducción continua.

Un reproductor puede comenzar antes de descargar el vídeo completo. Almacena los datos próximos en un búfer, medido aquí en segundos de vídeo reproducible. La reproducción consume ese búfer mientras las descargas lo reponen. Un búfer inicial mayor protege frente a las caídas de rendimiento, pero aumenta el retardo de inicio.

Solicita un segmento cada vez

DASH, transmisión adaptativa dinámica sobre HTTP, almacena varias versiones codificadas a distintas tasas y divide cada una en segmentos. Un manifiesto enumera las versiones disponibles y las URL de los segmentos. El cliente solicita un segmento con HTTP GET y vuelve a elegir una versión en el siguiente límite entre segmentos. HLS usa un enfoque similar con listas de reproducción.

El reproductor toma la decisión de adaptación según el rendimiento medido y el nivel del búfer. Una estimación reciente de rendimiento alta favorece una tasa mayor; un nivel bajo del búfer exige cautela. Elegir la tasa más alta observada una sola vez puede causar una interrupción si la siguiente descarga se ralentiza. Los reproductores también intentan evitar cambios de calidad frecuentes que distraigan.

Calcula la descarga de un segmento

Considera segmentos de 4 s codificados a 1, 2,5, 5 y 8 Mbps. Con un rendimiento medido de 6 Mbps, el segmento de 5 Mbps contiene 20 Mbit. Se descarga en unos 3,33 s y añade 4 s de contenido reproducible mientras la reproducción consume unos 3,33 s. Si la reproducción continúa, el búfer crece unos 0,67 s.

Un segmento de 8 Mbps contiene 32 Mbit y tarda unos 5,33 s, por lo que el búfer se reduce unos 1,33 s. Los 6 Mbps del trayecto son una tasa de transferencia; no convierten una codificación de 8 Mbps en una de 6 Mbps.

Si el rendimiento baja a 3 Mbps, el mismo segmento de 5 Mbps tarda unos 6,67 s. El búfer pierde unos 2,67 s por segmento. Cambiar a la versión de 2,5 Mbps produce un segmento de 10 Mbit que tarda unos 3,33 s, lo que permite que el búfer vuelva a crecer. Para que la reproducción continúe sin interrupciones durante una descarga, el búfer inicial también debe durar hasta que haya nuevos datos reproducibles disponibles.

Transmisiones almacenadas y llamadas interactivas

La transmisión de vídeo almacenado usa objetos HTTP normales, que las cachés de los navegadores y los servidores CDN pueden servir. Por tanto, funciona sobre TCP o QUIC según la versión de HTTP. Las llamadas interactivas suelen usar transporte multimedia basado en UDP porque esperar contenido antiguo puede ser peor que perderlo.

Un evento en directo también puede usar transmisión HTTP segmentada, pero el reproductor espera a que se produzca cada segmento y mantiene un búfer con retraso respecto a la acción en directo. Los segmentos más cortos pueden reducir ese retardo, aunque aumentan el número de solicitudes. Saltar a una posición que no está en el búfer también exige volver a llenarlo, lo que puede reducir brevemente la calidad.

Puntos clave

  • La tasa de bits codificada mide los datos necesarios por segundo de reproducción.
  • El tamaño de un segmento es su duración multiplicada por su tasa de codificación.
  • El cambio del búfer durante la reproducción continua es la duración del segmento menos el tiempo de descarga.
  • Los clientes DASH seleccionan versiones mediante estimaciones de rendimiento y el nivel del búfer.
  • El vídeo almacenado sobre HTTP usa TCP o QUIC; las llamadas interactivas tienen necesidades de tiempo distintas.

5.3 Ubicación de CDN y encaminamiento de solicitudes

Una red de distribución de contenidos, o CDN, sirve copias de contenido desde muchos lugares. Evita enviar a todos los espectadores a un centro de datos lejano y reduce las transferencias repetidas a larga distancia. Distribuir la capacidad del servicio también reduce la dependencia de un único sitio.

Sitúa el contenido cerca de sus usuarios

Una CDN privada pertenece a un proveedor; una CDN de terceros atiende a muchos clientes. Ambas pueden entregar imágenes, scripts, software y páginas web, además de vídeo. La fuente original del contenido es el origen. Los grupos de servidores CDN mantienen copias para que el origen no tenga que atender todas las solicitudes.

Hay dos estrategias de ubicación útiles:

EstrategiaUbicaciónVentajas y limitaciones
Despliegue en el interior de las redes de accesoMuchos grupos pequeños dentro de las redes de los ISP de accesoTrayectos cortos hasta los usuarios, pero muchos sitios que mantener
Despliegue en puntos de interconexiónMenos grupos y de mayor tamaño en puntos de intercambio de internetGestión más sencilla, pero trayectos más largos para algunos usuarios

La ubicación y el abastecimiento de contenido son decisiones distintas. Con el almacenamiento bajo demanda, un grupo que no tiene un objeto lo obtiene del origen o de otro grupo, lo almacena y lo sirve. Con la distribución anticipada, el proveedor envía los objetos por adelantado, a menudo durante períodos de poco tráfico. La primera solicitud de un objeto que no está en la caché de una CDN bajo demanda todavía puede depender del origen.

Sigue una cesión mediante DNS

Un usuario solicita https://video.stream.example.com/v/6Y7B23V:

  1. El resolutor del usuario pregunta por video.stream.example.com.
  2. El servidor autoritativo del proveedor devuelve un CNAME al espacio de nombres de la CDN, como a1105.cdn.example.net.
  3. El resolutor sigue ese nombre hasta el servicio DNS autoritativo de la CDN.
  4. La CDN selecciona un grupo y devuelve una dirección como 198.51.100.17.
  5. El cliente se conecta a ese servidor mediante HTTPS y solicita el contenido.

El CNAME cambia dónde continúa la resolución del nombre. El DNS devuelve información de nombres; los bytes del vídeo llegan después mediante HTTP. Si el contenido está segmentado, muchas solicitudes normales de segmentos siguen el mismo trayecto básico hasta un servidor seleccionado.

Elige una ubicación útil

El grupo más cercano en un mapa puede tener un trayecto de red deficiente o estar sobrecargado. Una decisión basada en DNS puede ver la ubicación del resolutor, que puede estar lejos del usuario. Una selección mejor puede usar mediciones de retardo y pérdidas, la carga actual y, a veces, información sobre la red del cliente.

El direccionamiento IP anycast ofrece otra forma de llegar a un servicio cercano: varias ubicaciones anuncian la misma dirección IP y el encaminamiento de internet elige un trayecto hacia una de ellas. La ubicación resultante depende del encaminamiento, no solo de la distancia física. Un servidor cercano al espectador aún puede entregar vídeo de mala calidad si el enlace de acceso del propio espectador es el cuello de botella.

Open Connect de Netflix instala equipos dentro de las redes de los ISP y se conecta en puntos de intercambio. El contenido se carga antes de que exista demanda, lo que reduce el tráfico ascendente en las horas de mayor actividad. Sus servicios de aplicación y la entrega de vídeo codificado no tienen por qué ejecutarse en la misma infraestructura. Otros diseños de CDN privadas pueden llenar las cachés bajo demanda. En cada caso, la transmisión adaptativa controla qué tasa solicita el reproductor, mientras que la CDN ayuda a determinar el trayecto y el servidor desde el que se atienden esas solicitudes.

Puntos clave

  • Una CDN distribuye copias y capacidad de servicio entre distintas ubicaciones.
  • El despliegue en redes de acceso y en puntos de interconexión equilibran la longitud del trayecto y el coste de gestión de los sitios.
  • El almacenamiento bajo demanda se llena cuando se solicita el contenido; la distribución anticipada lo hace antes de las solicitudes.
  • Un CNAME del DNS puede ceder la resolución de nombres a una CDN.
  • La selección de un grupo depende del rendimiento y la carga de la red, además de la ubicación geográfica.
  • Las CDN y la transmisión adaptativa abordan distintas partes de la entrega de vídeo.
6

Programación con sockets UDP y TCP

Un programa con sockets hace visible el comportamiento del transporte: un datagrama llega como un mensaje, mientras que una recepción TCP devuelve los bytes disponibles. Crea un pequeño servicio de texto con cada transporte y sigue cómo el servidor sabe dónde responder. Después añade delimitación de mensajes a la versión TCP y envía una solicitud HTTP real, relacionando las llamadas a sockets de Python con los intercambios de protocolo y los casos de fallo que hay detrás.

6.1 Un servicio UDP en Python

Los sockets de Python envían bytes. Codifica una cadena antes de enviarla y descodifica después los bytes recibidos; la codificación de texto predeterminada es UTF-8. AF_INET selecciona IPv4 y SOCK_DGRAM selecciona UDP. Empieza con un servicio local para que ambos procesos puedan usar la dirección de bucle local 127.0.0.1.

Ejecuta primero el receptor

Este servidor gestiona datagramas de texto cortos y responde en mayúsculas:

from socket import socket, AF_INET, SOCK_DGRAM

with socket(AF_INET, SOCK_DGRAM) as server:
    server.bind(("127.0.0.1", 12000))
    while True:
        data, client_addr = server.recvfrom(2048)
        reply = data.decode().upper().encode()
        server.sendto(reply, client_addr)

bind asigna al socket su dirección y puerto de recepción. Vincularlo a 127.0.0.1 acepta solo tráfico local. En cambio, la cadena de dirección vacía "" lo vincula a todas las interfaces IPv4, lo que hace que otros sistemas terminales puedan acceder al servicio cuando la red lo permite. Detén el servidor en ejecución antes de iniciar otra copia en el mismo extremo.

recvfrom bloquea la ejecución hasta que llega un datagrama. Devuelve los datos y la dirección del emisor, incluido su puerto. El servidor usa ese par devuelto como destino de sendto, por lo que puede responder a clientes cuyos puertos efímeros no conocía de antemano.

Envía una solicitud y limita la espera
from socket import socket, AF_INET, SOCK_DGRAM

with socket(AF_INET, SOCK_DGRAM) as client:
    client.settimeout(2.0)
    client.sendto(b"hello network", ("127.0.0.1", 12000))
    try:
        data, server_addr = client.recvfrom(2048)
        print(data.decode())
    except TimeoutError:
        print("No reply within 2 seconds")

El prefijo b crea un literal de bytes; "hello network".encode() produce los mismos bytes. El sistema operativo asigna el puerto local del cliente cuando es necesario. La respuesta esperada es HELLO NETWORK. Ninguno de los programas llama a listen ni a accept, porque UDP no establece una conexión de transporte.

Una respuesta que no llega no indica al cliente exactamente qué ha fallado. La solicitud o la respuesta pueden haberse perdido, o puede que ningún servidor esté escuchando. El tiempo de espera máximo permite que la aplicación recupere el control. Algunos sistemas pueden informar de un puerto de destino cerrado como un error; Windows puede lanzar ConnectionResetError durante la recepción.

Respeta los límites de los datagramas

Cada recepción gestiona un datagrama. Dos datagramas no se combinan en un solo mensaje. Si el búfer de recepción es demasiado pequeño, en los sistemas Unix habituales se descarta el exceso de ese datagrama; Windows puede informar de un error. Otra recepción no recupera la parte final que falta. Elige un búfer suficientemente grande para los mensajes esperados de la aplicación.

El límite de carga útil UDP sobre IPv4 es de 65 507 bytes con una cabecera IPv4 de tamaño mínimo. Es un máximo del protocolo, no un objetivo útil para el tamaño habitual de los datagramas. Un programa que necesita detectar pérdidas puede numerar los mensajes, registrar los tiempos de envío con time.perf_counter() y contar los vencimientos del tiempo de espera. Dos vencimientos de diez solicitudes dan una tasa de pérdida medida del 20 %. Volver a enviar una solicitud puede causar un procesamiento duplicado, por lo que un diseño con tiempo de espera y reintentos también puede necesitar una forma de reconocer números de mensaje repetidos.

Puntos clave

  • SOCK_DGRAM crea un socket UDP; encode y decode permiten convertir entre bytes y texto.
  • bind elige el extremo de recepción; la dirección de bucle local restringe el acceso al mismo sistema terminal.
  • recvfrom proporciona la dirección del emisor necesaria para responder.
  • Un tiempo de espera máximo limita la espera, pero no identifica la causa de la ausencia de datos.
  • Un búfer de recepción demasiado pequeño puede perder la parte final de un datagrama UDP.

6.2 Un servicio TCP con mensajes completos

TCP proporciona al programa un flujo de bytes ordenado. No conserva los límites de las llamadas a sendall. Una prueba corta completa puede llegar en un solo recv, pero un programa correcto también debe gestionar una solicitud dividida entre varias recepciones.

Delimita una solicitud de texto

Elige un salto de línea como delimitador. El cliente envía una línea UTF-8 y el servidor devuelve una línea en mayúsculas. Este servidor lee hasta encontrar ese delimitador antes de descodificar:

from socket import socket, AF_INET, SOCK_STREAM

with socket(AF_INET, SOCK_STREAM) as server:
    server.bind(("127.0.0.1", 12000))
    server.listen(5)
    while True:
        conn, client_addr = server.accept()
        with conn:
            data = b""
            while b"\n" not in data:
                chunk = conn.recv(1024)
                if not chunk:
                    break
                data += chunk
            if b"\n" in data:
                line = data.split(b"\n", 1)[0]
                conn.sendall(line.decode().upper().encode() + b"\n")

listen crea un socket de escucha. accept devuelve un nuevo socket de conexión y la dirección del cliente. Usa conn para los bytes de este cliente; el socket original sigue disponible para aceptar más conexiones. Aquí se atiende a los clientes de uno en uno. El límite de cinco afecta a las conexiones pendientes, no a cinco hilos de trabajo activos.

Completa el lado del cliente
from socket import create_connection

with create_connection(("127.0.0.1", 12000), timeout=2) as client:
    client.sendall(b"hello network\n")
    data = b""
    while b"\n" not in data:
        chunk = client.recv(1024)
        if not chunk:
            raise EOFError("Reply ended before its newline")
        data += chunk
    print(data.split(b"\n", 1)[0].decode())

El resultado esperado es HELLO NETWORK. sendall sigue enviando hasta que se entregan todos los bytes proporcionados o se produce un error. Una sola llamada a send puede enviar solo una parte e informa de cuántos bytes aceptó. Ninguna de las dos llamadas proporciona al receptor límites de mensajes de aplicación.

Este servicio acepta una línea por conexión. Un servicio persistente con varios mensajes conservaría los bytes posteriores al primer salto de línea para su siguiente mensaje. Los prefijos de longitud y el cierre de la dirección de envío son otras opciones de delimitación. Recibir b"" significa que el par ha terminado su lado de envío; no es un fragmento vacío que deba seguir intentándose.

Relaciona el código con protocolos reales

Una solicitud HTTP/1.1 también es una secuencia de bytes:

from socket import create_connection

request = ("GET / HTTP/1.1\r\n"
           "Host: example.com\r\n"
           "Connection: close\r\n\r\n")
with create_connection(("example.com", 80), timeout=5) as sock:
    sock.sendall(request.encode("ascii"))
    chunks = []
    while True:
        chunk = sock.recv(4096)
        if not chunk:
            break
        chunks.append(chunk)
print(b"".join(chunks).decode(errors="replace")[:200])

Esto muestra el comienzo de la respuesta sin procesar, incluidos su estado y sus cabeceras. Un servidor puede devolver un error o una redirección; el código no presupone un cuerpo de respuesta concreto. HTTPS en el puerto 443 necesita envolver la conexión en TLS con verificación del certificado y del nombre del sistema terminal, no solo cambiar el número de puerto. Por ejemplo, ssl.create_default_context().wrap_socket(sock, server_hostname="example.com") envuelve un socket conectado después de import ssl. Una conexión rechazada suele significar que no hay nadie escuchando; el tráfico descartado silenciosamente puede agotar el tiempo de espera. Para reiniciar rápidamente un servidor en Unix, establecer SO_REUSEADDR antes de bind puede permitir la reutilización mientras se cierra una conexión antigua; no permite que dos sockets de escucha activos ocupen el mismo extremo. Los servidores concurrentes usan hilos o bucles de eventos y distinguen las conexiones mediante los pares de dirección y puerto de ambos extremos.

Puntos clave

  • accept devuelve un socket de conexión distinto del socket de escucha.
  • Los mensajes TCP necesitan delimitación y bucles de recepción.
  • sendall gestiona los envíos parciales; recv aún puede devolver datos parciales.
  • Una recepción TCP vacía indica el final de la dirección de envío del par.
  • Una solicitud HTTP/1.1 necesita finales de línea CRLF y una línea en blanco final.
  • HTTPS requiere TLS además del puerto 443.
  • El límite de la cola controla las conexiones pendientes, no la concurrencia de la aplicación.

Ejemplos de Capa de aplicación

6 Lecciones Interactivas

1

Elige un diseño de aplicación y un transporte

9 pasos
Sigue el diseño de un sistema de intercambio de archivos desde las funciones de los sistemas terminales hasta el servicio de transporte que necesitan sus procesos.
  1. 1
    IntroducciónEmpieza por los programas

    Un servicio de red se construye con programas situados en los extremos de la red. Imagina que distribuyes un conjunto de datos de investigación a un grupo creciente: alguien debe localizar los datos, enviarlos y recibirlos. Sigue esas responsabilidades para comparar los diseños cliente-servidor y P2P y después decide qué necesitan los procesos de su servicio de transporte.

  2. 2
    ExplicaciónSitúa el contenido en servidores dedicados

    En un diseño cliente-servidor, los clientes solicitan datos a un servicio siempre encendido en una dirección conocida. El servicio puede usar muchas máquinas detrás de un mismo nombre, pero el proveedor sigue aportando esa capacidad de servicio. Si cada investigador descarga una copia completa del servicio, más investigadores suponen más trabajo de subida para sus servidores. Los encaminadores transportan los paquetes sin ejecutar la aplicación de intercambio de archivos.

  3. 3
    EjemploPermite que los participantes aporten capacidad de subida

    En un diseño P2P, un investigador que ha recibido algunos fragmentos puede enviarlos a otro investigador antes de terminar el archivo completo. Un par que se incorpora añade demanda, pero también capacidad potencial de subida. Ese es el origen de la autoescalabilidad. Un enlace de subida lento, un par desconectado o uno que no quiere compartir reduce la ventaja, por lo que el descubrimiento, la disponibilidad y los incentivos son importantes.

  4. 4
    DesafíoClasifica el trayecto que transporta el archivo

    Un directorio enumera quién tiene un conjunto de datos. Después, los investigadores intercambian sus fragmentos directamente. ¿Todas las transferencias del archivo son cliente-servidor y quién es el cliente cuando un par solicita un fragmento?

    ---reveal---

    El diseño general es híbrido: descubrimiento mediante servidor y transferencia de datos entre pares. El par que inicia la solicitud del fragmento es el cliente de ese intercambio; el par que responde desempeña la función de servidor.

  5. 5
    ExplicaciónLocaliza un extremo receptor

    Un proceso usa un socket para acceder a la capa de transporte. El destino necesita tanto una dirección IP de sistema terminal como un puerto: la dirección IP llega al sistema terminal y el puerto distingue su servicio receptor. Para un servicio HTTPS en 203.0.113.10, el puerto habitual es el 443. El cliente puede usar un puerto de origen efímero asignado por el sistema operativo, por lo que los dos extremos no tienen que usar el mismo número de puerto.

  6. 6
    EjemploElige qué retardo importa

    Un juego envía una posición nueva 30 veces por segundo, aproximadamente cada 33 ms. Recuperar una actualización antigua puede ser menos útil que actuar con la siguiente, por lo que UDP puede ser adecuado para este tráfico. Un archivo de configuración descargado debe estar completo, por lo que necesita una entrega fiable. Esta elección afecta al significado y al tiempo de los datos; elegir UDP no elimina por sí mismo la congestión del trayecto ni reserva ancho de banda.

  7. 7
    ConexiónAñade los servicios que faltan

    TCP proporciona bytes fiables y ordenados, control de flujo y control de congestión, pero no cifrado ni un plazo de entrega. TLS puede proteger su tráfico. UDP proporciona datagramas y conserva sus límites, pero deja las pérdidas y el orden a las capas superiores. HTTP/3 obtiene flujos fiables y TLS 1.3 mediante QUIC sobre UDP. Identifica la pila completa antes de juzgar el servicio por su protocolo visible más bajo.

  8. 8
    DesafíoDiseña un intercambio seguro entre pares

    Dos pares necesitan intercambiar un documento privado completo. Uno inicia el contacto y la transferencia usa UDP por sí solo. ¿Cuáles son sus funciones en el intercambio y qué servicios necesita todavía este diseño?

    ---reveal---

    Quien inicia es el cliente y quien responde es el servidor de ese intercambio. UDP por sí solo no proporciona una entrega completa y ordenada ni confidencialidad. El diseño necesita fiabilidad y seguridad por encima de UDP, o una pila de transporte que las proporcione.

  9. 9
    RepasoSigue las funciones antes de elegir el transporte

    Al evaluar un diseño, sigue primero quién envía el contenido y quién solo ayuda a localizarlo. Después identifica el extremo receptor y los servicios que necesita el contenido: entrega correcta, rendimiento adecuado, llegada a tiempo y protección. Esas decisiones explican tanto la arquitectura de la aplicación como por qué una pila de transporte es adecuada. Un socket conecta el proceso con el servicio elegido.

2

Lee y mejora un intercambio HTTP

15 pasos
Trabaja desde los mensajes y tiempos de HTTP/1.1 hasta la validación de caché y los flujos QUIC.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónSigue la carga de una página
  2. 2
    EjemploLee la estructura de la solicitud
  3. 3
    ExplicaciónSepara el establecimiento de la transmisión
  4. 4
    EjemploTermina el cálculo del tiempo
  5. 5
    DesafíoCuenta las etapas de dependencia
  6. 6
    ExplicaciónReconoce un navegador que vuelve
  7. 7
    EjemploElige el recorrido de acierto o fallo
  8. 8
    ExplicaciónValida sin volver a recibir el cuerpo del objeto
  9. 9
    DesafíoPredice la segunda solicitud
  10. 10
    ExplicaciónIntercala tramas de respuesta
  11. 11
    Idea claveLocaliza el bloqueo por debajo de HTTP
  12. 12
    EjemploCompara el establecimiento de conexiones seguras nuevas
  13. 13
    ConsejoSepara el significado del transporte
  14. 14
    DesafíoAnaliza una solicitud HTTP/3 con contenido en caché
  15. 15
    RepasoIdentifica qué coste se elimina
3

Sigue e interpreta una consulta DNS

11 pasos
Sigue las consultas del resolutor, las referencias almacenadas en caché y los registros de recursos de una respuesta.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónEncuentra un servicio antes de contactarlo
  2. 2
    ExplicaciónEmpieza por el resolutor local
  3. 3
    EjemploSigue cada referencia
  4. 4
    EjemploSuma los intervalos de espera
  5. 5
    DesafíoPredice una actualización de dirección
  6. 6
    ExplicaciónElige la consulta de registro adecuada
  7. 7
    EjemploLee las secciones de la respuesta
  8. 8
    ConexiónMantén separados los objetivos de protección
  9. 9
    DesafíoInterpreta una referencia de correo
  10. 10
    DesafíoCombina la caché con el registro adecuado
  11. 11
    RepasoComprueba qué identifica cada nombre
4

Sigue un correo desde su envío hasta su lectura

11 pasos
Relaciona los sobres SMTP, el contenido MIME y el acceso al buzón en una historia de entrega.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónSepara la transferencia de la lectura
  2. 2
    ExplicaciónDeja el trabajo a un servidor de salida
  3. 3
    EjemploProporciona el sobre a SMTP
  4. 4
    Idea claveDistingue las direcciones mostradas
  5. 5
    DesafíoExplica el destinatario oculto
  6. 6
    ConexiónAutentica el dominio adecuado
  7. 7
    ExplicaciónRepresenta un archivo adjunto
  8. 8
    EjemploMantén el estado del buzón en el servidor
  9. 9
    DesafíoElige el acceso para dos dispositivos
  10. 10
    DesafíoSigue un mensaje de correo web de extremo a extremo
  11. 11
    RepasoAsigna cada síntoma a su etapa
5

Analiza la entrega de archivos y vídeo

16 pasos
Resuelve cotas de distribución, cálculos del búfer y encaminamiento de solicitudes a una CDN.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónEncuentra el recurso limitante
  2. 2
    ExplicaciónCuenta las copias que sube un servidor
  3. 3
    ExplicaciónAñade las contribuciones de los pares
  4. 4
    EjemploCalcula la capacidad disponible
  5. 5
    EjemploCompara todos los límites simultáneos
  6. 6
    DesafíoElimina el cuello de botella adecuado
  7. 7
    ConexiónElige fragmentos y compañeros de subida
  8. 8
    ExplicaciónMide los segundos reproducibles
  9. 9
    EjemploConvierte un segmento en bits
  10. 10
    EjemploReacciona cuando baja el rendimiento
  11. 11
    DesafíoComprueba el búfer antes de la llegada
  12. 12
    ExplicaciónSitúa copias en trayectos más cortos
  13. 13
    EjemploCede la resolución de nombres a una CDN
  14. 14
    DesafíoElige según el rendimiento, no solo el mapa
  15. 15
    DesafíoCombina un acierto de CDN con la adaptación
  16. 16
    RepasoRelaciona las mejoras con sus restricciones
6

Crea y depura un intercambio con sockets

14 pasos
Sigue datagramas UDP, delimita mensajes TCP y relaciona la API de sockets con HTTP.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónHaz visible el comportamiento del transporte
  2. 2
    EjemploCrea y vincula un socket UDP
  3. 3
    EjemploRecibe un datagrama y devuélvelo
  4. 4
    ConsejoLimita la espera de una respuesta
  5. 5
    DesafíoPredice una recepción con espacio insuficiente
  6. 6
    ExplicaciónAcepta una conexión TCP
  7. 7
    EjemploObserva un mensaje dividido
  8. 8
    EjemploAcumula bytes hasta el delimitador
  9. 9
    DesafíoConserva los bytes del siguiente mensaje
  10. 10
    ConsejoEnvía todos los bytes de la respuesta
  11. 11
    ConexiónEscribe una solicitud HTTP como bytes
  12. 12
    ExplicaciónSepara las conexiones en espera de los procesos que las atienden
  13. 13
    DesafíoDiagnostica dos programas que esperan
  14. 14
    RepasoComprueba los extremos, los bytes y la finalización

Ejercicios de Capa de aplicación

50 Preguntas de Práctica en 5 sets

Set 1: Procesos, HTTP y decisiones de consulta10 Preguntas de Práctica

Pregunta 1 de 10

Un par que comparte archivos inicia una solicitud de fragmento a otro par. ¿Qué función desempeña el proceso solicitante en este intercambio?
  1. La función de servidor.
  2. La función de rastreador.
  3. La función de cliente.
  4. La función de retransmisor.
Mostrar respuestaOcultar respuesta
Respuesta: C
El proceso que inicia el contacto es el cliente de ese intercambio, incluso en una aplicación P2P. Un par puede actuar más tarde como servidor cuando otro proceso solicita uno de sus fragmentos; la arquitectura no asigna a cada par una función de comunicación permanente.

Pregunta 2 de 10

Un servicio usa un sistema terminal para enumerar los participantes disponibles, pero estos se envían directamente fragmentos de archivos entre sí. ¿Cómo está organizado este servicio?
  1. Es híbrido, con descubrimiento centralizado y transferencia de datos entre pares.
  2. Es cliente-servidor, con entrega centralizada de archivos.
  3. Es P2P puro, sin ningún sistema terminal dedicado a la coordinación.
  4. Es un proxy de caché, con descubrimiento de participantes basado en el origen.
Mostrar respuestaOcultar respuesta
Respuesta: A
El directorio centraliza el descubrimiento, mientras que los bytes del archivo se transfieren entre pares. Esa combinación es un diseño híbrido. Considerar el directorio una prueba de entrega centralizada de archivos confunde el servidor que encuentra pares con los sistemas terminales que realmente suben los fragmentos.

Pregunta 3 de 10

Un sistema terminal ejecuta varios servicios de red. ¿Qué información de destino permite a un emisor llegar al extremo receptor deseado?
  1. La dirección IP del sistema terminal y la ruta del archivo.
  2. El puerto del servicio y el tipo de contenido del objeto.
  3. El nombre del sistema terminal y el código de estado de la respuesta.
  4. La dirección IP del sistema terminal y el puerto del servicio.
Mostrar respuestaOcultar respuesta
Respuesta: D
Una dirección IP localiza el sistema terminal y un puerto identifica el extremo de transporte receptor en ese sistema. Una ruta ayuda a una aplicación como HTTP a seleccionar un recurso después de llegar a ella; no sustituye al puerto necesario para llegar al servicio.

Pregunta 4 de 10

Una aplicación de sensores envía actualizaciones independientes que se vuelven obsoletas rápidamente, pero sus descargas de configuración deben llegar completas. ¿Qué diseño de transporte se ajusta a estas dos necesidades?
  1. TCP para las actualizaciones y UDP sin protección para la configuración.
  2. UDP para las actualizaciones y un servicio fiable para la configuración.
  3. UDP sin protección para ambos, porque conserva los límites de mensaje.
  4. TCP para ambos, porque garantiza un plazo para cada actualización.
Mostrar respuestaOcultar respuesta
Respuesta: B
Las actualizaciones recientes pueden sustituir a las antiguas que se pierdan, mientras que los datos de configuración necesitan todos los bytes. UDP puede ser adecuado para las actualizaciones y TCP u otro servicio fiable puede transportar la configuración. TCP proporciona una entrega fiable, pero no garantiza plazos para las actualizaciones sensibles al tiempo.

Pregunta 5 de 10

Un servidor HTTP devuelve 404 Not Found para /handbook.pdf. ¿Qué ha establecido este intercambio?
  1. El servidor nunca aceptó la conexión de transporte.
  2. La solicitud tuvo éxito, pero el navegador rechazó el archivo.
  3. El servidor respondió, pero no se encontró ese recurso.
  4. El servidor redirigió el recurso a una nueva dirección.
Mostrar respuestaOcultar respuesta
Respuesta: C
Un 404 es una respuesta HTTP que informa de que falta el recurso solicitado, por lo que se contactó con un servidor HTTP y este respondió. Un fallo de conexión impediría que llegara esta respuesta. Una redirección permanente usa un estado como 301 e identifica la nueva ubicación.

Pregunta 6 de 10

Una nueva conexión TCP con HTTP sin cifrar tiene un RTT de 25 ms. Un objeto de 300 kB atraviesa un trayecto de 40 Mbps. ¿Cuál es su tiempo aproximado de obtención, sin contar DNS ni procesamiento?
  1. 60 ms.
  2. 85 ms.
  3. 160 ms.
  4. 110 ms.
Mostrar respuestaOcultar respuesta
Respuesta: D
El objeto contiene 2,4 Mbit, por lo que la transmisión tarda 60 ms a 40 Mbps. Suma un RTT de 25 ms para establecer TCP y otro para la solicitud y el comienzo de la respuesta, lo que da 110 ms. El resultado de 85 ms omite el establecimiento de la nueva conexión.

Pregunta 7 de 10

¿Qué exige Cache-Control: no-cache antes de reutilizar una respuesta almacenada?
  1. Validarla con el origen.
  2. Negarse a almacenarla por completo.
  3. Reutilizarla hasta que se cierre el navegador.
  4. Conservarla solo en un proxy compartido.
Mostrar respuestaOcultar respuesta
Respuesta: A
no-cache permite el almacenamiento, pero exige una validación satisfactoria antes de la reutilización. Es fácil interpretar el nombre como una prohibición de almacenamiento, pero no-store expresa esa regla distinta. Por tanto, una caché puede conservar una respuesta no-cache y validarla con una ETag en la siguiente solicitud.

Pregunta 8 de 10

Una caché tiene una tasa de aciertos del 30 %. Los aciertos tardan 8 ms y los fallos 180 ms. ¿Cuál es el tiempo medio de respuesta?
  1. 59,6 ms.
  2. 128,4 ms.
  3. 94 ms.
  4. 172 ms.
Mostrar respuestaOcultar respuesta
Respuesta: B
Pondera cada tiempo por la fracción de solicitudes que siguen ese recorrido: el 30 % de 8 ms más el 70 % de 180 ms da 128,4 ms. El resultado de 59,6 ms invierte los pesos de aciertos y fallos. Una media simple supondría incorrectamente que ambos recorridos son igual de frecuentes.

Pregunta 9 de 10

Un resolutor tiene una delegación válida en caché hacia los servidores autoritativos de un dominio, pero no tiene en caché la dirección del sistema terminal solicitado. ¿A dónde puede enviar su siguiente consulta?
  1. A un servidor raíz para reiniciar la búsqueda.
  2. Al servidor web solicitado directamente.
  3. A uno de esos servidores autoritativos.
  4. A la caché del navegador para la delegación.
Mostrar respuestaOcultar respuesta
Respuesta: C
La delegación almacenada en caché ya identifica los servidores responsables de ese dominio, por lo que el resolutor puede consultar directamente a un servidor autoritativo. Reiniciar desde la raíz repite trabajo que la caché ha ahorrado. Una delegación identifica dónde preguntar; no es en sí misma la respuesta con la dirección del sistema terminal.

Pregunta 10 de 10

Una página tiene un objeto HTML muy pequeño y seis imágenes muy pequeñas. El RTT es de 15 ms. Compara HTTP sin cifrar, secuencial y no persistente con la obtención no persistente mediante tres conexiones paralelas de imágenes por lote después del HTML. Omite transmisión, DNS y procesamiento. ¿Cuánto tiempo ahorra la agrupación en lotes?
  1. 120 ms.
  2. 90 ms.
  3. 150 ms.
  4. 165 ms.
Mostrar respuestaOcultar respuesta
Respuesta: A
Siete objetos secuenciales necesitan dos RTT cada uno, un total de 210 ms. La agrupación necesita 30 ms para el HTML y dos lotes de imágenes de 30 ms, un total de 90 ms, por lo que ahorra 120 ms. Contar las seis imágenes en un solo lote exageraría el paralelismo permitido y produciría un ahorro de 150 ms.
Set 2: Registros DNS y recorrido del correo electrónico10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

¿Qué proporciona un servidor DNS autoritativo para un dominio al que presta servicio?
  1. Resolución recursiva de nombres para los sistemas terminales.
  2. Los registros de recursos publicados del dominio.
  3. Los objetos web nombrados por las URL del dominio.
  4. Un puerto de origen para cada conexión del navegador.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Una respuesta DNS contiene assets.example.net CNAME edge.cdn.example.org. El resolutor no tiene una dirección para el destino. ¿Qué información debe obtener antes de que el cliente pueda conectarse por IPv4?
  1. Un registro MX para assets.example.net.
  2. Un registro NS cuyo valor sea la dirección IP del servidor CDN.
  3. Un registro PTR cuyo valor sea la ruta del objeto HTTP.
  4. Un registro A para edge.cdn.example.org.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un dominio tiene entradas MX con preferencias 15 y 35. ¿Qué servidor debe probar normalmente primero un emisor?
  1. El servidor con preferencia 15.
  2. El servidor con preferencia 35.
  3. El servidor nombrado en el CNAME del sistema terminal web.
  4. El servidor con el TTL de DNS más largo.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un resolutor almacena en caché una dirección con un TTL de 900 s. La dirección autoritativa cambia 240 s después. ¿Durante cuánto tiempo más puede el resolutor seguir usando la respuesta anterior almacenada en caché?
  1. 240 s.
  2. 900 s.
  3. 660 s.
  4. 1140 s.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Una respuesta DNS por UDP llega con el indicador TC activado y no contiene la respuesta completa. ¿Cómo debe obtener un resolutor la respuesta completa mediante la alternativa habitual?
  1. Repetir la consulta por el puerto TCP 53.
  2. Repetirla por el puerto UDP 80.
  3. Tratar los registros que faltan como NXDOMAIN.
  4. Abrir una conexión TCP por el puerto 25.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

¿Qué debe hacer normalmente un servidor de correo emisor después de un rechazo SMTP temporal 4xx?
  1. Marcarlo como entregado y eliminar la entrada de la cola.
  2. Mantener el mensaje en cola para volver a intentarlo más tarde.
  3. Tratar el buzón como inexistente de forma permanente.
  4. Cambiar la entrega de SMTP a IMAP.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Se acepta un mensaje para RCPT TO:<archive@example.net>, pero su campo To: visible nombra a team@example.net. ¿Qué dirección controla esta entrega aceptada?
  1. team@example.net en la cabecera visible del mensaje.
  2. La dirección del remitente que aparece en MAIL FROM.
  3. El nombre del sistema terminal proporcionado por el comando EHLO.
  4. archive@example.net en el sobre SMTP.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un teléfono debe mostrar las carpetas y los indicadores de lectura modificados en un portátil. ¿Qué método de acceso admite directamente ese estado del buzón en el servidor?
  1. POP3 en modo descargar y eliminar en cada dispositivo.
  2. Transferencia SMTP entre los dispositivos.
  3. Acceso IMAP al buzón compartido.
  4. POP3 en modo descargar y conservar en ambos dispositivos.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un mensaje muestra From: help@example.org, usa un remitente de sobre en mailer.example.net, supera SPF para example.net y no tiene una firma DKIM válida. ¿Por qué el resultado satisfactorio de SPF no produce un resultado satisfactorio de DMARC para el dominio mostrado?
  1. La comprobación SPF satisfactoria debe usar el dominio del destinatario.
  2. El dominio SPF que supera la comprobación no está alineado con el dominio de From.
  3. El resultado satisfactorio de SPF necesita una preferencia MX inferior a 10.
  4. El resultado satisfactorio de SPF solo es válido cuando SMTP usa el puerto 465.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un servidor permite mensajes de 8 MB como máximo. Un remitente adjunta dos archivos binarios de 3 MB codificados en Base64. ¿Qué se deduce sobre si cabe el mensaje completo?
  1. Supera el límite cuando se incluyen los datos adicionales del mensaje.
  2. Cabe y quedan 2 MB disponibles para cabeceras y texto.
  3. Cabe exactamente porque todos los datos adicionales ya están incluidos.
  4. Supera el límite solo si los dos archivos son de distintos tipos.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 3: Sigue los fallos y corrige el razonamiento sobre protocolos10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

¿Qué devuelve accept() de Python a un servidor TCP que está escuchando?
  1. La siguiente solicitud completa y su longitud en bytes.
  2. El socket de escucha original y un nuevo número de puerto del servidor.
  3. Un datagrama UDP y el número de mensaje del emisor.
  4. Un nuevo socket de conexión y la dirección del cliente.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Una solicitud incluye If-None-Match: "r9" y el origen devuelve 304 Not Modified. ¿Cómo debe una caché atender la solicitud?
  1. Sustituir la representación almacenada por el cuerpo vacío de la respuesta.
  2. Reutilizar la representación almacenada validada por esa respuesta.
  3. Repetir un GET incondicional porque todo 304 es un fallo.
  4. Eliminar la representación almacenada porque su ETag no es válida.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Varios flujos HTTP/2 comparten una conexión. Un segmento TCP perdido impide que se entreguen los bytes posteriores. ¿Por qué puede tener que esperar también una respuesta cuyos propios bytes han llegado?
  1. TCP entrega los bytes de la conexión en un único orden general.
  2. HTTP/2 exige que todos los cuerpos de respuesta terminen en orden de solicitud.
  3. Cada flujo HTTP/2 abre una nueva conexión TCP después de cualquier pérdida.
  4. HPACK exige volver a comprimir cada trama de cuerpo perdida.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

En un sistema terminal Unix, un receptor UDP usa un búfer de 500 bytes para un datagrama entrante de 700 bytes. ¿Qué ocurre con la parte final que no se lee?
  1. La parte final de 200 bytes se lee a continuación.
  2. El datagrama permanece intacto en la cola.
  3. La parte final de 200 bytes se descarta.
  4. El emisor vuelve a enviar los 200 bytes.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un usuario envía un mensaje mediante correo web a otro proveedor. ¿Qué combinación de protocolos describe la conexión del navegador y la transferencia habitual entre servidores?
  1. SMTP en el navegador; HTTPS entre servidores de correo.
  2. IMAP en el navegador; POP3 entre servidores de correo.
  3. HTTPS en el navegador; IMAP entre servidores de correo.
  4. HTTPS en el navegador; SMTP entre servidores de correo.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Un torrent tiene muchos pares que descargan, pero aportan casi ninguna capacidad de subida. ¿Por qué es poco probable que añadir estos pares proporcione la ventaja habitual de autoescalabilidad?
  1. Sus enlaces de descarga eliminan la necesidad de subida del servidor.
  2. Su presencia convierte cada fragmento existente en un archivo completo.
  3. Añaden demanda sin mucha capacidad de distribución utilizable.
  4. Sus consultas al rastreador equivalen a capacidad de subida del archivo.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Una consulta DNS con la caché vacía tiene un RTT de 4 ms entre el sistema terminal y el resolutor, 12 ms hasta la raíz, 18 ms hasta el TLD y 26 ms hasta el servidor autoritativo. Una consulta posterior usa referencias de raíz y TLD almacenadas en caché, pero no tiene la respuesta final en caché. ¿Cuánto más rápida es la consulta posterior, sin contar el procesamiento?
  1. 30 ms más rápida.
  2. 26 ms más rápida.
  3. 34 ms más rápida.
  4. 56 ms más rápida.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un protocolo persistente delimitado por saltos de línea recibe b"red\nblu" y después b"e\n". ¿Qué tratamiento de las solicitudes conserva correctamente ambos mensajes?
  1. Procesar red, descartar blu y después procesar e como segunda solicitud.
  2. Procesar red, conservar blu, combinarlo después con e y procesar blue.
  3. Esperar al cierre y procesar red y blue como una sola solicitud.
  4. Procesar red y blu inmediatamente y después procesar e por separado.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Una página muy pequeña tiene un objeto HTML y cuatro imágenes. El RTT es de 20 ms. Compara una conexión HTTPS persistente con solicitudes secuenciales frente a conexiones HTTPS nuevas y secuenciales para todos los objetos. Cada nueva conexión usa un RTT de establecimiento TCP y uno de TLS 1.3. Omite otros costes. ¿Cuánto tiempo ahorra la reutilización?
  1. 160 ms.
  2. 80 ms.
  3. 120 ms.
  4. 200 ms.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un reproductor comienza con 7 s en el búfer. Descarga tres segmentos completos de 3 s codificados a 4 Mbps por un trayecto constante de 3 Mbps, con reproducción continua y sin solapamiento entre descargas. ¿Cuánto queda en el búfer y se produce una interrupción durante estas descargas?
  1. Quedan 4 s, con una interrupción en la última descarga.
  2. Quedan 4 s, sin interrupciones.
  3. Quedan 7 s, sin interrupciones.
  4. Quedan 10 s, sin interrupciones.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 4: Entrega de contenido y comportamiento de los sockets10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

Un par de BitTorrent necesita varios fragmentos. ¿Qué fragmento favorece la selección del fragmento más raro primero?
  1. El fragmento necesario que tienen menos vecinos.
  2. El fragmento necesario del vecino más rápido.
  3. El fragmento necesario que aparece antes en el archivo.
  4. El fragmento necesario que otros pares solicitan más.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

¿Qué información proporciona un manifiesto DASH al reproductor para elegir y solicitar segmentos?
  1. El rendimiento actual del trayecto, el nivel del búfer y la siguiente tasa elegida.
  2. Las versiones codificadas disponibles, las tasas de bits y las URL de los segmentos.
  3. Una codificación fija y una única URL de descarga del vídeo completo.
  4. Las ubicaciones de servidores disponibles sin información sobre las versiones codificadas.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un servidor sube a 60 Mbps a 12 clientes, cada uno de los cuales descarga a 15 Mbps. ¿Cuál es la cota inferior del tiempo de distribución cliente-servidor para un archivo de 900 Mbit?
  1. 15 s.
  2. 60 s.
  3. 240 s.
  4. 180 s.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un segmento de vídeo de 5 s está codificado a 3 Mbps y se descarga a 6 Mbps durante una reproducción continua. ¿Cómo cambia el búfer después de que llega el segmento completo sin interrupción?
  1. Se reduce 2,5 s.
  2. Crece 2,5 s.
  3. Crece 5 s.
  4. Permanece igual.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un servidor CDN no tiene una copia de una imagen solicitada, la obtiene del origen y después la conserva para solicitudes posteriores. ¿Qué comportamiento de almacenamiento es este?
  1. Almacenamiento bajo demanda ante un fallo de caché.
  2. Distribución anticipada antes de las solicitudes.
  3. Retransmisión desde el origen sin copia local.
  4. Entrega por pares desde otros espectadores.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Un servidor UDP recibe datos de (192.0.2.44, 53018). ¿A dónde debe enviar la respuesta a esa solicitud?
  1. A 192.0.2.44 en el puerto del servidor.
  2. A su propia IP en el puerto 53018.
  3. A 192.0.2.44 en el puerto 53018.
  4. A 192.0.2.44 en un puerto sin usar.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Un servidor TCP recibe b"part" en el primer recv(1024) de una solicitud delimitada por un salto de línea. ¿Qué debe hacer antes de considerar completa esa solicitud?
  1. Tratar ahora los cuatro bytes como la solicitud completa.
  2. Seguir recibiendo hasta el salto de línea o el final del flujo.
  3. Volver a llamar a accept para obtener el resto de la solicitud.
  4. Aumentar el límite de la cola de escucha para obtener los bytes restantes.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Para un archivo de 1200 Mbit, 30 pares suben cada uno a 2 Mbps y el más lento descarga a 12 Mbps. El servidor sube a 60 Mbps. ¿Cuánto reduce P2P la cota inferior en comparación con cliente-servidor, suponiendo que los únicos cuellos de botella están en los enlaces de acceso?
  1. 100 s.
  2. 500 s.
  3. 580 s.
  4. 300 s.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un reproductor tiene 3 s en el búfer y solicita segmentos completos de 4 s a 2 o 4 Mbps. El rendimiento se mantiene en 3 Mbps; solo los segmentos completos se pueden reproducir. ¿Qué elección evita una interrupción en la siguiente descarga y aumenta el búfer?
  1. La versión de 4 Mbps.
  2. Cualquiera de las versiones, porque ambos segmentos duran 4 s.
  3. La versión de 2 Mbps.
  4. Ninguna de las versiones, porque el búfer es más corto que un segmento.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

El resolutor DNS público de un espectador está lejos. El grupo CDN A es el más cercano a ese resolutor, pero tiene un trayecto congestionado hasta el espectador; el grupo B tiene un trayecto medido más rápido hasta él. ¿Qué cambio en la selección aborda este problema?
  1. Elegir solo según la distancia física desde el resolutor público.
  2. Aumentar el TTL de DNS para que el resolutor conserve el grupo A más tiempo.
  3. Usar una tasa de codificación mayor siempre que el resolutor esté lejos.
  4. Usar datos de rendimiento de la red del cliente al seleccionar el grupo.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 5: Cuellos de botella, dependencias y decisiones de diseño10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

¿Qué transporte proporciona los flujos fiables que usa HTTP/3?
  1. TLS sobre UDP por sí solo.
  2. QUIC sobre UDP.
  3. TCP sobre QUIC.
  4. HTTP/2 sobre TCP.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Una aplicación cambia una transferencia de archivos de TCP a UDP por sí solo, pero sigue necesitando todos los bytes en orden. ¿Qué funcionalidad debe proporcionar ahora su diseño por encima de UDP?
  1. Solo un puerto de destino, ya que UDP garantiza el orden.
  2. Solo las longitudes de los mensajes, ya que UDP ordena las llegadas.
  3. Recuperación de pérdidas y ordenación de los datos transferidos.
  4. Solo cifrado, ya que UDP recupera los datos que faltan.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un espectador reproduce un vídeo de 6 Mbps desde una caché CDN. El enlace de acceso del espectador puede transportar 4 Mbps, mientras que el grupo tiene capacidad de sobra. ¿Por qué podría no eliminar las interrupciones trasladar la copia en caché a un sitio CDN aún más cercano?
  1. El enlace de acceso del espectador puede seguir siendo el cuello de botella.
  2. El origen debe aprobar cada segmento antes de que una caché pueda servirlo.
  3. La codificación de vídeo elegida fija la capacidad del enlace de acceso.
  4. Un acierto de caché evita trabajo al origen, pero siempre aumenta la tasa de bits del vídeo.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un cliente UDP agota el tiempo de espera después de enviar una solicitud. ¿Por qué no puede concluir que el programa servidor se ha detenido?
  1. El vencimiento confirma que el servidor rechazó la sintaxis.
  2. Los tiempos de espera solo vencen cuando ningún proceso ha vinculado el puerto.
  3. El vencimiento confirma que el servidor ha cambiado su dirección.
  4. La solicitud o la respuesta podrían haberse perdido.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un enlace de acceso es de 50 Mbps. Llegan 50 solicitudes por segundo, cada una para un objeto de 1 Mbit. Los aciertos de caché tardan 4 ms y los fallos 100 ms. ¿Qué tasa mínima de aciertos hace que el tiempo medio de respuesta sea como máximo de 40 ms y qué intensidad queda entonces en el enlace? Supón que los retardos de ambos recorridos permanecen fijos.
  1. 60 % de aciertos e intensidad 0,4.
  2. 37,5 % de aciertos e intensidad 0,625.
  3. 62,5 % de aciertos e intensidad 0,625.
  4. 62,5 % de aciertos e intensidad 0,375.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Un archivo de 600 Mbit se distribuye a 20 pares, cada uno de los cuales sube a 5 Mbps. La subida del servidor es de 100 Mbps. El par más lento descarga a 2 Mbps; todas las demás descargas son más rápidas. ¿Reduciría la cota inferior P2P duplicar la subida del servidor, suponiendo que los únicos cuellos de botella están en los enlaces de acceso?
  1. No; el término de 300 s de la descarga más lenta sigue dominando.
  2. Sí; la cota baja de 120 s a 60 s.
  3. Sí; la cota baja de 300 s a 150 s.
  4. No; el término de 120 s de la copia del servidor sigue dominando.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Un resolutor recibe example.org NS ns.example.org y un registro A adicional que localiza ese servidor de nombres, pero ningún registro A para lab.example.org. ¿Qué debe hacer para localizar el sistema terminal lab y por qué?
  1. Conectarse a la dirección adicional como sistema terminal lab; los registros A adicionales responden por todos los subdominios.
  2. Pedir al servidor nombrado el registro NS de lab; su valor proporciona la dirección del sistema terminal solicitado.
  3. Pedir al servidor nombrado el registro A de lab; la dirección adicional localiza el servidor DNS.
  4. Devolver NXDOMAIN para lab; una referencia sin su registro A demuestra su ausencia.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Se envía un mensaje a un servidor y después el remitente cierra el portátil. El dominio del destinatario tiene preferencias MX 12 y 28. El servidor 12 devuelve un fallo temporal; no se puede contactar con el servidor 28. El destinatario usa IMAP. ¿Qué debe ocurrir después y dónde debe esperar el destinatario encontrar el mensaje ahora?
  1. Eliminarlo como fallo permanente; IMAP puede recuperarlo del portátil del remitente.
  2. Mantenerlo en cola en el servidor emisor; aún no está en el buzón del destinatario.
  3. Marcarlo como entregado por el servidor 12; una respuesta temporal lo coloca en el almacenamiento IMAP.
  4. Moverlo al buzón IMAP del remitente; ese buzón gestiona ahora los reintentos de entrega.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un teléfono pasa de Wi-Fi a una red celular y cambia su dirección IP mientras descarga dos objetos HTTP/3. Se pierde un paquete que transporta bytes solo para el flujo X; llegan todos los datos de Y sin ninguna dependencia de aplicación con X. ¿Qué puede ocurrir con la conexión y los dos flujos?
  1. La conexión puede mantenerse; X espera la recuperación mientras se pueden entregar los datos recibidos de Y.
  2. La conexión puede mantenerse; ambos flujos deben esperar a que se recuperen los bytes que faltan de X.
  3. La conexión debe reiniciarse; ambos objetos deben solicitarse de nuevo pese a los datos recibidos de Y.
  4. La conexión puede mantenerse; Y solo avanza si X abandona la entrega fiable y ordenada.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un cliente TCP envía una solicitud delimitada por un salto de línea con sendall y después espera una respuesta mientras mantiene abierta su conexión. El servidor espera EOF antes de responder. ¿Por qué pueden esperar indefinidamente ambos programas y qué cambio compatible lo soluciona?
  1. El cliente usó sendall; sustituirlo por un send garantiza la finalización.
  2. La cola del servidor está llena; ampliarla hace que esta solicitud llegue a EOF.
  3. El servidor espera el cierre; debería reconocer el salto de línea de la solicitud.
  4. TCP perdió el límite del mensaje; un recv mayor garantiza el límite de la llamada del emisor.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

¿Te atascas con una pregunta tuya? Ayuda con Tareas

Términos Clave

88 Términos Clave, cada uno con su definición

A

Acierto de caché
Un acierto de caché ocurre cuando una respuesta solicitada está presente y puede usarse en una caché, lo que evita el recorrido habitual para obtenerla del origen.
La institución obtiene un acierto de caché para una imagen popular ya almacenada en su proxy de caché.
Almacenamiento bajo demanda (pull)
El almacenamiento bajo demanda llena una caché CDN en respuesta a una solicitud de contenido que el grupo local aún no tiene.
El almacenamiento bajo demanda hace que la primera solicitud de un objeto que no está en caché dependa de obtenerlo desde un servidor superior.
Aplicación elástica
Una aplicación elástica puede usar el rendimiento disponible en cada momento sin necesitar una tasa mínima fija para su funcionamiento básico.
La descarga de un archivo adjunto de correo es una aplicación elástica, aunque el usuario prefiera que termine rápidamente.
Arquitectura cliente-servidor
Una arquitectura cliente-servidor asigna las solicitudes a los clientes y el trabajo de atención a sistemas terminales dedicados como servidores y accesibles.
En una arquitectura cliente-servidor, un investigador descarga un conjunto de datos del servidor del editor.
Arquitectura entre pares (P2P)
Una arquitectura entre pares permite que los sistemas terminales participantes intercambien datos directamente y aporten tanto solicitudes como capacidad de servicio.
Una arquitectura entre pares permite que una persona que empieza a descargar reciba fragmentos de varios participantes.
Arquitectura híbrida
Una arquitectura híbrida combina funciones de servidores dedicados con comunicación directa entre pares dentro de la misma aplicación.
Un servicio de intercambio de archivos basado en un rastreador tiene una arquitectura híbrida cuando los pares transfieren el archivo por sí mismos.
Ausencia de estado
La ausencia de estado significa que una solicitud HTTP puede entenderse de forma independiente, sin que el protocolo exija recordar solicitudes anteriores del cliente.
La ausencia de estado de HTTP permite que un sitio de compras busque los datos del carrito mediante una cookie en cada solicitud.
Autenticación, informes y conformidad de mensajes basados en dominios (DMARC)
DMARC relaciona un resultado satisfactorio de SPF o DKIM con el dominio visible de From mediante la alineación y publica una política para los fallos.
Una comprobación DMARC no puede basarse en un resultado satisfactorio de SPF para un dominio no relacionado cuando no hay un resultado satisfactorio de DKIM alineado.
Autoescalabilidad
La autoescalabilidad es el crecimiento de la capacidad de servicio junto con la demanda porque los usuarios que se incorporan aportan recursos, como ancho de banda de subida.
El intercambio de archivos P2P obtiene autoescalabilidad cuando quienes descargan también suben los fragmentos que han recibido.

B

Base64
Base64 codifica grupos de tres bytes como cuatro caracteres ASCII y añade aproximadamente un tercio al tamaño de los datos antes de los datos adicionales del mensaje.
Un archivo adjunto de 3 MB se convierte en 4 millones de caracteres Base64 antes de añadir los saltos de línea y las cabeceras.
Bloqueo de cabecera de cola
El bloqueo de cabecera de cola es la espera que se produce cuando el trabajo anterior o los datos que faltan impiden que avancen los datos posteriores que ya están listos.
Un segmento TCP perdido crea un bloqueo de cabecera de cola para los bytes posteriores de varios flujos HTTP/2.
Búfer de reproducción
Un búfer de reproducción contiene contenido recibido que espera a mostrarse y proporciona una reserva de tiempo reproducible durante descargas más lentas.
Un búfer de reproducción al que le quedan varios segundos puede absorber una breve caída del rendimiento sin una interrupción inmediata.

C

Caché web
Una caché web almacena respuestas HTTP para reutilizarlas, lo que reduce las transferencias repetidas cuando lo permiten las reglas de vigencia y validación.
La caché web del navegador proporciona una imagen que no ha cambiado sin obtener otra copia completa.
Cache-Control
Cache-Control es un campo HTTP que contiene directivas de caché que regulan el almacenamiento, la vigencia y la validación de una respuesta.
Cache-Control con no-store impide el almacenamiento; no-cache, en cambio, exige comprobar la respuesta antes de reutilizarla.
Código de estado
Un código de estado es un valor de respuesta de tres dígitos que informa del resultado de una solicitud HTTP, como éxito, redirección o error.
El código de estado 404 muestra que un servidor HTTP respondió, pero no encontró el recurso solicitado.
Cola de correo
Una cola de correo almacena mensajes pendientes de transferencia para que un servidor pueda volver a intentar la entrega después de fallos temporales del destino o de la red.
La cola de correo saliente conserva un mensaje mientras el servidor de destino no está disponible temporalmente.
Conexión persistente
Una conexión persistente permanece disponible para solicitudes posteriores después de una respuesta, lo que ahorra el trabajo de establecer repetidamente el transporte.
Una conexión persistente transporta una respuesta HTML y respuestas posteriores de imágenes sin nuevos intercambios de establecimiento TCP.
Cookie
Una cookie es un valor almacenado por un navegador y devuelto con las solicitudes que coinciden, lo que permite a un sitio reconocer el estado entre solicitudes.
El sitio de compras busca un carrito almacenado cuando el navegador devuelve su cookie de sesión.
Correo identificado mediante claves de dominio (DKIM)
DKIM autentica los datos firmados de un mensaje mediante la firma digital de un dominio y una clave de verificación publicada mediante DNS.
Un receptor comprueba una firma DKIM mediante la clave pública del dominio firmante del mensaje.
Correo web
El correo web es el acceso a un buzón mediante un navegador usando HTTP, normalmente HTTPS, mientras que la entrega de correo entre proveedores sigue usando SMTP.
El navegador usa correo web sobre HTTPS para leer un mensaje que llegó al proveedor mediante SMTP.
Cota inferior
Una cota inferior es un límite por debajo del cual no puede producirse la finalización bajo las restricciones de un modelo, incluso con una planificación ideal.
La descarga del par más lento impone una cota inferior que una capacidad adicional de subida en otro lugar no puede eliminar.

D

Datagrama
Un datagrama es un mensaje direccionado de forma independiente y transportado por un protocolo sin conexión, cuyo límite se conserva al recibirlo.
Dos datagramas UDP enviados por separado siguen siendo mensajes separados aunque lleguen con poca diferencia de tiempo.
Datos 0-RTT
Los datos 0-RTT son datos de aplicación enviados durante el establecimiento de una conexión reanudada antes de que termine un nuevo viaje de ida y vuelta, sujetos a restricciones relacionadas con la repetición.
Una conexión QUIC reanudada puede enviar datos 0-RTT permitidos antes de esperar el nuevo intercambio con el servidor.
Delimitación de mensajes
La delimitación de mensajes define cómo reconoce un receptor mensajes de aplicación completos dentro de un flujo de bytes mediante longitudes o delimitadores.
La delimitación de mensajes basada en saltos de línea permite al receptor acumular varias lecturas TCP hasta que llega una línea completa.
Desbloqueo optimista (optimistic unchoke)
Un desbloqueo optimista ofrece servicio de subida a un par interesado sin exigir una contribución actual elevada, lo que permite explorar posibles compañeros.
Un desbloqueo optimista permite que un recién llegado obtenga fragmentos iniciales antes de convertirse en un compañero de intercambio útil.
Despliegue en el interior de las redes de acceso (enter deep)
El despliegue en el interior de las redes de acceso es una estrategia de ubicación CDN que usa muchos grupos pequeños dentro de las redes de los ISP de acceso para acortar los trayectos hasta los usuarios.
El despliegue en el interior de las redes de acceso acerca el contenido a los abonados, pero deja al operador muchos lugares que mantener.
Despliegue en puntos de interconexión (bring home)
El despliegue en puntos de interconexión es una estrategia de ubicación CDN que usa menos grupos y de mayor tamaño en puntos de intercambio donde se interconectan muchas redes.
El despliegue en puntos de interconexión simplifica la gestión en comparación con mantener muchos grupos pequeños dentro de las redes de acceso.
Dirección de bucle local (loopback)
Una dirección de bucle local encamina el tráfico dentro del mismo sistema terminal y permite que los procesos locales se comuniquen sin contactar con otra máquina.
Un servidor vinculado a la dirección de bucle local 127.0.0.1 puede probarse mediante un cliente que se ejecuta en el mismo ordenador.
Direccionamiento IP anycast
El direccionamiento IP anycast anuncia la misma dirección IP desde varias ubicaciones, lo que permite al encaminamiento de red seleccionar un trayecto hacia una de ellas.
El direccionamiento IP anycast puede encaminar a un cliente hacia una ubicación CDN sin asignarle a esa ubicación una dirección única de cara al cliente.

E

Envenenamiento de caché
El envenenamiento de caché es la inserción de datos falsos en la caché de un resolutor, lo que hace que las solicitudes posteriores reutilicen la información falsificada del atacante.
Una dirección falsificada aceptada durante un envenenamiento de caché puede dirigir a visitantes posteriores al sistema terminal de un atacante.
Envío parcial
Un envío parcial ocurre cuando una llamada a send acepta menos bytes de los proporcionados, por lo que los bytes restantes deben enviarse después.
Usar sendall evita dejar sin terminar un envío parcial cuando el programa transmite un búfer de respuesta.
Etiqueta de entidad (ETag)
Una ETag es un identificador asignado a la representación de un recurso que se usa en condiciones para comparar una versión guardada con la actual.
La caché envía su ETag guardada en If-None-Match antes de decidir si reemplaza el cuerpo almacenado.
Extensiones de seguridad del DNS (DNSSEC)
DNSSEC añade firmas digitales a los datos DNS para que los resolutores que validan puedan comprobar la autenticidad y la integridad de los registros firmados.
DNSSEC ayuda a un resolutor a detectar datos firmados falsificados, mientras que el DNS cifrado protege la privacidad de las consultas.
Extensiones multipropósito de correo de internet (MIME)
MIME amplía el formato de correo electrónico con tipos de contenido, estructura de varias partes y codificaciones de transferencia que admiten texto más variado y archivos adjuntos.
MIME permite que un mensaje contenga una nota de texto sin formato y una imagen adjunta separada con su propio tipo.

F

Flujo
Un flujo es una secuencia lógica de datos dentro de una conexión; la multiplexación HTTP usa flujos para distinguir intercambios simultáneos.
Un flujo que transporta una imagen de una página puede avanzar junto a otro que transporta una hoja de estilo.

G

GET condicional
Un GET condicional solicita una representación sujeta a una condición y a menudo valida una fecha o una ETag almacenada en caché antes de transferir el cuerpo.
Un GET condicional recibe un 304 cuando la ETag guardada todavía identifica la representación actual.

H

HTTP/2
HTTP/2 transporta mensajes HTTP como tramas binarias intercaladas de varios flujos por una conexión TCP y comprime las cabeceras.
HTTP/2 puede terminar una imagen pequeña mientras todavía se envían tramas de una respuesta mucho más grande.
HTTP/3
HTTP/3 asigna los significados compartidos de los mensajes HTTP a flujos QUIC y tramas binarias, y usa la seguridad de transporte integrada de QUIC.
HTTP/3 sirve la misma URL de recurso y cambia el transporte respecto a las versiones HTTP basadas en TCP.
HttpOnly
HttpOnly es un atributo de cookie que impide que los scripts de la página lean la cookie, aunque permite su envío en las solicitudes HTTP correspondientes.
Una cookie de inicio de sesión marcada como HttpOnly aún puede acompañar a una solicitud que coincida, aunque un script no pueda leerla.

I

Interrupción por recarga del búfer
Una interrupción por recarga del búfer es una pausa de reproducción causada cuando se agotan los datos reproducibles y el reproductor debe esperar más contenido.
El reproductor reduce la tasa que solicita después de una interrupción por recarga del búfer para disminuir la probabilidad de otra pausa visible.

L

Límite de la cola de conexiones pendientes (backlog)
El límite de la cola de conexiones pendientes es la capacidad de la cola para solicitudes de conexión que esperan a ser aceptadas por un socket de escucha del servidor.
Aumentar el límite de la cola no hace que el gestor de solicitudes de un servidor que atiende una a una se ejecute de forma concurrente.

M

Manifiesto
Un manifiesto describe las versiones disponibles y las ubicaciones de los segmentos que usa un reproductor adaptativo para solicitar contenido de vídeo.
El reproductor lee el manifiesto antes de seleccionar la URL del siguiente segmento y su versión codificada.
Marco de políticas del remitente (SPF)
SPF permite que un dominio publique qué sistemas terminales pueden enviar correo en su nombre y comprueba el sistema terminal emisor frente a una identidad del sobre SMTP.
SPF puede dar un resultado satisfactorio para un dominio del sobre controlado por un atacante sin validar otro dominio visible de From.
Método HTTP
Un método HTTP indica la operación solicitada para un recurso, como obtenerlo mediante GET u obtener sus cabeceras mediante HEAD.
El navegador usa el método HTTP GET cuando obtiene un documento enlazado desde el sitio.

N

Número de puerto
Un número de puerto es un valor de 16 bits que se usa junto con una dirección IP para identificar un extremo de transporte receptor en un sistema terminal.
El cliente contacta con el mismo sistema terminal en el puerto 443 para HTTPS y en el 25 para la transferencia entre servidores de correo.

O

Objeto HTTP
Un objeto HTTP es una representación de un recurso identificable individualmente, como un documento HTML, una imagen o un script, que se obtiene mediante HTTP.
El HTML base nombra varias imágenes, por lo que el navegador solicita más de un objeto HTTP para la página.

P

POP3
POP3 es un protocolo de acceso al correo para descargar mensajes almacenados, con la opción de eliminarlos del servidor después de una sesión completada.
POP3 en modo descargar y eliminar en un portátil puede impedir que un teléfono obtenga más tarde el mismo mensaje.
Primero el fragmento más raro
Primero el fragmento más raro es una regla de selección que solicita los fragmentos necesarios que tienen menos vecinos, lo que ayuda a preservar su disponibilidad.
Primero el fragmento más raro elige un fragmento necesario y escaso antes que otro que ya está disponible en muchos vecinos.
Proceso
Un proceso es una instancia de un programa en ejecución; los procesos en red intercambian mensajes de aplicación mediante extremos de transporte.
Un proceso de servidor de correo puede enviar un mensaje mientras otro proceso del sistema terminal gestiona solicitudes web.
Protocolo de acceso a mensajes de internet (IMAP)
IMAP es un protocolo de acceso al correo que mantiene mensajes, carpetas e indicadores en el servidor y permite a los clientes obtener contenido seleccionado.
IMAP permite que un teléfono vea el indicador de lectura y el cambio de carpeta realizados previamente desde un portátil.
Protocolo de control de transmisión (TCP)
TCP es un protocolo de transporte orientado a la conexión que proporciona bytes fiables y ordenados con control de flujo y control de congestión.
Una conexión TCP entrega el archivo completo en orden, mientras la aplicación identifica los límites de sus mensajes.
Protocolo de datagramas de usuario (UDP)
UDP es un protocolo de transporte sin conexión que transporta datagramas separados sin proporcionar recuperación de pérdidas, ordenación ni control de congestión.
Una consulta DNS pequeña puede usar UDP, y el resolutor vuelve a intentarlo si no llega una respuesta antes de que venza su tiempo de espera.
Protocolo de la capa de aplicación
Un protocolo de la capa de aplicación define los tipos de mensajes, la sintaxis de los campos, su significado y las reglas de intercambio entre procesos.
HTTP es un protocolo de la capa de aplicación que permite intercambiar objetos a navegadores y servidores escritos por separado.
Protocolo simple de transferencia de correo (SMTP)
SMTP es el protocolo de aplicación que se usa para enviar y transferir correo electrónico mediante intercambios de comandos y respuestas sobre conexiones TCP.
SMTP envía activamente un mensaje en cola desde el servidor de correo del remitente al servidor del dominio del destinatario.
Proxy de caché
Un proxy de caché es un intermediario que reenvía solicitudes a los servidores de origen y puede atender solicitudes que cumplan las condiciones mediante respuestas almacenadas.
El proxy de caché sirve un acierto local, pero actúa como cliente cuando obtiene un objeto que falta del servidor de origen.

Q

QUIC
QUIC es un protocolo de transporte seguro sobre UDP que proporciona flujos fiables, control de congestión, establecimiento de baja latencia y migración de conexión.
QUIC puede entregar datos recibidos en un flujo mientras otro flujo independiente recupera los bytes que faltan.

R

Red de distribución de contenidos (CDN)
Una CDN distribuye capacidad de servicio y copias de contenido entre ubicaciones para entregar objetos de forma eficiente y reducir la carga del origen.
Un grupo CDN cercano al espectador sirve segmentos de vídeo populares sin enviar cada solicitud al origen.
Registro A
Un registro A asocia un nombre DNS de sistema terminal con una dirección IPv4, lo que permite a un cliente localizar ese sistema en una red IPv4.
Un registro A para www.example.org puede devolver la dirección de documentación 203.0.113.25 en una consulta de ejemplo.
Registro AAAA
Un registro AAAA asocia un nombre DNS de sistema terminal con una dirección IPv6, lo que proporciona una alternativa IPv6 a los registros de direcciones IPv4.
Un registro AAAA puede devolver 2001:db8::25 para un sistema terminal en una consulta IPv6 de ejemplo.
Registro CNAME
Un registro CNAME convierte un nombre titular en un alias de un nombre canónico de destino, lo que permite continuar la resolución a través de ese destino.
Un registro CNAME apunta media.example.org al espacio de nombres de una CDN antes de que el resolutor obtenga una dirección.
Registro de recursos
Un registro de recursos es una entrada DNS con un tipo que relaciona un nombre titular con datos y un tiempo de almacenamiento en caché para esa información.
Un registro de recursos relaciona el sistema terminal web con una dirección IPv4, mientras que otro nombra el servidor de correo del dominio.
Registro MX
Un registro MX identifica un destino de correo de un dominio mediante un nombre de servidor y una preferencia; los valores de preferencia menores se prueban primero.
El registro MX con preferencia 10 se prueba normalmente antes que la entrada del mismo dominio con preferencia 20.
Registro NS
Un registro NS nombra un servidor DNS autoritativo para un dominio o una zona; su valor es un nombre de sistema terminal, no la dirección IP de ese servidor.
El registro NS apunta a ns1.example.org y los datos de dirección complementarios permiten al resolutor contactarlo.
Resolutor DNS
Un resolutor DNS obtiene información DNS para quien la solicita y consulta cachés y otros servidores cuando es necesario para completar una consulta.
El resolutor del campus sigue las referencias mientras el portátil espera el resultado de su consulta recursiva.

S

Segmento
Un segmento es un intervalo breve de vídeo codificado que puede solicitarse por separado y que tiene versiones disponibles con distintos niveles de calidad.
Un segmento que representa cuatro segundos de reproducción puede tardar más de cuatro segundos en descargarse por un trayecto lento.
Seguridad de la capa de transporte (TLS)
TLS es un protocolo de seguridad que añade confidencialidad, integridad y autenticación de los extremos al intercambio de transporte de una aplicación.
Un navegador usa TLS sobre TCP para proteger un intercambio HTTPS con un servidor HTTP/2.
Semilla (seeder)
Una semilla es un par de BitTorrent que tiene el contenido completo y permanece disponible para subirlo a otros participantes.
Una semilla permanece conectada después de terminar la descarga para que los nuevos pares puedan obtener todos los fragmentos necesarios.
Servidor autoritativo
Un servidor autoritativo publica los registros DNS de los nombres de las zonas a las que presta servicio y proporciona respuestas desde esa autoridad.
El servidor autoritativo de un dominio devuelve el registro de dirección publicado para su sistema terminal web.
Servidor de dominio de nivel superior (TLD)
Un servidor TLD atiende un dominio de nivel superior y proporciona delegaciones que identifican los servidores autoritativos de los dominios subordinados.
Un servidor TLD de org devuelve la delegación necesaria para continuar hacia los registros de example.org.
Servidor de origen
Un servidor de origen es el servidor fuente responsable de una representación, desde el que los intermediarios pueden obtener copias del contenido.
Una CDN con almacenamiento bajo demanda obtiene una imagen que no está en caché del servidor de origen antes de conservar una copia local.
Servidor raíz
Un servidor raíz atiende la parte superior de la jerarquía DNS y normalmente remite a los resolutores hacia los servidores de dominio de nivel superior correspondientes.
El resolutor pregunta a un servidor raíz dónde puede continuar una consulta con la caché vacía para un dominio org.
Sistema de nombres de dominio (DNS)
DNS es una base de datos distribuida de nombres y un protocolo de aplicación para consultar registros como direcciones de sistemas terminales y destinos de correo.
Antes de contactar con un sistema terminal web, el navegador pide al DNS la información de dirección asociada a su nombre.
Sistema terminal (sistema final)
Un sistema terminal es un sistema en la periferia de la red que ejecuta procesos de aplicación, como un teléfono, un portátil o un servidor.
Un navegador y un servidor web se ejecutan en sistemas terminales, mientras los encaminadores reenvían los paquetes entre ellos.
Sobre SMTP
Un sobre SMTP es la información de entrega de SMTP, incluidos el remitente MAIL FROM y los destinatarios RCPT TO, separada de las cabeceras del mensaje.
Un destinatario en copia oculta aparece en el sobre aunque ninguna cabecera To visible lo nombre.
Socket
Un socket es la interfaz de software mediante la cual un proceso de aplicación accede a servicios de transporte para enviar o recibir datos.
Un juego en red escribe actualizaciones de posición mediante un socket y lee las actualizaciones entrantes mediante su API de sockets.
Socket de conexión
Un socket de conexión es un extremo de transporte para una conexión TCP establecida que se usa para enviar y recibir los bytes de esa conexión.
El servidor llama a recv en el socket de conexión devuelto por accept, no en el socket de escucha.
Socket de escucha
Un socket de escucha espera solicitudes de conexión TCP entrantes y las acepta en sockets separados para intercambiar datos.
El socket de escucha permanece abierto mientras el socket de conexión aceptada transporta la solicitud de un cliente.
STARTTLS
STARTTLS es un comando de protocolo que actualiza una conexión existente sin cifrar a TLS antes de los intercambios protegidos posteriores.
El envío SMTP autenticado en el puerto 587 suele usar STARTTLS antes de transmitir contenido protegido.

T

Tasa de bits
Una tasa de bits es la cantidad de datos por unidad de tiempo; para vídeo codificado, mide cuántos bits se necesitan por cada segundo de reproducción.
Una tasa de bits de vídeo de 5 Mbps produce 20 Mbit de datos codificados para un segmento de cuatro segundos a tasa constante.
Tiempo de distribución
El tiempo de distribución es el tiempo transcurrido necesario para entregar una copia completa de un archivo a cada destinatario previsto.
Una primera descarga rápida no determina el tiempo de distribución si el par más lento todavía está recibiendo su copia.
Tiempo de espera máximo
Un tiempo de espera máximo es el límite de tiempo durante el que una operación espera antes de devolver el control indicando que no se completó en ese intervalo.
Un tiempo de espera máximo de recepción permite al cliente UDP informar de una respuesta ausente en vez de bloquearse indefinidamente.
Tiempo de ida y vuelta (RTT)
El tiempo de ida y vuelta es el intervalo que tarda un paquete pequeño en viajar a un destino y regresar una respuesta.
Un tiempo de ida y vuelta de 30 ms interviene dos veces en el primer objeto HTTP sin cifrar obtenido mediante una nueva conexión TCP.
Tiempo de vida (TTL)
El TTL es el valor de tiempo de vida de un registro DNS que limita cuántos segundos puede reutilizarse una copia almacenada en caché.
Un cambio de dirección puede dejar una respuesta antigua en caché utilizable hasta que el TTL restante llegue a cero.
Torrent
Un torrent es el grupo de pares que participan en la distribución de un archivo o conjunto de contenidos concreto mediante BitTorrent.
Los pares se unen a un torrent e intercambian fragmentos con vecinos que descubren mediante un rastreador o una búsqueda distribuida.
Trama
Una trama es una unidad estructurada que se usa para transportar parte de un mensaje o información de control en HTTP/2 o HTTP/3.
El emisor planifica una trama de datos de una respuesta corta entre tramas pertenecientes a una respuesta grande.
Transmisión adaptativa dinámica sobre HTTP (DASH)
DASH es transmisión adaptativa sobre HTTP en la que un cliente selecciona segmentos sucesivos de vídeo entre versiones con distintas tasas de codificación.
DASH permite que un reproductor cambie a una versión de menor tasa después de que baje el rendimiento y el búfer comience a reducirse.

U

UTF-8
UTF-8 es una codificación en bytes de texto Unicode, utilizada por las operaciones predeterminadas de codificación de cadenas y descodificación de bytes de Python.
Un servidor que convierte el texto recibido en mayúsculas primero descodifica los bytes UTF-8 entrantes y luego codifica su respuesta.

V

Vinculación de un socket a una dirección y un puerto (bind)
La vinculación de un socket es la operación que asigna una dirección y un puerto locales a un extremo y determina dónde recibe tráfico.
Un servidor UDP que llama a bind con 127.0.0.1 y el puerto 12000 recibe solicitudes locales en esa dirección y ese puerto.

Sobre esta unidad

Por StudeliInformar de un error

Crea tus propios Materiales de Estudio

Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.

Comenzar