赞
踩
在Bing和CSDN上转了一圈,答案千奇百怪。很多只给计算,不给解释,对新手不太好理解。本答案参考了网上已有的几乎所有答案,补充了一些基本概念和公式,零基础友好,希望对各位有帮助。
首先,一些基本的概念:
1.通信信道带宽:即理论上信道能够达到的最大数据传输速率。比如此处的1Gb/s,意思是该信道一秒内最多可以传送1Gb的数据。(此处取数字信道的带宽定义,因为这里的单位是数字信道的单位,所以模拟信道我们就不用管了。但千万别以为信道带宽只有这一种意思。实际上信道带宽一般分为两种,模拟信号带宽 和 数字信号带宽。参见百度百科:信道带宽
我们题中的信道带宽单位是 Gb/s,显然是指数字信道带宽。数字信道:能传输数字信号的信道称之为数字信道。数字信道的带宽为信道能够达到的最大数据速率。)
2.与带宽对应的概念就是最大吞吐量。前面说了信道带宽是理论上的最大数据传输速率,而吞吐量就是两台主机之间实际的数据传输速率,即实际上单位时间内能传输多少数据。
我们平时买电脑装宽带,或者是手机套餐的带宽有多少Mb/s,运营商告诉我们的就是这里的理论上的带宽。但实际上因为各种物理限制,以及一般显示的是MB/s(理论上的带宽再除以8),所以运行时显示的速度要比运营商告诉我们的小很多。
毕竟,大多数情况下,理想和现实总是有点差距的。。。
3.端到端时延就不说了,别的地方有文章介绍,一搜就知道了。
网上主要有两种计算方式:
需要用到的公式:
1.最大吞吐量 = 每个窗口的大小*单位时间内(即1s内)能发送的窗口个数。(感觉不如法二好理解)
因为我们前面说了最大吞吐量的概念,即单位时间内能传送的数据量。我们知道,电子设备在互相通信的时候,很多是以电磁波的形式(光速,c)向外发送和接收信息的。每一秒都有无数次的发送和接收,所以要是我们能求出每一次发送的数据量的多少(假设每次发送的数据都是一样大的,即一个窗口大小),以及单位时间内能发送多少次,不就能知道单位时间内一共能发送多少数据吗?
2,用实际的吞吐量 / 带宽,即为信道利用率。
现在窗口大小有了(65532B),我们得知道单位时间(1s)内能发送的窗口个数,显然这个值=1s / 每发送1个窗口所需的时间,算得的就是个数了。所以首先需要求发送一个窗口所需的总时延。
总时延 = 发送时延 + 传播往返时延 (书上有解释这三个“时延”)
发送时延 = 数据长度 / 信道带宽 = 65535*8bit / 1Gb/s = 0.52428*10-3s ≈ 0.52ms
传播往返时延 = 两倍的端到端时延 =2*10=20ms (发送数据和接收确认)
故每发送一个窗口大小的数据需要的总时间为:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。