前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >3.4.2 单帧滑动窗口与停止等待协议

3.4.2 单帧滑动窗口与停止等待协议

作者头像
week
发布于 2018-08-24 08:32:32
发布于 2018-08-24 08:32:32
1.4K0
举报
文章被收录于专栏:用户画像用户画像

在停止等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度看,停止等待协议相当于发送窗口和接受窗口的接受窗口大小均为1的滑动窗口协议。

在停止等待协议中,除了数据帧丢失,还可能出现以下两种差错:

到达目的站的帧可能已遭破坏,接受站利用在前面讨论过的差错检测技术检出后,简单地将该帧丢弃。为了对付这种可能发生的情况,源站装备了计时器,在一个帧发送之后,源站等待确认,如果在计时器计满时仍未收到确认,则再次发送同样的帧。如此重复,直到该数据帧无错误地到达为止。

 另一个可能的差错是数据帧正确而确认被破坏。为了避免这样的问题,发送的帧交替地用0和1来标识,肯定确认则分别用ACK0和ACK1来表示,当收到的确认有误时,则重传已发送的帧。下面分析停止等待协议的实现步骤。

在发送结点:

1 从主机取一个数据帧,送交发送缓冲。

2 V(s)<---0。{发送状态V(S)初始化}

3 N(s)<---V(S):{将发送状态变量值写入数据帧的发送序列号N(s) }

4 将发送缓存中的数据帧发送出去。{这个数据帧的副本仍保留在发送缓存中}

5 设置超时计时器。{选择适当的超时重传时间Tout}

6 等待。{等待以下7和8这两个事件中最先出现的一个}

7 若收到确认帧ACKn,

若n=1-V(s),则:{已发送的数据帧被接收方确认}

从主机取一个新的数据帧,放入发送缓存;

V(s)<---[1-V(s)],转到4.{更新发送状态变量,变为下一个序号}

否则,丢弃这个确认帧,转到6.{这说明已发送的数据帧没有被接收方确认}

8 若超时计数器时间到,则转到4。{重传已发送的数据帧}

在接受结点:

1.V(R)<---0.{接受状态变量初始化,其数值等于欲接受的数据帧的发送序列}

2.等待

3.收到一个数据帧,就检查有无产生传输差错(如用CRC)。

若检查结果正确无误(否则直接丢弃,转2),则执行后续算法;

4.若N(s)=V(R),则执行后续算法;{收到发送序号正确的数据帧}

否则丢弃此数据帧,然后转到7。{丢弃的数据帧就是重复帧}

5.将收到的数据帧中的数据部分送交主机。

6.V(R)<---[1-V(R)]。{更新接受状态变量,准备接受下一个数据帧}

7.发送确认帧ACKn,并转到2。{n=V(R),表明期望收到V(R)}

由以上算法可知,对于停止-等待协议,由于每发送一个数据帧就停止并等待,因此用1bit编号就够。在停止-等待协议中,若连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。

