数据链路层 差错控制

第三章 数据链路层

数据链路层协议有许多种,但有三个基本问题则是共同的。分别是:封装成帧、差错控制、透明传输

参考:计算机网络 谢希仁 p71

           王道MOOC哔哩哔哩(谷歌浏览器):https://www.bilibili.com/video/av40248430/?p=12

           2020版王道

第一部分、封装成帧

第二部分、差错控制

一、差错从何而来

二、解决办法:差错控制(检验编码)

只针对位错/比特错,帧错在运输层讨论

实现无比特差错的传输,但这还不是可靠传输。

三、具体实现(只针对位错/比特错,帧错在运输层讨论)

第一种方法:检错编码——奇偶校验码

第二种方法:检错编码——循环冗余码CRC

 做上几道题,考前记一记,基本就可以打遍天下无敌手!     paper tiger

第三种方法:纠错编码——海明码

百度到的海明码

四步得到海明码

STEP1 根据海明不等式求r

STEP2 放在2的几次方里面       再按序把空填满

STEP3 写出二进制   异或求出校验码的值   得到数据海明码

STEP4 异或运算得到各校验码的值1010   反序写0101再对应十进制5   找到出错位置第五位

第三部分、链路层的流量控制与可靠传输机制p227(教材放在运输层)

part 1

非常重要,不仅和传输层的协议有交叉,同时第一次提及了滑动窗口机制。

选择题一定会考,自主命题大题也会出。

建议:把这几个重点的协议 所规定的内容掌握好            把滑动窗口机制原理、流程弄清楚

 

可靠传输、滑动窗口、流量控制三者区分,了解一下他们之间的关系   What

 数据链路层的流量控制   Why

 

 流量控制的方法——3种协议   How

 

 

 part 2

具体介绍以上实现流量控制的三种协议2019-02-04   18:24:03

 第一种:停止等待协议

Q: 停止等待协议究竟是哪一层的?

F: 计算机网络,计算机网络 自顶向下方法中将其放在运输层中,王道辅导书放在数据链路层。

     《计算机网络》p76

     无需纠结,最后影响到的只是传输对象:传输层(分组),数据链路层(帧)    对象上命名的不同,本质都是传送到数据

why      前提       分类(应用情况)

以下两种情况


情况1 无差错情况

情况2 有差错情况——1出现差错(丢失或检测到)、2ACK丢失、3ACK迟到

总结:使用上述的确认和重传机制,我们可以在不可靠的传输网络上实现可靠的通信。

分割线结束


SO,为了提高传输效率,我们使用流水线传输(教材用语),引入以下两种重要的协议。

停等协议的弊端

针对这两张解决方案,我们有如下两种协议

第二种:后退N帧协议(GBN协议)

1 滑动窗口=发生窗口+接收窗口

2

专一的接收方        不三不四

3

数据部分交付给上层:相当于第一章中的解封装过程,把数据部分交给网络层。

最近按序接受的帧是2

4 把发送方、接收方所做的事放到一张图中     看下整个GBN协议的运作流程

 

接收任何帧后都发送ACK1——ACK1催更的过程,发送方赶紧把2号帧送过来

生活化的例子:汉堡的各层

之前给我的全都不要,全都扔掉,只等我的番茄,其他的番茄之后再给我一遍。

接收方有一个变量,用来存放接下来想要接收到的序号,如果没有收到那个序号帧,她来什么帧都不要,全都拒绝。来者都拒,无情舍弃。

5 接下来强调一点,关于滑动窗口的长度问题

帧的序号可以重复利用

 6

7 09年考研真题    非常重点的一定会考

 把书本的知识弄清楚   把王道的练习题全做明白

8

第三种 :选择重传协议(SR协议)

 

选择重传协议         目前最好的

0

1

区别于GBN协议

帧的编号是用了三位比特

2

3

4

5

6

7

至此

流量控制,可靠传输机制over

再次看视频或看书补充理解和笔记。

2019-02-0613:03:56

原文地址:https://www.cnblogs.com/wanwujiexu/p/10351750.html