TCP/IP笔记 三.运输层(4)——TCP链接管理与TCP状态机

1. 建立连接

三次握手


(1)A 的 TCP 向 B 发出连接请求报文段,其首部中的同步比特 SYN 应置为 1,并选择序号 x,表明传送数据时的第一个数据字节的序号是 x。
(2)B 的 TCP 收到连接请求报文段后,如同意,则发回确认。
(3)B 在确认报文段中应将 SYN 置为 1,其确认号应为 x + 1,同时也为自己选择序号 y。
(4)A 收到此报文段后,向 B 给出确认,其确认号应为 y + 1。
(5)A 的 TCP 通知上层应用进程,连接已经建立。
(6)当运行服务器进程的主机 B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程,连接已经建立。

2. 断开连接

2.1 半关闭:

Client --> Server  无数据, ACK = u+1

Server--> Client  有数据, Seq = v + t

2.2 Time Wait

等待2MSL(Max Segment Life Time)

原因:

(1)保证最后一个ACK从A到达B

(2)避免”已丢失“的报文被Server就收到,建立连接请求。


从 A 到 B 的连接就释放了,连接处于半关闭状态。
相当于 A 向 B 说:
“我已经没有数据要发送了。
但你如果还发送数据,我仍接收。”

3. TCP状态机


原文地址:https://www.cnblogs.com/james1207/p/3320151.html