Redes de Computadores: Protocolos IP, TCP, Firewalls y DNS

Informática15,6 KB

Capa de Red y Protocolos Auxiliares

1. Protocolo IP (Internet Protocol)

El protocolo IP tiene como funciones principales el direccionamiento, la fragmentación y reensamblado, y el encaminamiento de datagramas.

  • Longitud de dirección: 4 bytes (32 bits), organizados en prefijo de red + identificador de host.
  • Direccionamiento por clases (obsoleto):
    • Clase A: Comienza en 0 (8 bits de red, 24 bits de host).
    • Clase B: Comienza en 10 (16 bits de red, 16 bits de host).
    • Clase C: Comienza en 110 (24 bits de red, 8 bits de host).
    • Clase D: Comienza en 1110 (reservado para tráfico multicast).
  • CIDR (Classless Inter-Domain Routing): Diseñado para mitigar el agotamiento de direcciones por clases mediante el concepto de máscara de red de longitud variable.
  • Direcciones IP privadas: Reservadas para redes locales; no se enrutan en Internet.
    • Clase A: 10.0.0.0 a 10.255.255.255 (1 bloque de clase A).
    • Clase B: 172.16.0.0 a 172.31.255.255 (16 bloques de clase B).
    • Clase C: 192.168.0.0 a 192.168.255.255 (256 bloques de clase C).
  • Direcciones Multicast: Rango 224.0.0.0/4 para identificar grupos de hosts en un segmento de red. Ejemplos: 224.0.0.1 (todos los hosts), 224.0.0.2 (todos los routers), 224.0.0.251 (mDNS). Relación con la capa MAC: el mapeo se deriva del final de la dirección (por ejemplo, 0.0.1 mapea a 01:00:5e:00:00:01).

Cabecera del Datagrama IP

Longitud de cabecera: 20 a 60 bytes. Campos:

  • VER: Versión (4 bits).
  • HLEN: Longitud de la cabecera (4 bits).
  • DS: Servicios Diferenciados / QoS (8 bits).
  • Total Length: Longitud total del datagrama (16 bits).
  • Identification: Identificador del paquete (16 bits).
  • Flags: Banderas de control de fragmentación (3 bits).
  • Fragmentation Offset: Desplazamiento del fragmento (13 bits).
  • Time to Live (TTL): Tiempo de vida en saltos (8 bits).
  • Protocol: Protocolo de capa superior (8 bits).
  • Header Checksum: Suma de comprobación de la cabecera (16 bits).
  • Source IP Address: Dirección IP de origen (32 bits).
  • Destination IP Address: Dirección IP de destino (32 bits).
  • Options: Opciones y relleno (longitud variable).

2. Protocolo ARP (Address Resolution Protocol)

La tabla ARP traduce direcciones de nivel de red (IP) a nivel de enlace (MAC), almacenando las direcciones físicas de los equipos con los que se ha interactuado.

Formato del paquete ARP:

  • Hardware Type (HWtype): Tipo de hardware (16 bits).
  • Protocol Type (ProtcType): Tipo de protocolo (16 bits).
  • Hardware Length (HLEN): Longitud de dirección MAC (8 bits).
  • Protocol Length (PLEN): Longitud de dirección IP (8 bits).
  • Operation: Código de operación: solicitud (request) o respuesta (reply) (16 bits).
  • Hardware Sender Address (HWsenderAddr): Dirección MAC origen (48 bits).
  • Sender IP Address: Dirección IP origen (32 bits).
  • Target Hardware Address (TargetHWaddr): Dirección MAC destino (48 bits).
  • Target IP Address: Dirección IP destino (32 bits).

3. Protocolo ICMP (Internet Control Message Protocol)

Proporciona control e informe de errores en la capa de red.

  • Mensajes de Error: Tipo 3 (Destination Unreachable), Tipo 4 (Source Quench), Tipo 11 (Time Exceeded).
  • Mensajes Informativos: Tipo 0 (Echo Reply), Tipo 8 (Echo Request).
  • Formato de la cabecera ICMP: Tipo ICMP (8 bits), Código (8 bits), Checksum (16 bits), Parámetros específicos según tipo [Identificador (16 bits), Número de secuencia (16 bits), Datos (variable)].

4. Protocolo DHCP (Dynamic Host Configuration Protocol)

Permite configurar automáticamente parámetros de red (dirección IP, máscara de subred, servidores DNS, puerta de enlace) en los clientes. Opera bajo modelo Cliente/Servidor sobre UDP (puertos 67 para servidor y 68 para cliente).

