停止等待协议学习卡片
🔄
停止等待协议基本概念
协议全称
Stop-and-Wait Protocol (S-W)
核心机制
滑动窗口、确认(ACK)、重传、帧编号
窗口设置
发送窗口(WT) = 1
接收窗口(WR) = 1
实现
单帧传输控制
编号要求
满足 WT + WR ≤ 2ⁿ (n为编号比特数,S-W仅需1比特)
⚙️
协议工作原理
窗口运作
发送方每次只能发送
一个帧
接收方每次只能接收
一个帧
编号原理
采用
1比特循环编号
(0→1→0→1)
帧类型
数据帧(Data)
: 包含首部、数据部分、尾部
确认帧(ACK)
: 首部标记为ACK类型,数据部分可为空
🔄➡️
正常传输流程
发送方发送
Data0
接收方检错通过后返回
ACK0
双方窗口右移
发送方发送
Data1
,接收方返回
ACK1
窗口滑动规则:
接收方先滑动窗口并返回ACK后,发送方才能滑动窗口
⚠️
异常情况处理
数据帧丢失
发送方启动
计时器
超时未收到ACK则
重传原帧
确认帧丢失
接收方收到Data1但ACK1丢失
发送方超时重传Data1
接收方发现重复帧则
丢弃并返回ACK1
数据帧差错
接收方检错发现错误→
直接丢弃
不返回ACK导致发送方
超时重传
🔢
帧编号的必要性
核心原因
区分
重复帧
与新帧
接收方通过序号判断帧是否在
窗口内
比特数依据
WT + WR = 2 ≤ 2¹,故
1比特足够
记忆提示:
相邻帧数据可能相同,必须用编号区分!
✨
协议特性
核心机制
流量控制
: 通过窗口大小=1限制发送速率
可靠传输
: 解决丢失、差错、重复问题
特性优势
无
失序问题
(接收窗口=1保证顺序接收)
简单可靠 (但
信道利用率低
)
典型问题
数据帧丢失→超时重传
ACK丢失→接收方丢弃重复帧并重发ACK
帧差错→丢弃不响应触发重传