
(以下内容全部来自上述课程)
目录
- 数据链路层
- 组帧
-
- [1. 字符计数法](#1. 字符计数法)
- [2. 字节填充法](#2. 字节填充法)
- [3. 零比特填充法](#3. 零比特填充法)
- [4. 违规编码法](#4. 违规编码法)
- [5. 小结](#5. 小结)
- 差错控制
-
- [1. 奇偶校验](#1. 奇偶校验)
-
- [1.1 奇偶检验码](#1.1 奇偶检验码)
- [1.2 异或运算](#1.2 异或运算)
- 小结
- [2. 循环冗余校验码(CRC码)](#2. 循环冗余校验码(CRC码))
-
- [2.1 基本思想](#2.1 基本思想)
- [2.2 校验码](#2.2 校验码)
- [2.3 小结](#2.3 小结)
- [3. 海明码](#3. 海明码)
-
- [3.1 思路简介](#3.1 思路简介)
- [3.2 求解步骤](#3.2 求解步骤)
- [3.3 小结](#3.3 小结)
- 流量控制、可靠传输
-
- [1. 滑动窗口机制](#1. 滑动窗口机制)
- [2. 停止-等待协议(s-w)](#2. 停止-等待协议(s-w))
-
- [2.1 概念](#2.1 概念)
- [2.2 正常情况](#2.2 正常情况)
- [2.3 数据帧丢失-->超时重传](#2.3 数据帧丢失-->超时重传)
- [2.4 确认帧丢失-->超时重传(重复帧)](#2.4 确认帧丢失-->超时重传(重复帧))
- [2.5 数据帧有差错-->超时重传](#2.5 数据帧有差错-->超时重传)
- [2.6 小结](#2.6 小结)
- [3. 后退N帧协议(GBN)](#3. 后退N帧协议(GBN))
-
- [3.1 正常情况](#3.1 正常情况)
- [3.2 数据帧丢失-->后退重传](#3.2 数据帧丢失-->后退重传)
- [3.3 确认帧丢失-->全部重传](#3.3 确认帧丢失-->全部重传)
- [3.4 探讨](#3.4 探讨)
- [3.5 小结](#3.5 小结)
- [4. 选择重传协议(SR)](#4. 选择重传协议(SR))
-
- [4.1 窗口大小限制条件](#4.1 窗口大小限制条件)
- [4.2 正常情况](#4.2 正常情况)
- [4.3 数据帧丢失-->缺谁重传谁](#4.3 数据帧丢失-->缺谁重传谁)
- [4.4 数据帧差错-->错了重来](#4.4 数据帧差错-->错了重来)
- [4.5 确认帧丢失-->重复帧直接重传确认帧](#4.5 确认帧丢失-->重复帧直接重传确认帧)
- [4.6 探讨](#4.6 探讨)
- [4.7 小结](#4.7 小结)
- 信道利用率
-
- [1. S-W协议](#1. S-W协议)
- [2. GBN、SR协议](#2. GBN、SR协议)
- [3. 补充](#3. 补充)
-
- [3.1 滑动窗口协议](#3.1 滑动窗口协议)
- [3.2 ARQ协议、连续ARQ协议](#3.2 ARQ协议、连续ARQ协议)
- [4. 小结](#4. 小结)
数据链路层
物理层 :比特传输 -->物理链路
数据链路层 :封装成帧(就相当于你买完东西给你个袋子装东西) -->逻辑链路


组帧
组帧(封装成帧) :类比成买东西,店员给了你一个塑料袋装你买的东西。
帧定界 :假定你从网上买了一个盲盒,那发货的人就需要考虑怎么打包,能让你知道盲盒里都有什么。
透明传输 :盲盒送到你家,你得给外包装拆了,才能看见盲盒是啥。(包装扔了就相当于没了,变透明了,不重要了)

1. 字符计数法
6字节 :黑白交替,8个数字为一组,一共有6组。这就是帧的数据部分,也就是你买的盲盒。
帧定界 :现在开始打包。
7字节 :这个打包方式就是在开头加一个(1字节)包装袋 ,加上包装袋,一共是7个字节,十进制的7=二进制的111,八个比特为一个字节,所以前面都用0给补上。
计数字段长度 :包装袋,而且是能表示加上包装袋一共有多少物品的包装袋(相当于加了个便签)。

如果包装袋的便签记错 了有多少件物品,商家打包的时候,就会往里面多塞很多东西,就会把后面有便签 的物品误以为是包装袋,然后就把打包的东西都打包错,很棘手。

2. 字节填充法
这个打包方式把包装袋换成了盒子 (有盖有底)。
SOH :打包盒的盖子,代表开始。
EOT :打包盒的盒子底,代表结束。

但是如果这个商家卖得东西本来就是打包盒(控制字符) ,就有可能把卖的东西,和自己要用的打包盒混在一起,这就出现了新的问题。

所以这个时候就用便签(转义字符)标志上,在打包盒的盖子下面,只要碰到盖子什么的物品就加个便签。
但是就又有问题了,如果这个商家还卖 便签(转义字符)呢?!

解决方式就是,出现自己要卖的东西(控制字符+转义字符) ,就直接加个便签 ,然后告诉买家有**标签(转义字符)的就是盲盒里的东西,把 标签(转义字符)**拆掉之后就可以用了。

3. 零比特填充法
这次换了一个**比较特殊的盒子(特殊比特串)**打包。
但是就算是再特殊的东西,也会有商家卖。(数据部分出现特殊比特串)

所以就改变一下卖的东西,一旦和盖子撞了,就在自己卖的东西里填个小零件,告诉买家把零件拿下去,就是它买的盲盒了。

4. 违规编码法
把正常根本不可能出现的东西当作打包盒,这样肯定就不会和卖的东西撞了。

5. 小结

差错控制
检错编码 :收到的盲盒是坏掉的,直接扔掉,要求重新发货。
纠错编码 :坏是坏了,但是自己搞一下就修好了,也能用。(独立型人格)

1. 奇偶校验

1.1 奇偶检验码
奇校验:1001101-->4个1-->偶数个1-->最高位前写一个1
偶校验:1001101-->4个1-->偶数个1-->最高位前写一个0

1.2 异或运算
异或 :不同(10或者01)的就是对(1)的。(收集癖狂喜)
偶检验 :数据部分的数字全部进行异或运算,得出来的结果和自己后加入的最高位 的数字相同 ,就是校验成功。

也可以算上后加入的数字 ,一起进行异或运算,为0就是正确的,为1就是错误的。

小结

2. 循环冗余校验码(CRC码)

2.1 基本思想
相当于质检 啦,商家用着可以就发货了,货到了,买家按照商家给的说明书进行测试,可以就是好的,不可以就是送货时候碰坏了。

2.2 校验码
校验码长度 :多项式最高次幂。
校验码位数 :校验码长度+信息码长度,计算的时候不够位数用0不伤就行。

也是用异或 进行计算,10=1,01=1,00=0,11=0
算出来的校验位放在信息位的后面,就是完整的校验码了。

异或出来是0,就是正确的。



2.3 小结

3. 海明码

3.1 思路简介
就是把信息组进行分组,分开进行偶校验 ,在小范围里出的错就很容易知道位置了。


3.2 求解步骤

引入权重会更好理解,p1=1,p2=2,p3=4
步骤蛮复杂的,需要好好看一下,建议干脆直接听课√

看图会更好理解:如果D1错了,那他会影响p1和p2;也就是如果s1和s2的值=1,就可以看重叠部分,也就是D1影响了这两个的数值。
所以如果s1=s2=s3=1,就是他们三个的重叠部分D4出现了错误。


全校验位 ,就可以判断出是有一位错误,还是有两位错误,有的时候两位错误就负负得正,假装是正确的。

3.3 小结

流量控制、可靠传输


1. 滑动窗口机制
发送窗口四个格**>**接收窗口两个格,后两个不被接受,所以就直接不要了。

接收窗口接到了,就跟发送窗口说自己收到了,然后发送窗口就会继续往右滑动,继续发送。


2. 停止-等待协议(s-w)


2.1 概念

2.2 正常情况
发送方-->发送一比特-->接收方收到-->发送确认帧(正常情况下,就这样循环到结束)

2.3 数据帧丢失-->超时重传



2.4 确认帧丢失-->超时重传(重复帧)



2.5 数据帧有差错-->超时重传


2.6 小结

3. 后退N帧协议(GBN)


3.1 正常情况



3.2 数据帧丢失-->后退重传




3.3 确认帧丢失-->全部重传


3.4 探讨




3.5 小结

4. 选择重传协议(SR)

4.1 窗口大小限制条件


4.2 正常情况


4.3 数据帧丢失-->缺谁重传谁





4.4 数据帧差错-->错了重来






4.5 确认帧丢失-->重复帧直接重传确认帧





4.6 探讨





4.7 小结

信道利用率

1. S-W协议
只看数据帧的传输信道利用率,确认帧是接受信道的,所以不把确认帧放在分子上。




2. GBN、SR协议


3. 补充
3.1 滑动窗口协议

3.2 ARQ协议、连续ARQ协议

4. 小结
