zoukankan      html  css  js  c++  java
  • 简述TCP三次握手的过程

    三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立 TCP 连接,并同步连接双方的序列号和确认号,交换 TCP 窗口大小信息。

    第一次握手(SYN=1, seq=x):

    客户端发送一个 SYN 标志位置1的包,指明客户端打算连接的服务器的端口,以及初始序列号(ISN,init seq num)x,保存在Sequence Number字段里。

    发送完毕后,客户端进入 SYN_SEND 状态。

    第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1):

    服务器发回确认包(ACK)应答。即 SYN 标志位和 ACK 标志位均为1。服务器端选择自己的初始序列号(ISN)y,放到 Sequence Number字段里,同时将Acknowledgement Number字段设置为客户的ISN加1,即x+1。

    发送完毕后,服务器端进入 SYN_RCVD 状态。

    第三次握手(ACK=1,ACKnum=y+1)

    客户端再次发送确认包(ACK),SYN 标志位为0,ACK 标志位为1,并且把服务器的ISN+1,即y+1,作为返回的Acknowledgement Number。

    发送完毕后,客户端进入 ESTABLISHED 状态,当服务器端接收到这个包时,也进入 ESTABLISHED 状态,TCP 握手结束。

  • 相关阅读:
    购物菜单
    增删改查
    第七次Android
    第七次作业
    第四次作业
    第二次作业
    第七次
    第二次作业
    第三次作业
    第六周安卓作业
  • 原文地址:https://www.cnblogs.com/syk-1994/p/14265452.html
Copyright © 2011-2022 走看看