当前位置: 首页 > news >正文

TCP习题总结

1、在采用TCP连接的数据传输阶段,如果发送端的发送窗口值由1000变为2000,那么发送端在收到一个确认之前可以发送()。

A. 2000个TCP报文段         B. 2000B         C. 1000B      D. 1000 个 TCP 报文

这道题考察的是TCP的基本概念,里面牵扯到两个知识点:实现TCP流量控制的机制--滑动窗口,TCP可靠传输里的确认机制。

经过前面的学习。我们知道TCP是面向字节流的,滑动窗口的基本单位就是字节,但是TCP采用的是累积确认,也就是说并不是对接收到的每一个字节都要发回确认。所以TCP采用的是对报文段的确认机制。  所以应该选B。

2、A和B之间建立了 TCP连接,A向B发送了 一个报文段,其中序号字段seq = 200,确认号字段ack = 201,数据部分有2个字节,那么在B对该报文的确认报文段中()。

A. seq = 202, ack = 200       B. seq = 201, ack = 201

C. seq = 201, ack = 202       D. seq = 202, ack = 201

这道题考察的是TCP数据传输过程,永远记住确认是对对方发送的数据的确认,并且确认号的值就是下次对方给你要发送的数据的起始序号。

所以B下次发送应该就是从201开始,注意题中还说了数据部分有2个字节,A实际给B发送的报文段里数据序号为200和201。所以B对A的确认号就不是201,应该为202。所以应该选C。

20. 在一个TCP连接中,MSS为1KB,当拥塞窗口为34KB时发生了超时事件。如果在接下来的4个RTT内报文段传输都是成功的,那么当这些报文段均得到确认后,拥塞窗口的大小是()。

A. 8KB         B. 9KB          C. 16KB        D. 17KB

这道题考察的是TCP的拥塞控制。在34KB时发生了超时事件,于是接下来慢开始门限值变为17KB,拥塞窗口从1KB开始。

于是拥塞窗口的值变化为1,2, 4,8共4个RTT。此时注意题目说的是当这些报文段均得到确认后,也就是说相当于题目在问第五个传输轮次的拥塞窗口的大小为多少。 由于8KB未达到慢开始门限值,所以会再进行一次慢开始算法,拥塞窗口值变为16KB。所以选C。

21 .设TCP的拥塞窗口的慢开始门限值初始为8(单位为报文段),当拥塞窗口上升到12时发生超时,TCP开始慢启动和拥塞避免,那么第13次传输时拥塞窗口的大小为()。

A. 4     B. 6    C. 7      D. 8

这道题考察的是TCP的拥塞控制。

慢开始算法:1,2,4,8 共4个传输轮次。

随后进行拥塞避免算法:9,10,11,12  共4个传输轮次

到达12KB时发生了超时,慢开始门限值变为6KB,拥塞窗口值变为1。 

再次进行慢开始算法:1,2,4,6共4个传输轮次。

随后进行拥塞避免算法:7   共1个传输轮次。

综上所述,第13次传输时拥塞窗口大小为7KB,选C。 这里面要注意的是不管慢开始门限值是否为2的指数级,只要拥塞窗口的值与其相等了就变成拥塞避免。

22. 在一个TCP连接中,MSS为1KB,当拥塞窗口为34KB时收到了3个冗余ACK报文。 如果在接下来的4个RTT内报文段传输都是成功的,那么当这些报文段均得到确认后, 拥塞窗口的大小是()。 A. 8KB  B. 16KB   C. 20KB   D. 21KB

这道题和20题的区别在于,拥塞窗口值为34KB时收到的是3个ACK报文而不是发生超时重传,即接下来应该先启动快重传和快恢复算法。将拥塞窗口的值和慢开始门限的值都变为当前拥塞窗口值的一半。所以第一个RTT的拥塞窗口值为17。

则接下来的4个RTT内拥塞窗口的值变化为17,  18,  19,20。同样是收到确认后,所以答案为D。

24.假设在没有发生拥塞的情况下,在一条往返时延RTT为10ms的线路上采用慢开始控制策略。如果接收窗口的大小为24KB, 最大报文段MSS为2KB。那么发送方能发送出第一个完全窗口(也就是发送窗口达到24KB)需要的时间是()。     A. 30ms    B. 40ms    C. 50ms    D. 60ms

注意题中说最大报文段MSS为2KB。所以拥塞窗口值从2开始,

则拥塞窗口的值变化为:2,  4,8,  16,24。由此可见经过了4个RTT,在第5个RTT时就已经可以发送完全窗口,所以需要的时间只算前4个,则答案选B。

