Funcionamiento de Protocolos de Red y Arquitectura TCP/IP

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 8,77 KB

Capas del Modelo TCP/IP

El modelo se organiza en las siguientes capas: Aplicación (HTTP/DNS/SMTP) → Transporte (TCP/UDP, puertos) → Red (IP) → Enlace (Ethernet, MAC) → Física (bits).

Unidades de Datos (PDU)

  • Mensaje (Capa de Aplicación)
  • Segmento (Capa de Transporte)
  • Datagrama (Capa de Red)
  • Frame o Trama (Capa de Enlace)
  • Bits (Capa Física)

Un Protocolo se define entre la misma capa de hosts distintos, mientras que una Interfaz se establece entre capas adyacentes del mismo host.

Puertos de Red Comunes

  • :80 HTTP
  • :25 SMTP
  • :110 POP3
  • :53 DNS (UDP)
  • :22 SSH
  • :8080 Proxy
  • Puertos Efímeros (1024–65535): Asignados por el Sistema Operativo al cliente.

Sockets y Conexiones

Un Socket se define por una 4-tupla única: IP_origen:puerto_origen ↔ IP_destino:puerto_destino. Si existen dos conexiones del mismo cliente al mismo servidor, es obligatorio el uso de puertos efímeros distintos; de lo contrario, el Sistema Operativo no podría distinguirlas.

  • Socket de escucha: Se mantiene fijo en el puerto del servicio.
  • Socket de conexión: Se crea uno nuevo por cada cliente, operando en un hilo independiente.

Registros de DNS

  • A: Mapea nombre → IPv4.
  • NS: Servidor autoritativo de la zona.
  • MX: Servidor de correo + prioridad.
  • CNAME: Alias → nombre canónico (se debe seguir hasta encontrar el registro A).
  • PTR: IP → nombre (utilizado como técnica anti-spam).
  • SOA: Metadatos de administración de la zona.
  • TXT: SPF/DKIM/verificación.

Una Zona es la porción que administra un servidor, mientras que un Dominio es el árbol lógico completo. Un dominio puede tener varias zonas mediante la delegación vía NS. Respecto a la Caché/TTL: si no ha expirado, se responde sin consultar; si expiró, se resuelve de nuevo. El archivo hosts tiene prioridad absoluta.

Resolución de DNS

El DNS local actúa de forma recursiva (realiza toda la gestión). Los servidores Raíz, TLD y Autoritativos son iterativos (responden lo que saben o entregan una referencia).

Flujo de resolución:

PC → DNS local → Raíz (ref .uy) → TLD .uy (ref .com.uy) → TLD .com.uy (ref autoritativo) → Autoritativo (A: IP) → DNS local → PC.

  • Con CNAME: El autoritativo responde "alias de web.com.uy", y el DNS local resuelve web.com.uy desde cero en una nueva ronda completa.
  • MX Lookup: Consulta MX → obtiene nombre del servidor de correo → consulta A → obtiene IP.
  • Anti-spam PTR: Se verifica el PTR de la IP → nombre, y el registro A del nombre → debe coincidir con la misma IP. Si no coincide, se marca como spam.

Protocolo HTTP

Ejemplo de petición: GET /equipo.html HTTP/1.1 / Host: www.deportes.com.uy / If-Modified-Since: [fecha].

Códigos de Estado:

  • 200 OK
  • 301 Moved Permanently: Redirige a la cabecera Location.
  • 304 Not Modified: Indica usar la caché.
  • 404 Not Found
  • 500 Server Error

El encabezado If-Modified-Since permite optimizar: si no hubo cambios, se recibe un 304 sin cuerpo; si cambió, un 200 con el contenido. El User-Agent identifica el dispositivo para que el servidor sirva contenido adaptado.

Diferencias entre versiones:

  • HTTP 1.0: Una nueva conexión TCP por cada objeto (N handshakes, N slow starts).
  • HTTP 1.1: Conexión persistente + pipelining (1 handshake que se reutiliza para todo).

