한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Libro blanco del lag en juegos › Causas raíz de la retransmisión TCP

Desajuste de dúplex Duplex mismatch

ID de la causa rt-duplex · Responsable principal Infraestructura de red (Equipo de infraestructura) · También Infraestructura de servidores (Equipo de infraestructura)

Abrir la ficha interactiva con gráficos y simulaciones →

Si un extremo usa autonegociación y el otro tiene la velocidad y el dúplex fijos, un lado acaba funcionando en half-duplex (semidúplex) y pierde paquetes por colisiones cada vez que hay carga.

Por qué Solo un extremo tiene la velocidad y el dúplex fijados a mano → Efecto Un lado funciona en full-duplex y el otro en half-duplex, y se producen colisiones y colisiones tardías → En pantalla Normalmente todo va bien, pero cuando sube el tráfico todos los jugadores que pasan por ese dispositivo sufren congelamiento seguido de cámara rápida

Síntomas
Congelamiento, Cámara rápida
Factores
Pérdida de paquetes
A quién afecta
Todo el servidor, Una zona o un canal
Cuándo
Cuando se junta mucha gente, Horas pico de la noche
Responsable
Responsable principal Infraestructura de red (Equipo de infraestructura) · También Infraestructura de servidores (Equipo de infraestructura)
Tareas (Equipo de infraestructura)
Poner los dos extremos en autonegociación o fijar el mismo valor en ambos. Red: comprobar la velocidad y el dúplex en el estado del puerto del switch, y revisar en los contadores del puerto si suben las colisiones tardías en el lado half-duplex y los errores CRC y las tramas demasiado cortas (runts) en el lado full-duplex. Servidores/SO: comprobar la velocidad y el dúplex con ethtool.
Cifras de referencia
En cobre a 1 Gbps la autonegociación es obligatoria, y a 10 Gbps o más ni siquiera existe el half-duplex. Por eso hoy aparece sobre todo en dispositivos antiguos de 100 Mbps o menos, en puertos de gestión y en algunos puntos de conexión con enlaces de operadores.
En el gráfico
Sube con la carga · Colisiones tardías y errores CRC del puerto, tasa de retransmisión
Dónde mirar
Velocidad y dúplex reales de los dos extremos del enlace. En el servidor, ethtool ejecutado solo con el nombre de la interfaz; en el switch, el estado del puerto o dot3StatsDuplexStatus por SNMP. Mirar también las colisiones tardías (tx_window_errors en el servidor, dot3StatsLateCollisions en el switch) y los errores CRC
Se confirma si
Un lado aparece en half-duplex y el otro en full-duplex. Cada vez que sube el tráfico, aumentan a la vez las colisiones tardías en el lado half-duplex y los errores CRC en el lado full-duplex
Se descarta si
Si la velocidad y el dúplex coinciden en ambos lados y solo suben los CRC, apunta a “Errores físicos (cables, transceptores ópticos o conectores defectuosos)”. Los enlaces de 10 Gbps o más no tienen half-duplex, así que se descartan como causa
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)

Fuentes

  1. Linux Base Driver for Intel(R) Ethernet Network Connection Linux kernel
    La norma 1000BASE-T exige autonegociación
  2. IEEE 802.3ae 10 Gigabit Ethernet: HSSG Objectives IEEE
    10 Gigabit Ethernet solo admite full-duplex
  3. IEEE P802.3ba Objectives IEEE
    40 y 100 Gigabit Ethernet también admiten solo full-duplex
  4. Interface statistics Linux kernel
    tx_window_errors: transmisiones fallidas por colisión tardía (late collision); rx_crc_errors: paquetes recibidos con error CRC
  5. ethtool(8) — Linux manual page ethtool
    speed, duplex y autoneg de ethtool -s configuran la velocidad, el dúplex y la autonegociación; con solo el nombre de la interfaz, muestra la configuración actual
  6. RFC 3635: Definitions of Managed Objects for the Ethernet-like Interface Types IETF
    dot3StatsDuplexStatus (indica el dúplex actual con halfDuplex o fullDuplex), dot3StatsLateCollisions (número de colisiones tardías)

Ver también

Misma capa: Causas raíz de la retransmisión TCP

Causas de otras capas con el mismo síntoma (Congelamiento)

Ver la ficha interactiva con gráficos y simulaciones