# 数据链路层
知识结构
- 数据链路层的功能
- 组帧
- 差错控制
- 检错编码;纠错编码
- 流量控制与可靠传输
- 流量控制、滑动窗口机制、停止-等待协议
- 后退 N 帧协议;选择重传协议
- 介质访问控制
- 信道划分、随机访问、轮询访问
- 局域网
- 局域网的基本概念和体系结构;以太网
- 广域网
- 广域网的基本概念;PPP 协议;HDLC 协议
- 数据链路层设备
- 网桥的概念及其基本原理、交换机及其工作原理
# 3.1 数据链路层的功能
数据链路层在物理层提供的基础上向网络层提供服务。
数据链路层将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
# 3.1.1 为网络层提供服务
数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。
数据链路层通常可为网络层提供如下服务:
- 无确认的无连接服务
- 有确认的无连接服务
- 有确认的面向连接服务
# 3.1.2 链路管理
数据链路层连接的建立、维持和释放过程被称为链路管理
# 3.1.3 帧定界、帧同步与透明传输
两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。讲一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部中含有很多控制信息,它们的一个重要作用是确定帧的界限,即帧定界。
而帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始与终止。
如果数据中恰好出现与帧定界符相同的组合就会导致数据截取错误,那么就要采取有效的措施解决这个问题,即透明传输。
# 3.1.4 流量控制
由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接受能力的现象。流量控制可以通过限制发送方的数据流量,使发送速率不超过接收方的接受能力。
流量控制并不是数据链路层特有的功能,对于数据链路层来说,控制的是相邻两结点之间的数据链路上的流量,而对于传输层来说,控制的是从源端到目的端之间的流量。
# 3.1.5 差错控制
由于信道噪声等各种原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方事发后正确收到其发送的数据的方法,称为差错控制。通常,这些错误可分为位错和帧错。
位错指帧中某些位出现了差错。通常采用循环冗余校验方式发现位错,通过自动重传请求方法来重传出错的帧。 帧错指帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,能保证每一帧最终都能有且仅有一次正确地交付给目的结点。
# 3.2 组帧
数据链路层之所以要把比特组合成帧为单位进行传输,是为了在出错时只重发出错的帧,而不是重发全部数据,从而提高效率。
# 3.2.1 字符计数法
字符计数法是指在帧头部使用一个计数字段来标明帧内字符数,目的结点的数据链路层收到字节计数值时,就知道后面跟随的字节数,从而可以确定帧结束的位置。
缺点:计数字段出错会导致收发双方失去同步
# 3.2.2 字符填充的首位定界符
字符填充法使用一些特定的字符来定界一帧的开始和结束。
# 3.2.3 比特填充的首位标志法
比特填充发法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。使用一个特定的比特模式来标志一帧的开始和结束,比如 01111110。
# 3.2.4 违规编码法
在物理层进行比特编码时,采用违规编码法。例如曼彻斯特编码将“1”编码为“高-低”电平对,将“0”编码成“低-高”电平对,而“高-高”电平对和“低-低”电平对在数据比特中式违规的。
# 3.3 差错控制
概括地说,传输中的差错都是由噪声引起的,噪声有两大类:一类是信道所固有的持续存在的随机噪声,一类是外界原因所造成的冲击噪声。前者可以通过提高信噪比来减少或避免。
通常利用编码计数进行差错控制,主要有两类:自动重传和前向纠错。
# 3.3.1 检错编码
检错编码都采用冗余编码技术,其核心思想是在有效数据被发送前,先按某种关系附加一定的冗余位,构成一个符合某一规则的码字后再发送。
常见的检错编码有奇偶校验码和循环冗余码。
# 3.3.2 纠错编码
在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。
最常见的纠错编码是海明码,它能发现双比特错,但只能纠正单比特错。
# 3.4 流量控制与可靠的传输机制
# 3.4.1 流量控制、可靠传输与滑动窗口机制
流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收数据帧。
常见的方式有两种:停止-等待协议和滑动窗口协议。
# 3.4.2 单帧滑动窗口与停止等待
# 3.4.3 多帧滑动窗口与后退 N 帧
# 3.4.4 多帧滑动窗口与选择重传
# 3.5 介质访问控制
介质访问控制所要完成的主要任务是,为使用介质的每个结点隔离来自同一信道其他结点所传输的信号,以协调活动结点的传输。
用来决定广播信道分配的协议属于数据链路层的一个子层,称为介质访问控制子层。
# 3.5.1 信道划分
# 3.5.2 随机访问
# 3.5.3 轮询访问
# 3.6 局域网
# 3.6.1 局域网的基本概念
局域网指一个较小的地理范围内,将各种计算机通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。
# 3.6.2 以太网
# 3.6.3 IEEE 802.11
# 3.7 广域网
广域网通常是指覆盖范围很广的长距离网络。广域网是因特网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网的各结点交换机的链路都是高速链路。
# 3.7.1 广域网的基本概念
# 3.7.2 PPP 协议
# 3.7.3 HDLC 协议
# 3.8 数据链路层设备
# 3.8.1 网桥的基本概念
两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段。
# 3.8.2 局域网交换机及其工作原理
桥接器的主要限制是在任一时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。从本质上来说,以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。