什么是纳格尔算法?(nagle's algorithm?)

Nagle算法是一种用于提高网络效率的系统,尤其是互联网。该系统涉及避免以不必要的小批量发送数据,这也增加了发送的批量。虽然Nagle的算法有它的用途,但它与网络通信的其他元素的交互效果很差。...

Nagle算法是一种用于提高网络效率的系统,尤其是互联网。该系统涉及避免以不必要的小批量发送数据,这也增加了发送的批量。虽然Nagle的算法有它的用途,但它与网络通信的其他元素的交互效果很差。

Nagle’s algorithm is a system used to improve the efficiency of networks, most notably the Internet.

由一位名叫约翰·纳格尔的人创建,纳格尔的算法适用于使用TCP/IP协议的网络。这些是网络传输数据的协议或“规则”。虽然这些协议可以应用于任何网络,但它们通常与Internet相关联。

该算法处理以小块或“数据包”形式传输数据的方式每个数据包包含一些数据和头信息,这些信息相当于物理信封上的发送者和接收者地址。包中还包含一个校验和,这在数学上相当于包含一个装箱单,以便收件人知道包中的所有内容已安全到达。

虽然该系统通常工作正常,但如果数据块特别小,则可能效率低下。在极端情况下,数据包中的数据可能只有一个字节,但不管数据大小如何,报头信息都将占用40个字节。这大致相当于给某人写一封信,然后把它切碎,把每个字装在一个单独的信封里。事实上,因为消息是以二进制格式发送的,所以效率甚至比这更低。除了浪费带宽外,这还增加了必须发送的数据包数量,从而增加了传输过程中发生错误的可能性。

Nagle算法的原理是,发送一个数据包后,发送计算机将等待两种情况中的一种发生,然后再发送下一个数据包。如果它收到最后一个数据包已被接收的确认,它将立即发送它拥有的数据,而不管其大小。否则,它将等待,直到它有一个“完整”的数据包发送。一旦发生这种情况,它将发送完整的数据包,无论是否已收到前一个数据包。

在某些情况下,Nagle的算法弊大于利。一个例子是在线视频游戏,其设计假设数据将立即发送。如果使用Nagle算法,一些数据将被延迟,直到一个完整的数据包准备就绪。这会对玩家对游戏的反应产生明显的影响,与其他玩家相比,会有效地减缓他们的反应时间。

  • 发表于 2021-12-14 11:12
  • 阅读 ( 110 )
  • 分类:互联网

你可能感兴趣的文章

适应的(adaptive)和非自适应路由算法(non adaptive routing algorithms)的区别

...应路由算法 5. 摘要 什么是自适应路由算法(adaptive routing algorithms)? 动态路由或自适应路由使用自适应算法。这些算法根据拓扑结构和网络流量改变路由决策。相邻路由器或所有路由器提供路由信息。主要的优化参数是一些跳数...

  • 发布于 2020-10-18 20:02
  • 阅读 ( 593 )

算法(algorithm)和流程图(flowchart)的区别

...列比较-算法与表格形式的流程图 6. 摘要 什么是算法(an algorithm)? 每一个任务都是根据一个算法来完成的。如果Facebook有一个这样的问题,那么它将如何在一个日志中出现。首先,用户应该打开浏览器。然后他应该输入正确的网...

  • 发布于 2020-10-19 17:44
  • 阅读 ( 855 )

算法(algorithm)和伪码(pseudocode)的区别

...区别的比较 关键术语 算法,伪代码,编程 什么是算法(algorithm)? 算法是一个逐步解决问题的过程。过程是一个有限的指令序列,每个指令在有限的时间内执行。每一个问题都可以借助一个算法来解决。例如,当用户想要登录...

  • 发布于 2021-06-30 18:03
  • 阅读 ( 890 )

普里姆斯(prims)和krushal算法(krushal algorithm)的区别

...语 图,克鲁希尔算法,PRM算法,树 什么是prims算法(prims algorithm)? Prim的算法有助于从图中找到最小生成树。它确定包含图的每个顶点的边的子集。它还减少了边的权重之和。此外,该算法从根节点开始,在每一步检查所有相邻...

  • 发布于 2021-07-01 11:09
  • 阅读 ( 242 )

遗传算法(genetic algorithm)和传统算法(traditional algorithm)的区别

...、搜索、排序、分治、传统算法 什么是遗传算法(genetic algorithm)? 遗传算法是指基于遗传和自然选择的一类算法。这与物种适应环境变化并能够生存的过程相似。换句话说,它是建立在生物进化的基础上的。 此外,该算法不断...

  • 发布于 2021-07-01 15:41
  • 阅读 ( 239 )

流程图(flowchart)和算法(带图片)(algorithm (with pictures))的区别

...之前,他必须在几分钟内检查流程图。 什么是算法(an algorithm)? 算法是一个定义良好的逐步过程,用于处理数据(为特定问题提供解决方案)。Analogrithm准确地定义了程序执行操作所需的步骤。它包括输入、输出和逻辑...

  • 发布于 2021-11-27 16:25
  • 阅读 ( 318 )

什么是密码算法?(cryptographic algorithms?)

密码算法是一系列过程或规则,用于在密码系统中对消息进行加密和解密。简单地说,它们是通过确保不需要的人不能访问数据来保护数据的过程。这些算法有着广泛的用...

  • 发布于 2021-12-07 12:03
  • 阅读 ( 165 )

什么是数据挖掘算法?(data mining algorithms?)

数据挖掘算法是用于识别数据集中的模式和趋势的编程查询和程序。数据挖掘的主要用途是根据客户的实际活动确定客户需求和偏好。尽管这些信息是基于过去的表现,但...

  • 发布于 2021-12-08 16:46
  • 阅读 ( 140 )

什么是图像处理算法?(image processing algorithms?)

图像处理算法利用计算机算法来操作硬件和软件,从而对图像处理产生比模拟图像处理更大的控制。它们用几种语言编写,并根据用途和目的使用不同的算法。图像处理不...

  • 发布于 2021-12-08 17:33
  • 阅读 ( 124 )

什么是校验和算法?(a checksum algorithm?)

计算机数据通常存储在二进制文件中,二进制文件位于计算机文件系统中。当数据保存到计算机上时,它被转换成二进制格式。此转换过程需要验证文件大小,以确保正确...

  • 发布于 2021-12-09 15:24
  • 阅读 ( 162 )
zqxe0x5ar4
zqxe0x5ar4

0 篇文章