zoukankan      html  css  js  c++  java
  • TCP传输的三次握手和四次挥手策略。

     

    TCP传输的三次握手四次挥手策略。

      TCP建立连接需要三次握手,也就是指建立一个TCP连接的时候,客户端和服务器总共传送三个数据包,目的是客户端连接服务器的指定端口。握手过程中使用了TCP的标志:SYN和ACK。

    第一次握手:首先客户端发送一个带有标志位为1的SYN标志的数据包给服务器。

    第二次握手:服务器接收后,返回一个带有ACK标志的数据包应答,即SYN和ACK标志位为1,并确认序列号为+1。

    第三次握手:最后客户端再次发送确认包(ACK),SYN的标志位为0,ACK标志位为1,并把服务器发送来的ACK的序号+1,代表握手结束。

      TCP断开连接需要四次挥手。也就是指断开一个TCP连接的时候,客户端和服务器总共传送四个数据包,服务器和客户端都可以主动发起挥手(断开连接)。

    第一次挥手:主动关闭方发送一个标志位为1的FIN的数据包,用来关闭主动方到被动关闭方的数据传输,也就是主动关闭方告知被动关闭方,不会再给被动方发送数据。但是在FIN包发送之前发送出去的数据,如果没有收到对应的ACK确认报文,主动关闭方依然会重发这些数据,此时主动关闭方还可以接受数据。

    第二次挥手:被动方收到FIN包后,发送一个标志位为1的ACK数据包,确认序号为收到的序号+1。

    第三次挥手:被动方发送一个标志位为1的FIN包,用来关闭被动方到主动方的数据传输,告知主动方,数据发送完毕,不会再发送数据。

    第四次挥手:主动关闭方收到FIN包后,发送一个标志位为1的ACK包,确认序号为收到的序号+1,到这里,四次挥手完成。

    参考链接:https://www.cnblogs.com/zmlctt/p/3690998.html   

  • 相关阅读:
    二叉树的层序遍历-102
    剑指offer 06 从尾到头打印链表
    替换空格:剑指offer05
    面试题16.11.跳水板----leetcode
    JVM——垃圾回收
    新生代Eden与两个Survivor区的解释
    JVM 1.8 永久代---元空间 的变动
    Git拉取项目避坑
    python-装饰器
    python-Queue
  • 原文地址:https://www.cnblogs.com/PrayLs/p/10258696.html
Copyright © 2011-2022 走看看