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

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

 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设置,确保关闭任何设备(尤其是蓝牙设备)以减少潜在干扰,并尽可能使用有线连接。这比无线选项更稳定,使数据包在传输过程中损坏或丢失的可能性更小。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
存储 NoSQL Redis
【360开源】Pika最佳实践
Pika是360 热门的c++开源项目,基于rocksdb开发的大容量类Redis存储,力求在完全兼容Redis协议、继承Redis便捷运维设计的前提下通过持久化存储方式解决Redis在大容量场景下主从同步代价高、恢复时间慢、单线程相对脆弱、内存成本高等问题。
3320 0
|
11月前
|
搜索推荐 小程序 数据可视化
网站用户访问分析入门:新手必懂的6个关键指标
如果你正在运营一个网站,无论是产品官网还是电商平台,用户访问分析一定是绕不开的一项工作。 但对很多刚入门的新手来说,打开一个数据平台,常常是一脸懵: PV?UV?跳出率?这些到底是什么?要看哪些指标才有用? 这篇文章,我们一起看看网站访问分析中最基础的6个核心指标,帮你快速理解并掌握基本的分析能力。
2487 0
|
机器学习/深度学习 自然语言处理 算法
AI 世界生存手册(一):从LR到DeepSeek,模型慢慢变大了,也变强了
大家都可以通过写 prompt 来和大模型对话,那大模型之前的算法是怎样的,算法世界经过了哪些比较关键的发展,最后为什么是大模型这条路线走向了 AGI,作者用两篇文章共5.7万字详细探索一下。
AI 世界生存手册(一):从LR到DeepSeek,模型慢慢变大了,也变强了
|
JSON JavaScript 测试技术
掌握JMeter:深入解析如何提取和利用JSON数据
Apache JMeter教程展示了如何提取和使用JSON数据。创建测试计划,包括HTTP请求和JSON Extractor,设置变量前缀和JSON路径表达式来提取数据。通过Debug Sampler和View Results Tree监听器验证提取结果,然后在后续请求和断言中使用这些数据。此方法适用于复杂测试场景,提升性能和自动化测试效率。
联通骨干网如何从内循环走向全球化?
中国联通骨干网的发展历程堪称中国互联网基础设施建设的缩影。从承载2G/3G业务的B网起步,经由169网的国内“内循环”先锋阶段,到A网(CUII)的企业级服务高速公路,再到国际化的AS10099骨干网,形成当前“China169+CUII”的双网格局。这一布局实现了普通用户与企业需求的分离,确保服务质量的同时提升资源调配效率,为数字中国建设提供了坚实支撑。
680 0
联通骨干网如何从内循环走向全球化?
|
机器学习/深度学习 人工智能 自然语言处理
首篇《深度学习不确定性量化: 技术、应用与挑战》2020综述论文,61页pdf582篇文献
在优化和决策过程中,不确定性量化(UQ)在减少不确定性方面起着至关重要的作用。它可以用于解决科学和工程中的各种实际应用。贝叶斯逼近和集成学习技术是目前文献中使用最广泛的两种UQ方法。 在任何基于人工智能的系统中,以一种值得信赖的方式表示不确定性是非常可取的。通过有效地处理不确定性,这样的自动化系统应该能够准确地执行。不确定性因素在人工智能中扮演着重要的角色
4114 0
首篇《深度学习不确定性量化: 技术、应用与挑战》2020综述论文,61页pdf582篇文献
|
并行计算 Linux 异构计算
JAX 中文文档(一)(1)
JAX 中文文档(一)
1772 0
|
存储 安全 数据库
云计算:架构、类型及其优缺点
【8月更文挑战第20天】
4253 0
|
存储 算法 搜索推荐
面试超爱问的TopK问题,这篇彻底搞明白
今天给大家分享一个TOPK问题,不过我这里不考虑特别大分布式的解决方案,普通的一道算法题。
1184 0
面试超爱问的TopK问题,这篇彻底搞明白

热门文章

最新文章