除此以外,因为我已经尝试了本网站上列出的所有方法。 并且排除这和这,它们位于上述网站。基于软件的互联网速度变慢的可能原因有哪些。
症状:
- 在 Windows 或其他实时启动磁盘中启动可以使互联网正常工作,ping 任何内容均为 0% 丢失。
- 在运行 Ubuntu 时,相关 PC 可以 ping 路由器,损耗为 0%,并且同一网络中的任何设备损耗均为 0%。
- 相关 PC 对网络外部的任何东西(在路由器的另一端)执行 ping 或 mtr 操作会导致 100% 丢失。
- 如果路由器或网络上的其他设备尝试 ping 有问题的计算机,则会有 80% 到 95% 的损失。
Ubuntu 上出现此类网络故障的原因可能是什么?
有此问题的 Ubuntu PC 的回应是lspci -knn | grep Eth -A2
:
02:00.0 Ethernet controller [0200]: Qualcomm Atheros AR8131 Gigabit Ethernet [1969:1063] (rev c0)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:7599]
Kernel driver in use: atl1c
这款使用 USB 转 Cat5 网络端口,损耗低于 80%,约为 50%
00:13.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
Kernel driver in use: ehci-pci
答案1
这永远都是一个无法亲临现场的猜测,但有一些原因可能会阻止以太网正常工作。该卡的 Windows 驱动程序可能能够自动降低卡的设置。或者该卡需要一些技巧才能进行自动协商。
最明显的可能是 MAC 地址重复。列出受影响 PC 上的 MAC 地址,然后关闭它,然后尝试使用
arping
其他机器上的 MAC 地址。您的路由器可能确实存在问题,并会阻止某些默认 IP 设置。如果您可以尝试使用网络上的其他通用路由器,请这样做以排除这种可能性。
弯曲或陈旧的电缆会妨碍网卡以更高的速度运行。您可以尝试使用 mii-tool 或 ethtool 手动将链接模式设置为 10M 或 100M。
与卡上的全双工或半双工设置类似。
这是一个有关 mii-tool/ethtool 的文章那里有更详细的内容。
关于如何调试该问题的另一个想法:
- 您可以尝试使用 tcpdump 或 wireshark 嗅探网络接口,并观察在相关 PC 上发起的 ping 与在其他地方发起的 ping 之间的差异。
- 如果路由器上运行的是嵌入式 Linux,也可以在路由器上执行相同的操作,或者您可以插入一个由两个网卡组成的“嗅探器”,在路由器和内部网络之间桥接在一起。
答案2
您可能想要使用的另一个工具是 iperf。您可以使用它来确定本地网络是否正在影响您的吞吐量。参考资料位于:https://iperf.fr/。您可以简单地生成高带宽负载,然后检查实际报告的吞吐量是多少。如果您有两个节点,您可以进行以下检查。第一次运行
sudo lshw -c network
在两台机器上。找到您的接口并记下报告的链接速度,应该是以下形式:
size: 100Mbit/s
capacity: 100Mbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
此接口报告 100Mbit/s,请在两个设备上检查此情况并确定您期望的最小值。接下来使用 iperf 推送大量流量以确定实际吞吐量是多少
在节点 1 上运行:
iperf -s -i 2
在节点 2 上运行:
iperf -n 1000M -i 2 -c <SERVER IP>
这将在表单的客户端生成一份报告:
------------------------------------------------------------
Client connecting to <SERVER IP>, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local <CLIENT IP> port 36114 connected with <SERVER IP> port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 2.0 sec 22.5 MBytes 94.4 Mbits/sec
[ 3] 2.0- 4.0 sec 22.2 MBytes 93.3 Mbits/sec
[ 3] 4.0- 6.0 sec 22.5 MBytes 94.4 Mbits/sec
[ 3] 6.0- 8.0 sec 22.4 MBytes 93.8 Mbits/sec
在服务器端(-s 节点)也有类似情况。您会注意到,在这种情况下,吞吐量非常接近报告的理想值。您应该预计会因为 TCP 开销而损失几兆位/秒,但如果此值相差甚远,则可以归咎于网络内部的某些问题。如果此数字在某个容差范围内(例如报告的 5-7%),则问题出在网关之外。
此时,人们可能会问,您的服务提供商是否正在进行代理,或者是否正在进行某种流量整形,以便对某些类型的流量给予优先处理?