• TCP的三次握手和四次挥手


    1. TCP的三次握手

    客户端向服务端发送数据之前执行

    过程

    1. 客户端先向服务端发送一串同步序列编号(SYN)。发送之后客户端进入“已发送”状态;

    2. 服务端收到SYN后,向客户端发送确认信息:确认字符(ACK)和SYN。发送之后服务端进入“已确认”状态。

    3. 客户端收到服务端的ACK+SYN之后,明确服务端“已确认”,然后向服务端发送ACK,表明自己(客户端)已确认。

    服务端在收到客户端发送的ACK之后,就知道链接已建立,可以进行数据传输了

    说明

    1. 经过三次握手之后,双方都已明确彼此已经做好了发送/接收数据的准备

    2. TCP的三次握手,只能是客户端发起吗?服务端能发起吗?

    2. TCP的四次挥手

    在数据发送完成后,需要断开链接,此时就需要通过TCP的四次挥手来断开。

    过程

    1. 客户端发送结束标识(FIN)。客户端进入“已发送”状态。

    2. 服务端接收到FIN后,开始结束,并发送ACK通知客户端自己已经开始结束。服务端进入“开始结束”状态。

    3. 服务端向客户端发送FIN,表明自己已经结束。服务端进入“完成结束”状态

    4. 客户端在收到服务端的FIN后,会发送ACK来告诉服务端自己已经收到来自服务端的消息。客户端进入“已确认”状态

    说明

    1. 服务端结束是有过程的。过程持续标准是4分钟(可调整)。所以才会有服务端在两次连续向客户端发送数据。

    2. TCP四次挥手的发起者可以由服务端扮演吗?

  • 相关阅读:
    es6小记
    CPU密集型和I/O密集型区别
    Gulp小记
    原生表单的小详解
    div无法触发blur事件解决办法
    HMTL列表详解
    Angular开发小笔记
    Angular组件生命周期钩子
    css小笔记
    HTML格式化标签
  • 原文地址:https://www.cnblogs.com/waterFowl/p/10737011.html
Copyright © 2020-2023  润新知