如何修复数据包丢失

是什么原因导致它,该怎么做

当一个网络连接在运输中会丢失信息。它可以使您的连接看起来比应该慢,并降低与本地和远程设备的网络通信的可靠性。对于希望改善麻烦网络的任何人来说,知道如何停止数据包丢失应该是重中之重。

在计算机服务器室中拉出纠结的猫5电缆的技术人员
薄荷图像 /盖蒂图像

数据包丢失的原因

数据包丢失不会仅出于一个原因而发生。诊断网络上数据包丢失的原因将告诉您您需要修复什么:

  • 网络带宽和拥堵:数据包丢失的主要原因是网络不足带宽。当太多的设备试图在同一网络上通信时,就会发生这种情况。
  • 硬件不足:网络上任何路由数据包的硬件的问题可能会导致数据包丢失。路由器,开关,防火墙,其他网络设备最脆弱。
  • 损坏的电缆:可以在物理上发生数据包丢失网络层。如果以太网电缆被损坏,有线不当或太慢无法处理网络流量,电缆泄漏数据包。
  • 软件错误: 这固件在网络中,硬件或计算机软件可能会导致数据包丢失。

如何修复网络上的数据包丢失

要确定数据包丢失的原因,请从最简单的问题开始:

  1. 检查物理连接。检查以太网连接在设备之间。寻找身体损坏或失火的迹象,看看切换电缆是否解决了问题。

  2. 释放带宽。是否有任何硬件处理的连接更多?如果是这样的话,限制路由器上的带宽

  3. 更换硬件。交换网络上可能有问题的设备,以查看删除特定设备时数据包损耗是否消失。

  4. 报告软件错误。如果您怀疑软件错误会导致数据包丢失,那么修复它的唯一方法是通过提供硬件的供应商的固件补丁。在您发现这些问题时,报告可疑的错误,以鼓励供应商解决该问题。

如何检测数据包丢失

几个应用程序可以检测到网络上的数据包丢失。这些工作嗅探包在某种程度上,通过分析旅行时间或查看数据包内容。发现数据包丢失是否存在的最简单方法是在网络上ping设备:

  1. 在Windows中,打开一个命令提示符窗口并使用ping命令针对路由器。例如,如果路由器的本地IP地址为127.0.0.1,请输入ping 127.0.0.1 -tping路由器。在MacOS或Linux上,打开一个终端窗口并输入PING 127.0.0.1

    Windows计算机的唯一区别是缺少-t在命令的末尾。

  2. ping命令处理足够数量的数据包(至少10个)之后,按Ctrl+C或者命令+C停止命令。

  3. 查看是否有任何数据包丢失。如果PING设备和目标之间的特定连接正常运行,则应看到0%数据包丢失。该报告看起来像这样:

    --- 127.0.0.1 ping统计---
    27个传输数据包,收到27个数据包,0.0%的数据包丢失
    往返最小/avg/max/stddev = 1.820/8.351/72.343/14.186 ms

通过TCPDUMP检测数据包丢失

MacOS和Linux上的TCPDUMP命令比Ping强大。该命令捕获数据包,然后计算数据包损失的量。要使用命令,请打开命令提示符或终端窗口并输入tcpdump-我

这可以通过任何网络连接运行tcpdump。该命令也可以使用-i eth0仅捕获主要网络接口或使用-c 10仅捕获10个数据包。

命令运行后,查看底线以查看是否丢失了任何数据包:

捕获了17个数据包
过滤器收到的85个数据包
0个数据包由内核掉落

检测数据包的过程相对较低。在建立通过网络检查通信的方法之后,请遵循隔离和消除的实践,以确定数据包丢失的来源和原因。这将需要在网络上使用大多数设备。知识网络的拓扑是必不可少的。

在Windows上,要么使用TCPDUMP在Windows 10上击败外壳或运行Wireshark

此页面有用吗?