链路层只管相邻两个结点之间的一跳:把数据装成帧、检查有没有错、出错了重传;多台主机共用一根线时,还要决定谁先发。
这一章只要会:
三种协议的区别只有两个:一次能发几帧,出错后重传哪些。
| 停止-等待 | 后退 N 帧 GBN | 选择重传 SR | |
|---|---|---|---|
| 发送窗口 | 1 | 大于 1 | 大于 1 |
| 接收窗口 | 1 | 1 | 大于 1 |
| 收到乱序帧 | — | 直接丢弃 | 先缓存起来 |
| 确认方式 | 逐帧确认 | 累积确认 | 逐帧确认 |
| 超时后重传 | 这一帧 | 出错帧及之后所有已发的帧 | 只重传出错的那一帧 |
| 窗口上限(n 位序号) | — | 发送窗口 ≤ 2ⁿ − 1 | 发送 + 接收 ≤ 2ⁿ 通常各取 2ⁿ⁻¹ |
累积确认:收到 n 号帧的确认,说明 n 号及之前的帧全都收到了。GBN 的题先找"收到的最大确认号"。
发送方已发送 0~7 号帧,超时时只收到 0、2、3 号帧的确认。
发送方已发送 0~3 号帧,已收到 1 号帧的确认,0、2 号帧依次超时。
想让利用率达到 100%,发送窗口要大到"一个周期内一直有帧可发",即 W ≥ T ÷ 发一帧的时间。
GBN 协议,数据传输率 16 kb/s,单向传播时延 270 ms,数据帧长 128~512 字节,确认帧与数据帧等长。要让信道利用率最高,帧序号至少几位?
如果帧太短,A 在 2τ 之内就发完了,冲突信号回来时它已经不在"边发边听",就发现不了冲突。所以一帧至少要能发满 2τ:
以太网规定最短帧长 64 B,短于它的都是冲突产生的无效帧。
CSMA/CD 网络,速率 1 Gb/s,信号传播速率 200 000 km/s。最小帧长减少 800 bit,最远两站的距离至少要减少多少?
易错:别忘了 2τ 里的 2。
| 设备 | 隔离冲突域 | 隔离广播域 |
|---|---|---|
| 集线器 | 不能 | 不能 |
| 交换机 | 能 | 不能 |
| 路由器 | 能 | 能 |
设备工作的层次越高,能隔离的越多。
帧的边界标志是 01111110。发送方在数据中每遇到 5 个连续的 1,就在后面插一个 0;接收方反过来删掉。
每个站有一个码片序列。发 1 就发码片,发 0 就发码片的反码。接收方把收到的叠加信号和某站的码片做规格化内积:
GBN:2³ − 1 = 7。SR:2³⁻¹ = 4。
累积确认到 3 号,重传 4、5 两帧。
24 个冲突域,1 个广播域。