阅读 112

谈谈对TCP三次握手,四次挥手的理解

这是我参与新手入门的第1篇文章

一、tcp协议定义

  • 面向连接的可靠的传输
  • tcp报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。
  • 双方经过完整的三次握手才能形成真正的连接。

二、三次握手

sequenceDiagram
客户端->>服务端: syn
服务端-->>客户端: syn ack
客户端-)服务端: ack
  • ack 为确认号,一般设置为1,表示确认号有效
  • syn 请求建立连接,发送syn包

三次握手过程

  • 第一次:客户端发送初始序号(随机序列)和syn=1请求标志
  • 第二次:服务端发送请求标志syn,确认标识ack、自己序号、及客户端序号+1
  • 第三次 客户端发送ack确认标识,自己的序号=自己序号+1及对方的确认序号+1

三、为什么握手是三次

  • 双方确认机制,保障双方都可以发出、接收数据

四、四次挥手

sequenceDiagram
客户端->>服务端: fin
服务端-->>客户端: fin ack
服务端-->>客户端: fin
客户端-)服务端: ack
  • fin 希望断开连接

四次挥手过程

  • 第一次:客户端像服务端发送断开请求fin=1
  • 第二次:服务端接收到命令,并像客户端告知已收到信息,发送确认标识ack
  • 第三次:服务端像客户端发送断开请求,告知我也想分开了!!!
  • 第四次:客户端收到断开请求,告知服务端收到了,发送确认标识ack

五、为什么要四次挥手

  • 目的: 让对方资源不要随意释放

注:新手上路,大家有问题多多指教!

文章分类
前端
文章标签