数据链路层基本概念
数据链路层使用的信道主要有一下两种类型:
- 点对点信道:这种信道使用一对一的点对点通信方式。
- 广播信道:这种信道使用一对多的广播通信方式。
结点:主机、路由器 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。 数据链路:网络中两个结点之间的逻辑通路,把实现控制数据协议的硬件和软件加到链路上就构成数据链路。 帧:链路层的协议数据单元,封装网络层数据报。
数据链路层功能概述
- 为网络层提供服务。
无确认无连接服务 有确认无连接服务 有确认面向连接服务 - 链路管理,即连接的建立、维持、释放(面向连接的服务)。
- 组帧。
- 流量控制,限制发送方。
- 差错控制(帧错、位错)。
封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,构成一个帧。 接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。 首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。 帧同步:接收方应当能从接收到的二进制比特六种区分出帧的起始和终止。 最大传送单元(MTU):链路上所能传送的帧的数据部分长度上限。
透明传输
透明传输是指不管所传输的数据时什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。 当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输的透明的。
字符计数法
帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
字符填充法
当传送中数据出现控制字符“SOH”和“EOT”时,为了在接收段不被解释为控制字符。 可以在传输的数据中控制字符前加一个转移字符“ESC”,这样的方法被称为字节填充或字符填充。
零比特填充法
操作: 在发送端,扫描整个信息字段,只要出现连续5个1,就立即填入1个0。
在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。
为了保证透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
差错控制
差错从何而来?
传输中的差错都是由于噪声引起的。
差错
- 位错:比特位出错,1变成0,0变成1。
- 帧错:丢失帧,重复帧,帧失序。
CRC 循环冗余码
接收端检错过程 把收到的每一个帧都除以同样的除数,然后检查得到的余数R。 1 . 余数为0,判定这个帧没有错,接受。 2 . 余数为不为0,判定这个帧有差错(无法确定到位),丢弃。
|