• python3.6入门到高阶(全栈) day027 tcp协议的三次握手四次挥手


    TCP协议的三次握手, 四次挥手

      三次握手过程

      1, 服务器时刻准备接受客户端进程的连接请求, 此时服务器就进入了LISTEN(监听)状态;

      2, 客户端进程然后向服务器发出连接请求报文, 之后客户端进程进入了 SYN-SENT(同步已发送状态)状态;

      3, 服务器收到请求报文后, 如果同意连接, 则发出确认报文, 此时, 服务器进程进入了SYN-RCVD(同步收到)状态;

      4, 客户端进程收到确认后, 还要向服务器给出确认. 此时, 客户端进入ESTABLISHED(已建立连接)状态;

      5, 当服务器收到客户端的确认后也进入ESTABLISHED状态, 此后双方就可以开始通信了. 

      举个列子: 

        A: " 喂我是A, 你能听到我讲话吗? " (客户端发起连接请求)

        B: " 听到了, 我是B, 那你能听到我讲话吗? "  (服务端接收到请求, 同意连接后向客户端发出确认报文)

        A: " 嗯嗯, 我能听得到. "  (客户端收到服务端发出的确认报文后, 给出确认, 表明客户端处于连接已建立状态)

        B: " ...... "  (服务端收到客户端的确认后, 也进入连接已建立状态)

     

     四次挥手过程: 

      数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

      1, 客户端进程发出连接释放报文,并且停止发送数据. 此时,客户端进入FIN-WAIT-1(终止等待1)状态;

      2, 服务器收到客户端的连接释放报文,服务器发出确认报文, 此时,服务端就进入了CLOSE-WAIT(关闭等待)状态(此时客户端已经没有数据要发送了, 但是服务器若发送数据, 客户端依然要接受);

      3, 客户端收到服务器的确认请求后, 客户端就进入FIN-WAIT-2(终止等待2)状态, 等待服务器发送连接释放报文(在这之前还要接受服务器发送的最后数据);

      4, 服务器发送完最后的数据后, 就向客户端发送连接释放报文, 此时,服务器就进入了LAST-ACK(最后确认)状态, 等待客户端的最后确认;

      5, 客户端收到服务器的连接释放报文后, 必须发出确认, 此时客户端就进入了TIME-WAIT ( 时间等待 )状态(此时连接还没有释放, 必须经过2∗MSL(最长报文段寿命)的时间后, 当客户端撤销相应的TCB连接后,才进入CLOSED状态)。

      6, 服务器只要收到了客户端发出的确认,立即进入CLOSED状态(服务器结束TCP连接的时间要比客户端早一些)。

       举个例子:

        A: " 喂, 我不说了, 我要挂电话了 "  (客户端发出连接释放请求, 客户端并且停止发送数据)

        B: " 嗯我知道, 我刚才那句话还没说完 "  (服务器收到客户端的连接释放报文, 并发出确认报文给客户端, 表示服务器收到请求了)

        B: " 好了, 说完了, 我不说了 "  (服务器在发送完最后的数据后, 给客户端发出最后连接释放报文, 服务器等待客户端的最后确认)

        A: " 我知道了 "  (客户端收到服务端的最后请求后并给出确认, 客户端经过2MSL时间后, 撤销TCP连接)

        B: 挂断电话....  (服务器收到客户端的最后确认后立即断开TCP连接)

    符号说明

       Seq:"sequance"序列号
      Ack:"acknowledge"确认号
      SYN:"synchronize"请求同步标志
      ACK:"acknowledge"确认标志"
      FIN:"Finally"结束标志

  • 相关阅读:
    python json 和 pickle的补充 hashlib configparser logging
    go 流程语句 if goto for swich
    go array slice map make new操作
    go 基础
    块级元素 行内元素 空元素
    咽炎就医用药(慢性肥厚性咽炎)
    春季感冒是风寒还是风热(转的文章)
    秋季感冒 咳嗽 怎么选药
    解决IE浏览器“无法显示此网页”的问题
    常用的 css 样式 记录
  • 原文地址:https://www.cnblogs.com/wanxiangai/p/10009329.html
Copyright © 2020-2023  润新知