目录
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。
一、七个计算机网络的性能指标
1.速率(数据的传送速率) or数据率 or比特率
速率的单位是bit/s(或b/s,有时也写为bps,即bit per second).当数据率较高时,就常常在bit/s的前面加上一个字母。
例如,k(kilo)=10^3=千,M(Mega)=10^6=兆,G(Giga)=10^9=吉,T(Tera)=10^12=太,P(Peta)=10^15=拍,E(Exa)=10^18=艾,Z(Zetta)=10^21=泽,Y(Yotta)=10^24=尧。
提到网络速率时,一般指额定速率,和实际差别挺大的。
在计算机领域中,数的计算使用二进制。因此,千=K=2^10=1024,兆=M=2^20,吉=G=2^30,太=T=2^40,
拍=P=2^50,艾=E=2^60,泽=Z=2^70,尧=Y=2^80.此外,此外计算机中的数据量往往用字节B作为度量单位(B代表byte)。通常一个字节代表8个比特
字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)
在算计机领域,所有这些单位都用大小,在通信领域中,只有“1000”使用小写“k”,其余的也都用大写。有的书不这样严格区分,大写K即可以表示1000,又可以表示1024。
(记着小写b和大写B,如果是大写B计算时和bit相关,则可能会用到8倍关系)举个栗子:
1Bit=8bit
1kb=1000bit
1KB=1024*8bit
2.带宽
(1)信号具有的频带宽度 单位赫(或千赫、兆赫、吉赫)(频域)
(2)在单位时间内网络的某信道所能通过的最高数据率。单位就是数据率的单位bit/s,是“比特每秒”(时域)(计算机网络中谈论的通常指时域上的)
3.吞吐量
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。
平时说的1Gbit/2的以太网,说的是其额定速率,实际上可能只有100Mbit/s甚至更低。
有时候吞吐量还可用每秒传送的字节数或帧数来表示。
4.时延
时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络一端到另一端所需的时间。时延是个很重要的性能指标,它有时也称为延迟或迟延。
网络中的时延是由以几个不同的部分组成的:
(1)发送时延
发送时延(transmission delay)是主机或路由器发送数据帧所需的时间,也就是从发送的数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送也叫传输时延。
发送时延=数据帧长度(bit)/发送速率(bit/s)
(2)传播时延
传播时延(propagation delay)是电磁波在信道中传播一定距离需要花费的时间。
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
电磁波在自由空间的传播速率是光速,即3.0*10^5km/s。电磁波在网络传输中的传播速率比在自由空间略低一些:在铜缆中的传播速率约为2.3*10^5km/s,在光纤中的传播速率约为2.0*10^5km/s。1000km光纤传播时延约为5ms。
(3)处理时延
主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等,这就产生了处理时延。
(4)排队时延
分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要输出队列中等待转发。这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量。当网络通信量很大时就会发生队列溢出,使分组丢失,这就相当于排队时延为无穷大。
总时延=发送时延+传播时延+处理时延+排队时延
一般来说,小时延的网络要优于大时延的网络,在某些情况下,一个低速率、小时延的网络很可能要优于一个高速率但大时延的网络。
(5)时延带宽积
时延带宽积=传播时延*带宽
例如,设某段链路的传播时延为20ms,带宽为10Mbit/s。算出
时延带宽积=20*10^(-3)*10*10^6=2*10^5bit
这表明,若发送端连续发送数据,则在发送的第一个比特即将到达终点时,发送端就已经发送了20万比特,而这个20万比特都正在链路上向前移动。因此,链路的时延带宽积又称为以比特为单位的链路长度
上面的例子好好体会,好有用的哦!!
(6)往返时间RTT
在计算机网络中,网返时间RTT(Round_Trip Time)也是一个重要的性能指标。这是因为在许多情况下,互联网上的信息不仅仅单方向传输而是双向交互的。因此,我们有时很需要知道双向交互一次所需的时间。
例如,A向B发送数据。如果数据长度是100MB,发送速率是100Mbit/s,那么
发送时间=数据长度/发送速率=100x2^20x8/(100x10^6)=8.39s
如果B正确收完100MB的数据后,就立即向A发送确认。再假定A只有在收到B的确认信息后,才能继续向B发送数据。显然,这需要等待一个往返时间RTT(这里假定确 信息很短,可忽略B发送确认的时间)。如果RTT=2s,那么可以算出A向B发送数据的有效数据率。
有效数据率= 数据长度/(发送时间+RTT)= 100×2^20x8/(8.39+2)≈80.7x10^6bit/s≈80.7Mbit/s
比原来的数据率100 Mbit/s小不少
在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送延。当使用卫星通信时,往返时间RTT相对较长,是很重要的一个性能指标。
(7)利用率
利用率有信道利用率和网络利用率两种。
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好。
根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。当网络的通信量很少时,网络产生的时延并不大。但在网络通信量的不断增大的情况下,由于分组在网络结点(路由器或结点交换机)进行处理时需要排队等 因此网络引起的时延就会增大。
D=D0/(1-U) (D0:网络空闲时的时延,D:网络当前的时延)适当的假定条件下(及理论条件下)
这里U是网络的利用率,数值在0到1之间。当网络的利用率达到其容量的1/2时 ,时延就要加倍。特别值得注意的就是:当网络的利用率接近最大值1时,网络的时延就趋于无穷大。信道或网络的利用率过高会产生非常大的时延。因此一些拥有较大主干网的ISP通常控制信道利用率不超过50%。如果超过了就要准备扩容,增大线路的带宽。
二、要点总结
1.分组交换的特点:(1)报文分组,加首部(2)经路由器存储转发(3)在目的地合并
2.电路交换、报文交换和分组交换的主要优缺点
(1)电路交换:端对端通信质量因约决定了通信资源获得可靠保障,对连续传送大量数据效率高
(2)报文交换:无需预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。
(3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好
以下是部分习题:
3.试在下列条件下比较电路交换和分组交换。要传送的报文共 x(bit)。从源点到终点共经过 k 段链路,每段链路的传播时延为 d(s),数据率为 b(b/s)。在电路交换时电路的建立时间为 s(s)。在分组交换时分组长度为 p(bit) ,且各结点的排队等待时间可忽略不计。 问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察 k 段链路共有几个结点。)
答:线路交换时延: kd+x/b+s, 分组交换时延: kd+(x/p)*(p/b)+ (k-1)*(p/b) ,其中 (k-1)*(p/b) 表示 K 段传输中,有(k-1) 次的储存转发延迟, 当 s>(k-1)*(p/b) 时,电路交换的时延比分组交换的时延大, 当 x>>p,相反。
4.在上题的分组交换网中, 设报文长度和分组长度分别为 x 和(p+h)(bit), 其中 p为分组的数据部分的长度,而 h 为每个分组所带的控制信息固定长度,与 p 的大小无关。 通信的两端共经过 k 段链路。链路的数据率为 b(b/s),但传播时延和结点的排队时间均可忽略不计。 若打算使总的时延为最小,问分组的数据部分长度 p 应取为多大? (提示: 参考图 1-12 的分组交换部分, 观察总的时延是由哪几部分组成。 )
答:总时延 D 表达式,分组交换时延为: D= kd+(x/p)*((p+h)/b)+ (k-1)*(p+h)/b D 对 p 求导后,令其值等于 0,求得 p=[(xh)/(k-1)]^0.5
5.收发两端之间的传输距离为 1000km ,信号在媒体上的传播速率为 2×108m/s。试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为 107bit, 数据发送速率为 100kb/s。
(2) 数据长度为 103bit, 数据发送速率为 1Gb/s。
从上面的计算中可以得到什么样的结论?
解:(1)发送时延: ts=107/105=100s 传播时延 tp=106/(2 ×108)=0.005s
(2)发送时延 ts =103/109=1 sμ传播时延: tp=106/(2 ×108)=0.005s
结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。
6.假设信号在媒体上的传播速度为 2.3×10^8m/s.媒体长度 L 分别为:
(1)10cm(网络接口卡) (2)100m(局域网)(3)100km(城域网)(4) 5000km(广域网)
试计算出当数据率为 1Mb/s 和 10Gb/s 时在以上媒体中正在传播的比特数。
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
(1)传播时延=0.1/(2.3x10^8)*2^10=4.35e-10s
数据率为1Mbi/s时 bit=传播时延*1Mbit/s=4.35e-10*2^10
7.长度为 100 字节的应用层数据交给传输层传送,需加上 20 字节的 TCP 首部。再交给网络层传送,需加上 20 字节的 IP 首部。最后交给数据链路层的以太网传送,加上首部和尾部工 18 字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为 1000 字节,数据的传输效率是多少?
解:(1) 100/(100+20+20+18 )=63.3%
(2) 1000/( 1000+20+20+18 ) =94.5%
8.论述具有五层协议的网络体系结构的要点,包括各层的主要功能。
答:综合 OSI 和 TCP/IP 的优点,采用一种原理体系结构。各层的主要功能:
物理层 物理层的任务就是透明地传送比特流。 (注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下 面,当做第 0 层。) 物理层还要确定连接电缆插头的定义及连接法。
数据链路层 数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧 (frame)为单位的数据。 每一帧包括数据和必要的 控制信息。
网络层 网络层的任务就是要选择合适的路由,使 发送站的运输层所传下来的分组能够
正确无误地按照地址找到目的站, 并交付给目的站的运输层。
运输层 运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端服务, 使它们看不见运输层以下的数据通信 的细节。
应用层 应用层直接为用户的应用进程提供服务。
9.假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间是2×RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特所需的时间。
(1)数据发送速率为10Mb/s,数据分组可以连续发送。
(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。
(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。
(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分 组,在第三个RTT内可发送四个分组(即23-1=22=4个分组)
答:题目的已知条件中的M=2^20=1048576,K=2^10=1024。
(1)发送这些比特所需时间=1.5×2^20x8/(10x10^6)=1.258s。
最后一个分组的传播时间还需要0.5×RTT=40ms。
总共需要的时间=2×RTT+1.258+0.5×RTT=0.16+1.258+0.04=1.458s。
(2)需要划分的分组数=1.5MB/1KB=1536。
从第一个分组到达直到最后一个分组到达要经历1535×RTT=1535×0.08=122.8s。
总共需要的时间=1.458+122.8=124.258s。
(3)在每一个RTT往返时间内只能发送20个分组。1536个分组,需要76个RTT,76个RTT可以发送76×20=1520个分组,最后剩下16个分组,一次发送完。但最后一次发送的分组到达接收方也需要0.5×RTT。
因此,总共需要的时间=76.5×RTT+2×RTT=6.12+0.16=6.28s。
(4)在两个RTT后就开始传送数据。
经过n个RTT后就发送了1+2+4+…+2n=2^(n+1)-1个分组。
若n=9,那么只发送了2^10-1=1023个分组。可见9个RTT不够。
若n=10,那么只发送了2^11-1=2047个分组。可见10个RTT足够了。
这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,现在总共需要的时间=(2+10+0.5)×RTT=12.5×0.08=1s。
10.有一个对点链路,长度为50km。若数据在此链路上的传播速度为2x10^8m/s,试问链路的带宽应为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长的分组,结果又应如何?
传播时延(Tp)=信道长度/传播速率=50*10^3/(2x10^8)=0.00025=2.5*10^(-4)s
发送时延=数据长度/发送速率
带宽(某信道能通过的最高数据率)bit/s
答:
传播时延Tp = 50 × 10^3 m / (2 × 10^8) m/s = 2.5 × 10^(-4) s
100字节时带宽 = 100 字节/ 2.5 × 10^(-4) s = 字节/s = 3.2 Mbit/s
512字节时带宽 =512 字节/ 2.5 × 10^(-4) s = 2.048 字节/s = 16.384 Mbit/
11.有一个点对点链路,长度为20000km。数据的发送速率是1kbit/s,要发送的数据有100bit。数据在此链路上的传播速度为2×10^8m/s。假定我们可以看见在线路上传输的比特,试画出我们看到的线路上的比特(画两个图,一个在100bit刚刚发送完时,另一个是再经过0.05s后)。
12条件同上题。但数据的发送速率改为1Mbit/s。和上题的结果相比较,你可以得出什么结论?
1kbit=10^3bit 1Mbit=10^6bit
13以1 Gbit/s的速率发送数据。试问在以距离或时间为横座标时,一个比特的宽度分别是多少?
答:
距离:1 bit × 2 × 10^8 m/s(在光纤中的速率)/ 1 Gbit/s = 0.2 m
时间:1 bit / 1 Gbit/s = 10^(- 9) s