28. [2010统考真题】主机甲和主机乙之间已建立一个TCP连接,TCP最大段长为1000B。 若主机甲的当前拥塞窗口为4000B,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为2000B,则此时主机甲还可以向主机乙发送的最大字节数是()。 A. 1000   B. 2000 C. 3000  D. 4000

这道题仍然考察的是TCP的流量控制,实际在之前总结TCP的流量控制的时候的习题和这道题是一样的。

首先需清楚发送窗口的值是拥塞窗口和接收窗口两者中值小的那一个,从题中可以看出在接收到一个确认报文段后,主机甲的发送窗口变为了2000B。此时窗口内前1000B就是前面发送的第二个报文段,该报文段未收到确认,所以不进行重发,所以此时主机甲可以向乙发送的是新落在发送窗口内的1000B。则答案选A。

32.主机甲和乙建立了 TCP连接,甲始终以MSS = 1KB大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为10KB的确认段。 若甲在t时刻发生超时的时候拥塞窗口为8KB,则从t时刻起,不再发生超时的情况下, 经过10个RTT后,甲的发送窗口是()。

A. 10KB     B. 12KB    C. 14KB     D. 15KB

t时刻发生了超时,那么接下来的第一个RTT内拥塞窗口的值应该为1,随后一直到第十个RTT内拥塞窗口的值变化为2,4,5,6,7,8,9,10,11。因为是经过十个RTT后,所以此时拥塞窗口的值应该为12,但是接收窗口的值始终为10,所以发送窗口取最小值,选A。

37. 【2020统考真题】若主机甲与主机乙已建立一条TCP连接,最大段长(MSS)为1KB, 往返时间(RTT)为2ms,则在不出现拥塞的前提下,拥塞窗口从8KB增长到32KB所需的最长时间是()。 A. 4ms     B. 8ms     C. 24ms     D. 48ms

注意题中说的是所需的最长时间,在不触发拥塞的情况下那么就应该是拥塞窗口的值全程线性增长,所以时间为(32-8)×2=48。所以选D。

相关文章:

TCP习题总结

1、在采用TCP连接的数据传输阶段,如果发送端的发送窗口值由1000变为2000,那么发送端在收到一个确认之前可以发送()。 A. 2000个TCP报文段 B. 2000B C. 1000B D. 1000 个 TCP 报文 这道题考察的是TCP的基本…...

华为发布LampSite X室内数字化创新解决方案,释放数字世界无限潜能

【阿联酋,迪拜,2023年10月11日】2023全球移动宽带论坛(Global MBB Forum 2022)期间,华为董事、ICT产品与解决方案总裁杨超斌重磅发布了全新一代5G室内数字化产品解决方案LampSite X系列,助力运营商打开商业…...

麒麟操作系统设置QT程序开机自启动有效方法

在麒麟操作系统上设置QT程序开机自启动的两种简单有效的方法。支持请点赞! 一、QT程序打包 1.设置环境变量 设置QT和linuxdeployqt的环境变量,已设置可忽略该步骤。 在/etc/profile文件末尾添加一下内容: export PATH/usr/local/Qt-5.15.…...

Python数组删除元素pop与remove对比

pop()和remove()函数都可以用来删除列表中的函数,pop()是按索引来删除的,remove()是按元素来删除的。 1、pop()默认删除列表中最后一个元素,而且会返回删除的元素。此时的时间复杂度为O(1) 下面的例子中,…...

【Java 进阶篇】Java Web 编写注册页面案例

当涉及到创建一个Java Web注册页面时,你将需要涵盖很多不同的主题,包括HTML、CSS、Java Servlet和数据库连接。在这篇文章中,我们将详细介绍每个步骤,以帮助你创建一个完整的注册页面。 1. 介绍 注册页面是许多Web应用程序的关键…...

7.5 SpringBoot 拦截器Interceptor实战 统一角色权限校验

前言 在【7.1】管理员图书录入和修改API,当时预告过:并没有写【校验是否是管理员】的逻辑,因为是通用逻辑,会单写一篇来细讲,那么今天就来安排! 角色权限校验,是保证接口安全必备的能力:有权限才可以操作!所以,一般对于这种通用逻辑,推荐不与主业务逻辑耦合,那么…...

【原创】ubuntu18修改IP地址

打开网络配置文件 sudo vi /etc/network/interfaces结果发现如下内容: # ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt inst…...

Vue-2.4sync修饰符

作用:可以实现子组件与父组件数据的双向绑定,简化代码 特点:prop属性名,可以自定义,非固定为value 场景:封装弹框类的基础组件,visible属性 true显示 false隐藏 本质:就是:属性名…...

【RealTek sdk-3.4.14b】RTL8197FH-VG+RTL8367+RTL8812F WiFi to LAN 和WiFi to WAN吞吐量

LAN <----------> 2.4G WiFi Throughput 天线频宽模式协议连接速率TX(Mbps)RX(Mbps)TX&RX(Mbps)2X240MHz802.11nTCP300Mbps2051922112X240MHz802.11nUDP300Mbps224234231 LAN <----------> 5G WiFi Throughput 天线频宽模式协议连接速率TX(Mbps)RX(Mbps)TX&…...

vue 本地上传Excel文件并读取内容

陌路遇见&#xff0c;陌路告别&#xff0c;陌路问好&#xff0c;九月再见&#xff0c;十月重现! 首先我来讲解一下我的思路&#xff1a; 首先&#xff0c;在模板部分&#xff0c;我们有以下元素&#xff1a; <input type“file” change“handleFileUpload” accept“.xlsx…...

京东商品品牌数据采集接口,京东商品详情数据接口,京东API接口

采集京东商品品牌数据的方法如下&#xff1a; 打开网页。在首页【输入框】中输入目标网址批量输入多个关键词并搜索。创建【循环列表】&#xff0c;采集所有商品列表中的数据。编辑字段。创建【循环翻页】&#xff0c;采集多页数据。设置滚动和修改【循环翻页】XPath。启动采集…...

电脑提示Explorer.exe系统错误该怎么办?

平时我们在使用电脑时&#xff0c;系统有时会提示Explorer.exe系统错误&#xff0c;很多用户在遇到这类问题时不知道该怎么办。遇到Explorer.exe系统错误&#xff0c;该怎么办呢&#xff1f;下面我们一起来了解一下。 怎么修复Explorer.exe系统错误&#xff1f; Explorer.exe是…...

Java架构师部署架构设计

目录 1 导学2 部署架构设计和部署架构图2.1 服务器数量和配置2.2 服务器软件配置2.3 网络环境设计2.4 部署架构图2.5 部署说明文档2.6 部署清单2.7 画部署架构图3 实战整体部署架构设计4 节点部署说明列表5 总结1 导学 本章的主要内容是整体架构设计的核心之一,部署架构设计相…...

ubuntu 22.04.3 live server图文安装流程

备注&#xff1a;以下操作全用键盘&#xff0c;tab切换&#xff0c;enter确认&#xff0c;方向键移动&#xff1b; 1、 选择安装&#xff0c;第一个&#xff1b; 2、选择语言&#xff0c;这里只能选择英语&#xff0c;无中文&#xff1b; 3、继续而不更新 4、键盘&#xff0c;…...

基于SVM+TensorFlow+Django的酒店评论打分智能推荐系统——机器学习算法应用(含python工程源码)+数据集+模型(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境方法一方法二 安装其他模块安装MySQL 数据库 模块实现1. 数据预处理1&#xff09;数据整合2&#xff09;文本清洗3&#xff09;文本分词 相关其它博客工程源代码下载其它资料下载 前言 本项目以支…...

Elasticsearch 分片内部原理—近实时搜索、持久化变更

目录 一、近实时搜索 refresh API 二、持久化变更 flush API 一、近实时搜索 随着按段&#xff08;per-segment&#xff09;搜索的发展&#xff0c;一个新的文档从索引到可被搜索的延迟显著降低了。新文档在几分钟之内即可被检索&#xff0c;但这样还是不够快。 磁盘在这…...

华为OD机试 - 用连续自然数之和来表达整数 - 滑动窗口(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…...

玩转ChatGPT:图像识别(vol. 1)

一、写在前面 来了来了&#xff0c;终于给我的账号开放图像识别功能了&#xff0c;话不多说&#xff0c;直接开测&#xff01;&#xff01;&#xff01; 二、开始尝鲜 &#xff08;1&#xff09;咒语&#xff1a; GPT回复&#xff1a; 这幅图显示了从2005年1月到2012年12月的…...

oracle 数据库实验三

&#xff08;1&#xff09;向 ORCL数据库添加一个重做日志文件组&#xff08;组号为5&#xff09;&#xff0c;包含一个成员文件d:\redo05a.log,大小为4MB &#xff1b; 要向Oracle数据库添加一个重做日志文件组&#xff0c;您可以执行以下步骤&#xff1a; 连接到数据库&…...

多线程并发篇---第五篇

系列文章目录 文章目录 系列文章目录一、什么是线程安全二、Thread类中的yield方法有什么作用?三、Java线程池中submit() 和 execute()方法有什么区别?一、什么是线程安全 线程安全就是说多线程访问同一段代码,不会产生不确定的结果。 又是一个理论的问题,各式各样的答案有…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...