发送方: [发送帧1]────等待ACK────[发送帧2]────等待ACK────[发送帧3]
接收方: [接收帧1,发ACK] [接收帧2,发ACK]
窗口大小 Wt = 1, Wr = 1
发送窗口 Wt:发送方可连续发送的帧数
接收窗口 Wr:接收方可连续接收的帧数
发送方窗口(Wt=4):
已确认 | 可发送 | 不能发送
[0][1] | [2][3][4][5] | [6][7]...
↑ 窗口前沿 ↑ 窗口后沿
| 协议 | 发送窗口 Wt | 接收窗口 Wr | 信道利用率 |
|---|---|---|---|
| 停止-等待 | 1 | 1 | 低 |
| GBN | ≥1 | 1 | 中 |
| SR | ≥1 | ≥1(Wt+Wr≤2ⁿ) | 高 |
停止-等待:
U = T_D / (T_D + RTT + T_A)
T_D = 发送延迟 = 帧长/带宽;RTT = 往返时延;T_A = ACK 发送延迟(常忽略)
滑动窗口(Wt 足够大): U ≈ 1
示例:帧长 1000B,带宽 1Mbps,RTT=20ms
T_D = 1000×8 / 1×10⁶ = 8ms
停止-等待: U = 8/(8+20) ≈ 28.6%
滑动窗口(Wt≥4): U = 4×8/(4×8+20) = 32/52 ≈ 61.5%
累积确认(GBN): 收到 ACKn → n 及之前所有帧都已正确接收
逐帧确认(SR): 每个帧单独确认,ACK2 只确认帧 2
| 方式 | 说明 | 应用 |
|---|---|---|
| 逐帧确认 | 每收到一帧就发 ACK | SR |
| 累积确认 | ACKn 表示 n 及之前都确认 | GBN |
| 延迟确认 | 等待一段时间再发 ACK | 802.11 |
| 捎带确认 | ACK 搭载在数据帧中 | TCP |
| 考点 | 说明 |
|---|---|
| 信道利用率计算 | 停止-等待和滑动窗口的利用率 |
| 窗口大小与利用率 | Wt 越大利用率越高 |
| 累积确认的含义 | ACKn 确认 n 及之前所有帧 |
| 窗口约束 | GBN: Wr=1;SR: Wt+Wr≤2ⁿ |
↑ 站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。