关于数据包丢失你需要知道的一切(以及如何避免它)

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
云服务器 ECS,u1 2核4GB 3个月
简介: 关于数据包丢失你需要知道的一切(以及如何避免它)

 image.gif编辑

当数据从一个地方传输到另一个地方时,一些数据包可能会被延迟、损坏甚至丢失。这就是所谓的数据包丢失。这很常见,但这并不意味着你必须接受它!

数据包丢失、延迟、抖动——如果你注意到互联网性能不佳,你可能会遇到其中一种或多种情况。

延迟与速度有关,但什么是数据包丢失,它如何影响用户的体验质量?更重要的是,你能做些什么?

什么是数据包丢失?

我们在网上所做的一切都是以数据包的形式传输的。把它想象成度假时的行李——你会把旅行所需的东西装在几件行李中,比如托运的行李箱、随身行李或背包。

image.gif编辑

为了使所有数据都适合并快速从A移动到B,网络减少了数据包的大小,并在数据包开始旅程之前对其进行加密。继续行李类比,这类似于你如何使用真空吸尘器包或立方体包装,甚至把卷起的衣服塞进鞋子里,在把行李箱锁紧之前尽可能多地挤进去。

可悲的是,生活中的一个事实是,有时,当你旅行时,你的托运行李会错过连接,在柏油路上被雨水磨损或浸湿,或者直接消失在a点和B点之间。沿着数字高速公路旅行的包裹也是如此。当数据从一个地方传输到另一个地方时,一些数据包可能会被延迟、损坏甚至丢失。这就是数据包丢失。

TCP与UDP

我们用来在互联网上传输数据的网络协议会产生数据包,但它们对数据包丢失的影响因使用的协议而异。

传输控制协议(TCP)模拟连接,如果数据包没有以完美的状态到达目的地,该协议将重新传输它。这使得TCP成为更可靠的选择,因为数据传输是有保证的。然而,它的速度并不为人所知。

另一方面,用户数据报协议(UDP)要快得多,因为协议中没有内置错误恢复。这使它更适合实时应用,但由于无法重新传输数据包,因此可靠性较低。

是什么导致数据包丢失?

从网络负载过大或者有其他的ddos黑客攻击活动,有几个因素会导致数据包丢失。

image.gif编辑

