3

我有两台相邻的计算机,都运行最新版本的 Ubuntu。两台电脑都有:

  • 多个 USB 2.0 端口
  • RJ-45 连接
  • 5400RPM硬盘
  • Express Card卡槽
  • PCMCIA II 型

我想在设定的时间段内传输尽可能多的数据。

  1. 在不交换硬盘驱动器的情况下在两台计算机之间传输数据的最快物理介质是什么?

  2. 传输高熵数据的最快协议(不一定基于 TCP/IP)是什么?如果是 TCP/IP,需要调整什么以获得最佳性能?

4

2 回答 2

2

首先,RJ-45 不是一种介质,而只是一种连接器类型。因此,您的以太网连接可以介于 10BASE-T (10 Mbit) 和 10GBASE-T (10 Gbit) 之间。使用以太网,链路速度由双方支持的最低通用速度等级定义。

USB 高速模式指定为 480 Mbit/s (60 MByte/s),但由于协议开销,典型的最大速度接近 ( 40 MByte/s )。此速度仅适用于直接 USB 主机到客户端的连接,但您有 2 个 USB 主机,因此您需要在中间使用某种设备来处理客户端部分。我想这也会降低可实现的数据速率。

有了以太网,您就拥有了一个简单的即插即用技术和一个众所周知的(套接字)API。传输速度取决于链接类型:

最大限度。TCP/IP 数据传输率(取自此处):

  • 快速以太网(100Mbit):11.7 MByte/s
  • 千兆以太网(1000Mbit):117.6 MByte/s
于 2012-05-22T08:16:19.487 回答
1

USB 2.0 规范导致 480 Mbit/s 的速率,即 60 MB/s。

以太网取决于所使用的网卡 (NIC),并在较小程度上取决于所使用的布线。如果两个 NIC 都是 1Gbit/s,它们都将自动协商为 1 Gbit/s,转换为 125 MB/s。如果一个或两个 NIC 仅支持 100 Mbit/s,那么它们将自动协商为 100 Mbit/s,您的速度将为 12.5 MBytes/s。

无线也是一个选项,802.11n 支持高达 600 Mb/s (75 MB/s) - 比 USB 2.0 更快。

USB 3.0 是最新的 USB 规范,最高支持 5 Gb/s (625 MB/s)。

当然,实际吞吐量会有所不同,并取决于许多其他因素,例如布线、干扰、延迟等。

TCP 与 UDP 协议取决于您需要的连接类型以及您的应用程序处理丢弃数据包的能力等。TCP 建立初始连接的初始成本较高,但传输是可靠的,并且对于长时间运行的事务可能会转向成为最快的。UDP 创建连接的成本更低,但您可能丢弃了数据包。

最大传输单元 (MTU) 是一个可以对基于 IP 的网络产生重大影响的参数。选择正确的 MTU 取决于几个因素。互联网上有很多关于这方面的文章。

其他调整是基本的,比如关闭已知的聊天应用程序、如果你在 Windows 上的 netbios 服务等(谷歌上有很多点击以加速 tcp)。

于 2012-05-22T08:22:25.030 回答