Proxy HTTP

  1. PC → DNS local: Obtiene la IP del proxy (UDP :53).
  2. PC → Proxy: GET http://www.deportes.com.uy/equipo.html HTTP/1.1 (TCP :8080). Se usa la URL completa porque el proxy no sabe a quién reenviar sin ella.
  3. Proxy → DNS: Obtiene la IP del servidor.
  4. Proxy → Servidor: GET /equipo.html (TCP :80, sale con IP pública vía NAT).
  5. 200 OK → El proxy cachea el contenido → PC.

Son dos conexiones TCP separadas con puertos y secuencias distintas. Un segundo cliente que pida lo mismo recibirá la respuesta del proxy desde la caché directamente. El proxy verifica la validez con If-Modified-Since. NAT permite que una IP privada salga como la IP pública del router. 22

Protocolos de Correo y Transferencia

  • SMTP (:25): Envío entre servidores.
  • POP3 (:110): Descarga y borra del servidor (orientado a un solo dispositivo).
  • IMAP (:143): Sincroniza y deja los mensajes en el servidor (multi-dispositivo).

Flujo SMTP:

EHLO / MAIL FROM: [email protected] / RCPT TO: [email protected] / DATA / From: Alicia / To: Bernardo / Subject: Hola / [línea en blanco] / cuerpo del mensaje / . / QUIT.

El MAIL FROM se usa para el routing del servidor, mientras que el From: interno es lo que ve el destinatario (pueden diferir en ataques de phishing). El punto solo en una línea indica el fin del mensaje.

MIME y Base64:

Dado que SMTP solo soporta ASCII de 7 bits, los adjuntos binarios se codifican en Base64. Los encabezados Content-Type y Content-Transfer-Encoding indican cómo decodificar.

Comparativa FTP vs HTTP:

  • FTP: Utiliza 2 conexiones (control :21 + datos :20), mantiene el estado y requiere autenticación obligatoria.
  • HTTP: Utiliza 1 conexión, no tiene estado y la autenticación es opcional.

TCP vs UDP

  • TCP: Con conexión, confiable y ordenado. Usado en HTTP, SMTP, FTP, SSH.
  • UDP: Sin conexión, no confiable y sin orden. Usado en DNS, streaming, videollamadas y juegos.

Se prefiere UDP cuando la latencia importa más que la confiabilidad (como en Zoom o juegos), ya que un paquete perdido sería inútil retransmitirlo. DNS usa UDP por ser mensajes pequeños, evitando el overhead de conexión; el reintento lo maneja la aplicación.

Stop-and-Wait y Ventana

  • Ttx (Tiempo de transmisión) = L(bits) / C(bps)
  • Eficiencia (η) = Ttx / (Ttx + RTT)
  • W_opt (Ventana óptima) = (Ttx + RTT) / Ttx

Ejemplo: L=1500B, C=120kbps, RTT=500ms → Ttx=100ms, η=16.7%, W=6.

El método Stop-and-Wait (W=1) es simple pero muy ineficiente. Una ventana fija grande llena el canal pero no se adapta a la congestión. La ventana deslizante de TCP se adapta dinámicamente a la red y al receptor. En Go-Back-N, ante una pérdida, se retransmite ese segmento y todos los siguientes.

Resumen de Flujo Completo

  • Sin proxy: DNS (PC → local → raíz → .uy → .com.uy → autoritativo → IP) → TCP handshake → GET /equipo.html HTTP/1.1 → 200 OK.
  • Con proxy: DNS (PC → local → IP proxy) → TCP PC → proxy (:8080) → GET http://www.deportes.com.uy/equipo.html (URL completa) → DNS (proxy → local → IP servidor) → TCP proxy → servidor (:80) vía NAT → 200 OK → cachea → PC.

Entradas relacionadas: