一、TCP

【1】

TCP交互中的序号、ack号动态变化情况

在这里插入图片描述
解析:
由第一个数据段的开始序号为200往后推,因为第一个数据段长度是300,所以第二个数据段开头序号是500…同理,故第二个数据段结尾序号是999, 那么主机乙给主机甲的确认帧应为ack = 1000,指的是期待接收的下一个数据段的序号。


【2】

TCP拥塞控制

我们先稍微回顾下慢开始、快重传算法:
在这里插入图片描述
由慢开始算法,逐步增加cwnd,当到达门限值时,进入线性的增长。
如果遇到了超时重传,视为网络发生了拥塞,立刻将cwnd降为1,然后开始慢开始算法…
如果收到了3个冗余ACK,那么就直接执行快重传算法,即将当前cwnd值除以2作为新的门限值,然后开始线性增长。这样就可以在超时计时器到时之前重传,提高效率。

【例题2】
在这里插入图片描述
在这里插入图片描述


【3】

TCP流量控制

在这里插入图片描述

发送窗口 = min{接收窗口、拥塞窗口}

我们分析一下,刚开始发送窗口 = 4000字节。发送完前两个数据段之后,现在发送窗口的情况是这样的:
在这里插入图片描述
当收到确认段之后, 确认方通告收到了第一个段的数据,并且接收窗口为2000字节,故发送方就要将自己的发送窗口变小,变成2000字节,然后将收到的第一个段移出发送窗口,向前进一格:

在这里插入图片描述

因为1000-1999还未收到确认,所以不能删除,那么此时发送方只能发送2000-2999的数据,所以综上所述,本题选A。


【4】

TCP三次握手流程细节

这一部分比较简单,无非就是搞清楚ack, seq几个序列号的变化情况即可。

在这里插入图片描述
本题选C,前两次握手的SYN = 1.后两次握手的ACK = 1.因为后两次握手需要确认。


【5】

TCP可靠传输中的确认号

在这里插入图片描述

此题同第【1】题的分析思路很像,本题是已知第三个段的首部序号,要求算第二个段的首部序号。因为第二个段丢失了,由于有TCP的可靠机制,故TCP发出的是对第一个段完整收到的确认。


【6】

TCP可靠传输的确认号与序号

在这里插入图片描述
解析:
本题容易错选D。

确认序号的定义要弄清楚。比如本题:确认序号 = 2046,代表2045及其之前的所有内容已被接收,接下来希望收到的是2046序号段。

因此正确答案选B


【7】
在这里插入图片描述
注意:本题问拥塞窗口从8到20的最长时间。且没有发生拥塞情况

既然是最长,那么肯定从8到20保持线性增长是最长的,故12个RTT
12 * 2 = 24ms

选择C


【8】

TCP的拥塞控制、流量控制综合

本题是个好题。
在这里插入图片描述

【解析如下】:
在这里插入图片描述
还是抓住:swnd = min{cwnd, rwnd}这个公式

接收方通过每一次的ack来更新接收窗口,进而控制发送窗口,达到流量控制的目的。

所以我们要同时动态更新接收窗口、拥塞窗口的大小,因为他们对发送窗口的大小具有影响。此处由于题中没有提到慢开始门限值的信息,所以我们默认,拥塞窗口一直按照指数规律增长。

具体解析看上图。


【9】

TCP拥塞控制

在这里插入图片描述
在这里插入图片描述

注意坑点:题中问的是发送窗口 = min{拥塞窗口、接收窗口}

所以最后拥塞窗口为12KB时,但接收窗口恒为10KB,所以发送窗口取小者,选A


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