接收二进制数据_计算机网络 | 数据链路层

计算机网络数据链路层

第五周线上课程开启

大家有没有想念起曾经在学校里的日子

别紧张网缘一线牵

通过平平老师在中间牵线使我们相聚于此

465e0cce6862bd18ebc80abbeb13b71e.png

那么这节课我们又学到了什么知识呢?

(奇怪的知识增长了.jpg)

让我们一起往下看吧

NO.ONE

波特率和比特率

波特率(码元传输速率):每秒传输的码元数,单位是Baud(波特)

比特率:指的是每秒传输的二进制比特数,速率的单位是b/s,或kb/s,Mb/s,Gb/s等

公式:R = B·log2N

其中B代表波特率;n代表多相调制的数;log2N,代表一次调制状态里所需要的二进制比特数;R代表比特率

NO.TWO

信道的极限容量

任何实际的信道都不是理想的,在传输信号时会产生各种失真以及带来多种干扰,码元传输的速率越高,或信号传输的距离越远,在信道的输出端的波形的失真就越严重

由于极限容量的存在

我们熟知的奈式准则和香农定理也应运而生

682c66a7a25f85f1c77cf2892ea3fdf3.png

NO.THREE

奈式准则

在低通(无噪声、带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2W 码元/秒,W是理想低通信道的带宽,单位为赫(Hz)

每赫带宽的理想低通信道的最高码元传输速率是每秒2个码元

公式: C = 2W·log2N

香农定理

奈式准则表示的是理想低通信道的最高码元传输效率,而香农公式则是有现实意义的极限公式。

带宽受限且有告诉白噪声干扰的信道的极限、无差错的信息传输速率

C = W log2(1+S/N)b/s

·W为信道的带宽(以Hz为单位);

·S为信道内所传信号的平均功率;

·N为信道内部的高斯噪声功率。

·S/N——信噪比,常以分贝(dB)表示

·记为:信噪比(dB)=10*log10(S/N)(dB)

信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。

只要信息传输速率低于信道的极限传输速率,就一定可以找到某种方法来实现无差错的传输。

若信道带宽W或信噪比S/N没有上限(当然实际信道不可能是这样),则信道的极限传输速率C也就没有上限。

实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少。

c3837b1b797e804482961210d8c35a1f.png

目前为止我们物理层的学习就暂告一段落啦~

大家可不能松懈

因为我们这节课的主角——数据链路层

它来了它来了它带着各种概念过来了

13a58167c627c0735d44c3693093f06e.png

NO.FOUR

数据链路层所处的地位

下图是两个主机通过互联网进行通信时数据链路层所处的地位

03d34a7f1bc27220f0547e9f9b60c0a3.png b2b3d9bb3858c840b8b5fde9644cc0f6.png

数据进入路由器后要从物理层上到网络层,在转发表中找到下一跳的地址后,再下到物理层转发出去。因此,数据从主机H1到主机H2需要在路径的各结点的协议栈向上和向下流动多次,然而当我们专门研究数据链路层的问题时,在许多情况下我们可以只关心在协议栈中水平方向的各数据链路层。

NO.FIVE

数据链路和帧

链路是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。

数据链路指除了物理线路外,还必须有通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

ba722268acd7626924cf648cfdd399a4.png

NO.SIX

封装成帧

封装成帧指在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。

首部和尾部的作用:进行帧定界(可判断帧的传输是否完整);尾部亦作用于差错校验。

4847a8e048f4bedee921934931010678.png

MTU:最大传输单元(指帧的数据部分的上限)

透明传输

(用字节填充法和插入比特法解决透明传输的问题)

  传输时可能出现的问题:

bf83f964632913bca5faed1e49ff9006.png

字节填充法:发送前在数据部分前填充字段,接收端接收时再删去该字段,并认为该字段后紧接着的为数据部分,即转义。

ee93c2a3073db19e2244b002b06ca98c.png

插入比特法:利用ppp协议实现

差错检测

在传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1

在一段时间内,传输错误的比特占所传输比特总数的比率称为(PS:误码率与信噪比有很大的关系喔!)

4fc65a0f6010eb3e8af88a053bf5113a.png

为什么要进行差错校验呢?

34917b1bce5fc873f4dd748c38769ddb.png

在数据链路层的接收端对所传输的帧进行差错检验是为了不将已经发现了有差错的帧(不管是什么原因造成的)收下来。

如果在接收端不进行差错检测,那么接收端上交给主机的帧就可能包括在传输中出了差错的帧,而这样的帧对接收端主机是没有用的!!!!!

NO.SEVEN

差错检测的基本原理

8dd59c2de42c5abfa27bb77acc1707f7.png

CRC循环冗余码

17418dfd9e2841e8888999485475ad7d.png

① 双方先约定好生成多项式G,通过生成多项式可以得到长度为 (n + 1) 位除数P。

② 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面 添加 n 个 0。

③ 得到的 (k + n) 位的数除以 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位。

大家是不是觉得还是有点难以理解呢

下面还有一道例题送给大家

1b777899666de6d40d3b567880f7b9af.png 2e1e0368d12b99e5c97a3b670276f6db.png 541725787cf650fa706db180eddec70e.png

接收端对收到的每一帧进行CRC检验

(1) 若得出的余数R=0,则判定这个帧没有差错,就接受

(2) 若余数R≠0,则判定这个帧有差错,就丢弃

帧检验序列FCS

在数据后面添加上的冗余码称为帧检验序列FCS

循环冗余检验 CRC 和帧检验序列 FCS并不等同。

CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。

FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

那我们第五周的复习就到这里啦

大家在家网课可要认真学习

精力充沛地迎接下一周的挑战!

daa44296856f22cc397fdcc608aa1270.png 68e0a1a835f8d7903bc90eecaddf3258.gif

图文编辑 | 蔡植艺 张译鸿 陈志贤

陈世家 林 芹 吴锡鑫

图文排版 | 宋 佳

责任审阅 | 陈平平

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值