root@blog:~# Pavel Butzmann

// Ciberseguridad, historia de IT, Redes Cisco & Automatización, python, linux and more

jueves, 22 de octubre de 2026

Arquitectura de Redes Empresariales: Análisis Comparativo y Exhaustivo entre los Modelos OSI y TCP/IP

Introducción y Conceptos Fundamentales

En el diseño, operación y resolución de incidencias dentro de infraestructuras de telecomunicaciones complejas, la abstracción por capas es el pilar metodológico indispensable. Dos marcos dominan el léxico técnico: el modelo de Referencia de Interconexión de Sistemas Abiertos (OSI, ISO/IEC 7498-1) y la suite de protocolos de Internet (comúnmente conocida como arquitectura TCP/IP o modelo DoD). Como arquitectos de red, es imperativo entender que estos dos modelos no son meramente listas académicas, sino dos filosofías de ingeniería de sistemas radicalmente distintas.

El modelo OSI fue concebido a finales de la década de 1970 por la Organización Internacional de Normalización (ISO) como un estándar normativo y prescriptivo. Su objetivo primordial era definir con rigor matemático y funcional la separación entre servicios, interfaces y protocolos. Establece una jerarquía estricta de siete capas:

  • Capa 7 - Aplicación: Interfaz con las aplicaciones de usuario final y servicios de red directos.
  • Capa 6 - Presentación: Sintaxis, serialización, compresión y criptografía (ej. ASN.1, TLS).
  • Capa 5 - Sesión: Establecimiento, gestión y terminación de sesiones de comunicación (ej. RPC, NetBIOS).
  • Capa 4 - Transporte: Transferencia de datos de extremo a extremo, control de flujo, multiplexación y fiabilidad.
  • Capa 3 - Red: Direccionamiento lógico jerárquico, conmutación de paquetes y determinación de rutas (enrutamiento).
  • Capa 2 - Enlace de Datos: Direccionamiento físico, control de acceso al medio (MAC) y detección/corrección de errores de trama.
  • Capa 1 - Física: Transmisión de cadenas de bits no estructuradas sobre un medio físico mecánico, eléctrico u óptico.

Por otro lado, la arquitectura TCP/IP, desarrollada inicialmente por DARPA (Defense Advanced Research Projects Agency), adoptó una metodología descriptiva y pragmática basada en el lema fundacional del IETF: rough consensus and running code (consenso aproximado y código en ejecución). TCP/IP colapsa deliberadamente las capas 5, 6 y 7 del modelo OSI en una única capa de Aplicación monolítica ejecutada en el espacio de usuario (user space). Asimismo, en sus especificaciones clásicas (RFC 1122), fusiona las capas 1 y 2 en la capa de Acceso a la Red (Link/Network Access Layer), conformando un modelo de cuatro capas: Aplicación, Transporte, Internet y Acceso a la Red.

La diferencia esencial radica en su acoplamiento: mientras OSI define límites estrictos donde una capa inferior jamás inspecciona ni asume la lógica de la superior, TCP/IP prioriza la eficiencia en la conmutación y la resiliencia en entornos heterogéneos, permitiendo optimizaciones cruzadas que han permitido la escalabilidad global de Internet.

¿Cómo funciona técnicamente paso a paso?

El proceso mediante el cual los datos viajan desde un proceso en el espacio de usuario emisor hasta el espacio de usuario receptor se rige por los mecanismos complementarios de encapsulamiento y desencapsulamiento.

