xSend Logo xSend

¿Abandonando QUIC por TCP? La contraintuitiva arquitectura de las transferencias LAN de xSend

¿Por qué una herramienta moderna de transferencia usaría QUIC en internet, pero volvería al primitivo TCP en una red local? Bienvenido a la filosofía de ingeniería pragmática de xSend.

En el gran río de la ingeniería de redes, QUIC es innegablemente la estrella brillante de la década. Ha reinventado la capa de transporte, presumiendo de apretones de manos 0-RTT y la eliminación del bloqueo de cabeza de línea.

No es de extrañar que xSend adopte completamente QUIC para sus transferencias de red de área amplia (WAN).

Sin embargo, si miras nuestro código fuente en src/lan.rs, descubrirás algo extraño: En el mejor entorno, tu red de área local (LAN), hemos abandonado el avanzado QUIC y vuelto al primitivo TCP.

1. El cuello de botella absurdo: Cuando la CPU asfixia a la tarjeta de red

En redes LAN de gigabits (1 Gbps) o 10 Gbps, el ancho de banda físico rara vez es el cuello de botella. El verdadero campo de batalla se desplaza a las llamadas al sistema (syscalls) de la CPU.

QUIC simula el control de congestión dentro del Espacio de Usuario (User-Space). Cuando las velocidades de LAN superan los 100 MB/s, la CPU se satura al 100%.

¿Y el TCP? El TCP es infraestructura pura en el Espacio del Kernel (Kernel-Space). Las tarjetas de red modernas tienen características de descarga (TOE), calculando sumas de comprobación en hardware sin despertar a la CPU. En una LAN perfecta, TCP es el rey absoluto del rendimiento.

2. Las armas de QUIC se vuelven un lastre

  • Handshakes 0-RTT: Ahorrar 1 ms en un ping local de 0.5 ms es imperceptible.
  • Sin bloqueo de cabeza de línea: En una red local conectada a un switch fiable, la pérdida de paquetes es 0.000%.
  • Migración de conexión: Nadie cambia de Wi-Fi a 5G en medio de una transferencia LAN grande.

En LAN, QUIC es solo una carga de rendimiento puro.

3. El Kevlar Minimalista del TCP: ChaCha20-Poly1305

¿Cómo garantizamos la seguridad en la red interna? xSend emplea “Minimalismo Violento”:

  1. Establecemos una conexión TCP limpia y larga.
  2. Intercambio X25519 de claves simétricas.
  3. Usamos la encriptación ChaCha20-Poly1305 directamente sobre la transmisión TCP cruda en fragmentos de 2MB.

Minimizamos la interferencia del espacio de usuario con el kernel subyacente.

4. Evitando los bloqueos QoS

Los routers corporativos o universitarios a menudo prohíben tráficos UDP intensivos al confundirlos con descargas P2P fraudulentas o ataques DDoS. El TCP, en cambio, es tratado de forma “amable” y catalogado como tráfico legítimo.

Conclusión

La gran arquitectura no consiste en amontonar la rueda más nueva en todos los agujeros. Utilizamos QUIC en WAN por su resiliencia; y TCP acelerado en LAN, porque no necesitas llantas todo terreno en tu propia autopista de diez carriles.