美文网首页
TCP/IP协议--TCP三次握手建立连接

TCP/IP协议--TCP三次握手建立连接

作者: zyyupup | 来源:发表于2020-08-25 15:35 被阅读0次

    TCP连接

    • TCP是面向连接的协议,它基于传输连接来传送TCP报文段
    • TCP传输连接的建立和释放是每一次面向连接的通信中必不可少的部分。
    • TCP传输连接有以下三个阶段:
      • 建立连接
      • 数据传输
      • 释放TCP连接
    • TCP的传输连接管理就是使传输连接的建立和释放都能正常的进行。


      image.png

    TCP三次握手建立连接

    image.png

    三次握手过程如上图所示,在开始连接之前,服务器的TCP连接打开,处于监听状态,也叫被动打开,客户端可以主动向服务器端申请TCP连接,也叫主动打开,连接步骤如下:

    1. 客户端向服务器端发送连接请求报文,该报文的SYN设为1,表示是一个连接请求报文,并不携带数据。(一次握手)
    2. 服务器接收到请求报文后发回一个确认报文,SYN为1,ACK也为1,表示是一个连接请求的确认报文,这个时候服务器端处于半连接状态(二次握手)
    3. 客户端收到服务器端的请求确认后,再次向服务器发送一个普通的确认报文,该报文ACK为1,SYN为0,该报文可以携带数据,发送报文后即处于连接已建立状态(三次握手)
    4. 服务器端收到客户端的连接确认报文后,处于连接已建立状态

    为什么要三次握手

    假设只需要两次握手就可以建立连接,可能会出现如下图的情况:


    image.png

    图中红色部分是已失效的请求报文,若由于网络原因在服务器关闭连接后再次到达,则会再次处于连接已建立状态,然而此时客户端已经关闭了连接,则对应的服务器进程就会处于空闲状态,导致了资源的浪费。

    源自:
    https://www.bilibili.com/video/av64605483?p=64

    相关文章

      网友评论

          本文标题:TCP/IP协议--TCP三次握手建立连接

          本文链接:https://www.haomeiwen.com/subject/pchzjktx.html