传输层--可靠数据传输的基本原理


可靠的数据传输:

       网络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的分组。       

posted @ 2023-02-12 15:29  stu--wy  阅读(69)  评论(0)    收藏  举报