计算机网络-自顶向下 读书笔记1.4

467 阅读4分钟

1.4 分组交换中的时延、丢包和吞吐量

理想情况下的数据传输,应该是端设备之间在极短的时间内完成完整的数据交换,但这是极高的目标。因为我们会受到外界的干扰以及设备之间差异造成的延迟或是丢包。

1.4.1 分组交换中的时延

分组交换中几个比较重要的时延,是 节点处理时延(nodal processing delay) 、 排队时延(queuing delay)传输时延 (transmission delay)传播时延(propagation delay),这些时延总体累加起来是节点总时延(tolal nodal delay)

image.png

  1. 处理时延:检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。在这种节点处理之后,路由器将该分组引向通往路由器B链路之前的队列。
  2. 排队时延:在队列中,当分组在链路上等待传输时,它经受排队时延(还在路由器A中)。如果该队列是空的,并且当前没有其他分组正在传输,则该分组的排队时延为0。反之亦然。
  3. 传输时延:假定分组以先到先服务方式传输——这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。用L比特表示该分组的长度,用R bps (即b/s) 表示从路由器A到路由器B的链路传输速率。 传输时延L/R
  4. 传播时延: 一旦一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B 传播所需要的时间是传播时延。该比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体(即光纤、双绞铜线等),其速率范围是2x10^8-3x10^8 m/s,略小于和等于光速

计算机网络领域的新手有时难以理解传输时延和传播时延之间的差异。该差异是微妙 而重要的。传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。另一方面,传播时延是一个比特从一台路由器传播 到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关。

1.4.2 排队时延和丢包

排队时延

在各个时延中,排队时延是最为复杂的,排队意味着会存在队列以及队列的长度,排队的时延的部分。

a表示分组到达队列的平均速率(a的单位是分组/ 秒,即pkt/sR前面讲是传输速率,即从队列中推出比特的速率(以bpsb/s为单 位)。为了简单起见,也假定所有分组都是由L比特组成的。则比特到达队列的平均速率 是La bps。最后,假定该队列非常大,因此它基本能容纳无限数量的比特。比率La/R称为流量强度

image.png

随着流量强度接近于1,平均排队时延迅速增加。该强度 的少量增加将导致时延大比例增加。也许你在公路上 经历过这种事。如果在经常拥塞的公路上像平时一样 驾驶,这条路经常拥塞的事实意味着它的流量强度接 近于1,如果某些事件引起一个即便是稍微大于平常 量的流量,经受的时延就可能很大。

丢包

队列容量设计不可能是无线大的,当队列容量到达一定程度时,到达的分组没有地方可以存储,路由器就会丢弃改分组。

1.4.4计算机网络中的吞吐量

主机A向主机B发送大文件,主机A在某一个时刻发送的数据为瞬时吞吐量(instantaneous throughput),主机B接收到所有F比特用去T秒, 则文件传送的平均吞吐量(average throughput)是F/T bps。 然而由于链路材质的不同,会出现瓶颈链路 (bottleneck link),其吞吐量是min {Rc, Rs}

image.png