本文基于:王道计算机考研-计算机网络
其他文章:
超详细的计算机网络基础知识 第一章:概述
超详细的计算机网络基础知识 第二章:物理层
超详细的计算机网络基础知识 第四章:数据链路层
超详细的计算机网络基础知识 第五章:传输层
超详细的计算机网络基础知识 第六章:应用层
最近准备就业,整理计算机网络的相关笔记,后续会继续更新
相见即是有缘,如果对你有帮助,给博主一个免费的点赞以示鼓励把QAQ
1 数据链路层的基本概念
1.1 数据链路层的基本术语

结点
- 主机、路由器
链路
- 网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路
数据链路
- 网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
帧
- 链路层的协议数据单元,封装网络层数据报
所以数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
数据链路层充当的是一个搬运工的角色

2 数据链路层功能概述
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠的传输到相邻结点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
2.1 数据链路层的功能

功能一、为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务(有连接一定有确认)
功能二、链路管理,即连接的建立、维持、释放(用于面向连接的服务)
功能三、组帧
功能四、流量控制。
功能五、差错控制(帧错/位错)
3 封装成帧与数据传输

封装成帧
- 就是在一段数据的前后部分添加
首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束

3.1 透明传输在组帧上的应用
3.1.1 字符计数法

就是在帧首部添加一个记录帧内字符数的字段
缺点:
一旦在某个帧内丢失数据或首部发生错误,后面的帧都会收到其影响,比如51234567,如果前面的5变成了4,后面的结束位就会发生错乱,第二个帧本来从5开始,结果变成了从4开始,帧发生错乱可能造成灾难性的后果
这种方法很容易出错,所以我们不常用
3.1.2 字符填充法

在头尾分别添加开始和结束标志符
缺点:
在传送二进制代码的程序或图像时,有可能出现数据内某比特流数据与标志符重复的情况,使接收端错误的找到帧的边界,对此,我们可以使用字符填充方法实现透明传输
解决方案:进行字符填充

对数据比特流中和标志符重复的数据,在其前面添加ESC转义字符,告诉接收端略过这个字节,直到遇到真正的结束标志符
3.1.3 零比特填充法

3.1.4 违规编码法

因为曼彻斯特编码的1只可能出现高-低或低-高的情况,不可能出现高高或低低,所以我们可以用高高或低低来定界帧的起始和终止
4 差错控制
4.1 差错从何而来

数据链路层的差错控制就是为了及早的发现问题,减少因为数据出错而引起的网络资源的浪费

4.2 检错编码
4.2.1 奇偶校验码
缺点:
- 只能监测
奇数个比特错误,成功率较低,只有50%,并且如果某一位的1变成0,而另外一位的0变成1,就检查不出来错误,例如11001010变成了11001001,虽然发生了变化,但是奇偶校验码依然检查不出错误

例题:

采用奇校验则要保证添加校验元之后1的个数为奇数,故答案选D
4.2.2 CRC循环冗余码

最终要发送的数据:要发送的数据+帧检验序列FCS
计算冗余码的过程:
- 加0 假设生成多项式G(x)的阶为r,则加r个0
- 模2除法,数据+0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列,除法的过程是异或:同0异1

计算过程
1.计算阶数
10011表示成多项式为
X^4 + X^1 + x^0
X^4 + X^1 + 1
阶数=总位数-1=4
2.按照阶数在数据后加0
原数据:
1101 0110 11
变为
1101 0110 11 0000
3.取模

本文详细介绍了数据链路层的基本概念,包括结点、链路和数据链路,以及帧的封装成帧方法。重点讲解了透明传输的字符填充法和零比特填充法,以及差错控制中的奇偶校验码、CRC校验码和海明码。还探讨了流量控制的停止等待协议、后退N帧协议和选择重传协议。此外,提到了介质访问控制中的信道划分和随机访问协议,如ALOHA和CSMA/CD。最后,简要概述了局域网和广域网的相关知识。
最低0.47元/天 解锁文章
1003

被折叠的 条评论
为什么被折叠?



