zoukankan      html  css  js  c++  java
  • TCP 连接建立与关闭(三次握手与四次挥手)

    UDP/IP 和 TCP/IP

    TCP(Transmission control protocol)传输控制协议,是面向连接安全的,而 UDP(User Datagram protocol)是不安全的

    网络状态相同的条件下UDP传递的速度比TCP快,因为少了一系列的控制机制

    常用 flag 意思

    SYN:建立连接
    
    FIN:关闭连接
    
    ACK:响应
    
    PSH:有数据传输
    
    RST:连接重置

    TCP 连接建立(三次握手)

    1.(Client) –> [SYN] –> (Server)
    
    当客户端要和服务端通信时,客户端首先向服务端发一个带 SYN (Synchronize) 标记的包,告诉服务端请求建立连接
    
    2.(Server) <– [SYN/ACK] <–(Client)
    
    服务端收到后会发一个对 SYN 包的确认包(SYN/ACK)回去,表示对第一个 SYN 包的确认,并继续握手操作
    
    3.(Client) –> [ACK] –> (Server)
    
    客户端收到 SYN/ACK 包后发一个确认包(ACK),通知服务端连接已建立,完成三次握手,一个 TCP 连接完成

    TCP 关闭建立(四次挥手)

    1.(Client) –> [FIN] –> (Server)
    
    Client发送一个 FIN,用来关闭 Client 到 Server 的数据传送,Client 进入 FIN_WAIT_1 状态
    
    2.(Server) <– [ACK] <–(Client)
    
    Server 收到 FIN 后,发送一个 ACK 给 Client,Server 进入 CLOSE_WAIT 状态
    
    3.(Server) <– [FIN] <–(Client)
    
    Server 发送一个 FIN,用来关闭 Server 到 Client 的数据传送,Server 进入 LAST_ACK状态
    
    4.(Client) –> [ACK] –> (Server)
    
    Client 收到 FIN 后,Client 进入 TIME_WAIT 状态,接着发送一个 ACK 给 Server,Server 进入 CLOSED 状态,完成四次挥手,一个 TCP 关闭完成


    https://httpwg.org/

  • 相关阅读:
    PyQt信号传递的方法
    tensorflow 遇到的细节问题
    正则表达式的总结
    ImageFont与PIL
    pytorch源码解析-动态接口宏
    intel windows caffe加速
    cnn可视化 感受野(receptive field)可视化
    Ubuntu安装使用latex
    使用caffe训练mnist数据集
    caffe使用ctrl-c不能保存模型
  • 原文地址:https://www.cnblogs.com/jhxxb/p/13299963.html
Copyright © 2011-2022 走看看