极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。

# 简述 TCP 的三次握手

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 55 (opens new window)

我:你在吗? 他: 我在的。 我: 那开始聊天吧

一图胜千言

三次握手之后,客户端与服务器端的两个 socket 处于 ESTABSHED 状态

第一次:服务端知道客户端有发送能力 第二次:客户端知道服务端有发送和接受的能力 第三次:服务端知道客户端有接受能力

第一次握手:发送方请求连接 客户端状态: (syn_send) 具体行为:主机 A 发送位码为 syn = 1,随机产生 seq number=1234567 的数据包到服务器,主机 B 由 SYN=1 知道,A 要求建立联机 目的:确定客户端能够正常发送信息 第二次握手:服务方发送应答报文 服务端状态:(syn_recv) 具体行为:主机 B 收到请求后要确认联机信息,向 A 发送 ack number=(主机 A 的 seq+1),syn=1,ack=1,随机产生 seq=7654321 的包 目的:确定服务端能够正常收取信息 发送信息 第三次握手:服务方发送应答报文 服务端状态:(establish) 具体行为:主机 B 收到请求后要确认联机信息,向 A 发送 ack number=(主机 A 的 seq+1),syn=1,ack=1,随机产生 seq=7654321 的包 目的:确定服务端能够正常收取信息 发送信息

Last Updated: 2/23/2022, 11:56:07 AM