TCP三次握手四次挥手

227 阅读1分钟

TCP/IP可靠性协议

  1. 建立连接的机制
  2. 三次握手建立连接
  3. SYN攻击
  4. 连接的关闭,四次挥手
  5. TCP是全双工,双向传输
  6. 长连接(通过不断发送心跳包维持连接就叫做长连接) 连接有超时机制,如果超过时间没有数据包通信,连接会关闭

三次握手(可靠建立连接机制):

image.png

1. 客户端向服务端发送SYN = 1,seq = x 的数据包
    客户端主动打开---服务端被动打开
2. 服务端向客户端相应SYN = 1,ACK = 1,seq = y,ack = x+1 
    服务端状态LISTEN(监听)
3. 客户端向服务端发送ACK = 1,seq = x + 1,ack = y + 1
    客户端状态SYN-SENT(发送)
    服务端状态SYN-RCVD(接收)
完成:ESTAB-LISHED(已建立)   <=>  ESTAB-LISHED(已建立)

SYNC攻击:不同IP进行识别和过滤

image.png

四次挥手:

image.png

1. 客户端发送FIN = 1,seq = u(表示自己没有数据可以发送了)
    客户端状态FIN-WAIT-1
2. 服务器相应ACK = 1,seq = v,ack = u+1(表示确定收到数据包了,但是不会马上关闭,继续执行完任务)
    客户端状态FIN-WAIT-2   服务端不会马上关闭
3. 当服务端没有任务处理了,再次发送FIN = 1,ACK = 1,seq = w,ack = u + 1(告诉客户端)
    客户端状态LAST-ACK
4. 客户端再次确认ACK = 1,seq = u + 1,ack = w + 1
最后客户端服务端都关闭
等待两个最大段的声明周期默认2MSL(超时自动关闭)