Negociación en protocolos de red: Cómo los dispositivos acuerdan las reglas de comunicación

En redes, la negociación es el proceso automatizado mediante el cual dos o más dispositivos intercambian capacidades y acuerdan parámetros comunes antes (o durante) la transferencia de datos. Garantiza compatibilidad, optimiza el rendimiento y permite la interoperabilidad entre equipos heterogéneos.

Concepto central

Cada dispositivo anuncia sus opciones admitidas (velocidad, dúplex, cifrado, compresión, tamaño de ventana, etc.). Luego se decantan por el máximo común denominador o un subconjunto mutuamente aceptable. No se requiere intervención humana; lo define el estándar del protocolo.

Ejemplos clave

1. TCP Three-Way Handshake (negociación de conexión)

Cliente → SYN (seq=x, ventana=64240, MSS=1460, SACK_OK, WS=128) Servidor → SYN-ACK (seq=y, ack=x+1, ventana=64240, MSS=1460, SACK_OK, WS=128) Cliente → ACK (seq=x+1, ack=y+1) 
  • Negociado: Números de secuencia iniciales (ISN), Tamaño Máximo de Segmento (MSS), Escalado de ventana (WS), Selective ACK (SACK), Marcas de tiempo.
  • Propósito: Sincronizar estado, acordar tamaños de búfer y funciones de confiabilidad.

2. DHCP (Protocolo de Configuración Dinámica de Host)

Cliente → DISCOVER (difusión) Servidor → OFFER (IP=192.168.1.50, máscara=255.255.255.0, puerta de enlace=192.168.1.1, DNS=8.8.8.8, concesión=86400s) Cliente → REQUEST (solicita IP ofrecida) Servidor → ACK (confirma concesión) 
  • Negociado: Dirección IP, máscara de subred, puerta de enlace predeterminada, servidores DNS, tiempo de concesión, servidores NTP, WPAD, opciones específicas del proveedor.
  • Propósito: Automatizar la configuración de red; evitar conflictos.

3. Auto-negociación Ethernet (IEEE 802.3u/Cláusula 28)

  • Anunciado: Velocidad (10/100/1000/2.5G/10G), Dúplex (Medio/Total), Control de flujo (tramas de pausa), Maestro/Esclavo (para 1000BASE-T).
  • Resolución: Velocidad más común más alto + Dúplex total si ambos lo admiten. Detección paralela para socios legacy.
  • Falla: Desajuste (por ejemplo, un lado forzado 100/Total, otro Automático) → colisiones, errores, desajuste de dúplex.

4. Handshake TLS/SSL (negociación de seguridad)

  • Client Hello: Conjuntos de cifrado admitidos, versiones TLS, extensiones (SNI, ALPN).
  • Server Hello: Cifrado seleccionado, versión, certificado.
  • Negociado: Conjunto de cifrado (por ejemplo, TLS_AES_256_GCM_SHA384), intercambio de claves (ECDHE), versión del protocolo (TLS 1.3).

5. Asociación Wi-Fi (802.11)

  • Solicitud/Respuesta de sondeo: Tasas admitidas, capacidades HT/VHT/HE, anchura de canal, MIMO, WPA3/2.
  • Negociado: Tasa de datos, canal, seguridad (WPA3-SAE vs WPA2-PSK), flujos espaciales.

Por qué importa la negociación

  • Interoperabilidad: Dispositivos nuevos y antiguos funcionan juntos.
  • Optimización: Mejor velocidad y seguridad disponibles sin configuración manual.
  • Resiliencia: Recurrir al denominador común más bajo si la opción preferida falla.

La negociación es la diplomacia invisible que hace que Internet, las LAN y las redes inalámbricas "funcionen" entre miles de millones de dispositivos diversos.