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

  • 相关阅读:
    CodeForces 785D Anton and School
    CodeForces 785C Anton and Fairy Tale
    CodeForces 785B Anton and Classes
    CodeForces 785A Anton and Polyhedrons
    爱奇艺全国高校算法大赛初赛C
    爱奇艺全国高校算法大赛初赛B
    爱奇艺全国高校算法大赛初赛A
    EOJ 3265 七巧板
    EOJ 3256 拼音魔法
    EOJ 3262 黑心啤酒厂
  • 原文地址:https://www.cnblogs.com/lnlin/p/9392200.html
Copyright © 2011-2022 走看看