HeadlinesBriefing favicon HeadlinesBriefing.com

通过以太网双线传输文件

Hacker News •
×

2026-08-29 — 2026-08-30它可能只需通过以太网连接两台计算机并进行一些IP配置:发送方...

ip address add dev eth0 fd42:dead:beef::1/48

ip link set dev eth0 up

接收方...

ip address add dev eth0 fd42:dead:beef::2/48

ip link set dev eth0 up

几秒钟后,ping 应该可以工作:

接收方...

/ # ping fd42:dead:beef::164 bytes from fd42:dead:beef::1: icmp_seq=1 ttl=64 time=0.649 ms64 bytes from fd42:dead:beef::1: icmp_seq=2 ttl=64 time=0.376 ms64 bytes from fd42:dead:beef::1: icmp_seq=3 ttl=64 time=0.414 ms64 bytes from fd42:dead:beef::1: icmp_seq=4 ttl=64 time=0.340 ms... 并且这样也应该可以工作:

接收方...

socat - TCP6-LISTEN:1234 | dd status=progress > big_file.tar.gz

发送方...

socat - 'TCP6-CONNECT:[fd42:dead:beef::2]:1234' < big_file.tar.gz

这些命令假设你使用 Linux,但这招普遍有效。一根不起眼的网线和网口不应该有问题地达到约900 Mbits/秒的速度,即每分钟6.7 GB。专用网卡可以实现数量级更快的速度,但这已经比 USB 闪存或云存储快得多。其他选项...

对于两台相距几米的机器之间传输超过 10 GB 的文件,云存储:将其上传到服务器,然后从另一台机器下载。在大多数情况下,这将是 glacially slow( glacially slow),因为互联网连接慢,且云服务商会限制流量。更糟糕的是,文件必须在网络上传输两次,这 doubled the time it takes( doubled the time it takes),增加了传输时间。此外,除非你已经有一台合适的服务器,否则这可能很昂贵。直接 TCP over LAN 更好,但 Wi-Fi 仍然相当慢,且容易出现随机掉线:那些声称多千兆比特/秒的速度在最好情况下也值得怀疑, certainly won't be reached in a typical home networking environment( certainly won't be reached in a typical home networking environment),典型的家庭网络环境(墙壁、干扰、长距离等)很难达到。然而,如果你的房子布线了千兆以太网,这可以完美运行。可移动存储除非你愿意花大钱,否则相当慢。即便你这样做,也往往受限于线缆:USB 理论上支持高速... 凭借(近乎神话)完美的线缆和完美的连接器。我只有能够实际达到每秒千兆速度的单根线缆和外设组合... 并且仅当插入正确的端口以正确的角度时。此外,它和云存储有同样的问题,即必须将数据从驱动器上复制出来并复制过去,这实际上把速度减半了。与以太网不同,直接连接两台计算机 won't work because USB is based around a host/device distinction( won't work because USB is based around a host/device distinction),因为 USB 基于主机/从机区别,直接连接两台计算机是行不通的。更新:看来 Linux 刚刚为这个功能添加了支持。人们应该能够连接两台能够使用 /dev/tbstream X 的 USB-C(具体为 Thunderbolt 或 USB 4)能够使用的 Linux 设备... 尽管我只有完全支持 USB-C 的单台计算机,所以我无法测试这一点。真的,以太网是两台随机设备之间可靠达到每秒千兆速度的唯一常见连接,且使用廉价线缆。它也是真正的差分(有变压器!),这使其抗 RFI 和地电位偏移。我认为它在非互联网应用中被低估了,甚至不需要本地网络:点对点布线是完全可以的。它也不需要 TCP/IP 堆栈:在交换局域网上,raw link-layer frames( raw link-layer frames)是完全可以的。这使得将数据传输到和从微控制器变得非常简单。相关:ethtransfer.sh:一个用于文件复制的简单 shell 脚本