zoukankan      html  css  js  c++  java
  • 三次握手四次断开

    三次握手过程

      

    ACK = 用来验证的

    SYN= 位数为1,表示建立TCP连接

    FIN=位数为1,表示断开TCP连接

    建立过程:

    1. 首先:主机A发送建立TCP连接的请求报文,报文包含seq序列(发送端随机生成),并将SYN字段设置为1,表示需要建立TCP连接
    2. 其次,主机B会回复A发送的TCP请求报文,会产生ACK字段,ACK字段实在A发送过来的seq序列号基础上加1,并进行回复,让A知道建立TCP建立请求已经得到了验证
    3. 最后,A端收到B端发送的TCP请求验证通过后,会让自己的序列号在次加1,并且在次回复ACK验证请求,在B端发送过来的seq基础上在加1,进行回复

    四次挥手

    断开过程:

    •  主机A发送断开TCP连接请求的报文,其中报文包含seq序列号,发送端随机生成。并且将报文中FIN字段设为1,表示需要断开TCP连接
    • 主机B会回复A发送TCP断开请求报文,产生ACK字段,ack字段数值,是A发送过来的seq序列号基础上加1,进行回复,以便A收到信息时,知道TCP断开请求的验证。
    • 主机B在回复A的TCP断开请求后,不会立马就断开TCP连接,主机B先确保断开前,所有传输到A的数据是否已经传输完成,一旦确认输出完成就会回复报文的FIN字段设置为1,并产生随机seq序列号
    • 主机A收到主机B的TCP断开请求后,回复主机B的断开请求,包含随机生成的seq字段和ack字段,ack字段会在主机B的TCP断开请求的seq基础上在加1,从而完成主机B请求的验证回复 ,至此TCP断开的4次挥手过程完毕

    TCP/IP状态图

    分解图

      

  • 相关阅读:
    Path expected for join!错误处理
    JPA 不生成外键
    SpringDataJPA
    MyCat-schema.xml详解
    aliyun阿里云Maven仓库地址——加速你的maven构建
    MyCAT简易入门 (Linux)
    CentOS 7 常用命令大全
    mycat 9066管理端口
    MyCat入门
    Virtualbox的centos7 nat和桥接网络配置
  • 原文地址:https://www.cnblogs.com/sky00747/p/8269344.html
Copyright © 2011-2022 走看看