美文网首页
TCP 三次握手和四次挥手

TCP 三次握手和四次挥手

作者: heamon7 | 来源:发表于2017-08-26 19:37 被阅读34次

TCP 三次握手图示:

TCP 三次握手

注意:

  • 在第二步 server 收到 client 的连接请求的时候,server 就会分配相关的资源「allocates the TCP buffers and variables to the connection」,这也是导致 TCP 容易遭受 SYN 泛洪攻击即拒绝服务攻击的原因「makes TCP vulnerable to a denial-of-service attack known as SYN flooding」
    在第三步 client 收到 SYNACK 段时,client 才会为该连接分配资源,这一次的 SYN=0 阶段,可能会捎带数据
  • 为什么需要三次握手,最后一次可以省掉吗?
    不能,原因是第一个请求有可能是在网络节点中长时间的滞留了,以致延误到前一个连接释放之后的某个时间才到达 server,server 会误以为 client 想建立连接,实际上 server 发出第二个请求之后,只会等待一段时间,如果没有收到 ACK,那么将释放为这个连接分配的资源,三次握手可以防止服务器端的一直等待而浪费资源。

TCP 四次挥手图示:

TCP 四次挥手

注意:

  • FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文
  • FIN_WAIT_2状态下的SOCKET,表示半连接,也即有一方要求close连接,但另外还告诉对方,我暂时还有点数据需要传送给你(ACK信息),稍后再关闭连接
  • server 端的 CLOSE_WAIT 的作用是先正常发送回应的 ACK,然后判断自己有没有还要发送的数据,没有就发送 FIN,自己 close 掉
  • server 端真正 close 掉连接应该是收到最后一个 ACK 时
  • client 有一个 TIME_WAIT 的过程,是在发出最后的一个 ACK 的请求之后,有两个作用,一是可靠的关闭掉 TCP 全双工连接(这个 ACK 可能丢失,如果 server 收不到 ACK 的话,会重发),二是允许网络中上一次连接的包都消失,而不影响新的连接

完整图示:

完整图示

相关文章

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

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

  • TCP的三次握手和四次挥手

    参考资料:[1].【TCP】详解TCP 三次握手和四次挥手[2]. iOS:为什么TCP连接要三次握手,四次挥手[...

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

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

  • TCP连接的建立和终止

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

  • tcp/ip

    TCP/IP--理解TCP三次握手和四次挥手 - 简书

  • 知识点总结1-计算机网络

    1.TCP的三次握手和四次握手 建立TCP的话,需要三次握手才能建立,而断开连接则需要四次挥手 三次握手:通俗描述...

  • 三次握手和四次挥手

    三次握手是TCP建立连接时进行的,四次挥手是TCP断开连接是进行的,要弄明白三次握手和四次挥手,需要了解TCP的协...

  • TCP三次握手和四次挥手小结

    最近又在看TCP三次握手和四次挥手了,真的是每次看都会有新的体会啊。 通讯的动作 TCP三次握手和四次挥手看似复杂...

  • TCP连接管理(三次握手,四次挥手)

    TCP连接管理(三次握手,四次挥手) 三次握手 四次挥手 client和server的连接状态变化 主动发起关闭的...

  • tcp

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

网友评论

      本文标题:TCP 三次握手和四次挥手

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