A continuación se describe el ciclo de vida completo de un paquete a nivel de arquitectura:

  • Fase 1: Generación de Datos en Espacio de Usuario (Capas 7 a 5 OSI / Capa de Aplicación TCP/IP): Un proceso emisor (por ejemplo, un servidor web que responde a una solicitud HTTP/2 o HTTP/3) genera un flujo de datos (Stream). En TCP/IP, las funciones de serialización (Capa 6) y cifrado criptográfico (Capa 6, como OpenSSL implementando TLS 1.3) se ejecutan dentro del mismo contexto de ejecución o biblioteca del sistema. La delimitación de sesión (Capa 5) se resuelve mediante el protocolo de aplicación o los identificadores de flujo del protocolo de transporte. La Unidad de Datos de Protocolo (PDU) en esta etapa se denomina genéricamente Datos o Application Payload.
  • Fase 2: Segmentación y Control de Extremo a Extremo (Capa 4 - Transporte): La aplicación entrega los datos al kernel del sistema operativo a través de una llamada al sistema (ej. send() o write() a un socket POSIX). El subsistema de red del kernel divide el búfer en fragmentos que se ajusten al Tamaño Máximo de Segmento (MSS). Si se utiliza TCP, se añade un encabezado de 20 a 60 bytes. Se asignan los puertos de origen y destino para la multiplexación, se asigna el número de secuencia inicial y se gestionan los algoritmos de control de congestión (CUBIC, BBR) y ventana deslizante. La PDU resultante es el Segmento (o Datagrama si se utiliza UDP).
  • Fase 3: Encapsulación de Red y Enrutamiento (Capa 3 - Internet / Red): El segmento TCP desciende a la capa de red del kernel. Aquí se añade el encabezado IP (IPv4 o IPv6). El kernel realiza una búsqueda en su tabla de enrutamiento local (FIB - Forwarding Information Base) para determinar la interfaz de salida y el salto siguiente (Next-Hop IP). En el encabezado IPv4 se especifican las direcciones IP de origen y destino, el Tiempo de Vida (TTL) para prevenir bucles de enrutamiento, y el identificador de protocolo (ej. 0x06 para TCP). La PDU resultante es el Paquete.
  • Fase 4: Tramado y Delimitación Física (Capa 2 - Enlace de Datos): El paquete se transfiere al controlador de la tarjeta de interfaz de red (NIC). El controlador o el hardware determinan la dirección física (MAC) del siguiente salto mediante una consulta a la tabla ARP (o Neighbor Discovery Protocol en IPv6). Se construye la trama Ethernet II: se añade un encabezado MAC (dirección MAC destino, MAC origen y el campo EtherType, ej. 0x0800 para IPv4) y un remolque conocido como Frame Check Sequence (FCS), que contiene un CRC32 de redundancia cíclica. La PDU resultante es la Trama.
  • Fase 5: Serialización y Transmisión de Señal (Capa 1 - Física): La NIC, a través de su chip PHY (Physical Layer Transceiver), convierte la trama Ethernet en una secuencia de bits. Aplica esquemas de codificación de línea (como 8b/10b, 64b/66b o modulaciones PAM4 en interfaces modernas de 100G/400G) para garantizar la sincronización del reloj y el balance de corriente continua. Los bits se transforman en pulsos eléctricos a través de cobre (RJ-45/DAC) o modulaciones lumínicas sobre fibra óptica monomodo/multimodo.
  • Fase 6: Recepción y Desencapsulación: En el receptor, el hardware PHY valida la integridad física de la señal, extrae los bits y reconstruye la trama. El controlador de red calcula el CRC32; si coincide con el FCS, descarta el remolque y entrega la trama al stack de red del kernel. Se procesa la Capa 2 (verificando que la MAC destino sea propia o broadcast), se retira el encabezado Ethernet, se evalúa la Capa 3 (verificando IP, decrementando TTL en caso de routers intermedios), se evalúa la Capa 4 (reensamblado de segmentos TCP mediante búferes de recepción, validación de Checksum y envío de ACK), y finalmente los datos son copiados al búfer de lectura del socket de la aplicación receptora.

Análisis de Tramas y Encabezados de Red

Para comprender la sobrecarga protocolar (protocol overhead) y los puntos de inspección donde opera el hardware de conmutación y enrutamiento (ASICs de Capa 2 vs Capa 3), es crucial diseccionar la anatomía binaria de los encabezados más representativos.

A continuación se representa la concatenación en memoria de una trama Ethernet II transportando un paquete IPv4 y un segmento TCP:

+-------------------+--------------------+-------------------+---------------------+----------+
| Ethernet Header   | IPv4 Header        | TCP Header        | Payload (Datos)     | FCS      |
| (14 Bytes)        | (20 - 60 Bytes)    | (20 - 60 Bytes)   | (Variable)          | (4 Bytes)|
+-------------------+--------------------+-------------------+---------------------+----------+

La estructura detallada a nivel de campos y bits de cada encabezado fundamental se desglosa técnicamente de la siguiente forma:

