计算机网络--数据链路层

419 阅读3分钟

 数据链路层的信道类型

一对一:点对点信道

一对多:广播信道

  数据链路层的三个重点概念

封装成帧   透明传输   差错检测

(记忆点:每个概念取一个字:密封,透气性差)

封装成帧

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

在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

透明传输

指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。

比如当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。

这样才能保证数据链路层的传输是透明的。


字节填充法

当标志字节出现在待传送的数据信息当中时,就会被误认为是帧的边界。解决这一问题的一种方法是,发送端的数据链路层在出现标志字节的数据段前插入另一个转义字符(通常取ESC),而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。

差错检测

所谓的差错,就是比特位里出现 位错  和 帧错 的现象

位错就是出现了1变成0或者0变成1的现象

帧错就是比特序列里出现丢失,重复,失序的现象

而这些差错一般都是由噪声引起的。

差错的检测

例题:要发送的数据是1101 0110 11,采用CRC校验,生成多项式是10011,那么最终发送的数据应该是?

思路:

计算冗余码:

(1)加0

(2)模2除法

假设生成多项式G(x)的阶为r,则加r个0。

10011表示成多项式为

X4+X1+X0

=X4+X1+1

阶为4

TIPS:多项式N位,阶为N-1。

数据加0后除以多项式,余数为冗余码/FCS/

CRC检验码的比特序列。

最终发送的数据:1101011011 1110



数据链路层的重要协议:PPP协议

点对点协议(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因

特网时一般都使用PPP协议(用户计算机和ISP进行通信时所使用的协议)。

PPP协议实现透明传输的方法:

• 异步传输 | 面向字符:字节填充法

• 同步传输 | 面向比特:零比特填充法

零比特填充法:若在两个标志字段之间的比特串中,碰巧出现了和标志字段F(01111110)一样的比特组合,那么就会误认为是帧的边界。为了避免出现这种情况,HDLC采用零比特填充法使一帧中两个F字段之间不会出现6个连续1。连续发送5 个“1”后,填入1个“0”

(标志字段F是01111110,所以要“5110” )

数据链路层的重要协议:CSMA/CD协议

中文名:载波监听 多点接入 碰撞检测

CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都

要检测一下总线上是否有其他计算机在发送数据。

MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。

CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数

据边检测信道上信号电压的变化情况,以便判断自己在发送数据时

其他站是否也在发送数据。