美文网首页
三次握手,四次挥手

三次握手,四次挥手

作者: SpinachC | 来源:发表于2020-01-22 16:34 被阅读0次

三次握手

ACK = 收到的SYN + 1

  1. 客户端发出连接消息(SYN)并且获得SYN_SENT状态
  2. 服务端收到连接消息并且获得SYN_RCVD状态,然后向客户端回复消息(SYN+ACK) SYN
  3. 客户端收到回复消息斌并且获得ESTABLISHED状态, 然后向服务端发送消息(ACK)

Q: 为什么不用二次握手

  1. 当客户端发出消息时,因为网络原因,导致连接消息迟迟没有发送到服务端
  2. 客户端又重新发了连接消息给服务端,这次服务端马上回复消息建立了连接
  3. 之前第一次没有发送过去的连接消息,突然又被发送到了服务端并且服务端也回复了消息,因为是二次握手。所以也建立了连接,但是这个客户端已经不用了。所以造成了资源浪费

为了防止已经失效的连接请求报文段突然有传送到了服务端,造成资源浪费

四次挥手

MSL(报文最大生命周期)

  1. 客户端发送FIN报文, 客户端进入FIN_WAIT_1状态, 服务端进入CLOSE_WAIT状态
  2. 服务端回复ACK报文,客户端进入FIN_WAIT_2状态
  3. 服务端处理完所有的数据,返回FIN报文给客户端, 服务端进入LAST_ACK状态
  4. 客户端接收到FIN报文之后,进入TIME_WAIT状态,发送ACK报文给服务端,服务端进入CLOSED状态, 客户端等待2MSL, 进入CLOSED状态,

Q: 为什么要等待2MSL

如果第三阶段时,客户端重启,服务器接收不到ACK报文,将会重新发送FIN报文,这样会有问题,等待是为了让重发的FIN报文可以进行回复ACK报文

Q: 为什么连接是三次断开是四次

因为连接时,服务端接收到客户端SYN请求之后,可以直接回复SYN+ACK
断开时,服务端接收到客户端FIN报文时,服务端可能并没有处理好所有的请求,只能先回复ACK,等都处理好了才能回复FIN。

相关文章

  • 2、tcpdump抓包分析三次握手和四次挥手

    TCP为什么需要三次握手、四次挥手 三次握手 三次握手 四次挥手 SYN flood攻击

  • 不积跬步--TCP三次握手和四次挥手过程

    本文来至转载TCP三次握手和四次挥手过程 TCP三次握手和四次挥手过程 1、三次握手 (1)三次握手的详述 首先C...

  • TCP连接的建立和终止

    目录(1)三次握手(2)四次挥手(3)TCP状态转换图(4)TCP连接三次握手+四次挥手+状态转换 一:三次握手 ...

  • 基础-TCP连接

    理解三次握手以及四次挥手具体过程,三次握手的原因、四次挥手原因、TIME_WAIT 的作用。 一、三次握手 假设 ...

  • tcp

    报文结构、三次握手、四次挥手 Tcp--三次握手,四次挥手[https://www.jianshu.com/p/a...

  • 三次握手与四次挥手

    三次握手 四次挥手

  • 2019-05-31

    三次握手 四次挥手

  • TCP的3次握手&4次挥手

    详解 TCP 连接的“ 三次握手 ”与“ 四次挥手 ” 为什么“握手”是三次,“挥手”却要四次? 建立连接时,被动...

  • 三次握手简单理解

    三次握手 四次挥手 建立TCP连接需要三次握手, 而断开连接需要执行四次挥手. 信号 SYN 同步 ASK 确认 ...

  • TCP的三次握手四次挥手与sync攻击

    前言 本文旨在用通俗的语言说明对TCP三次握手以及四次挥手的理解,以及为什么握手需要三次但是挥手需要四次 三次握手...

网友评论

      本文标题:三次握手,四次挥手

      本文链接:https://www.haomeiwen.com/subject/nmkezctx.html