Transferir archivos con un cable Ethernet directo: 6,7 GB por minuto

Transfer files over an Ethernet patch cable

Conectar dos computadoras con un simple cable Ethernet y un par de comandos IP permite transferir archivos a velocidades de unos 900 Mbit/s, mucho más rápido que USB o almacenamiento en la nube. El autor explica cómo configurar la conexión punto a punto con IPv6 y socat, y compara esta opción con alternativas como la nube, WiFi o dispositivos USB, destacando las ventajas de Ethernet para transferencias locales de gran tamaño.

Realmente, Ethernet es la única conexión común que puede alcanzar de forma fiable velocidades de gigabits entre dos dispositivos aleatorios con cables económicos.
  1. rmunn

    Eso solía requerir un cable cruzado; hice exactamente eso (con un cable cruzado) antes de que https://en.wikipedia.org/wiki/Medium-dependent_interface#Aut... se generalizara. Con un cable directo, conectarías el pin de Transmisión (TX) de un adaptador al pin TX del otro, y el pin de Recepción (RX) de uno al pin RX del otro — y ningún dispositivo "escucharía" los mensajes que el otro enviaba. Un cable cruzado invertía esos cables, de modo que el pin TX de cada dispositivo se conectaba al pin RX del otro extremo, y ambos dispositivos podían "escucharse" entre sí.

    Pero con auto MDI-X, cada dispositivo notaría "oye, estoy enviando pero no recibo nada", e intentaría invertir sus funciones de Transmisión y Recepción (transmitiendo en el pin RX y recibiendo en el pin TX). Como cada dispositivo esperaba un período aleatorio antes de hacer eso, era muy poco probable (casi imposible) que ambos se invirtieran exactamente al mismo tiempo. Y si lo hacían, el segundo intervalo tampoco sería idéntico en la mayoría de los casos.

    Estoy simplificando un poco en la explicación anterior, pero esa es la idea general. Y así es como mis cables cruzados cuidadosamente etiquetados empezaron a acumular polvo. (Y luego me di cuenta: "oye, espera, ahora puedo usarlos como cables normales", y los saqué del almacenamiento y los mezclé con mis cables de conexión normales).

  2. steve1977

    Personas descubriendo que los cables de red se pueden usar para conectar dispositivos en red. Y luego llamándolo un "truco" (me sorprende que no lo llamen "hack" en realidad).

  3. yjftsjthsd-h

    Estoy 95% seguro de que no necesitas asignar IPs. Haz esto:

    # ping a todos los dispositivos link-local en una interfaz:

    ping ff02::1%eth0

    Y luego haz tu socat/rsync/lo que sea a la única IP que responda.

  4. yitchelle

    Esto me recuerda los buenos viejos días de 8 bits cuando usaba un cable cruzado RS232 para enviar un archivo de una computadora a otra. Incluso a 30 bps, era mucho más confiable que escribir mis datos en una cinta de casete en una computadora y luego leerlos en la otra.

  5. sgt

    Aún más fácil en macOS.

    Algo así debería funcionar:

    ifconfig enX inet6 fd42:dead:beef::1 prefixlen 48

    No necesitas activarla porque ya debería estar activa. enX debería ser tu adaptador Ethernet USB/thunderbolt, por ejemplo en6.

    Luego puedes proceder a transferir con socat a la otra máquina, incluso si es una máquina Linux. Suelo usar nc, pero socat definitivamente será más rápido.

    ¿Por qué la red deadbeef, te preguntarás? Es espacio privado, así que no entrará en conflicto con direcciones públicas.

    Dicho esto, en el 99% de los casos con archivos grandes, ¡simplemente usaré AirDrop para transferir los archivos!

  6. 3r7j6qzi9jvnve

    tbstream parece divertido, pero difícil de usar para el usuario casual — no estoy seguro de si se simplificará, pero no creo que recuerde meterme con configfs solo para transferir un archivo:

    https://git.kernel.org/pub/scm/linux/kernel/git/westeri/thun...

  7. SillyUsername

    También puedes pasarlo por zstd sobre la marcha; para datos que se comprimen bien, a menudo verás 1.5 a 3 veces el rendimiento bruto, así que un enlace gigabit puede mover efectivamente 165–330MB/s.

    Receptor:

    socat -u TCP6-LISTEN:1234,reuseaddr STDOUT | zstd -d -c | tar -xpf - -C /destino

    Emisor:

    tar -C /origen -cf - directorio | zstd -T0 -6 -c | socat -u STDIN 'TCP6:[fd42:dead:beef::2]:1234'

    -T0 usa todos los núcleos. Sube el nivel por encima de -6 para más compresión, bájalo para más velocidad, pero si tu CPU no puede seguir el ritmo, los niveles altos en realidad lo ralentizarán. Los datos ya comprimidos no se beneficiarán mucho.

  8. awruko

    Literalmente tuve que cruzar el cable una vez. Era una especie de demostración y faltaba el cable cruzado. Las tiendas de informática locales no tenían uno y bajo la presión del tiempo... usé la navaja y convertí el cable. Fue antes del 2000, así que la velocidad estaba limitada a 10/100 Mbit - ifconfig no reportó errores y la demostración fue sin problemas.

Más de este día

2026-08-31