TCP三次握手 四次挥手

目录

 我的其他博客

三次握手(Connection Establishment)

四次挥手(Connection Termination)


我的其他博客

HTTP与HTTTPS的区别-优快云博客

什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查-优快云博客

谈谈我对HashMap扩容机制的理解及底层实现-优快云博客

Redis 两种持久化方式 AOF 和 RDB-优快云博客MySQL中的锁(简单)-优快云博客

JDK、JRE、JVM的特点和关联-优快云博客

面向对象的三大特征-优快云博客

二分查找(Java) 详细讲解 一文足矣-优快云博客

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层协议。在TCP连接的建立和断开过程中,使用了三次握手和四次挥手的机制。

三次握手(Connection Establishment)

  1. 第一次握手(SYN):

    • 客户端发送一个TCP报文,其中设置SYN标志位为1,表示请求建立连接。
    • 客户端选择一个初始序列号(ISN),用来标识报文段的顺序。
  2. 第二次握手(SYN + ACK):

    • 服务器收到客户端的SYN后,发送一个带有SYN和ACK标志位的报文作为响应。
    • 服务器也选择一个初始序列号(ISN),并将其加1,然后将客户端的ISN作为ACK的确认号。
  3. 第三次握手(ACK):

    • 客户端收到服务器的SYN + ACK后,发送一个带有ACK标志位的报文。
    • 客户端的序列号加1,而确认号为服务器的序列号加1,表示连接建立。

此时,TCP连接已经建立,双方可以开始进行数据传输。

四次挥手(Connection Termination)

  1. 第一次挥手(FIN):

    • 当客户端或服务器决定要断开连接时,发送一个带有FIN标志位的报文,表示不再发送数据。
  2. 第二次挥手(ACK):

    • 接收到FIN的一方发送一个带有ACK标志位的报文,确认收到断开请求。
  3. 第三次挥手(FIN):

    • 如果接收到FIN的一方也希望断开连接,它也发送一个带有FIN标志位的报文。
  4. 第四次挥手(ACK):

    • 接收到第三次挥手的一方发送一个带有ACK标志位的报文,表示确认收到对方的断开请求。

经过这四个步骤,双方的连接就被断开了。三次握手和四次挥手的过程是为了确保数据的可靠传输和连接的正常断开。在挥手过程中,每个方向的关闭都需要经过两个阶段,即发送方发送FIN和接收方发送ACK。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薅你两根毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值