计算机网络——停止等待协议

举报
王同学要努力 发表于 2022/09/24 18:05:54 2022/09/24
【摘要】 计算机网络——停止等待协议

可靠传输实现机制

  • 停止-等待协议SW
  • 回退N帧协议GBN
  • 选择重传协议SR

这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中
希望同学们在学习时,不要把思维局限在数据链路层,而应该放眼与整个网络体系

image.png

image.png
接收方收不到信号分组,就不会发送ACKNAK 如果不采取措施 发送方就会一直处于等待接收方ACKNAK状态
为解决该问题,可以在发送方发送完一个数据分组时,启动一个超时计时器。若到了超时计时器所设置的重传时间而发送方仍接收不到任何的ACK或NAK,则重传原来的数据分组。这就叫做超时重传
一般可将重传时间选为略大于“从发送方到接方的平均往返时间”

image.png

避免分组重复这种传输错误,必须给每个分组带上序号
对与停止-等待协议,由于每发送一个数据分组就停止等待,只要保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同就可以了,因此用一个比特来编号就够了

image.png

注意事项

  • 接收端检测到数据分组有误码时,将其丢弃并等待发送方的超时重传。但对于误码率较高的点对点链接,为使发送方尽早重传,也使发送方尽早重传,也可给发送方发送NAk分组
  • 为了让接收方能够批判所收到的数据分组是否重复的。需要给数据分组编号。由于停止-等待协议的等待特性,只需1个比特编号就够了,即编号0和1
  • 为了发送方能够判断所收到的ACK分组是否重复的。需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。数据链路层一般不会出现ACK分组迟到的情况,因此在数据链路层实现停止-等待协议可以不用ACK分组编号。
  • 超时计时器设置的重传时间应仔细选择。一般可以将重传时间选为略大于“从发送方到接收方的平均往返时间
    在数据链路层点对点的往返时间比较确定,重传时间比较好设定
    然而在运输层,由于顶端到端往返时间非常不确定,设置合适的重传时间有时并不容易
  • 当往返时延RTT远大于数据帧发送的时延Td时(例如 使用卫星链路),信道利用率非常低
  • 若出现重传,则对于传送有用的数据来说,信道率用率还要降低
  • 为了克服停止-等待协议信道利用率很低的缺点。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。