第3节 基本数据链路层协议
如何设计数据链路层的协议?

Protocol Definitions p202

Protocol Definitions (2)

Some definitions needed in the protocols to follow. These are located in the file protocol.h.
3.3.1 完全理想化的单工传输

完全理想化的数据传输 所基于的两个假定




3.3.2 一个单工的停-等协议
- 现在去掉上述的第二个假定。但是,仍然保留第一个假定:
主机 A 向主机 B传输数据的信道仍然是无差错的理想信道。
然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。
简单的停等协议 (A Simplex Stop-and-Wait Protocol)
- 增加约束条件:
接收方不能无休止接收。 - 解决办法:
接收方每收到一个帧后,给发送方回送一个响应。 - 由收方控制发方的数据流,乃是计算机网络中流量控制的一个基本方法。
两种情况的对比(传输均无差错)

具有最简单流量控制的 数据链路层协议算法



3.3.3 实用的停止等待协议




帧的编号问题
- 任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。
- 序号占用的比特数越少,数据传输的额外开销就越小。

实用的停止等待协议


协议在设计上有小瑕疵!

停止等待协议的算法(2)
- 这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。


停止等待协议 ARQ 的优缺点
- 优点:比较简单 。
- 缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。
- 为了克服这一缺点,就产生了另外两种协议,即连续 ARQ (GO BACK N)和选择重传 ARQ。这将在后面进一步讨论。


