-
Notifications
You must be signed in to change notification settings - Fork 42
网络(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