zoukankan      html  css  js  c++  java
  • TCP三次握手和TCP四次挥手的

    我们要知道当我们在浏览器上输入url之后会发生什么?

      1.当我们输入url之后,先进行DNS解析为ip地址然后找到相对应的服务器,

      2.建立与服务器连接,请求数据,这个过程就是(TCP的三次握手)

      3.确认用户信息 ,找到相对应的资源库,返回相对应的页面(数据),解析页面:css/js/img/html,解析的文件会再次找到相对应的服务器,当都返回完成时

      4与服务器断开连接,这个过程就是(TCP的四次挥手)

    接下来,我们去了解一下TCP三次握手与四次挥手的过程:

      首先:我们先了解一下TCP标志位:

      TCP标志位有6种标识

    SYN(synchronous建立联机)
    ACK(acknowledgement确认)
    PSH(push传送)
    FIN(finish结束)
    RST(reset重置)
    URG(urgent紧急)
    
    Sequence number(顺序号码)  
    接收的数据包中的确认号(始终让对方来设置我的序列号,以便于接收方按照序列号对分组数据重组,保证数据的完整性)
    
    Acknowledge number(确认号码)  
     一般是接收数据包中的序列号+该包的有效数据长度。
    
    --------------------- 
    作者:diligence-zpf 
    来源:CSDN 
    原文:https://blog.csdn.net/qdh186/article/details/85603627 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    TCP三次握手是指:

      客户端在通过域名或者ip向服务器请求数据时的过程

      第一次握手 :客户端向服务器请求数据:

            源端口号为:55722         

            目的端口号为: 9999

            确认 :ACK=0,

            建立联机:SYN = 1,        

            顺序号码 :Sequence number = 0,

            确认号码 :Acknowledgment number = 0

            

      第二次握手:服务端向客户端返回数据:

            源端口号为:9999        

            目的端口号为:55722

            确认 :ACK=1

            建立联机:SYN = 1,        

            顺序号码 :Sequence number = 0,

            确认号码 :Acknowledgment number =1  

            

      第三次握手:客户端向服务器返回已接收信息的回复

            源端口号为:52722    

            目的端口号为:9999

            确认 :ACK=1

            建立联机:SYN = 0,        

            顺序号码 :Sequence number = 1

            确认号码 :Acknowledgment number =1  

    TCP的四次挥手是指:

      当客户端向服务器请求数据成功之后断开与服务器之间联系的过程

      第一次挥手:客户端向服务器发送结束请求数据:

            源端口号为:9999

            目的端口号为: 55722

            确认 :ACK=1

             结束 :FIN=1,        

            顺序号码 :Sequence number = 7

            确认号码 :Acknowledgment number =8

      第二挥手:服务器收到请求向客户端返回收到回复信息:

            源端口号为:55722

            目的端口号为: 999

            确认 :ACK=1

             结束 :FIN=0,        

            顺序号码 :Sequence number =8

            确认号码 :Acknowledgment number =8

      第三次挥手:服务器在没有收到客户端响应时主动向客户端发送断开请求:

            源端口号为:55722

            目的端口号为: 9999

            确认 :ACK=1

             结束 :FIN=1,        

            顺序号码 :Sequence number =8

            确认号码 :Acknowledgment number =8

      第四挥手:客户端向服务器返回已收到的回复信息:

            源端口号为:9999    

            目的端口号为: 55722

            确认 :ACK=1

             结束 :FIN=0,        

            顺序号码 :Sequence number =8

            确认号码 :Acknowledgment number =9

           

     

  • 相关阅读:
    springboot + driud连接池踩的坑____新手学习
    tomcat的安装
    无限极分类
    javascript ECMAscript 和node.js commonJs之间的关系
    变量名,引用和地址
    java中闭包的理解
    thinkphp 模型的curd
    thinkphp之migration 迁移文件的使用
    验证ArrayList是线程不安全的集合
    一个java小程序,盗取插入的U盘中的数据。
  • 原文地址:https://www.cnblogs.com/LY69/p/10294153.html
Copyright © 2011-2022 走看看