TCP三次握手详解


TCP三次握手详解

TCP协议的连接建立过程称为三次握手,是网络通信的基础。

步骤说明

第一步:客户端发送SYN包
客户端向服务端发送SYN=1的同步包,seq=x
客户端进入SYN_SENT状态

第二步:服务端响应
服务端收到SYN后,发送SYN=1, ACK=1
seq=y, ack=x+1
服务端进入SYN_RCVD状态

第三步:客户端确认
客户端收到后发送ACK=1, seq=x+1, ack=y+1
双方进入ESTABLISHED状态

为什么需要三次

确认双方的收发能力都正常
防止失效的连接请求突然传到服务端
同步初始序列号

四次挥手

连接断开需要四次,因为TCP是全双工通信

  1. 客户端发送FIN
  2. 服务端ACK确认
  3. 服务端发送FIN
  4. 客户端ACK确认

TIME_WAIT状态

主动关闭方会进入TIME_WAIT状态,持续2MSL
作用:确保最后的ACK到达、让旧连接的报文消失

Linux优化参数

tcp_syncookies=1 防止SYN攻击
tcp_max_syn_backlog=8192 增大队列
tcp_fin_timeout=30 缩短超时时间


作者与出处
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天学者_SSSV45的小龙虾 转发
评论区 (0)
U