数据链路层功能

数据链路层功能

在物理层提供服务的基础上向网络层提供服务,主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路。使之对网络层表现为一条无差错的链路。下面是数据链路层提供的服务:

为网络层提供服务

对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。数据链路层提供如下服务:

  1. 无确认的无连接服务。源机器发送数据帧的时候不需要先建立连接,目的主机收到数据帧的时候不需要发回确认。对于丢失的帧,数据链路层不负责重发而交给上级处理。适用于实时通信或误码率较低的信道。
  2. 有确认的无连接服务。发送数据的时候不需要先建立连接,但是目的主机收到数据帧的时候需要发回确认。源机器在规定时间内没有收到确定信号的话,就重传丢失的帧。适用于误码率较高的信道。
  3. 有确认的面向连接服务。帧传输过程分为3个阶段:连接建立,数据传输,连接断开。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧,所以这个服务的可靠性最高。适用于通信要求较高的场合

链路管理

数据链路层的建立,维持和释放过程称为链路管理。主要用于面向连接的服务。链路两端的节点进行通信,首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接。在传输过程中要能维持链接,在传输完毕后释放连接。在多个站点共享一条信道的情况下如何要求信道的站点间分配和管理信道也属于数据链路层管理的范畴。

帧定界、帧同步、透明传输

将一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部中含有很多控制信息,他们的一个作用就是确定帧的界限,也就是帧定界帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始和终止。如在HDLC协议中,用表示位F(01111110)来标识帧的开始和结束。通信过程中,检测到帧标识位F就认为是帧的开始,然后一旦检测到帧标识位F就表示是帧的结束。为了提高帧的传输效率,应当让帧的数据部分尽量大,不过每种数据链路层协议都规定了帧的数据部分的最大上限MTU。而透明传输就是,不论数据是什么组合,都能在链路上传送。

流量控制

由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接受能力的现象,若这个时候不适当限制发送方的发送速率,就会造成接收方来不及接受后面的帧而不得不丢弃掉,就会出错。因此,流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接受能力

流量控制不是数据链路层特有的功能。数据链路层控制的是两个相邻节点的链路上的流量,而传输层控制的是源端到目的端的流量。

差错控制

由于噪声等各种原因,帧在传输的过程中可能会出现错误。所以需要一种方法能让接收方知道这个帧有没有问题,同时还需要让发送方知道接收方接收的是正确的还是错误的。帧的差错主要有两种:位错和帧错

位错指的是帧中的某些位出现了差错,通常采用循环冗余校验CRC方式发现位错。通过自动重传请求ARQ方式来重传出错的帧。具体做法是:让发送方把要发送的数据帧附加一定的CRC冗余检验码一块发送,接收方根据检错码对数据帧进行检错。发现错误就丢弃并发送ARQ,没错就接收提交给网络层。

帧错指的是帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,能保证每一个帧最终都能有且仅有一次正确地交付给目的节点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楚江_wog1st

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值