EXERCISE
1 画图并描述 TCP 三次握手的过程
参考答案
如图 - 1 所示。
图 - 1
2 画图并描述 TCP 建立连接过程中的状态
参考答案
如图 - 2 所示。
图 - 2
3 画图并描述 TCP 四次断开的过程
参考答案
如图 - 3 所示。
图 - 3
4 画图并描述 TCP 滑动窗口的工作原理
参考答案
如图 - 4 所示。
图 - 4
在 TCP 建立连接的时候,主机 A 与 B 之间就进行了窗口大小的协商,主机 A 在发送连接建立请求的时候,就向主机 B 通告了自己发送窗口的大小,单位是字节(这里为了讲解简单,使用简单的数字来举例)。
1)主机 B 缓冲区的大小为 3,因此 B 向 A 发送确认的时候,宣告窗口大小为 3。
2)主机 A 再次确认后,连接已经建立,开始发送数据。
3)主机 A 发送了 3 个数据段,主机 B 接收到数据后,缓冲区由空变为满,这时,应用程序读取了 1 个数据段,为缓冲区清空了大小为 1 的空间。
4)主机 B 向 A 确认收到的数据,并根据缓冲区空间的大小宣告窗口为 1。如果 B 的缓冲区大小为 0, B 会向 A 宣告窗口大小为 0,如果 A 接收到 B 窗口大小为 0 的确认,
5)A 会停止发送,等待 B 宣告一个非 0 的窗口时再发送数据。
主机 A 根据 B 宣告的窗口大小来发送数据。
5 什么是 TCP 连接复位?请查阅相关资料
参考答案
终止 TCP 连接除了通过 FIN 控制位置 1 实现之外,还可以通过 RST 控制位置 1 来实现,这叫做连接复位。连接复位有以下三种情况。
1)拒绝连接请求
假定在某一端的 TCP 请求要和并不存在的端口进行连接,在另一端的 TCP 就可以发
送 RST 位置 1 的报文段来取消这个请求。
2)异常终止连接
由于出现了异常情况,某一端的 TCP 可能愿意把连接异常终止,它可以发送 RST
报文段来关闭这一连接。
3)终止空闲的连接
某一端的 TCP 可能发现在另一端的 TCP 已经空闲了很长的时间,它就可以发送 RST
报文段来撤销这一连接。
6 请写出常见应用层协议及默认端口号
参考答案
主要包括:
- DNS 协议,TCP/UDP 53 端口
- HTTP 协议,TCP 80 端口
- HTTPS 协议,TCP 443 端口
- FTP 协议,TCP 20/21 端口
- TFTP 协议,UDP 69 端口
- Telnet 协议,TCP 23 端口
https://tts.tmooc.cn/ttsPage/NTD/NTDTN202109/NETEXP/DAY03/EXERCISE/01/index_answer.html