Ciclo de estados DHCP:

  1. DHCP Discover: El cliente emite un mensaje broadcast para localizar servidores disponibles.
  2. DHCP Offer: Los servidores responden con una oferta de configuración IP.
  3. DHCP Request: El cliente responde en broadcast aceptando una de las ofertas recibidas.
  4. DHCP Ack (Pack): El servidor confirma la concesión y fija los parámetros finales.
  5. DHCP Release: El cliente notifica al servidor la liberación de la IP asignada.

Formato de trama DHCP: OpCode (8 bits), HWtype (8 bits), HWlen (8 bits), HopCount (8 bits), TransId (32 bits), NºSecs (16 bits), Flags (16 bits), Client IP, Your IP, Server IP, Gateway IP, Client MAC (16 bytes/chasis), Server Name (64 bytes), BootFileName (128 bytes), Opciones.

Capa de Transporte y Protocolo TCP

1. Características y Servicios de TCP

El protocolo TCP es fiable y orientado a la conexión. Incluye:

  • Control de errores: Mediante ventana deslizante, suma de comprobación (checksum), numeración secuencial de segmentos, confirmaciones acumulativas y selectivas (SACK), retransmisión de segmentos perdidos/erróneos y temporizadores.
  • Servicios ofrecidos: Comunicación lógica proceso a proceso mediante puertos, flujo bidireccional continuo de datos (full-duplex) y multiplexación.

Ventana de envío

Está compuesta por los bytes enviados y no confirmados, más los bytes enviados que no requieren confirmación inmediata. La ventana es fijada activamente por el receptor y se desliza a medida que llegan los reconocimientos (ACKs).

Formato del Segmento TCP

  • Source Port: Puerto origen (16 bits).
  • Destination Port: Puerto destino (16 bits).
  • Sequence Number: Número de secuencia (32 bits).
  • Acknowledgment Number: Número de ACK (32 bits).
  • HLEN: Longitud de cabecera / Data Offset (4 bits).
  • Reserved: Bits reservados (6 bits).
  • Flags de control: URG, ACK, PSH, RST, SYN, FIN.
  • Window Size: Tamaño de la ventana del receptor (16 bits).
  • Checksum: Suma de comprobación (16 bits).
  • Urgent Pointer: Puntero urgente (16 bits).
  • Options: Opciones TCP (variable).

2. Temporizadores TCP y RTT

  • Temporizador de Retransmisión (RTO): Calcula la media ponderada del tiempo de ida y vuelta: RTTm (medido), RTTs (suave/estimado) y RTTd (desviación) mediante el algoritmo de Jacobson; varianza calculada según Karels y manejo de retransmisiones según Karn.
  • Keepalive Timer: Controla el tiempo máximo que una conexión puede permanecer inactiva en silencio.
  • Time-Wait Timer: Mantiene abierto el estado tras el cierre activo para asegurar el último ACK y evitar colisiones entre conexiones sucesivas.
  • Persistence Timer: Previene bloqueos cuando el receptor anuncia un tamaño de ventana igual a 0.

3. Síndrome de la Ventana Trivial (Silly Window Syndrome)

Ocurre cuando el emisor genera datos a un ritmo muy lento o el receptor los consume muy despacio, generando cabeceras desproporcionadamente grandes para cargas útiles mínimas.

  • Solución en el emisor (Algoritmo de Nagle): Envía el primer byte o bloque disponible; los datos subsecuentes se acumulan hasta recibir un ACK, alcanzar el MSS (Maximum Segment Size) o agotar el temporizador.
  • Solución en el receptor (Algoritmo de Clark): Evita anunciar ventanas pequeñas manteniendo la ventana en 0 hasta poder procesar un segmento de tamaño MSS completo o liberar al menos la mitad del buffer receptor. Adicionalmente, se retrasan los ACKs (máximo 500 ms).

4. Control de Congestión en TCP

Alinea la tasa de emisión con el ritmo de recepción de ACKs a través de la Ventana de Congestión (CW). La cantidad máxima de bytes transmitidos es: min{RW, CW} (donde RW es la ventana del receptor).

  • Fases de CW:
    • Arranque lento (Slow Start): CW crece exponencialmente (duplicándose por cada RTT) desde 1 MSS hasta alcanzar el umbral ssthresh (típicamente 64 KB).
    • Evitación de congestión (Congestion Avoidance): A partir del umbral, CW crece de forma lineal (+1 MSS por cada RTT).
    • Fase constante: CW alcanza la capacidad máxima disponible (CW = RW).
  • Manejo de eventos de pérdida:
    • 3 ACKs duplicados (Congestión leve): Se reduce CW a la mitad y se pasa directamente a la fase de evitación de congestión (Fast Retransmit / Fast Recovery).
    • Expiración del temporizador RTO (Congestión severa): Se reinicia CW a 1 MSS y se vuelve a la fase de arranque lento.

