通过对第六讲的学习,并整理简要分时笔记如下,如若再不懂请参照视频。完整六十八讲视频见泳者雷敏播客,陆续上传中……
本讲主要内容:数据链路层
00:36 链路:无源的点到点的物理线段,中间无交换结点。
02:50 数据链路(data link)。
04:00 数据链路层的功能:
1、链路管理。
2、帧定界:帧同步、成帧(原因)。
3、流量控制:使接收方来得及接收。
4、差错控制:前向纠错、差错检测。
5、将数据和控制信息分开:帧内区分。
6、透明传输:能传输所有数据。
09:28 停止等待协议
数据链路层的简化模型。
19:50 完全理想化的数据传输。假定一:无差错、无丢失;假定二:接收端向主机交付数据速率永远不小于发送端发送速率。由此实行无流量控制,这是绝对无法完成的,理想东东。
23:10 具有简单流量控制的数据链路层协议。假定一:无差错、无丢失。
由接收方控制发送方的数据流的方法实施简单流量控制。即,发送方每发送一帧就停下来,等待,直到收到接收方发送的确认信号,发送方再发送下一帧。
具体流程:
1、发送结点:
(1)发送结点从主机取一个数据帧。
(2)将此数据帧送入数据链路层的发送缓存。
(3)将缓存中的数据发送出去。
(4)等待。
(5)若收到接收结点返回的确认信息ACK,则转(1)。
2、接收结点:
(1)等待。
(2)收到发送结点的数据帧,将其放入数据链路层的接收缓存。
(3)将接收缓存中的数据上交主机。
(4)向发送结点发送一个确认信息ACK,转(1)。
30:15 实用的停止等待协议
四种情况:(1)正常接收。
(2)数据帧出错,接收结点返回一个NAK信号,发送方收到NAK后,重发该帧。
(3)数据帧丢失,发送方等待确认信号时间大于超时时间t(out),事先约定,发送方重发该帧。
(4)数据帧接收方收到,但接收方发出的确认帧丢失。发送方超时重传该帧,接收方收到重复帧。
注:超时定时器(timeout timer),定时略大于正常发送数据帧到接收到确认帧ACK时间的平均时间。
解决重复帧问题:每个数据帧带上一个发送序号(接收方同样发ACK信号,避免发送方不断重复发送该帧)。发送序号帧的长度为1个比特,0和1交替使用即可。
42:40 如何实现数据链路层的可靠传输
42:50 循环冗余校验CRC(不要祥述,见视频,讲得非常浅显清楚)
帧校验序列FCS,是指数据后添加的冗余码。
FCS可以由CRC求得,但CRC不是唯一求FCS的方法,另外还有海明码、奇偶校验等。
CRC只能检测出差错,它没有能力纠错;数据帧出错,即丢弃该帧。
生成多项式长度足够,可以接近100%检测出差错。
因此,数据链路层可以做到无差错接收,因为一有差错就丢弃了。
【编辑推荐】