我有一台路由器 (Linksys E4200),连接到互联网(通过外部调制解调器)并连接到电力线 (AV500) 设备。我有 2 台计算机连接如下:
Modem <-- 1GbE --> Router <- 100MbE -> Powerline <---> Computer1
Modem <-- 1GbE --> Router <-- 1GbE --> Computer2
- 使用 HTTP/SMB 的 Computer1 和 Computer2 之间的吞吐量良好(接近 100mb)。
- Computer2 和互联网之间的吞吐量良好(下载速度>150mb)。
计算机 1 和互联网之间的吞吐量很差* (下载速度 <20mb)。
- 使用单个 TCP 连接下载时。
我不明白当 #1 和 #2 都没问题时,为什么会发生 #3。
更令人困惑的是,当我通过在路由器和电力线之间添加交换机来更新网络(如下所示)时,它似乎完全解决了这个问题。
Modem <-- 1GbE --> Router <-- 1GbE --> Switch <- 100MbE -> Powerline <---> Computer1
是什么原因导致的?有什么方法可以解决这个问题,而无需保留开关?我也尝试了第二个开关(便宜的品牌),但没能解决问题。
答案1
根据计算机 1 上的操作系统和电力线适配器引入的延迟,您可能需要明确提高计算机 1 上的 tcp 窗口大小
如何执行此操作取决于操作系统
此外,由于您从 1GBit 过渡到 100Mbit,并且您的互联网连接速度超过 100Mbit,您将在那里遇到大量丢失数据包的情况(几周前我遇到过这种情况,花了好几个小时才弄清楚)。再加上相对于本地传输更高的延迟,这会导致显著的速度波动,比您预期的还要糟糕。
如果交换机受到管理并且保留端口计数器,您可以检查通往电力线适配器的以太网端口上是否丢失了数据包。