Cortafuegos (Firewalls) e IPTables

Un firewall se encarga de filtrar, registrar y traducir tráfico de red.

  • Tipos según inspección: Por estado (stateful, evalúa el estado completo de la conexión) o por paquete individual (stateless).
  • Tipos según nivel de red: Inspección de cabeceras de transporte/red (IP, TCP, UDP) o de capa de aplicación (HTTP, DNS, etc.).

IPTables: Tablas, Cadenas y Reglas

La estructura se compone de reglas agrupadas en cadenas, pertenecientes a tablas:

  • Tabla Filter: Filtrado estándar de paquetes. Cadenas: INPUT, OUTPUT, FORWARD.
  • Tabla NAT: Traducción de direcciones de red. Cadenas: PREROUTING, POSTROUTING, OUTPUT.
  • Tabla Mangle: Modificación avanzada de campos en paquetes (como el MSS, TTL, TOS). Aplica a todas las cadenas.

Tipos de NAT y Reglas Comunes

  • NAT Estática: Correspondencia uno a uno (N a N).
  • NAT Dinámica: Conjunto de IPs privadas sobre conjunto de IPs públicas (M a N).
  • NAPT / Sobrecarga: Múltiples direcciones privadas sobre una única IP pública diferenciadas por puerto (M a 1).
  • Ejemplo SNAT (Source NAT):
    iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to 175.20.12.1
  • Ejemplo Masquerade (para IPs públicas dinámicas):
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  • Ejemplo DNAT (Destination NAT / Port Forwarding): Redirección de puerto y dirección IP de destino:
    iptables -t nat -A PREROUTING -d destinoPublico -p tcp --dport 25 -j DNAT --to iplocal

Sistema de Nombres de Dominio (DNS)

DNS es una base de datos distribuida y jerárquica orientada a la resolución de nombres en direcciones IP y viceversa. Funciona principalmente sobre UDP (puerto 53).

  • Estructura jerárquica: 13 servidores raíz (root) en el vértice, seguidos de los TLDs (Top Level Domains: genéricos como .com o geográficos como .es), subdominios y zonas.
  • FQDN (Fully Qualified Domain Name): Nombre de dominio completamente cualificado (ejemplo: www.ucm.es.). Limitaciones: máximo 256 caracteres en total y máximo 63 caracteres por sección o etiqueta.

Cabecera y Formato del Mensaje DNS

  • Campos: Identificador (ID, 16 bits), Banderas de control (Flags, 16 bits), Número de registros de pregunta (QDCOUNT), Número de registros de respuesta (ANCOUNT), Número de registros de autoridad (NSCOUNT) y Número de registros adicionales (ARCOUNT).

Mecanismos de Resolución y Tipos de Servidores

  • Resolución recursiva: El servidor DNS asume la responsabilidad completa de resolver la consulta de principio a fin, consultando desde la raíz hasta obtener la respuesta definitiva.
  • Resolución iterativa (no-recursiva): Si el servidor no posee el registro, devuelve una referencia al siguiente servidor autoritativo de la jerarquía.
  • Almacenamiento en caché: Optimiza el tráfico reduciendo consultas redundantes. El tiempo de persistencia está regido por el TTL (Time To Live, configurable: zona, dominio, host). Permite además caché negativa para registrar búsquedas fallidas.
  • Clasificación de servidores:
    • Autoritativos: Poseen los datos oficiales de una zona. Se dividen en primarios/maestros (mantienen la versión editable) y secundarios/esclavos (obtienen réplicas de los primarios; se recomienda al menos un secundario por zona).
    • Caché y Recursivos: Consultan desde los servidores raíz y almacenan localmente los resultados obtenidos.

Clases y Registros de Recursos (RR) Comunes

Definidos en archivos de texto denominados zonefiles:

  • Clases de DNS: IN (Internet), HS (Hesiod, interno), CH (Chaosnet).
  • Tipos principales de RR:
    • SOA (Start of Authority): Define el inicio de una zona y sus parámetros globales (zonas directa e inversa).
    • NS (Name Server): Especifica los servidores de nombres autoritativos para la zona.
    • A / AAAA: Mapea nombres de host a direcciones IPv4 (A) o IPv6 (AAAA).
    • PTR (Pointer): Mapeo inverso de dirección IP a nombre de dominio.
    • MX (Mail Exchange): Servidores de intercambio de correo electrónico para el dominio.
    • CNAME (Canonical Name): Alias que apunta a un nombre canónico existente (los registros MX y NS nunca deben apuntar a un registro CNAME).

Descargar

PDF Word HTML