🏷️ 知识点:HTTP
下列关于传输层协议的面向连接服务的描述中,错误的是()。
A. 面向连接的服务需要经历3个阶段:连接建立、数据传输及连接释放 B. 当链路不发生错误时,面向连接的服务可以保证数据到达的顺序是正确的 C. 面向连接的服务有很高的效率和时间性能 D. 面向连接的服务提供了一个可靠的数据流
[tag_link]
正确答案:C
TCP 规定HTTP() 进程的端口号为80。
A. 客户 B. 解析 C. 服务器 D. 主机
[tag_link]
正确答案:C
下列关于TCP 的端口的叙述中,错误的是()。
A. 客户端使用的端口号是动态规定的 B. 端口号长度为16位 C. 端口号用于在通信中识别进程 D. 局域网内的计算机不能使用相同端口号
[tag_link]
正确答案:D
下列几种描述中,()不是TCP服务的特点。
A. 字节流 B. 全双工 C. 可靠 D. 支持广播
[tag_link]
正确答案:D
下列几种描述中,()不是TCP 的特性。
A. 比 UDP开销大 B. 强制重传错误分组 C. 在 TCP 首部中有目标主机IP 地址 D. 把消息分成段并在目标主机中进行重组
[tag_link]
正确答案:C
下列几种字段中,包含在TCP 首部中而不包含在UDP 首 部 中 的 是 ( ) 。
A. 目的端口号 B. 序号 C. 检验和 D. 目 的IP 地址
[tag_link]
正确答案:
下列关于TCP 报头格式的描述中,错误的是()。
A. 报头长度为20~60B, 其中固定部分为20B B. 端口号字段依次表示源端口号与目的端口号 C. 报头长度总是4的倍数个字节 D. TCP 检验和伪首部中IP 分组头的协议字段为17
[tag_link]
正确答案:
当 TCP 报文段标志字段中的()为1时,表示必须释放连接,然后重新建立连接。
A. URG B.RST C.ACK D.FIN
[tag_link]
正确答案:
TCP 报文段首部中窗口字段的值的含义是()。
A. 指明自己的拥塞窗口的尺寸 B. 指明对方的发送窗口的尺寸 C. 指明自己的接收窗口的尺寸 D. 指明对方的拥塞窗口的尺寸
[tag_link]
正确答案:
在采用TCP 连接的数据传输阶段,若发送端的发送窗口值由1000变为2000,则发送端 在收到一个确认之前可以发送()。
A. 2000 个TCP 报文段 B.2000B C. 1000B D.1000 个TCP 报文段
[tag_link]
正确答案:
A 和 B 建立了TCP 连接,当A 收到确认序号为100的确认报文段时,表示()。
A. 报文段99已收到 B. 报文段100已收到 C. 末字节序号为99的报文段已收到 D. 末字节序号为100的报文段已收到
[tag_link]
正确答案:
当 TCP 在传送大量数据时,是以()的大小将数据进行分割发送的,进行重发时同样 也是以此为单位的。
A. MSS B. 字节 C. 比特 D.MTU
[tag_link]
正确答案:
在 TCP 中,发送方的窗口大小取决于()。
A. 仅接收方允许的窗口 B. 接收方允许的窗口和发送方允许的窗口 C. 接收方允许的窗口和拥塞窗口 D. 发送方允许的窗口和拥塞窗口
[tag_link]
正确答案:
TCP 利用滑动窗口来实现流量控制,只要发送方收到对方的零窗口通知,就启动() 计时器。若计时器超时,则发送一个零窗口探测报文段,以试图获得对方的窗口值。
A. 重传 B. 保活 C. 时间等待 D. 持续
[tag_link]
正确答案:
TCP 在40Gb/s 的线路上传送数据,若TCP 充分利用了线路的带宽,则经过()后, TCP 会发生序号绕回(使用了之前用过的字节序号,已知2³²15×10⁹=0.859)。
A. 859ms B.85.9ms C.8.59ms D.0.859ms
[tag_link]
正确答案:
下列关于TCP 窗口与拥塞控制概念的描述中,错误的是()。
A. 接收窗口 ( rwnd) 通过TCP 首部中的窗口字段通知数据的发送方 B. 发送窗口确定的依据是:发送窗口=min[ 接收端窗口,拥塞窗口] C. 拥塞窗口是接收端根据网络拥塞情况确定的窗口值 D. 拥塞窗口大小在开始时可以按指数规律增长
[tag_link]
正确答案:
下列关于TCP 工作原理与过程的描述中,错误的是()。
A. TCP 连接建立过程需要经过“三次握手”的过程 B. TCP 传输连接建立后,客户端与服务器端的应用进程进行全双工的字节流传输 C. TCP 传输连接的释放过程很复杂,只有客户端可以主动提出释放连接的请求 D. TCP 连接的释放需要经过“四次挥手”的过程
[tag_link]
正确答案:
TCP 使用三次握手协议来建立连接,设A 、B 双方发送报文的初始序号分别为X 和 Y, A 发送(①)的报文给B,B 接收到报文后发送(②)的报文给A, 然后A 发送一个确 认报文给B 便建立了连接(注意, ACK 的下标为捎带的序号)。 ①A.SYN= 1, 序号=X B. SYN=1, 序 号 =X+1,ACKx=1 ②A. SYN=1, 序号=X+1 B. SYN=1, 序 号 =X+1,ACKx=1
C. SYN= 1, 序 号 =Y D.SYN=1, 序号=Y,ACKy+1=1 C. SYN=1, 序号=Y, ACKx+1=1 D. SYN=1, 序号=Y,ACKr+1=1
[tag_link]
正确答案:
TCP “三次握手”过程中,第二次“握手”时,发送的报文段中()标志位被置为1。
A. SYN B.ACK C. ACK 和RST D. SYN和ACK
[tag_link]
正确答案:
TCP 采用三报文握手建立连接,其中第三个报文是()。
A. TCP 连接请求 B. 对 TCP 连接请求的确认 C. 对 TCP 连接请求确认的确认 D. TCP 普通数据
[tag_link]
正确答案:
主机甲与主机乙之间已建立一个 TCP 连接,主机甲向主机乙发送了两个连续的 TCP 段,分别包含 300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机 甲的确认序列号是()。
A.500 B.700
C.800
D.1000
[tag_link]
正确答案:D
返回的确认序列号是接收端期待收到对方下一个报文段数据部分的第一个字节的序号,因此乙在正确接收到两个段后,返回给甲的确认序列号是 200+ 300 + 500 = 1000。
主机 A 和 B 之间建立了一个TCP 连接,A 向 B 发送的第一个SYN 报文段中的序号值 ( seq) 等于211,数据传输结束在释放连接时, A 向 B 发送的第4次挥手报文段的seq 等于985,则在本次通信过程中,A 向 B 总共发送了()字节的数据。 A . 771 B.772 C.773 D.774
[tag_link]
正确答案:
一个 TCP 连接总是以1KB 的最大段长发送 TCP 段,发送方有足够多的数据要发送。当拥塞窗口 为 16KB 时发生了超时,如果接下来的4个 RTT ( 往返时间)时间内的 TCP 段的传输都是成功的,那 么当第4个 RTT 时间内发送的所有 TCP 段都得到肯定应答时,拥塞窗口大小是()。
A.7 KB
B.8 KB
C.9 KB
D.16 KB
[tag_link]
正确答案:C
在发生超时后,慢开始门限 ssthresh 变为 16KB/2 = 8KB,拥塞窗口变为 1KB。
在接下来的 3 个 RTT 内,执行 慢开始 算法,拥塞窗口大小依次为 2KB、4KB、8KB,由于慢开始门限 ssthresh 为 8KB,因此之后转而执行 拥塞避免 算法,即拥塞窗口开始“加法增大”。
因此第 4 个 RTT 结束后,拥塞窗口的大小为 9KB。
A 和 B 之间建立了TCP 连接,A 向 B 发送了一个报文段,其中序号字段seq=200, 确 认序号字段ack=201, 数据部分有2B, 那么在B对该报文的确认报文段中()。
A. seq=202,ack=200 B.seq=201,ack=201 C. seq=201,ack=202 D.seq=202,ack=201
[tag_link]
正确答案:
使用浏览器访问某大学Web 网站主页时,不可能使用到的协议是()。
A.PPP
B.ARP
C.UDP
D.SMTP
[tag_link]
正确答案:D
使用浏览器访问 Web 网站主页时,涉及从输入 URL 到页面加载的完整过程。PPP 协议用于接入网络(如拨号上网),ARP 协议用于获取 MAC 地址,UDP 协议可用于 DNS 查询等。SMTP 是邮件发送协议(Simple Mail Transfer Protocol),用于发送电子邮件,而非 Web 访问,因此不可能用到 SMTP。
假设主机H 通过HTTP/1.1 请求浏览某Web服务器S 上的Web 页 news408.html,news408.. html引用 了同目录下的1幅图像,news408.html 文件大小为1 MSS (最大段长),图像文件大小为3MSS,H 访 问 S的往返时间RTT=|0ms, 忽略HTTP 响应报文的首部开销和TCP 段传输时延。若H 已完成域名解 析,则从H 请求与S 建立TCP 连接时刻起,到接收到全部内容止,所需的时间至少是()。
A. 30ms C. 50ms D.60ms
[tag_link]
正确答案:B
HTTP/1.1 默认使用流水线的 长连接 ,所有请求都是连续发送的。
题目要求最少 时间,最理想的流程是 TCP 在第三次握手的报文段中捎带 HTTP 请求,以及 TCP 连接后慢开 始阶段不考虑拥塞情况。
假设接收方有足够大的缓存空间,即发送窗口等同于拥塞窗口,总 共需要经过:第 1 个 RTT,进行 TCP 连接,此时服务器 S 的发送窗口= 1MSS,并在第三次 握手时捎带 HTTP 请求;
第 2 个 RTT,服务器 S 发送大小为 1MSS 的 html 文件,主机 C 确认 后服务器 S 的发送窗口变为 2MSS;
第 3 个 RTT,服务器 S 发送大小为 2MSS 的图像文件, 主机 C 确认后服务器 S 的发送窗口变为 4MSS;
第 4 个 RTT,服务器 S 发送剩下的 1MSS 图 像文件,完成传输,总共需要 4 个 RTT,即 40ms。
解答题 数据结构 41 已知非空二叉树 T 的结点值均为正整数,采用顺序存储方式保存,数据结构定义如下: typedef struct { // MAX_SIZE 为已定义常量 Elemtype SqBiTNode [ MAX_SIZE ]; // 保存二叉树结点值的数组 int ElemNum ; // 实际占用的数组元素个数 } SqBiTree ; T 中不存在的结点在数组 SqBiTNode 中用 -1 表示。
例如,对于下图所示的两棵非空二叉树 T1 和 T2: 40 25 80 30 27 40 50 60 35 30 60 二叉树 T1 二叉树 T2 T1 的存储结果如下: 40 25 60 -1 30 -1 80 -1 -1 27 T1.SqlBiTNode T1.ElemNum = 10 T2 的存储结果如下: 40 50 60 -1 30 -1 -1 -1 -1 -1 T2.SqlBiTNode T2.ElemNum = 11 35 请设计一个尽可能高效的算法,判定一棵采用这种方式存储的二叉树是否为二叉搜索树,若是,则返回 true,否则,返回 false,要求: (1) 给出算法的基本设计思想。
(2) 根据设计思想,采用 C 或 C++ 语言描述算法,关键之处给出注释。
二叉排序树 查看答案与解析 收藏 1)算法的基本设计思想 对于采用顺序存储方式保存的二叉树,根结点保存在 SqBiTNode[0] 中:当某结点保存在 SqBiTNode[i] 中时,若有左孩子,则其值保存在 SqBiTNode[2i+1] 中;
若有右孩子,则其值保存在 SqBiTNode[2i+2] 中;
若有双亲结点,则其值保存在 SqBiTNode[(i-1)/2] 中。
二叉搜索树需要满足的条件是:任一结点值大于其左子树中的全部结点值,小于其右子树中的全部结点值。
中序遍历二叉搜索树得到一个升序序列。
使用整型变量 val 记录中序遍历过程中已遍历结点的最大值,初值为一个负整数,对二叉树进行 中序遍历 。
若当前遍历的结点值小于等于 val ,则算法返回 false,否则,将 val 的值更新为当前结点的值。
2)算法实现 // val 存储中序遍历中访问到的最大值 // 返回值:当前子树是否为 BST bool solve ( SqBiTree * tree , int k , int * val ) { if ( k >= tree -> ElemNum ) { // 空结点 return true ; } // 判断左子树是否为 BST bool ret = solve ( tree , 2 * k + 1 , val ); if ( ! ret ) { return false ; } int cur_val = tree -> SqbiTNode [ k ]; if ( cur_val == - 1 ) { // 空结点 return true ; } // 判断中序序列是否递增 if ( cur_val > * val ) { * val = cur_val ; } else { return false ; } // 判断右子树是否为 BST ret = solve ( tree , 2 * k + 2 , val ); if ( ! ret ) { return false ; } return true ; }
TCP 的通信双方,有一方发送了带有 FIN 标志的数据段后,表示()。
A. 将断开通信双方的TCP 连接 B. 单方面释放连接,表示本方已经无数据发送,但可以接收对方的数据 C. 中止数据发送,双方都不能发送数据 D. 连接被重新建立
[tag_link]
正确答案:
某客户与服务器建立TCP 连接,当连接断开时,客户先向服务器发送一个标志FIN=1 的报文段A, 此报文段中seq 值为x,ack 值为y 。一段时间后,客户收到了服务器发来 的一个标志FIN=1 的报文段B, 则下列关于报文段B 的说法中,正确的是()。
A. B 中 的 seq 值一定为y B.B 中的seq 值一定为y+1 C. B 中的ack 值一定为x D.B 中 的ack 值一定为x+1
[tag_link]
正确答案:
某应用程序每秒产生一个60B 的数据块,每个数据块被封装在一个 TCP 报文中,然 后封装在一个 IP 数据报中,则最后每个数据报所包含的应用数据所占的百分比是 ()。 (注意: TCP 报文和 IP 数据报文的首部没有附加字段。)
A. 20% B.40% C.60% D.80%
[tag_link]
正确答案:
假设 TCP 客户与TCP 服务器的通信已结束,端到端的往返时间为RTT 。t 时刻 TCP 客 户请求断开连接,则从t 时刻起 TCP 服务器释放该连接的最短时间是()。
A. 0.5RTT B.1RTT C.1.5RTT D.2RTT
[tag_link]
正确答案:
甲发起与乙的TCP 连接,甲选择的初始序号为200,若甲和乙建立连接过程中最后一个 报文段不携带数据,则TCP 连接建立后,甲给乙发送的数据报文段的序号为()。 A . 203 B.2 02 C.201 D.200
[tag_link]
正确答案:
A发起与B 的 TCP 连接,A 选择的初始序号为1666,连接建立过程中未发送任何数据, TCP 连接建立后,A 给 B 发送了1000B 数据,B 正确接收后发送给 A 的确认序号是()。
A. 1667 B.2666 C.2667 D.2668
[tag_link]
正确答案:
一个 TCP 连接的数据传输阶段,若发送端的发送窗口值由2000变为3000,则意味着发 送端可以( )。
A. 在收到一个确认之前可以发送3000个TCP 报文段 B. 在收到一个确认之前可以发送1000B C. 在收到一个确认之前可以发送3000B D. 在收到一个确认之前可以发送2000个TCP 报文段
[tag_link]
正确答案:
甲和乙建立了TCP 连接,甲向乙发送了3个连续的TCP 段,分别包含200B、300B、400B 的有效载荷,第3个段的序号为1000。若乙仅正确接收到第1个和第3个段,则乙发送 给甲的确认序号是()。
A. 500 B.600 C.700 D.800
[tag_link]
正确答案:
在一个TCP 连接中,MSS 为 1KB, 当拥塞窗口为34KB 时发生了超时事件。若在接下 来 的 4RTT 内报文段传输都是成功的,则当这些报文段均得到确认后,拥塞窗口的大 小是( ) 。
A. 8KB B.9KB C.16KB D.17KB
[tag_link]
正确答案:
若甲向乙发起了一条 TCP 连接,最大段长为1KB, 乙每收到一个数据段都会发出一个 接收窗口为10KB 的确认段,若甲在 t 时刻发生超时,此时拥塞窗口为16KB。则从 t 时刻起,在不再发生超时的情况下,经过10RTT后,甲的发送窗口的大小为()。
A. 10KB B.12KB C.14KB D.15KB
[tag_link]
正确答案:
设 TCP 的拥塞窗口的慢开始门限值初始为8(单位为报文段),当拥塞窗口上升到12 时发生超时,TCP 开始慢开始和拥塞避免,则第13次传输时拥塞窗口的大小为()。
A. 4 B.6 C. 7 D.8
[tag_link]
正确答案:
甲和乙刚建立 TCP 连接,并约定最大段长为2KB, 假设乙总是及时清空缓存,保证接 收窗口始终为20KB,ssthresh 为16KB, 若双向传输时间为10ms, 发送时延忽略不计, 且没有发生拥塞的情况,则经过(),甲的发送窗口第一次达到20KB。
A. 40ms B.50ms C.60ms D.70ms
[tag_link]
正确答案:
假设一个TCP 连接的传输过程在慢开始阶段,在tRTT 时刻到(t+1RTT 时刻之间发送 了 k 个数据段,假设仍然保持在慢开始阶段,预期在(t+1)RTT 时刻到(t+2)RTT 时刻之 间将发送()个数据段(假设接收方有足够的缓存)。
A. k B.k + 1 C.2k D.2k
[tag_link]
正确答案:
下列关于TCP 的拥塞控制机制的描述中,错误的是()。
A. TCP 刚建立连接进入慢开始阶段 B. 慢开始阶段拥塞窗口指数级增加 C. 超时发生时,新门限值(慢开始和拥塞避免阶段的分界点)等于旧门限值的一半 D. 拥塞避免阶段拥塞窗口线性增加
[tag_link]
正确答案:
在一个TCP 连接中,MSS 为 1KB, 当拥塞窗口为34KB 时收到了3个冗余ACK 报文。 若在接下来的4RTT内报文段传输都是成功的,则当这些报文段均得到确认后,拥塞窗 口的大小是()。 A . 8KB B.16KB C.20KB D.21KB
[tag_link]
正确答案:
A 和 B 建立 TCP 连接,MSS 为 1KB 。某时,慢开始门限值为2KB,A 的拥塞窗口 为 4KB, 在接下来的1RTT内 ,A 向B 发送了4KB 的数据( TCP 的数据部分),并 且得到了B 的确认,确认报文中的窗口字段的值为2KB。在下一个 RTT 中 ,A 最多 能向B发 送 ( ) 数 据 。
A. 2KB B.8KB C.5KB D.4KB
[tag_link]
正确答案:
假设在没有发生拥塞的情况下,在一条往返时延RTT 为 1 0ms的线路上采用慢开始控制 策略。若接收窗口的大小为24KB, 最大报文段MSS 为 2KB, 则发送方能发送出第一个 完全窗口(也就是发送窗口达到24KB) 需要的时间是()。
A. 30ms B.40ms C.50ms D.60ms
[tag_link]
正确答案:
甲向乙发起一个TCP 连接,最大段长MSS=1KB,RTT=3ms, 乙的接收缓存为16KB, 且乙的接收缓存仅有数据存入而无数据取出,则甲从连接建立成功至发送窗口达到 8KB, 需经过的最小时间以及此时乙的接收缓存的可用空间分别为()。
A. 3ms,15KB B.9ms,9KB C.6ms,13KB D.12ms,8KB
[tag_link]
正确答案:
【 2011 统考真题】主机甲向主机乙发送一个( SYN=1,seq=11220) 的 TCP 段,期望 与主机乙建立 TCP 连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的 TCP 段 可 能 是 ( ) 。
A. (SYN=0,ACK=0,seq=11221,ack=11221) B. (SYN=1,ACK=1,seq=11220,ack=11220) C. (SYN=1,ACK=1,seq=11221,ack=11221) D. (SYN=0,ACK=0,seq=11220,ack=11220)
[tag_link]
正确答案:
在使用 TCP 传输数据时,若有一个确认报文段丢失,则也不一定会引起与该确认报文 段对应的数据的重传。试说明理由。
[tag_link]
C
若收到的报文段无差错,只是报文段失序,则TCP 对此未做明确规定,而是让TCP 的 实现者自行确定。试讨论两种可能的方法的优劣: 1)将失序报文段丢弃。 2)先将失序报文段暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。
[tag_link]
C
一个TCP 连接要发送3200B 的数据。第一个字节的编号为10010。若前两个报文段各携 带1000B的数据,最后一个报文段携带剩下的数据,写出每个报文段的序号。
[tag_link]
D
设 TCP 发送窗口的最大尺寸为64KB, 网络的平均往返时间为20ms, 问 TCP 所能得 到的最大数据传输速率是多少?(只考虑单向传输,且假设信道带宽不受限)
[tag_link]
D
在一个 TCP 连接中,信道带宽为100Mb/s, 单个报文大小为1000B, 发送窗口固定为60, 端到端时延为20ms.TCP 最多能达到的平均数据传输速率是多少?信道利用率是多少? (只考虑单向传输,确认报文的发送时延、各层协议的首部开销均忽略不计。)
[tag_link]
C
主机A 基于 TCP 向主机B 连续发送3个TCP 报文段。第一个报文段的序号为90,第二 个报文段的序号为120,第三个报文段的序号为150。
- 第一、二个报文段中有多少数据? 2)假设第二个报文段丢失而其他两个报文段到达主机B, 在主机B 发往主机A 的确认 报文中,确认序号应是多少?
[tag_link]
考虑在一条TCP 连接上采用慢开始拥塞控制而不发生网络拥塞的情况下,接收窗口为 24KB,RTT 为10ms, 最大段长为2KB, 则需要多长时间才能发送第一个完全窗口?
[tag_link]
设 TCP 拥塞窗口的慢开始门限值初始为12MSS, 当拥塞窗口达到16时出现超时,再次 进入慢开始阶段,则从此时起恢复到超时的拥塞窗口大小,需要多少个往返时延?
[tag_link]
假定 TCP 报文段载荷是1500B, 最大分组存活时间是120s, 要使得 TCP 报文段的序 号不会循环回来而重叠,线路允许的最快速度是多大?(不考虑帧长限制)
[tag_link]
一个 TCP 连接使用256kb/s 的链路,其端到端时延为128ms。经测试发现吞吐率只有 128kb/s 。问窗口是多少?忽略 PDU 封装的协议开销及接收方应答分组的发送时间(假 定应答分组长度很小)。
[tag_link]
假定TCP 最大报文段的长度是1KB, 拥塞窗口被置为18KB, 并且发生了超时事件。 若接着的4次迸发量传输都是成功的,则该窗口将是多大?
[tag_link]
一个TCP 首部的数据信息(十六进制表示)为0x0D 280015505FA9060000000070 024000 C0290000。TCP 首部的格式如下图所示。请回答:
- 源端口号和目的端口号各是多少? 2)发送的序号是多少?确认序号是多少?
- TCP 首部的长度是多少? 4)这是一个使用什么协议的TCP 连接?该TCP 连接的状态是什么? 32位- 部位 0 8 16 24 31 部 TC 首 P 部 源端口 目的端口 20 固定 B 的 首 序号 确认号 数据 偏移 保留 UR G AC K P SH RST SYN FIN 窗 口 检验和 紧急指针 选项(长度可变) 填充
[tag_link]