考研408--计算机网络--day4--组帧差错控制可靠传输

(以下内容全部来自上述课程)
目录
- 数据链路层
- 组帧
- 1. 字符计数法
- 2. 字节填充法
- 3. 零比特填充法
- 4. 违规编码法
- 5. 小结
- 差错控制
- 1. 奇偶校验
- 1.1 奇偶检验码
- 1.2 异或运算
- 小结
- 2. 循环冗余校验码(CRC码)
- 2.1 基本思想
- 2.2 校验码
- 2.3 小结
- 3. 海明码
- 3.1 思路简介
- 3.2 求解步骤
- 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. 小结
数据链路层
物理层:比特传输 -->物理链路
数据链路层:封装成帧(就相当于你买完东西给你个袋子装东西) -->逻辑链路


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

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. 小结

