数据链路层主要实现数据封装成帧、透明传输、差错检验、流量控制和确认机制等功能。数据链路层主要的几个协议有以太网的MAC(Media Access Control)协议、经典的HDLC(High level Data Link Control)和Internet接入网中的PPP(Point-to-Point Protocol)等。
1.物理层存在的问题
- 物理层传输可能会出现差错。
- 物理层无法判断是否出错,没有补救措施。
- 物理层不能协调发送节点的发送速率和接收节点的接收速率。
基于以上问题设置数据链路层,主要是解决物理层传输的不可靠问题,以便建立、维护和释放网络实体间的数据链路。
2.数据链路层定义
数据链路层利用不可靠的物理链路向网络层提供可靠的数据链路,实现网络中两个相邻节点之间的无差错数据传输。数据链路层需要具备以下功能:
- 成帧。数据链路层把来自网络层的比特流划分成易处理的数据单元(称为帧)。
- 帧的透明传输。区分帧中的数据和控制信息,这些处理对高层来说是透明的。
- 流量控制。对发送方发送数据的速率加以控制,以免超过接收方的接收能力而导致数据丢失的机制。
- 差错控制。对接收到的帧进行校验,如果发生差错对帧做相应处理。
- 数据链路管理。如果在数据链路上传送数据采用面向连接的方式,则发送方和接收方之间需要有建立、维持和释放数据链路连接的管理功能。
- 链路访问控制。多个节点连接到同一链路时,需要数据链路协议决定节点对链路的调度。介质访问控制协议(MAC协议)定义了帧在链路上传输的规则。
- 物理寻址。
3.数据链路层向网络层提供的服务
当数据链路两端的节点进行通信时,需要根据具体情况配置数据链路层,使之能为网络层提供多种不同类型的服务。主要提供以下3种服务:
1)无确认的连接服务。适用于低误码率环境中的数据传输。大多数局域网的数据链路层都使用无确认的无连接服务。
- 双方无须建立链路连接。
- 每个帧都带有目的地址。
- 各帧相互独立传送。
- 目的节点对收到的帧不做任何应答确认。
- 由高层处理丢失的帧,数据链路层不做处理。
2)有确认的无连接服务。在1)的基础上增加了确认功能,适用于可靠性不高的通信信道。
- 目的节点对接收到的每一帧都要向发送方发送确认帧(ACK)。
- 发送方利用超时机制处理确认帧,每发送一个数据帧的同时启动一个定时器,若在规定时间内未收到对该帧的肯定确认帧,则发送方启动超时重传机制,重传该数据帧。
3)面向连接服务。数据传输之前首先建立数据链路连接,然后所有的数据帧均在该链路中依次按序传输,最后传输结束时再释放该连接,适用于实时传输或对数据传输有较高可靠性要求的环境。面向连接服务主要分为以下3个阶段。
- 连接建立阶段。在传送数据之前,首先利用服务原语在发送方和接收方之间建立一条连接(即建立数据链路)。
- 连接维持阶段。发送方和接收方进行数据帧的透明传输。所有的数据帧都带有自己的编号,传输过程中要求对每一帧进行确认,发送方收到确认帧后才能发送下一帧。
- 连接断开阶段。数据传输结束后,发送方和接收方妥善释放数据链路。
4.差错控制
5.介质访问控制方式
介质访问控制方式是指在广播信道中信道分配的方式,即网络中各节点采用何种方式访问共享信道,它是对信道访问的一种规定,属于数据链路层的一个子层,即MAC(Medium Access Control)层。介质访问控制方式主要有随机访问控制和轮询访问控制两种。
5.1地址分配和信道分配
地址用于标识计算机网络中的设备,每个设备均具有一个物理地址和逻辑地址。信道分配主要是指网络中多个节点如何使用共享信道。
网友评论