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状态图

    分解图

      

  • 相关阅读:
    mysql索引
    mysql锁机制
    mysql授权
    mysql执行计划
    mysql知识补遗
    求助:springboot调用存储过程并使用了pagehelper分页时报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
    java面试题1
    Yarn
    MapRudecer
    Hive数据倾斜和解决办法
  • 原文地址:https://www.cnblogs.com/sky00747/p/8269344.html
Copyright © 2011-2022 走看看