EXERCISE

1 画图并描述 TCP 三次握手的过程

参考答案

如图 - 1 所示。

EXERCISE= - 图1

图 - 1

2 画图并描述 TCP 建立连接过程中的状态

参考答案

如图 - 2 所示。

EXERCISE= - 图2

图 - 2

3 画图并描述 TCP 四次断开的过程

参考答案

如图 - 3 所示。

EXERCISE= - 图3

图 - 3

4 画图并描述 TCP 滑动窗口的工作原理

参考答案

如图 - 4 所示。

EXERCISE= - 图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 请写出常见应用层协议及默认端口号

参考答案

主要包括: