<JavaEE> TCP 的通信机制(一) -- 确认应答 和 超时重传

目录

TCP的通信机制的核心特性

一、确认应答

1)什么是确认应答?

2)如何"确认"?

3)如何"应答"?

二、超时重传

1)丢包的概念

2)什么是超时重传?

3)两种触发超时重传的情况

4)等待多久算超时?

5)重复的数据如何处理?


TCP的通信机制的核心特性

|----------------|-------------------|
| TCP的通信机制最核心的特性是可靠传输。 ||
| TCP至少通过以下机制来保证传输的可靠性 ,在保证可靠性的同时也采取一些机制来提升传输效率: ||
| <1> 确认应答 | <6> 阻塞控制 |
| <2> 超时重传 | <7> 延时应答 |
| <3> 连接管理 | <8> 捎带应答 |
| <4> 滑动窗口 | <9> 面向字节流 |
| <5> 流量控制 | <10> 异常情况处理 |


一、确认应答

|--------------------------------------------------|
| 确认应答是TCP最核心的机制,以确认应答为核心,辅助其他机制,使得TCP完成了可靠传输。 |

1)什么是确认应答?

|-----------------------------------------------------------------------------|
| 发送端将数据发送给接收端,接收端成功收到数据后(即确认),会给发送端返回一个应答报文(即应答)。应答报文的作用是让发送端知道数据是否成功传输。 |

2)如何"确认"?

|-------------------------------------------------------------------|
| <1> 校验和:用于确认接收的数据是否在传输的过程中发生了改变。常使用CRC或MD5等校验方式。 |
| <2> 序号:序号是一系列具有大小关系的整数,描述了数据的先后顺序。接收端需要确认收到的数据包的序号是否符合数据序列。 |

3)如何"应答"?

|-------------------------------------------------------------------------------------|
| <1> "ACK"标志位:使用应答报文进行应答,应答报文被称为ACK(Acknowledge),如果该数据包是应答报文,标志位"ACK"将为1,否则为0。 |
| <2> 确认序号:应答报文中将包含"确认序号"。确认序号的作用在于告知发送端,接收端已经收到了哪些数据和接下来需要发送端发送的下一系列数据的起始位置。 |


二、超时重传

1)丢包的概念

|----------------------------------------------------------------|
| 丢包是指,数据包在网络传输的过程中没有到达接收端;或者虽然到达了接收端,却因为传输过程中的干扰使得接收到的数据是错误的数据。 |

2)什么是超时重传?

|---------------------------------------------------------------|
| 超时重传是指,在发送端发送数据后没有接收到接收端的应答报文,在等待一段时间后(即超时)就会重新发送该数据(重传)。 |
| 重传可以大幅提升数据传输的可靠性。 |

3)两种触发超时重传的情况

|----------------------------------------|
| 上述两种情况,归根结底是由于发送端没有收到应答报文才触发了超时重传。 |

4)等待多久算超时?

|------------------------------------------------------------|
| 初始等待时间,不同的系统设定的时间是不一样的,而且这个时间是可以配置的。 |
| TCP为了保证无论在任何环境下都能较高性能的通信,会动态计算最大超时时间。每一次超时后,等待的时间都会变长。 |

5)重复的数据如何处理?

|---------------------------------------------------------------------------------------|
| 在上述情况2,返回的ACK丢包的情况下。接收端会多次收到重复的数据。 |
| TCP通过"序号"这一属性来识别哪些包是重复的包,已经接收过的包的"序号"会被存放在"接收缓冲区"中,如果接收端发现当前发送的数据已经存在,会直接丢弃这些数据包。 |
| "接收缓冲区"不仅能进行去重,还能进行重排序,确保读取的顺序和发送的顺序是一致的。 |


阅读指针 -> 《 TCP 的通信机制(二) -- 连接管理(三次握手和四次挥手) 》

<JavaEE> TCP 的通信机制(二) -- 连接管理(三次握手和四次挥手)-CSDN博客介绍了TCP协议中的"连接管理"机制,即"三次握手"建立连接和"四次挥手"断开连接https://blog.csdn.net/zzy734437202/article/details/135231067

相关推荐
liu-yonggang5 小时前
车载以太网与 SOME/IP 协议培训课程大纲
网络·网络协议·tcp/ip
liulilittle8 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
Irissgwe9 小时前
五、应用层协议HTTP
linux·网络·网络协议·http·状态码·url
路由侠内网穿透13 小时前
本地部署开源自托管服务器监控系统哪吒监控并实现外部访问
运维·服务器·网络协议
上海云盾-小余14 小时前
SSL 证书部署误区避坑:加密部署与防劫持落地教程
网络协议·iphone·ssl
以太浮标15 小时前
华为eNSP模拟器综合实验之- 路由黑洞场景解析及实验
运维·网络·网络协议·网络安全·华为·智能路由器·信息与通信
北京耐用通信15 小时前
耐达讯自动化 Modbus RTU转Profibus 网关产品技术说明书
人工智能·物联网·网络协议·自动化·信息与通信
Irissgwe15 小时前
5-2 - HTTPS 协议原理
网络协议·http·https·非对称加密·ca·https协议原理
sugar__salt15 小时前
LLM服务HTTP接口实战:前端HTTP请求全解与项目落地
前端·网络协议·http
电子科技圈17 小时前
CXL连接全面赋能AI与车载算力提升,SmartDV CXL全栈IP加速相关芯片设计
人工智能·网络协议·tcp/ip·机器学习·自动驾驶·边缘计算