zoukankan      html  css  js  c++  java
  • TCP协议的三次握手,四次分手

    第一次握手

    客户端主动发送 syn=1,随机产生sql number = x 的数据包到服务器(服务器由SYN=1知道客户端要求建立连接)

    第二次握手

    服务器收到请求后要确认联机信息,向客户端发送SYN=1,ACK=1,随机产生seq number=y, ack number = 客户端的 seq number +1 (x+1)

    第三次握手

    客户端收到后检查 ack number 是否正确, 即第一次发送的seq number +1,以及ack 是否为 1,
    若正确客户端会再次发送ack number = y +1 (seq number +1)
    seq number = 服务端 ack number(x+1) 也是第一次 seq number +1 ,服务端收到后确认 seq number 值 与ACK = 1 ,然后连接建立成功。

    ACK 有确认应答 , SYN 同步序列号

    简单来说

    1. 主机A 向 主机B 发出连接请求数据包
    
    2. 主机B 向 主机A 发出同意连接和要求同步的数据包
    
    3. 主机A 在发出一个数据包用来向 主机B 确认要求同步
    

    TCP断开连接进行四次分手

    1. 当 主机A 完成数据的传输后,将控制为FIN置1,提出断开请求
    
    2. 主机B 收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
    
    3. 由 主机B 再提出反方向的关闭请求,将FIN置1(确保手头工作完成,以免数据丢失)
    
    4. 主机A 对 主机B 的请求进行确认 将ACK置1,双向关闭结束。
  • 相关阅读:
    [python] 类组合与聚合关系
    [python] 伪私有属性,防止变量名冲突
    [vim] 配置文件之常用命令模式
    [VIM] 编辑器---多行注释和取消注释及多行复制和黏贴
    [Visual Studio Code] 执行python
    [C] 编译器codeblocks安装注意
    字符串全排列
    集合全量子集提取
    random函数详解
    Solr常用命令总结
  • 原文地址:https://www.cnblogs.com/nineberg/p/12504759.html
Copyright © 2011-2022 走看看