分组从一台主机(源)出发,通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个结点(主机或路由器)沿着这条路径到后继结点(主机或路由器),该分组在沿途的每个结点经受了几种不同类型的时延。这些时延最为重要的是结点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission delay)和传播时延(propagation delay),这些时延总体累加起来是结点总时延(total nodal delay)。许多因特网应用,如搜索、Web浏览、电子邮件、地图、即时讯息和IP语音,它们的性能受网络时延的影响都很大。为了深入理解分组交换和计算机网络,我们必须理解这些时延的性质和重要性。
时延的类型
我们来探讨一下下图环境中的这些时延。作为源和目的地之间的端到端路径的一部分,一个分组从上游结点通过路由器A向路由器B发送。我们的目标是在路由器A刻画出结点时延。值得注意的是,路由器A具有通往路由器B的出链路。该链路前面有一个队列(也称为缓存)。当该分组从上游结点到达路由器A时,路由器A检查该分组的首部以决定该分组的适当出链路,并将该分组导向该链路。在这个例子中,对该分组的出链路是通向路由器B的那条链路。仅当在该链路没有其他分组正在传输并且没有其他分组排在该队列前面时,才能在这条链路上传输该分组;如果该链路当前正繁忙或有其他分组已经在该链路上排队,则新到达的分组则将参与排队。
结点总时延:
(1)处理时延(nodal processing delay)
检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。处理时延也能包括其他因素,如检查比特级别的差错所需要的时间,该差错出现在从上游结点向路由器A传输这些分组比特的过程中。高速路由器的处理时延通常是微秒或更低的数量级。在这种结点处理之后,路由器将该分组引向通往路由器B链路之前的队列。
(2)排队时延(queueing delay)
在队列中,当分组在链路上等待传输时,它经受排队时延。一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。如果该队列是空的,并且当前没有其他分组正在传输,则该分组的排队时延为0。另一方面,如果流量很大,并且许多其他分组也在等待传输,该排队时延将很长。我们将很快看到,到达分组期待发现的分组数量是到达该队列的流量的强度和性质的函数。实际的排队时延可以是毫秒到微秒量级。
(3)传输时延(transmission delay)
假定分组以先到先服务方式传输,这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。用L比特表示该分组的长度,用R bps(即b/s)表示从路由器A到路由器B的链路传输速率。例如,对于一条10Mbps的以太网链路,速率R=10Mbps;对于100Mbps的以太网链路,速率R=100Mbps。传输时延是L/R。这是将所有分组的比特推(传输)向链路所需要的时间。实际的传输时延通常在毫秒到微秒量级。
(4)传播时延(propagation delay)
一旦一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体(即光纤、双绞铜线等),其速率范围是2×108~3×108m/s,这等于或略小于光速。该传播时延等于两台路由器之间的距离除以传播速率。即传播时延是d/s,其中d是路由器A和路由器B之间的距离,s是该链路的传播速率。一旦该分组的最后一个比特传播到结点B,该比特及前面的所有比特被存储于路由器B。整个过程将随着路由器B执行转发而持续下去。在广域网中,传播时延为毫秒量级。
(5)传输时延和传播时延的比较
计算机网络领域的新手有时难以理解传输时延和传播时延之间的差异。该差异是微妙而重要的。传输时延是路由器将分组推出所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。另一方面,传播时延是一个比特从一台路由器向另一台路由器传播所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关。
排队时延和丢包
- 排队时延
比率La/R被称为流量强度
如果La/R >1,则比特到达队列的平均速率超过从该队列传输出去的速率,队列的增加将趋于无界,并且排队时延将趋向无穷大。因此,就有了流量工程中的一条金科玉律:设计系统时流量强度不能大于1。
如果La/R <=1,到达流量的性质影响排队时延。例如,分组周期性到达,即每L/R s到达一个分组,则每个分组将到达一个空队列中,因此不会有排队时延。如果分组以突发形式到达而不是周期性到达,则可能有很大的平均排队时延,假定每L/R s同时到达N个分组,则第一个分组没有排队时延,第n个分组具有(n-1)L/R s的排队时延。
- 丢包
排队容量是有限的,一个分组到达路由器时发现没有地方存储,路由器就会丢弃这个包。节点的性能常常不仅要根据时延来度量,而且要根据分组丢失的概率来度量。
吞吐量
从主机A到主机B通过计算机网络传送一个文件,任何瞬间的瞬时吞吐量是主机B接收到该文件的速率。如果该文件由F比特组成,而主机B接收到所有比特用了T秒,则文件传送的平均吞吐量是F/T bps。