三次握手

三次握手笔记

一、核心定义

三次握手是TCP协议建立可靠连接的过程,确保双方收发能力正常,为数据传输铺好路,避免无效连接浪费资源。

二、具体过程(必记)

  1. 第一次握手(客户端→服务端)
    客户端主动发起连接,发送SYN包(同步报文),标记序号seq=x,请求服务端建立连接,之后客户端进入SYN-SENT状态,等待回应。

  2. 第二次握手(服务端→客户端)
    服务端收到SYN包,确认自己能收、客户端能发,回复SYN+ACK包:同步报文SYN(seq=y)+确认报文ACK(确认号ack=x+1),服务端进入SYN-RCVD状态。

  3. 第三次握手(客户端→服务端)
    客户端收到SYN+ACK包,确认服务端收发正常,回复ACK包(确认号ack=y+1,序号seq=x+1),服务端收到后,双方均进入ESTABLISHED状态,连接正式建立。

三、关键考点&易错点

✅ 为什么要三次?两次不够,四次多余

• 两次握手:服务端没法确认自己的发送能力是否被客户端识别,易丢包、建无效连接

• 三次刚好:双方互相验证“我能发+我能收+我知道你能收/发”,可靠性拉满

• 四次多余:第三次客户端已确认所有,无需额外步骤

✅ 核心标志位:SYN(同步)、ACK(确认),握手仅用这两个
✅ 序号规则:确认号=对方发来的序号+1,自己序号依次递增

四、通俗理解

像打电话:

  1. 我(客户端):喂,能听到吗?(发SYN)

  2. 你(服务端):能听到,你能听到我吗?(回SYN+ACK)

  3. 我(客户端):能听到,咱开始说吧!(回ACK)
    三步确认双方都能听能说,通话(数据传输)才靠谱

posted @ 2025-12-30 22:14  李宜芯  阅读(3)  评论(0)    收藏  举报