当前位置:   article > 正文

通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?_最大吞吐量和信道利用率

最大吞吐量和信道利用率

在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 (发送数据和接收确认)

故每发送一个窗口大小的数据需要的总时间为:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/799988
推荐阅读
相关标签