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

这篇具有很好参考价值的文章主要介绍了通信信道带宽为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 (发送数据和接收确认)

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

👉总时延 = 0.52 + 20 = 20.52 ms

故每秒钟可以产生1000/20.52个窗口,
因此最大数据吞吐量 = 1个窗口的大小 * 每秒可以发送的窗口个数=65535*8*(1000/20.52)= 25549707bit/s ≈ 25.5Mb/s
故信道利用率 = 25.5Mb/s ÷ 1000Mb/s ≈ 2.55%

注释:表示速率时,1Kb/s=10^3b/s,1Mb/s=10^6b/s,1Gb/s=10^9b/s


解析:

信道利用率,实际上即指信道的信息 传输效率 ,也等于 发送时间/总时间。

回顾求总时延的那一行,我们会发现此时两台主机之间进行信息交换的时候,传播时延远大于发送时延。即绝大部分时间都花在“路”(传播)上了,我们发送数据出去的时间只占总时间的很小一部分。所以信道利用率是不是很低呢,意思是传输效率很低。


可能是因为题目还存在一些争议(见方法二的解法),所以我们学校老师对该题后来进行了一些补充,总之如果是学校一般作业的话,采用上面这个答案基本没有问题。

所作的补充:

吞吐量=发送数据量 / 总时间

而这个公式里的 发送数据量,一般会考虑加入TCP和IP各自首部的20个字节,共40个字节;总时间仍然=发送时间+往返时间(即两倍的端到端延时)

所以如果加上TCP、IP首部的40个字节,我们要算的发送的数据量则为65535+40=65575Byte。结果会有微小的变化,但是如果你们的题目未做更多说明,答案可以直接写上面的,不用修改。

在以上补充完的题设下的方法二。

方法二:

需要的公式:

①最大吞吐量=发送的数据总量(即TCP窗口大小) / 消耗的总时间

②信道利用率 = 最大吞吐量 / 带宽

所以接下来总体的目标就是求  发送的数据量  和  消耗的时间  的问题了。

1.首先,计算数据总量:

L=65535+40=65575Byte

L=65575*8=524600 bit

2.计算消耗的总时间:

发送时延(L/C)=数据长度 / 信道带宽=524600 bit  / 1Gb/s  = 0.52428*10-3s ≈ 0.52ms

往返时延(2*Td) 两倍的端到端时延 =2*10=20ms

总时间=L/C + 2*Td =20.52ms

3.可能达到的最大吞吐量,用公式①:

最大吞吐量 = 524600 bit / 20.52ms = 524600 bit / ( 20.52* 10^-3s)≈ 25.57 Mb/s

4.计算 信道利用率,用公式②:

信道利用率 = 25.57 Mbps / 1Gbps = 25.57×10^6 bps ​/ 10^9bps = 0.02557 ≈ 2.56%

因此,可能达到的最大吞吐量为25.57 Mb/s,信道利用率为2.56%。


补充

  • 窗口大小(Window Size)是TCP协议中用于控制发送端发送数据的参数。
  • 往返时延(Round-Trip Time,RTT)是数据从发送方发送到接收方并返回所需的时间。

以上两种计算方法其实是一样的,只不过理解稍有不同。法一是用窗口个数来计算吞吐量,窗口大小没有包括TCP和IP的首部。而法二的吞吐量则直接由数据量除以时间,把两种方法的公式一展开我们会发现其实是一样的。都是 L / T总,法二的L包括了首部。​​​​​​​文章来源地址https://www.toymoban.com/news/detail-770005.html

