logo头像
Snippet 博客主题

TCP

TCP

TCP 建立连接三次握手

  1. 客户端发送一个带SYN标志的TCP报文到server。这是三次握手过程中的报文1。

  2. server端回应client的,这是三次握手中的第2个报文。这个报文同一时候带ACK标志和SYN标志。
    因此它表示对刚才clientSYN报文的回应。同一时候又标志SYN给client,询问client是否准备好进行数据通讯。

  1. 客户必须再次回应服务段一个ACK报文,这是报文段3。

这个过程 很早在博客上有人这么解释 很生动

A 和 B 通话

A 询问 B 能不能听到 —- 第一次握手

B 听到 A的询问 回复 A 我能听到,你能不能听到 —- 第二次

A听到B的消息 通知B 我也能听到 —- 第三次

这样三次 才能保证 服务器 与客户端 连接正常

连接终止协议(四次挥手)

  1. TCP 客户端发送一个FIN。用来关闭客户到server的数据传送(报文段4)。

  2. server收到这个FIN。它发回一个ACK,确认序号为收到的序号加1(报文段5)。

  3. server关闭client的连接,发送一个FIN给client(报文段6)。

  1. 客户段发回ACK报文确认。并将确认序号设置为收到序号加1(报文段7)。

A 和 B 通话 挂断电话

A 通知 B 结束通话 挂断吧 —- 第一次握手

B 听到 A的挂断消息 回复A 收到挂断消息 挂了吧 —- 第二次

A 听到 B的消息 确认B接收到挂断消息 B挂断电话 系统发送提示音 —- 第三次

B 收到系统提示音 知道A已经挂端了 B也挂断了 —- 第四次

支付宝打赏 微信打赏

打赏