Skip to content

网络(1): 两个概念,延迟与丢包率

clarkehe edited this page Jun 23, 2016 · 2 revisions

描述网络的质量,通常有两个概念:延迟、丢包率。

这里所说提网络是指互联网,即TCP/IP网络。TCP/IP网络在物理上,是通过路由器将各个主机连接起来,任意两个主机之间都可以进行通信。

如上图所示,主机A和主机B通过两个路由器连接了起来。

延迟(Latency):主机A的数据发送到主机B所需的时间,单位通常是ms。现实场景中,数据从主机A发出,到达主机B,会经过一系统的路由节点(Node),每一个节点都会对总的延迟产生影响。因此,我们需要分析每个节点产生的延迟。

每一个节点的延迟,通常由4部分组成:

  • 处理延迟:结点对数据包进行处理花费的时间。如路由器解析目标IP地址。
  • 排队延迟:当网络拥堵,数据包等待发送到数据链路层的时间。
  • 传输延迟:数据全部发送到数据链路层花费的时间。
  • 传播延迟:信号在光纤中传输花费的时间。

节点延时的计算公式: dnodal = dproc + dqueue + dtrans + dprop

处理延迟(dpro):跟路由器的性能有关,一般不受我们的控制。相比其他延迟,一般影响比较小,可以不考虑。
传输延迟(dtrans):跟两个因素有关,一个是包的大小(L),一个是传输的速度(R)。dtrans = L/R。

参考资源:
网络时延的几个概念
How to calculate packet time from latency and bandwidth
携程App的网络性能优化实践
Network Delays and Losses

Clone this wiki locally