以下是一些最大的原因(我之前有一篇文章已经写过相关的因素

网络拥塞

如果使用时间很长,网络上的设备太多,或者带宽不够,网络通常会减慢数据传输速度。在这种情况下,就像夏季旅行高峰期的机场一样,丢失包裹/行李的可能性会增加。

硬件问题

数据包丢失也可能是由故障硬件造成的,如调制解调器、路由器或电缆。想象一下,你行李上的拉链在旅途中坏了。一路上会有东西掉出来,不是吗?

软件问题

同样,过时或出现故障的软件也会造成数据包丢失。我们都听说过人们的行李因航空公司系统故障而擅离职守的恐怖故事,将行李标记到错误的目的地。同样的事情也可能发生在数据包上。

网络攻击

就像投机取巧的小偷可能会从转盘上偷走一个箱子一样,分布式拒绝服务(DDoS)攻击和其他恶意活动也会干扰网络速度并造成数据包丢失。

数据传输错误

可悲的是,有时“事情”会发生,比如行李搬运工在登机时不小心把你的行李箱忘在了手推车上。你无法预测,但它是可能发生的。数据包也是如此。当他们在系统中旅行时,会遇到许多互联网交换点(IXP),每个交换点都提供了潜在的损坏或丢失机会。

数据包丢失正常吗?

根据思科的服务质量(QoS)教程,IP语音(VoIP)流量的数据包丢失应保持在1%以下。这被认为是可以接受的,因为丢失会话发起协议(SIP)VoIP呼叫中涉及的所有数据包的1%不会导致服务出现任何问题。

但这并不意味着你必须接受数据包丢失,尤其是当涉及到实时应用程序时。在这些情况下,任何超过2%的数据包丢失都会给用户带来问题,导致VoIP上的紧张对话或在玩《使命召唤》或《守望先锋》等在线多人游戏时错过镜头。这可能会让最终用户感到沮丧,在后一种情况下,可能会导致不必要的玩家流失。

如何避免或防止数据包丢失?

这完全取决于数据包丢失的原因。在许多情况下,您可能需要尝试一些不同的方法来找出问题的原因。然而,请始终从将网络安全作为优先事项开始,因为这将使您能够将网络攻击从可能的问题列表中划掉。

在网络拥塞的情况下,必须从监控网络速度和使用情况开始。从这里开始,您可以开始将数据传输转移到一天中不那么繁忙的时间。路由优化也将有助于防止拥塞,带宽的增加也是如此。

同样,对于软件问题,首先要监控不同软件程序的网络使用情况,然后重新启动或重置任何可能导致问题的软件。定期更新软件也很重要,以确保您拥有最新的版本,并确保您的错误检测软件正常运行。

当涉及到硬件问题时,首先检查您的硬件(包括所有电缆)是否损坏、老化和连接不良,并升级您需要的任何东西。同样重要的是,确保您使用的是正确类别的电缆,并具有适当的绝缘和屏蔽,以防干扰。最后,请确保您的所有硬件都是兼容的,并且您正在使用最合适的设置。

遗憾的是,数据传输中的错误可能很难做好准备,因为你并不总是知道原因。然而,有一些事情可以降低这些风险,例如我们前面提到的网络监控,它将帮助您更快地检测包丢失并消除变量。

还值得定期检查您的QoS设置,确保关闭任何设备(尤其是蓝牙设备)以减少潜在干扰,并尽可能使用有线连接。这比无线选项更稳定,使数据包在传输过程中损坏或丢失的可能性更小。

相关实践学习
MySQL数据库DTS迁移上云
利用DTS数据迁移工具完成RDS实例间的数据迁移。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2月前
|
监控 负载均衡 网络协议
TCP重传与超时机制:解锁网络性能之秘
TCP重传与超时机制:解锁网络性能之秘
576 0
|
1月前
|
缓存 网络架构
计算机网络——数据链路层-可靠传输的实现机制:停止-等待协议SW(确认与否认、超时重传等,信道利用率及相关练习题)
计算机网络——数据链路层-可靠传输的实现机制:停止-等待协议SW(确认与否认、超时重传等,信道利用率及相关练习题)
47 0
|
8月前
|
缓存 网络协议 Linux
网络的救命稻草:重传机制如何确保数据顺利传输?
在网络传输中,数据的可靠性和稳定性一直是一个重要的挑战。幸运的是,重传机制应运而生,为我们解决了这个问题。本文将深入探讨重传机制在网络中的应用和工作原理。我们将介绍TCP中最常见的超时重传和快速重传,以及SACK和D-SACK这两种高级重传机制。了解这些机制如何工作可以帮助我们更好地理解数据传输的可靠性和稳定性的保障。
182 1
网络的救命稻草:重传机制如何确保数据顺利传输?
|
2月前
|
网络协议
计网 - TCP重传策略大揭秘:确保数据可靠传输的秘诀
计网 - TCP重传策略大揭秘:确保数据可靠传输的秘诀
60 0
|
8月前
|
监控 算法 Python
局域网流量监控代码,如何避免自拥塞
局域网流量监控是确保网络稳定性和性能的关键部分。为了避免自拥堵,可以采取一些策略和措施。
461 0
|
9月前
|
网络协议 算法 网络性能优化
TCP拥塞控制,拥塞窗口,携带应答,捎带应答,面向字节流,异常情况处理,最终完结弹
TCP拥塞控制,拥塞窗口,携带应答,捎带应答,面向字节流,异常情况处理,最终完结弹
|
11月前
|
网络协议 Unix Windows
确认应答机制与超时重发机制【TCP原理(笔记一)】
确认应答机制与超时重发机制【TCP原理(笔记一)】
259 0
|
安全 关系型数据库 MySQL
为什么延迟复制适用于备库数据的紧急恢复?底层原理是什么?
为什么延迟复制适用于备库数据的紧急恢复?底层原理是什么?
|
存储 网络协议 数据处理
协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)
协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)
331 1
|
网络协议
报文在三次握手过程中丢失怎么办?
报文在三次握手过程中丢失怎么办?
186 0
报文在三次握手过程中丢失怎么办?