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

三次握手,四次挥手

作者: 与狼共舞666 | 来源:发表于2022-02-10 13:25 被阅读0次

三次握手,四次挥手

三次握手

  1. 由客户端(用户)发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成 的。
    并且还将报文中SYN字段置为1,表示需要建立TCP连接请求。

  2. 服务端(就是百度服务器)会回复客户端(用户)发送的TCP连接请求报文,其中包含seq序列号, 也是由回复端随机生成的,
    并且将回复报文的SYN字段置1,而且会产生ACK验证字段,ACK验证字段数值是在客户端发过来的seq 序列号基础上加1进行回复: 并且还会回复ack确认控制字段,以便客户端收到信息时,知晓自己的TCP建立请求已得到了确认。

  3. 客户端收到服务端发送的TCP建立请求后,会使自己的原有序列号加1进行再次发送序列号, 并且再次回复ACK验证请求,在B端发送过来的seq基础上加1,进行回复;同时也会回复ack确认控制字 段,
    以便B收到信息时,知晓自己的TCP建立请求已经得到了确认。


    image.png
    image.png

四次挥手

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

  1. TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。

  2. 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

  3. 服务器关闭客户端的连接,发送一个FIN给客户端。

  4. 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。

  5. 第一次挥手: Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

  6. 第二次挥手: Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序 号),Server进入CLOSE_WAIT状态。

  7. 第三次挥手: Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

  8. 第四次挥手: Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。


    image.png
    image.png

相关文章

  • 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/ormnkrtx.html