计算机网络:《计算机网络》第三章数据链路层概念(上)

3.1数据链路层的基本功能

数据链路层负责在一-条链路两端的结点之间收发数据。 两种类型的数据链路: 点对点信道。这种信道使用一对一的点对点通信方式。 广播信道。这种信道使用-对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送和接收。

数据链路层简单模型:

仅从数据链路层看

数据链路和帧 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。,一条链路只是一条通路的一个组成部分。 数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层传送的是帧

数据链路层像个数字管道:

常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。

早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。

数据链路层主要实现的三个问题:

(1)封装成帧

封装成帧(framing)就是在- -段数据的前后分别添加首部和尾部,然后就构成了一一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。

MTU:最大传输单元

如何用控制字符界定帧的开始和结束?开始SOH,结束EOT

数据链路和帧 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。,一条链路只是一条通路的一个组成部分。 数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。

(2)透明传输

透明传输:

发送端的数据链路层在数据中出现控制符“SOH”或“EOT"的前面插入一个转义字符‘ESC”(其十六进制编码是1B)。 字节填充(byte stuffing)或字符填充(character stuffing)-接收 端的数据链路层在将数据送往网络层之前删除插入的转义字符。 如果转义字符也出现数据当中,那么应在转义字符前面插入一一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

字符填充示意图:

(3)差错控制

在传输过程中可能会产生比特差错: 1可能会变成0而0也可能变成1。 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER (Bit Error Rate)。 误码率.与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。 在发送端,先把数据划分为组。假定每组k个比特。

假设待传送的一-组数据M= 101001 (现在k=6)。我们在M的后面再添加供差错检测用的n位冗余码一起发送。

冗余码的计算 用二进制的模2运算进行2n乘M的运算,这相当于在M后面添加n个0。 得到的(k + n)位的数除以事先选定好的长度为(n+ 1)位的除数P,得出商是Q而余数是R,余数R比除数P少1位,即R是n位。

冗余码的计算举例 现在k=6, M= 101001。设n=3,除数P= 1101, 被除数是2"M= 101001000。模2运算的结果是:商Q= 110101, 余数R= 001。

把余数R作为冗余码添加在数据M的后面发送出去。发送的数据是: 即:1010 0100 1,共(k+n)位。

帧检验序列FCS 在数据后面添加上的冗余码称为帧检验序列FCS (Frame Check Sequence)。循环冗余检验CRC和帧检验序列FCS 并不等同。 CRC是-种常用的检错方法,而FCS是添加在数据后面的冗余码。 FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。

接收端对收到的每一帧进行CRC检验 (1)若得出的余数R= 0,则判定这个帧没有差错,就接受(accept)。 (2)若余数R≠0,则判定这个帧有差错,就丢弃。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值