什么是丢包?当一个或多个传输的数据包未能到达目的地时,就会发生数据包丢失。这可能会导致所有类型的数字通信出现明显的性能问题。
数据包是网络协议在 Internet 或任何其他数据包交换网络上的起点和终点之间路由的一小部分数据。网络数据包包含少量数据,这些数据通常包括源地址和目标地址、协议或标识号等信息。从发送电子邮件到下载视频,每项互联网活动都需要传输数据包。
数据包无法到达目的地时,最终用户可能会遇到中断,例如服务缓慢或网络连接中断。对于家庭网络用户,较慢的服务或网络中断会造成糟糕的用户体验;对于企业而言,网络问题可能会影响日常运营。
通常,依赖实时数据包处理的应用程序(例如视频通话和基于音频的程序)在发生数据包丢失时会受到最大影响。
数据包丢失通常是由数据传输错误或网络拥塞引起的。数据包丢失率以百分比表示,计算为丢失的数据包数与发送的总数之比。
丢包的原因有哪些?
数据包丢失的原因包括目的地信号强度不足、自然或人为干扰、系统噪音过大、软件损坏或网络节点负担过重。通常涉及这些因素中的一个以上。其他原因包括:
- 网络拥塞。当网络达到其最大容量时,它的连接可能会落后很多,以至于它会忽略或丢弃传入的数据包,以便赶上来。在网络拥塞的情况下,应用程序可能能够重新发送丢失的数据包。
- 网络硬件。陈旧和过时的网络基础设施会减慢网络流量,足以导致数据包丢失。这可能发生在防火墙、调制解调器和路由器上。应更新或更换此硬件。
- 软件错误。出现故障的软件可能会将错误引入网络,从而导致意外行为,包括数据包丢失。如果可能,应更新软件。
- 安全漏洞。在拒绝服务攻击中,黑客可能会导致数据包丢失突然急剧增加。黑客的目标是用大量请求淹没系统,以致网络崩溃。受害者的资源如此不堪重负,以至于其他任何人都很难或不可能访问它们。数据包丢失异常激增可能是网络攻击的迹象。
在无法补救原因的情况下,可以使用数据包丢失隐藏来最小化丢失数据包的影响。
丢包有什么影响?
数据包丢失的影响表现为网络性能下降,包括以下内容:
- 缺乏沟通质量。实时应用程序,即 IP 语音 (VoIP),会在接收到的语音中遇到抖动和频繁的间隙。数据包丢失率低于 2% 可能会很明显。
- 吞吐量减少。数据包丢失会降低吞吐量一些传输层协议将丢失解释为拥塞。因此,协议会调整其传输速率以避免感知到的拥塞。
- 不太安全的通信。数据包丢失可以提供低优先级的后门,因此网络犯罪分子可以进行攻击。VoIP 应用程序可以通过这种方式被入侵。
- 加密数据丢失。由于数据包丢失而被黑客攻击的系统可能使网络犯罪分子能够规避安全措施并窃取加密数据。
- 丢包。经历最严重延迟的数据包可能会被丢弃,从而减少整体延迟。
- 资料不全。在最坏的情况下,数据包丢失会导致接收到的数据严重受损、图像破碎、语音无法理解甚至完全没有接收到的信号。
此外,丢包的影响会因使用的协议不同而不同:
- 传输控制协议。 TCP旨在消除数据包丢失。如果数据包丢失,TCP 可以重传它。第二次传输拾取丢失的数据包并重建数据流。然而,这并不意味着不涉及放缓。网络可能会感觉更慢,因为它仍然需要时间来重新传输数据。
- 用户数据报协议。 在某些网络架构中可以使用UDP,但它无法重传数据包,因此必须手动重发数据。相反,UDP 连接可用于在出现数据包丢失时终止网络连接。
在不同的场景下,可以接受不同的丢包级别。例如,小于 2% 的数据包丢失可能会导致 VoIP 呼叫出现乱码,而高达 10% 的数据包丢失对于小型下载来说可能是可以接受的。
如何检测数据包丢失?
检测数据包丢失的一种简单方法是让 TCP 检测它,因为 TCP 旨在消除数据包丢失。
但是,如果用户想要检测数据包丢失,则他们可以使用诊断工具,例如 ping (数据包互联网或网络间探测)测试。内置于每个操作系统中的 ping 网络实用程序将特殊数据包发送到给定目的地,然后观察远端节点是否正确响应。测量数据包丢失的最佳方法是向目的地发送大量 ping 并查找失败的响应。例如,如果一个人 ping 一个目的地 50 次而只得到 49 个响应,他们可以估计丢包率约为 2%。
您如何解决丢包问题?
对于数据包丢失,没有一种万能的解决方案,因为它可能是由多种问题引起的。因此,有不同的方法来修复任何事件:
- 增加带宽。如果问题只是网络拥塞,那么增加带宽可以同时处理更多请求,避免进一步延迟。
- 执行深度包检测。DPI 是一种数据包过滤,可定位、识别、分类、重新路由或阻止具有特定数据或代码有效负载的数据包。这可以通过简化网络流量来帮助网络拥塞。例如,可以将数据包标记为高优先级,然后在低优先级数据包之前进行路由。
- 更新硬件和软件。旧的硬件和软件会减慢网络流量并导致数据包丢失。Microsoft Windows 任务管理器可以帮助网络管理员识别占用过多带宽的软件。更新硬件和软件也有助于避免引入额外的错误。
- 使用有线连接。与无线网络相比,有线网络更不容易在传输过程中丢失数据包,因为有线网络连接更稳定。但是,请确保有线以太网电缆没有损坏,因为有故障的电线会对数据包传输产生不利影响。
- 减少对面的障碍。来自蓝牙设备(例如耳机和键盘)的干扰信号可能会导致静电。断开这些设备可能会有所帮助。
如何防止数据包丢失?
防止数据包丢失或将其保持在可接受水平的一种方法是监控网络性能。一些监控工具包括隔离和修复数据包丢失的传感器,而其他工具则提供深度数据包检测工具。如果一个组织定期扫描其设备,他们应该能够满负荷处理网络负载。