三次握手的第三个ACK包丢了,会发生什么?

简介: 转载自三次握手的第三个ACK包丢了,TCP的处理方式三次握手的第三个ACK包丢了,客户端认为连接建立,写数据时,会触发RST。

转载自三次握手的第三个ACK包丢了,TCP的处理方式

三次握手的第三个ACK包丢了,客户端认为连接建立,写数据时,会触发RST。

这里写图片描述

当Client端收到Server的SYN+ACK应答后,其状态变为ESTABLISHED,并发送ACK包给Server,如果此时ACK在网络中丢失,那么Server端该TCP连接的状态为SYN_RECV,并且依次等待3秒、6秒、12秒后重新发送SYN+ACK包,以便Client重新发送ACK包。

Server重发SYN+ACK包的次数,可以通过设置/proc/sys/net/ipv4/tcp_synack_retries修改,默认值为5。

如果重发指定次数后,仍然未收到ACK应答,那么一段时间后,Server自动关闭这个连接。

但是Client认为这个连接已经建立,如果Client端向Server写数据,Server端将以RST包响应,方能感知到Server的错误

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
消息中间件 Java Spring
五、消息确认机制(ACK)
五、消息确认机制(ACK)
55 1
|
4月前
|
消息中间件 Kubernetes 网络协议
知识巩固源码落实之2:tcp服务端接收处理半包和粘包
知识巩固源码落实之2:tcp服务端接收处理半包和粘包
36 0
|
4月前
|
网络协议
Ack信号是如何发送的?
Ack信号是如何发送的?
72 0
|
6月前
|
网络协议 算法 网络性能优化
TCP拥塞控制,拥塞窗口,携带应答,捎带应答,面向字节流,异常情况处理,最终完结弹
TCP拥塞控制,拥塞窗口,携带应答,捎带应答,面向字节流,异常情况处理,最终完结弹
|
8月前
|
网络协议
TCP四次挥手中如果服务端没收到第四次挥手请求,服务端会一直等待吗?
TCP四次挥手中如果服务端没收到第四次挥手请求,服务端会一直等待吗?
74 1
|
10月前
|
弹性计算 运维 Kubernetes
为什么客户端发送SYN,服务端回ACK,没有回SYN,ACK
本文介绍了客户端发生SYN报文但是服务端回复ACK报文没有回复SYN,ACK报文的场景,深入分析了内核代码处理机制以及使用复现验证
1431 0
|
存储 网络协议 数据处理
协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)
协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)
312 1
|
网络性能优化
mqtt协议中的发送消息的一个报文简单解释
mqtt协议中的发送消息的一个报文简单解释
629 0
mqtt协议中的发送消息的一个报文简单解释
|
网络协议
报文在三次握手过程中丢失怎么办?
报文在三次握手过程中丢失怎么办?
178 0
报文在三次握手过程中丢失怎么办?