分组交换网的性能指标

一、概述

在理想情况下,我们希望因特网能够在任意两个端系统之间随心所欲地移动数据而没有任何数据的丢失。然而,这是一个极高的目标,实践中难以达到。与之相反,计算机网络必定要限制在端到端之间的吞吐量(每秒能够传送的数据量),在端系统之间引入时延,而且实际上也会丢失分组。

二、时延

分组从一台主机(源)出发,通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。这些时延最重要的是节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission delay)和传播时延(propagation delay)。这些时延总体累计起来是节点总时延(total nodal delay)。

2.1处理时延

在一个节点上,检查分组首部和决定该将分组导向何处所需的时间是处理时延的一部分。处理时延也能够包括其他因素,如检查比特级的差错所需要的时间等。

2.2排队时延

在队列中,当分组在链路上等待传输时,它经受排队时延。一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。如果该队列是空的,并且当前没有其他分组正在传输,则该分组的排队时延为0。另一方面,如果流量很大,并且许多其他分组也在等待传输,该排队时延将很长。我们将很快看到,到达分组期待发现的分组数量是到达该队列的流量的强度和性质的函数。实际的排队时延可以是毫秒到微秒量级。

2.3传输时延

假定分组以先到先服务方式传输------这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。用L比特表示该分组的长度,用R bps (即b/s)表示从路由器A到路由器B的链路传输速率。例如,对于一条10Mbps的以太网链路,速率R= 10Mbps;对于100Mbps的以太网链路,速率R=100Mbps。传输时延是L/R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。实际的传输时延通常在毫秒到微秒量级。

2.4传播时延

一旦一个比特被推向链路,该比特就需要向下一跳节点传播,从该链路的起点到下一跳节点传播所需的时间就是传播时延。该比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体(即光纤、双绞铜线等),该传播时延等于两个节点之间的距离除以传播速率。即传播时延是d/s,其中d是节点之间的距离,s是该链路的传播速率。一旦该分组的最后一个比特传播到节点B,该比特及前面的所有比特被存储于路由器B。整个过程将随着路由器B 执行转发而持续下去。在广域网中,传播时延为毫秒量级。

三、排队时延与丢包

3.1 排队时延

节点时延的最为复杂和有趣的成分是排队时延。与其他3项时延(处理时延、传输时延、传播时延)不同的是,排队时延对不同的分组可能是不同的。例如,如果10个分组同时到达空队列,传输的第一个分组没有排队时延,而传输的最后一个分组将经受相对大的排队时延(这时它要等待其他9个分组被传输)。因此,当表征排队时延时,人们通常使用统计量来度量,如平均排队时延、排队时延的方差和排队时延超过某些特定值的概率。

什么时候排队时延大,什么时候又不大呢?该问题的答案很大程度取决于流量到达该队列的速率、链路的传输速率和到达流量的性质,即流量是周期性到达还是以突发形式到达。为了更深人地领会某些要点,令a表示分组到达队列的平均速率(a的单位是分组/秒,即pkt/s)。前面讲过R是传输速率,即从队列中推出比特的速率(以bps即b/s为单位)。为了简单起见,也假定所有分组都是由L比特组成的。则比特到达队列的平均速率是La bps。最后,假定该队列非常大,因此它基本能容纳无限数量的比特。比率La/R被称为流量强度(traffic intensity),它在估计排队时延的范围方面经常起着重要的作用。如果La/R>1,则比特到达队列的平均速率超过从该队列传输出去的速率。在这种不幸的情况下,该队列趋向于无限增加,并且排队时延将趋向无穷大!因此,流量工程中的一条金科玉律是:设计系统时流量强度不能大于1。

现在考虑La/R≤1时的情况。这时,到达流量的性质影响排队时延。例如,如果分组周期性到达,即每L/R秒到达一个分组,则每个分组将到达一个空队列中,不会有排队时延。另一方面,如果分组以突发形式到达而不是周期性到达,则可能会有很大的平均排队时延。例如,假定每(L/R)N秒同时到达N个分组。则传输的第一个分组没有排队时延;传输的第二个分组就有L/R秒的排队时延;更为一般地,第n个传输的分组具有(n-1) L/R秒的排队时延。

3.2 丢包

在上述讨论中,我们已经假设队列能够容纳无穷多的分组。在现实中,一条链路前的队列只有有限的容量,尽管排队容量极大地依赖于路由器设计和成本。因为该排队容量是有限的,随着流量强度接近1,排队时延并不真正趋向无穷大。相反,到达的分组将发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃(drop)该分组,即该分组将会丢失(lost)。

从端系统的角度看,上述丢包现象看起来是一个分组已经传输到网络核心,但它绝不会从网络发送到目的地。分组丢失的比例随着流量强度增加而增加。因此,一个节点的性能常常不仅根据时延来度量,而且根据丢包的概率来度量。

相关推荐
hgdlip几秒前
如何快速切换电脑的ip地址
网络·tcp/ip·电脑
程序员-珍2 小时前
虚拟机ip突然看不了了
linux·网络·网络协议·tcp/ip·centos
4647的码农历程2 小时前
Linux网络编程 -- 网络基础
linux·运维·网络
向李神看齐2 小时前
RTSP协议讲解
网络
Death2003 小时前
使用Qt进行TCP和UDP网络编程
网络·c++·qt·tcp/ip
魏大橙3 小时前
linux RCE本地/公网测试
网络·网络协议·udp
陈逸轩*^_^*3 小时前
Java 网络编程基础
java·网络·计算机网络
l1x1n04 小时前
网络安全概述:从认知到实践
网络
鄃鳕4 小时前
HTTP【网络】
网络·网络协议·http
蜡笔小新星4 小时前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习