学习进度条5.7

所花时间:6小时
代码量:400
搏客量:1
了解到的知识点:
一、​​ACK(Acknowledgment,确认字符)​​
​​定义​​:
ACK是接收方发送给发送方的一个控制报文,用于确认已成功接收到数据包。
​​作用​​:
告知发送方数据已正确到达,避免无限等待。
触发发送方继续传输后续数据(如滑动窗口协议)。
​​关键特性​​:
​​累计确认​​:例如TCP中的ACK号表示“期望接收的下一个字节序号”,隐式确认之前所有数据。
​​选择性确认(SACK)​​:某些协议允许接收方明确告知哪些数据块已收到,哪些缺失(用于优化重传)。
二、​​ARQ(Automatic Repeat Request,自动重传请求)​​
​​定义​​:
一种通过重传丢失或损坏的数据包来实现可靠传输的机制,依赖ACK和超时机制触发重传。
​​核心目标​​:
在不可靠的通信信道(如无线网络、互联网)中保证数据的可靠传输。
​​ARQ的三种主要类型​​:
​​停等式ARQ(Stop-and-Wait)​​
发送方每次发送一个数据包,等待ACK到达后再发送下一个。
​​缺点​​:信道利用率低(需频繁等待ACK)。
​​示例​​:适用于低带宽或高延迟环境(如IoT传感器)。
​​回退N帧ARQ(Go-Back-N)​​
发送方维护一个发送窗口,允许连续发送多个数据包(无需等待单个ACK)。
​​处理错误​​:若某个ACK未到达,发送方需重传该序号及之后的所有数据包。
​​缺点​​:可能重复传输正确接收的包(效率低)。
​​示例​​:早期TCP实现中的部分机制。
​​选择性重传ARQ(Selective Repeat)​​
接收方缓存乱序到达的数据包,仅重传丢失或损坏的包。
​​优点​​:高效利用带宽,适合高误码率信道。
​​缺点​​:实现复杂(需管理接收窗口和乱序缓存)。
​​示例​​:现代TCP协议结合使用SACK选项。
三、​​ACK与ARQ的协同工作​​
​​正常传输流程​​:
发送方发送数据包 → 接收方正确接收 → 接收方返回ACK → 发送方收到ACK后继续发送新数据。
​​错误处理流程​​:
​​ACK丢失​​:发送方超时未收到ACK,重传数据包(停等式ARQ)。
​​数据包丢失​​:接收方未收到预期包,后续ACK会携带缺失的序号信息,触发选择性重传(如SACK)。
​​优化机制​​:
​​捎带确认(Piggybacking)​​:将ACK附加在反向传输的数据包中,减少单独发送ACK的开销。
​​延迟确认​​:接收方等待一定时间再发送ACK,可能合并多个确认(如TCP延迟确认机制)。
四、​​现实应用​​
​​TCP协议​​:
使用​​累计ACK​​和​​选择性确认(SACK)​​,结合滑动窗口和超时重传(ARQ)。
动态调整超时时间(RTO)以适应网络延迟变化。
​​无线通信(如5G)​​:
混合ARQ(HARQ)结合前向纠错(FEC)和ARQ,降低重传次数。

posted @ 2025-05-07 22:41  仙人兵马俑  阅读(21)  评论(0)    收藏  举报