zoukankan      html  css  js  c++  java
  • TCP连接建立与终止,及状态转换

    TCP连接建立

    三路握手

    三路握手发生在客户端发起connect请求到服务端accept返回中,在三路握手发生前,服务端
    必须准备好接受外来连接,这通常通过服务端调用 (socket、bind、listen) 这三步来完成,
    我们称之为被动打开(a),客户端通过调用 (connect) 发起主动打开。

    三路握手发生的具体过程:

    1.在客户端发起主动打开之后,客户端TCP发送一个SYN(同步)分节,告诉服务器,客户将在待
    建立的连接中发送的数据的初始序列号。
    2.服务器ACK确认客户的SYN,同时发送一个自己的SYN分节,其中包含服务器将在同一连接中
    发送的数据的初始序列号。
    3.客户ACK服务器的SYN。
    SYN:同步分节,通常不携带数据,其所在的IP数据报只含有一个IP首部,一个TCP首部以及可
    能的TCP选项


    TCP连接终止

    具体过程:

    1.某个进程首先调用close,执行主动关闭,并且发送一个FIN分节
    2.对端接收到这个FIN之后执行被动关闭。这个FIN由TCP确认ACK,并作为一个文件结束符传递
    给进程。
    3.接收到这个文件结束符的进程将调用close关闭它的套接字,并发送一个FIN
    4.接收到这个FIN的原发送端TCP确认ACK这个FIN。
     

    TCP状态转换图

  • 相关阅读:
    kubernetes_mk_lgg_
    kubernetes_tb宝满
    hcna
    kubernetes_book
    ipset和iptables配合来自动封闭和解封有问题的IP
    microk8s
    iptables
    docker kubernetes Swarm容器编排k8s CICD部署 麦兜
    scala Actor Akka
    数据库——mysql数据类型2
  • 原文地址:https://www.cnblogs.com/lnlin/p/9392200.html
Copyright © 2011-2022 走看看