可靠的数据传输:
网络top 10 问题之一就是解决网络的可靠的数据传输。
什么是可靠:即不丢,不错,不乱;
rdt : reliable data transfer
rdt 1.0 : 独立 sender receiver
rdt 2.0 :引入的新机制:重传,差错检测,NAK,ACK。
解决的问题是:数据不错。接受方显式反馈是否接受到正确数据。
rdt 2.1 : ACK/NAK被破坏如何解决? 可以直接重传分组吗?不可以,会导致重复的分组。
解决方案:发送方对每个分组增加序列号,接受方丢弃重复分组。
rdt 2.2 :取消NAK,作简化
接收方通过ACK告知最后一个被正确接受的分组,在ACK消息中显示的加入被确认分组的序列号。
rdt 3.0:
如果分组丢失怎么处理?需要定时器
“校验和+序列号+ACK+重传+定时器”
rdt 3.0 能够正确工作,但性能很差,网络协议限制了物理资源的利用;
如何解决这个问题,做好改进?
》》》》缓存
发送方和接收方都设置缓存,启用流水线机制提高了效率。
滑动窗口协议:GBN,SR
GBN(go back to n):
窗口尺寸为N,发送方最多允许N个分组未确认。
为空中的分组设定计时器,发送方只有一个计时器,超时重传所有未收到确认的分组。
累积ACK确认机制
接收方没有缓存,不会缓存乱序到达的分组,直接丢弃乱序到达的分组。
SR协议:
设置缓存机制,缓存乱序到达的分组
为每个分组设置计时器,只重传没有收到ACK的分组。
标签:rdt,缓存,重传,--,ACK,分组,传输层,数据传输 From: https://www.cnblogs.com/wuyun--wy/p/17113835.html