到了这里,关于通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 重估端到端原则

    评价技术迭代的旧的定势眼光来自于该技术诞生时。 1970/80/90 年代,相比传输带宽技术,处理器更强。网络协议倾向于字段多,字段小且紧凑,尽可能减少传输量,用 “算法技巧” 等价,如果 TCP 序列号 48 位,win 48 位,端口号 48 位,所有与 PAWS,win scale option,get unique tup

    2024年02月07日
    浏览(59)
  • 端到端自动驾驶

    自动驾驶主要流程:感知-预测-规划 预测是预测周围目标(车、行人、动物等)的轨迹,规划是规划自车的运动轨迹。 使用transformer架构, 统一自动驾驶流程 ,完成所有检测,跟踪,建图,轨迹预测,占据栅格预测与规划的端到端推理。 参考: CVPR 2023 Award Candidate | 自动驾

    2024年01月25日
    浏览(38)
  • Nginx代理下载超过1GB的文件失败问题的解决

    项目中通过nginx代理请求后端的下载接口,超过1g的文件下载后文件损坏,并且大小只有1g Nginx Buffer 机制默认开启时根据 proxy_buffer_size 和 proxy_buffers 参数控制写入内存的大小,如果超过buffer的限制,就会通过 proxy_max_temp_file_size 参数响应其余部分写入到磁盘临时文件 。 由于

    2024年02月15日
    浏览(47)
  • 什么是端到端测试?

    端到端测试(End-To-End Testing, 简称E2E测试)是一种 从头到尾测试整个软件产品 以确保应用程序流程按预期运行的技术。它定义了产品的系统依赖性,并确保所有集成部分按预期协同工作。 端到端测试的主要目的是 通过模拟真实用户场景并验证被测系统及其组件的集成和数据

    2024年02月07日
    浏览(62)
  • 前端实现端到端测试(代码版)

    playwright 、 cypress 、 selenium 对比 个人初步使用后,推荐playwright 框架作为e2e test 下载 cypress npm install cypress --save-dev package.json npm run cypress:open 使用流程 入门官方文档 npm run cypress:open 左侧端测试,右侧组件测试,点击左侧 选择你需要的浏览器,点击开始 自动打开浏览器,点击左侧s

    2024年02月04日
    浏览(40)
  • 【端到端图像压缩】CompressAI运行记录

    目录 0 前言 1 代码来源 2 代码的运行 2.1 CompressAI下载与安装 2.2 运行示例程序 3 结果分析 4 结论 5 参考文献 0 前言 期末作业要求运行端到端的图像压缩代码,过程中学习了csdn上诸多教程。这里将运行的过程分享出来。 1 代码来源 目前大多数文献附带的代码是在Linux平台使用

    2024年02月12日
    浏览(39)
  • 实时Flink的端到端检测和测试

    在现代软件开发中,实时数据处理和检测是非常重要的。Apache Flink是一个流处理框架,可以用于实时数据处理和分析。在本文中,我们将讨论Flink的端到端检测和测试,以及如何实现高效和可靠的实时数据处理。 实时数据处理是指在数据生成的同时对数据进行处理和分析。这

    2024年02月22日
    浏览(47)
  • 单元测试与端到端测试——主要区别

    目录 前言: 什么是单元测试? 单元测试生命周期 单元测试的好处 那么它有什么好处呢? 单元测试示例 单元测试的类型 单元测试工具 什么是端到端测试? 端到端测试 端到端测试的主要好处是什么? 端到端测试示例 端到端测试的类型 横向端到端测试 垂直端到端测试 端到

    2024年02月15日
    浏览(49)
  • 端到端 RAG 解决方案 RAGFlow 正式开源

    继 AI 原生数据库 Infinity 于去年底正式开源之后,我们的端到端 RAG 解决方案 RAGFlow 也于今日正式开源。在回答 RAGFlow 是一款怎样的产品之前,我们先来谈谈为何要做这样一款产品。 RAG 发展到今日,已经成为 LLM 面向 B 端服务的共识,然而时至今日,针对它的疑问却从来没有

    2024年04月08日
    浏览(47)
  • 关于海康MVS软件显示速率低与1GB、相机丢包的设置优化

    MVS软件显示速率低与1GB 工控机主要应用与视觉检测!相机网线及工控机网口都是千兆的!设置完巨帧数和速度与双工(选择为全双工),显示速度低与1GB,不能够正常工作 这种情况均为MVS设置不熟悉,可参照如下设置优化相应端口相机配置 A.关闭采集控制帧速率控制。 B.L

    2024年02月07日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包