此外,为了超时重发和判定重复帧的需要,发送方和接受方都需设置一个帧缓冲区。发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错时进行重传。只有在收到对方发来的确认帧ACK时,方可清除此副本。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年09月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
3.4.3 多帧滑动窗口和后退N帧协议(GBN)
在后退N帧式ARQ中,发送方不需要在收到上一帧的ACK后才能开始发送下一帧,而是可以连续发送帧。当接受方检测出失序的信息帧后,要求发送方重发最后一个正确接受的信息帧之后的所有未确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不又重传该出错帧及随后的N个帧。换句话说,接受帧只允许按顺序接受帧。
week
2018/08/24
2.1K0
3.4.4 多帧滑动窗口与选择重传协议(SR)
为了进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是计数器超时的数据帧。但此时必须加大接受窗口,以便先收下发送序号不连续但仍处在接受窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。这就是选择重传ARQ协议。
week
2018/08/24
1.8K0
计算机网络:流量控制与可靠传输机制
在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。
timerring
2022/11/16
1.9K0
计算机网络:流量控制与可靠传输机制
【计算机网络】数据链路层 : 停止-等待协议 ( 无差错情况 | 有差错情况 | 帧丢失 | 帧出错 | ACK 确认帧丢失 | ACK 确认帧延迟 | 信道利用率公式 | 信道利用率计算 )★
停止-等待 协议 讨论场景 : 只考虑 一方为发送方 , 一方为接收方 ; 相当于 单工通信场景 ;
韩曙亮
2023/03/28
2.4K0
3.4.1 流量控制、可靠传输与滑动窗口机制
流量控制涉及对链路上帧的发送速率的控制,以使接收方有足够的缓冲空间来接受每一个帧。例如,在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:停止-等待协议和滑动窗口协议。
week
2018/08/24
7680
【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时机制 | “接收方“ 按序接收、确认帧发送机制 | 计算示例 )★
"停止-等待" 协议 弊端 : 信道利用率低 , 发送完一帧后等待 , 这个时候信道完全是空闲的 ;
韩曙亮
2023/03/28
4.5K0
计算机网络:第3章 数据链路层
链路层的作用:接受网络层的数据单元并封装成帧,并交付给物理层。接受物理层传来的帧并去掉帧头帧尾发送给网络层,实现链路之间数据帧的无差错接受与传送。
Here_SDUT
2022/09/19
1.9K0
计算机网络:第3章 数据链路层
计算机网络 3 -数据链路层
使用点对点链路和链路层交换机的交换式局域网已经在(有线)局域网的领域取代了共享式局域网
Rikka
2022/01/20
1.4K0
计算机网络 3 -数据链路层
计算机网络基础知识整理--运输层
从IP层来说,通信的两端是两个主机。IP数据报的首部明确地标志了这两个主机的IP地址。我们需要知道,真正进行通信的实体是在主机中的进程,是这个主机中的一个进程和另一个主机中的进程在交换数据(即通信)。因此严格地讲,两个主机进行通信就是两个主机中的应用进程进行通信。IP协议虽然等把分组送到目的主机,但是这个分组还停留在主机的网络层而没有交付主机中的应用进程。从运输层的角度看,通信的真正端点并不是主机而是主机中的进程。也就是说,端到端的通信是应用进程之间的通信。
黄桂期
2018/05/11
2.1K2
流量控制&可靠传输机制&停止-等待协议
注:最后有面试挑战,看看自己掌握了吗 文章目录 链路层 流量控制 和传输层的流量控制区别 停止-等待协议 为什么要有停止等待协议 无差错情况 滑动窗口协议 后退N帧协议GBN 选择重传协议SR 可靠传输 流量控制 🍃博主昵称:一拳必胜客 特别鸣谢:木芯工作室 、Ivan from Russia ---- 链路层 流量控制 较高发送速度和较低接受能力的不匹配 流量控制也是数据链路层的一项重要工作 和传输层的流量控制区别 传输层—端到端流量控制-------接收端发送给一个窗口公告 链路层-----
20岁爱吃必胜客
2022/11/21
4040
计算机网络之传输层-停等协议与滑动窗口协议
为了使传输层提供可靠的数据传输服务,基于不可靠信道实现可靠数据传输需要采取以下措施:
越陌度阡
2020/11/26
2.2K0
计算机网络之传输层-停等协议与滑动窗口协议
计算机网络(三)—— 数据链路层
为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层
繁依Fanyi
2023/05/07
1.3K0
计算机网络(三)—— 数据链路层
计算机网络-概述
各层间传输数据的时候,把第n+1层收到的PDU作为第n层的SDU,加上PCI后进行发送。
千灵域
2022/06/17
1.4K0
计算机网络-概述
【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
① 可靠性服务 : “数据链路层” 在 物理层 提供的服务的基础上 , 提供可靠性服务 ;
韩曙亮
2023/03/28
3.2K0
【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
【数据链路层】循环冗余码CRC、后退N帧协议GBN、选择重传协议SR、CSMA/CA
例如:由3比特来编号,窗口总数为8,编号0到7 如果把7号也用了,那么当全部发送0-7号的所有帧的时候,发送方看自己设置的超时的记录表,如果显示超时了,那我们重新发0-7号。接收方无法辨别第一次和第二次的帧
20岁爱吃必胜客
2022/12/30
9100
【数据链路层】循环冗余码CRC、后退N帧协议GBN、选择重传协议SR、CSMA/CA
计算机网络-可靠传输的实现机制
S给R发送的请求可以在请求头中新增一个序列号(Seq),如果Seq重复,那么我们R端可以丢弃,并且做出响应,这个时候如果之前网络延迟导致消息迟到的响应也到达了S,那么我们为了能够让S也知道消息重复,所以我们给响应头增加了个(ACK)]
Karos
2023/11/16
4250
计算机网络-可靠传输的实现机制
TCP协议详解
“面向字节流”的含义是:虽然应用程序和 TCP 的交互式一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。TCP 并不知道所传送的字节流的含义
ColinLiu
2019/04/29
1.3K0
TCP协议详解
计网复习提纲(文字版)
集线器–单纯把几个机器连接在一起,碰撞域变大,集线器左边的元素会影响集线器右边的元素传递数据,但是集线器左边和右边就互联了
用户7267083
2022/12/08
7550
【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★
帧协议 ( GBN ) 弊端 : 累计确认 机制 , 导致的批量重传 , 这些重传的帧 , 可能已经传输成功 , 就是因为之前的帧出错 , 导致传输成功的帧被丢弃 ;
韩曙亮
2023/03/28
4K0
计算机网络:这是一份全面 & 详细 的TCP协议学习指南
对于接收端:当收到数据帧后,将窗口向前移动一个位置,并发回确认帧,若收到的数据帧落在接收窗口之外,则一律丢弃。
Carson.Ho
2019/02/22
5570
推荐阅读
3.4.3 多帧滑动窗口和后退N帧协议(GBN)
2.1K0
3.4.4 多帧滑动窗口与选择重传协议(SR)
1.8K0
计算机网络:流量控制与可靠传输机制
1.9K0
【计算机网络】数据链路层 : 停止-等待协议 ( 无差错情况 | 有差错情况 | 帧丢失 | 帧出错 | ACK 确认帧丢失 | ACK 确认帧延迟 | 信道利用率公式 | 信道利用率计算 )★
2.4K0
3.4.1 流量控制、可靠传输与滑动窗口机制
7680
【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时机制 | “接收方“ 按序接收、确认帧发送机制 | 计算示例 )★
4.5K0
计算机网络:第3章 数据链路层
1.9K0
计算机网络 3 -数据链路层
1.4K0
计算机网络基础知识整理--运输层
2.1K2
流量控制&可靠传输机制&停止-等待协议
4040
计算机网络之传输层-停等协议与滑动窗口协议
2.2K0
计算机网络(三)—— 数据链路层
1.3K0
计算机网络-概述
1.4K0
【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
3.2K0
【数据链路层】循环冗余码CRC、后退N帧协议GBN、选择重传协议SR、CSMA/CA
9100
计算机网络-可靠传输的实现机制
4250
TCP协议详解
1.3K0
计网复习提纲(文字版)
7550
【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★
4K0
计算机网络:这是一份全面 & 详细 的TCP协议学习指南
5570
相关推荐
3.4.3 多帧滑动窗口和后退N帧协议(GBN)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档