三次握手
三次握手笔记
一、核心定义
三次握手是TCP协议建立可靠连接的过程,确保双方收发能力正常,为数据传输铺好路,避免无效连接浪费资源。
二、具体过程(必记)
-
第一次握手(客户端→服务端)
客户端主动发起连接,发送SYN包(同步报文),标记序号seq=x,请求服务端建立连接,之后客户端进入SYN-SENT状态,等待回应。 -
第二次握手(服务端→客户端)
服务端收到SYN包,确认自己能收、客户端能发,回复SYN+ACK包:同步报文SYN(seq=y)+确认报文ACK(确认号ack=x+1),服务端进入SYN-RCVD状态。 -
第三次握手(客户端→服务端)
客户端收到SYN+ACK包,确认服务端收发正常,回复ACK包(确认号ack=y+1,序号seq=x+1),服务端收到后,双方均进入ESTABLISHED状态,连接正式建立。
三、关键考点&易错点
✅ 为什么要三次?两次不够,四次多余
• 两次握手:服务端没法确认自己的发送能力是否被客户端识别,易丢包、建无效连接
• 三次刚好:双方互相验证“我能发+我能收+我知道你能收/发”,可靠性拉满
• 四次多余:第三次客户端已确认所有,无需额外步骤
✅ 核心标志位:SYN(同步)、ACK(确认),握手仅用这两个
✅ 序号规则:确认号=对方发来的序号+1,自己序号依次递增
四、通俗理解
像打电话:
-
我(客户端):喂,能听到吗?(发SYN)
-
你(服务端):能听到,你能听到我吗?(回SYN+ACK)
-
我(客户端):能听到,咱开始说吧!(回ACK)
三步确认双方都能听能说,通话(数据传输)才靠谱

浙公网安备 33010602011771号