停止等待协议学习卡片

🔄
停止等待协议基本概念
协议全称
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类型,数据部分可为空
🔄➡️
正常传输流程
  1. 发送方发送Data0
  2. 接收方检错通过后返回ACK0
  3. 双方窗口右移
  4. 发送方发送Data1,接收方返回ACK1

窗口滑动规则: 接收方先滑动窗口并返回ACK后,发送方才能滑动窗口

⚠️
异常情况处理
数据帧丢失
  • 发送方启动计时器
  • 超时未收到ACK则重传原帧
确认帧丢失
  • 接收方收到Data1但ACK1丢失
  • 发送方超时重传Data1
  • 接收方发现重复帧则丢弃并返回ACK1
数据帧差错
  • 接收方检错发现错误→直接丢弃
  • 不返回ACK导致发送方超时重传
🔢
帧编号的必要性
核心原因
  • 区分重复帧与新帧
  • 接收方通过序号判断帧是否在窗口内
比特数依据
WT + WR = 2 ≤ 2¹,故1比特足够

记忆提示: 相邻帧数据可能相同,必须用编号区分!

协议特性
核心机制
  • 流量控制: 通过窗口大小=1限制发送速率
  • 可靠传输: 解决丢失、差错、重复问题
特性优势
  • 失序问题 (接收窗口=1保证顺序接收)
  • 简单可靠 (但信道利用率低)
典型问题
  • 数据帧丢失→超时重传
  • ACK丢失→接收方丢弃重复帧并重发ACK
  • 帧差错→丢弃不响应触发重传