数据链路层(一)

概述

数据链路层,简称链路层。两台主机之间的数据传送,是通过一段一段的链路实现的,期间需要专门的链路层协议。它属于计算机网络的底层。
数据链路层使用的信道
1.点对点信道:使用一对一的点对点通信方式。
2.广播信道:使用一对多方式,一个信道上连接多个主机,所以数据在信道上传送时必须使用专用的共享信道协议

一.数据链路层的几个共同问题

主要针对点对点信道,有的对广播信道也有用。

1.数据链路和帧

区分链路与数据链路:

链路:从一个节点到相邻接点的物理线路。
数据链路:除了必须有的物理线路外,还要加上通讯协议,来控制数据的传输。常用网络适配器(即网卡)来实现这些协议。
ps:一般的适配器都数据链路层和网络层这两层的功能。

协议数据单元——帧:

点对点信道的数据链路层在进行通信时的主要步骤如下:
(1)节点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
(2)节点A把封装好的帧发送给节点B的数据链路层。
(3) 若节点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP 数据报交给上面的网络层;否则丢弃这个帧。
数据链路层不必考虑物理层如何实现比特传输的细节。我们甚至还可以更简单地设想好像是沿着两个数据链路层之间的水平方向把帧直接发送到对方。

2.三个基本问题+流量检测

这三个基本问题是非常重要的,这里暂时没有整理好。

(1)封装成帧

定义:在数据的前后添加首部和尾部。
MTU:数据的最大长度。
在这里插入图片描述
首部开始和尾部结束分别是帧开始符SOH和帧结束符EOT:
在这里插入图片描述
这样的话,如果在数据中间也出现帧开始符或者帧结束符就会使得数据的一部分丢失。这就要谈到透明传输了。

(2)透明传输

透明:指一个实际存在的事物看起来像不存在一样。
“在数据链路层透明传送数据”指无论传送什么比特组合的数据,都可以没有差错的按照原样通过数据链路层。
解决办法:字节填充或字符填充。
在这里插入图片描述

(3)差错检测

1.误码率
在传输过程中产生差错,如1->0 , 0->1,一段时间内,产生错误的比特数占总比特数的比例叫误码率(BER:Bite Error Rate)。
2.循环冗余检验CRC (Cyclic Redundancy Check)原理
在发送端,先把数据划分为组。假定每组k个比特。CRC运算在每组M后面再添加供差错检测用的n位冗余码,然后构成一个帧发送出去。一共发送(k + n)位。
在这里插入图片描述

3.CRC冗余码的计算
1,用二进制的模2运算进行2的n次方乘M的运算,这相当于在M后面添加n个0。
2,得到的(k +n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q,余数是R,余数R比除数P少1位,即R是n位。
3,将余数R作为冗余码拼接在数据M后面,一起发送出去。
这种为了进行检错而添加的冗余码常称为帧检验序列FCS(Frame Check Sequence)。

在这里插入图片描述

4.帧检验序列FCS
(1)在数据后面添加上的冗余码称为帧检验序列FCS (Frame CheckSequence)。
(2)循环冗余检验CRC和帧检验序列FCS 并不等同:
CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
FCS可以用CRC这种方法得出,但CRC 并非用来获得FCS的唯一方法。
5.注意
(1)仅用循环冗余检验CRC差错检测技术只能做到无差错接受。即:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。即:“凡是接收端数据链路层接受的帧均无差错”。
(2)“无比特差错”与“无传输差错”不同:
可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。
传输差错可分为两大类:比特差错;传输差错:帧丢失、帧重复或帧失序等。
在数据链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。
要做到可靠传输,还必须再加上帧编号、确认和重传等机制。

(4)流量检测

流量控制:接收方控制发送方,发送方的速率不要太快,让接收方来得及接收。
主机A向主机B传输数据的信道仍然是无差错的理想信道,但是现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。
ps:由收方控制发方的数据流, 是计算机网络中流量控制的一个基本方法。
在这里插入图片描述

具体步骤
在发送节点:
(1)从主机取一个数据帧
(2)将数据帧送到数据链路层的发送缓存
(3)将发送缓存中的数据帧发送出去
(4)等待
(5)若收到由接收节点发送过来的信息(此信息的格式与内容可由双方事先商定) ,则由主机取一个新的数据帧,然后转到(2)

在接收节点:
(1)等待
(2) 若收到由发送节点发送过来的数据帧,则将其放入数据链路层的接收缓存
(3)将接收缓存中的数据帧上交主机
(4)向发送节点发-信息,表示数据帧已经上交给主机(5)转(1)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值