ESTRUCTURA DE TRAMA ETHERNET II (14 Bytes fijos + 4 Bytes FCS):
 0                  1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Destination MAC Address (Bytes 0-3)         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Dest MAC (Bytes 4-5)        |    Source MAC Address (Bytes 0-1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Source MAC Address (Bytes 2-5)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    EtherType (ej. 0x0800)     |           Payload ...         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(Al final de la trama se añade el FCS / CRC-32 de 4 Bytes)

ESTRUCTURA DEL ENCABEZADO IPv4 (RFC 791 - 20 Bytes estándar):
 0                  1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  |Type of Service|            Total Length       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|     Fragment Offset     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Time to Live |    Protocol   |        Header Checksum        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Source IP Address                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Destination IP Address                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Options (opcional y variable)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ESTRUCTURA DEL ENCABEZADO TCP (RFC 793 - 20 Bytes base):
 0                  1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |       Destination Port        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence Number                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Acknowledgment Number                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Data |           |U|A|P|R|S|F|                               |
| Offset| Reserved  |R|C|S|S|Y|I|            Window             |
|       |           |G|K|H|T|N|N|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Checksum            |         Urgent Pointer        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Options (MSS, Window Scale, SACK, etc.)        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Campos críticos bajo la lupa de un arquitecto:

  • EtherType (Capa 2): Identificador de 16 bits que instruye al procesador de red qué controlador de Capa 3 debe parsear la carga útil. Si este campo contiene 0x8100, indica un etiquetado IEEE 802.1Q (VLAN), lo que desplaza el EtherType original 4 bytes a la derecha y altera el cálculo de MTU.
  • IHL e IP Flags (Capa 3): Internet Header Length especifica la longitud del encabezado en palabras de 32 bits. Si no hay opciones, su valor es 5 (20 bytes). Los flags DF (Don't Fragment) y MF (More Fragments) controlan la fragmentación. En arquitecturas modernas, el bit DF suele establecerse en 1 obligatoriamente para habilitar Path MTU Discovery (PMTUD).
  • Data Offset y Flags TCP (Capa 4): Data Offset indica dónde finaliza el encabezado TCP y comienzan los datos de aplicación. Los flags de control (SYN, ACK, FIN, RST, PSH) orquestan la máquina de estados de TCP. Un análisis riguroso de paquetes ante caídas de conexión busca específicamente paquetes con flag RST (Reset) activado o desconexiones unilaterales sin señalización FIN.

Escenarios del Mundo Real y Fallos Comunes

En infraestructuras de misión crítica (Data Centers, nubes híbridas y redes de campus), la divergencia conceptual entre capas es la fuente principal de fallos silenciosos y degradaciones de rendimiento. A continuación, se analizan los incidentes más complejos encontrados en producción y su correlación con las capas de red:

1. Agujeros Negros por Bloqueo de ICMP y Ruptura de PMTUD (Capas 3 y 4)

Escenario: Un cliente establece con éxito un handshake TCP (SYN, SYN-ACK, ACK) con un balanceador de carga o cluster Kubernetes a través de un túnel IPsec o encapsulamiento VXLAN. Sin embargo, al solicitar una carga útil grande (como un certificado TLS extendido o una respuesta HTTP JSON pesada), la sesión se congela indefinidamente hasta agotar el timeout de lectura.

Causa Raíz: Los paquetes iniciales son pequeños y viajan sin problema. Cuando el servidor intenta enviar un paquete equivalente a la MTU estándar (1500 bytes), el encapsulamiento del túnel (GRE, VXLAN o IPsec ESP) añade entre 24 y 70 bytes de encabezados extra, requiriendo una MTU de transmisión superior a la permitida por la interfaz de salida física (1500 bytes). Dado que el servidor marca el bit DF (Don't Fragment) en 1, el router intermediario descarta el paquete y emite un mensaje ICMP Tipo 3, Código 4 (Destination Unreachable, Fragmentation Needed and DF set). Si los administradores de seguridad han bloqueado indiscriminadamente todo el tráfico ICMP en sus firewalls perimetrales mediante políticas ciegas, este mensaje se descarta. El servidor nunca se entera de que debe reducir su tamaño de paquete, produciéndose un "ICMP Blackhole".

Mitigación Técnica:

  • Permitir explícitamente ICMP Tipo 3 Código 4 en todas las tablas de estado de los firewalls.
  • Implementar MSS Clamping en los routers de borde o concentradores VPN mediante reglas de firewall:
    iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    Esto reescribe el valor del campo MSS en el encabezado TCP durante la negociación inicial para forzar a los extremos a no exceder el espacio disponible.

2. Bucles de Conmutación y Tormentas de Broadcast (Capa 2)

Escenario: La utilización de CPU de todos los switches de un armario de distribución alcanza el 100%, las tablas de direcciones MAC (CAM tables) sufren de "flapping" o sobreescritura constante (miles de cambios por segundo), y los servidores dejan de responder a peticiones ARP legítimas.

Causa Raíz: Una conexión redundante no intencionada sin una implementación convergente de Spanning Tree Protocol (STP / RSTP / MSTP). Como las tramas de Ethernet de Capa 2 carecen de un campo TTL (Time to Live) que limite su ciclo de vida, una trama de difusión (Broadcast, como un ARP Request hacia FF:FF:FF:FF:FF:FF) se multiplica exponencialmente en bucle cerrado a velocidad de línea física (line-rate), saturando el plano de control y agotando el ancho de banda del canal.

Mitigación Técnica: Configurar mecanismos de protección de Capa 2 en todos los puertos de acceso de conmutación: BPDU Guard, Root Guard, y limitar el tráfico de difusión mediante Storm Control configurado a porcentajes no disruptivos (< 1% de la capacidad del enlace).

3. Agotamiento de Ventana TCP y Starvation por Buffer de Aplicación (Capas 4 y 7)

Escenario: En una transferencia masiva de datos (ej. replicación de base de datos o almacenamiento masivo iSCSI), el rendimiento colapsa abruptamente a cero bytes por segundo de forma intermitente, registrando alta latencia pese a disponer de enlaces troncales de 40 Gbps desocupados.

Causa Raíz: El problema no reside en la red física, sino en el consumo del espacio de usuario (Capa 7) que repercute en el control de flujo de Capa 4. Si la aplicación receptora se bloquea por contención de I/O de disco o agotamiento de threads, no puede invocar la llamada recv() en el socket. En consecuencia, el búfer de recepción del kernel (tcp_rmem) se llena completamente. La pila TCP del receptor genera un segmento con el campo Window Size = 0 (TCP Zero Window). El emisor suspende inmediatamente la transmisión y entra en un estado de persistencia enviando sondas periódicas (TCP Zero Window Probes), deteniendo la infraestructura por una ineficiencia pura de aplicación.

Mitigación Técnica: Diferenciar con analizadores de paquetes (como Wireshark o tcpdump) el Network Latency del Application Processing Time. Si se observan notificaciones TCP Window Full seguidas de TCP ZeroWindow, el ajuste no debe realizarse en las interfaces de red ni en las rutas BGP, sino optimizando la concurrencia asíncrona, redimensionando los buffers de sockets mediante SO_RCVBUF en código y ajustando los parámetros del kernel en /etc/sysctl.conf (net.ipv4.tcp_rmem y net.core.rmem_max).

4. Enrutamiento Asimétrico e Inconsistencia de Estado de Firewalls (Capas 3 y 4)

Escenario: Una máquina virtual en una subred privada puede enviar paquetes a un host en otra sede a través de MPLS, pero las conexiones se caen transcurridos unos segundos o se rechazan de inmediato las respuestas entrantes que viajan por una ruta secundaria de respaldo SD-WAN.

Causa Raíz: La topología de Capa 3 permite que el paquete de ida (SYN) atraviese el Firewall A, el cual registra la entrada en su tabla de seguimiento de conexiones (Stateful Connection Tracking Table). Sin embargo, debido a métricas de enrutamiento dinámico (OSPF/BGP) desbalanceadas, el paquete de respuesta (SYN-ACK) del destino retorna a través del Firewall B. El Firewall B no tiene registro previo de la sesión y, conforme a la lógica estricta de Capa 4 implementada en su motor de inspección, descarta el paquete clasificándolo como un paquete no solicitado (Out-of-State TCP Packet), enviando un TCP RST al cliente.

Mitigación Técnica: Diseñar la arquitectura con simetría estricta de tráfico mediante políticas de enrutamiento basadas en origen (Source-Based Routing), clústeres de firewalls con sincronización activa de estados de conexión (HA State Synchronization vía enlaces dedicados heartbeat), o el uso de identificadores de conexión basados en túneles simétricos (Overlay networks).




No hay comentarios.:

Publicar un comentario