TCP协议:三次握手、四次挥手

文章目录

  • 三次握手
    • [1. 什么是三次握手?](#1. 什么是三次握手?)
    • [2. 为什么是三次握手?](#2. 为什么是三次握手?)
  • 四次挥手
    • [1. 什么是四次挥手?](#1. 什么是四次挥手?)
    • [2. 为什么是四次挥手?](#2. 为什么是四次挥手?)
  • 引用

三次握手

1. 什么是三次握手?

三次握手是TCP协议中用于建立连接的过程。

  • 第一次,表示请求建立连接。
  • 第二次,表示同意建立连接。
  • 第三次,表示确认收到接收端的SYN/ACK。

2. 为什么是三次握手?

为什么2次不可以?一定要3次?

为了确保连接的可靠性。第一次握手,客户端向服务端发送消息;第二次握手,服务端给予响应;第三次握手,客户端对服务端的响应给予响应。如果没有第三次握手,服务端将不能得知发送给客户端的内容是否正常收到。

四次挥手

1. 什么是四次挥手?

四次挥手是TCP协议中用于断开连接的过程。

这里以服务端主动发起断开连接为例来进行说明。

  • 第一次:服务端发送FIN,表示没有要发送的数据了,但是还可以接收数据。
  • 第二次:客户端发送ACK,表示收到了FIN。(可能继续发送未传输的数据,也可能不发送)
  • 第三次:客户端发送FIN,表示它也没有要发送的数据了。
  • 第四次:服务端发送ACK,表示收到了客户端发送的FIN。

2. 为什么是四次挥手?

如果只有两次或者三次,可能会造成,一方断开连接,而另一方还在发送数据,造成数据的丢失。四次,能过确保在断开连接前完成未传输的数据发送,确保安全的终止连接。

引用

1\] 《图解HTTP》.上野宣著. > 以上为个人学习分享,如有问题,欢迎指出:)

相关推荐
聚铭网络2 小时前
聚铭网络成功入围徐州市大数据集团2026年业务类合作供应商名录(第一批次)
大数据·网络
hy____1233 小时前
Linux_网络基础3
linux·服务器·网络
Striver-Diligent4 小时前
GenNP: 一种低门槛且功能强大的网络性能数据生成器
网络·计算机网络·并行·网络仿真·网络性能估计·离散事件仿真
我是唐青枫7 小时前
C#.NET ReadOnlySequence 深入解析:多段内存遍历与零拷贝协议解析
网络·c#·.net
带娃的IT创业者8 小时前
WeClaw 心跳与重连实战:指数退避算法如何让 WebSocket 在弱网环境下的连接成功率提升 67%?
python·websocket·网络协议·算法·fastapi·实时通信
Insist7539 小时前
案例二---集群修改物理IP和VIP
运维·网络·数据库
qq_411262429 小时前
在建立udp连接的时候,有时候能成功,有时候AT 指令返回+ERRNO:0x70
网络·网络协议·udp
专家大圣10 小时前
告别智能家居品牌壁垒✨ Home Assistant+cpolar 让远程控家更省心
网络·docker·智能家居·内网穿透·cpolar
上海云盾-小余11 小时前
出海业务高可用方案:全球节点 + 智能清洗,让 DDoS 与网络故障不再影响业务
网络·安全·web安全·ddos
小江的记录本11 小时前
【TCP】TCP三次握手与四次挥手(系统性知识体系+对比表格)
java·服务器·网络·网络协议·tcp/ip·http·tcp