数据链路层-第一节:数据链路层功能概述
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据链路层-第一节:数据链路层功能概述相关的知识,希望对你有一定的参考价值。
文章目录
本章是计算机网络中入门较难的一章,如果没有接触过相关内容,可能会止步于一些晦涩难懂的术语。本节内容希望大家可以用心看一看,对于大家入门是很有帮助的
一:本章概述
数据链路层位于物理层之上,主要作用就是提高物理层传输比特流的能力,使物理层可能出现差错的连接转变为逻辑上无差错的数据链路,同时向网络层提供服务。本章学习的主要就是数据链路层的功能和应用
数据链路层功能
- 封装成帧和透明传输:用于和物理层过渡,物理层传输的是透明比特流,而这里就要形成传输的数据单位(逻辑上)
- 差错控制:由于传输时噪声的干扰,所以在传输时很容易产生差错(包括位错和帧错),所以该层也要负责检错和纠错
- 流量控制:采用一些协议控制发送方
- 可靠传输:属于链路层的特点,引入滑动窗口机制,实现可靠传输
数据链路层应用
- 两种链路/信道:包括点对点(广域网)和广播(局域网);对于广播信道还需要进行介质访问控制
- 链路层设备
二:数据链路层基本概念
数据链路层:负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
- 结点:指主机、路由器等
- 链路:是指网络中两个结点之间的物理通道,分为有线和无线链路
- 数据链路:是指网络中两个结点之间的逻辑通道;把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路
- 帧:链路层的协议数据单元,用于封装网络层数据报
三:数据链路层功能概述
前面说过,物理层只负责比特流的传输,所以它是无法保证传输的可靠性的(例如比特流的跳变、错位、乱序等等);而数据链路层就是施加在物理层上的一种在逻辑上保证可靠性的手段;缺少物理层网络传输的功能将无法实现,缺少数据链路层传输可靠性则永远无法保证
数据链路层主要有以下功能
- 为网络层提供服务
- 链路管理
- 帧定界、帧同步和透明传输
- 流量控制
- 差错控制
(1)为网络层提供服务
对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。数据链路层通常可为网络层提供如下服务:
- 无确认的无连接服务:源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认。对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通信或误码率较低的通信信道,如以太网
- 有确认的无连接服务:源机器发送数据帧时不需先建立链路连接,但目的机器收到数据帧时必须发回确认。源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性。该服务适用于误码率较高的通信信道,如无线通信
- 有确认的面向连接服务:帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧,因而该服务的可靠性最高。该服务适用于通信要求(可靠性、实时性)较高的场合
(2)链路管理
链路管理:数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务。链路两端的结点要进行通信,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接。在多个站点共享同一物理信道的情况下(例如在局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴
(3)组帧
组帧:两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部中含有很多控制信息,其作用就是帧定界、帧同步和透明传输
- 帧定界:用于标识帧的开始与结束,目的是为了实现帧同步
- 帧同步:让接收方能从接收到的二进制比特流中区分出帧的起始与终止
- 透明传输:不管所要传输的数据是什么样的组合,都应当可以在链路上传送;这是因为如果在数据中恰好出现与帧定界符相同的比特组合,就会误认为“传输结束"而丢弃后面的数据
(4)流量控制
流量控制:由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力的现象,如若此时不适当限制发送方的发送速率(即链路上的信息流量),前面来不及接收的帧将会被后面不断发送来的帧“淹没”,造成帧的丢失而出错。因此,流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力
- 注意:流量控制并不是数据链路层特有的功能,许多高层协议中也提供此功能,只不过控制的对象不同而己。对于数据链路层来说,控制的是相邻两结点之间数据链路上的流量,而对于传输层来说,控制的则是从源端到目的端之间的流量
(5)差错控制
差错控制:由于信道噪声等各种原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方是否正确收到由其发送的数据的方法称为差错控制。通常,这些错误可分为位错和帧错
- 位错: 是指帧中某些位出现了错误;通常采用循环冗余检验(CRC)检错,并通过自动重传请求(ARQ) 重传错误帧
- 帧错: 是指帧的丢失、重复或失序等错误;可以在数据链路层引入定时器和编号机制解决
以上是关于数据链路层-第一节:数据链路层功能概述的主要内容,如果未能解决你的问题,请参考以下文章
计算机网络学习笔记——数据链路层功能和服务帧定位差错海明距离检错码和纠错码