数据链路层是计算机网络分层模型中的第二层,负责将物理层提供的数据流组织成合适的形式传输给网络层,同时也接收来自网络层的数据进行处理。
1.数据链路层的三个基本问题
数据链路层存在三个基本问题,即封装成帧、透明传输和差错控制。
首先,数据链路层需要将上一层传入的数据加上首部和尾部,并且在帧之间插入“同步标记”来识别有用信息。这样做的目的是将原始数据转化为合适的格式便于传输和接收。
其次,数据链路层还需实现透明传输,即保证传输过程中不出现任何干扰字符并能正确恢复数据。这对于串行传输尤其重要。
最后,数据链路层还负责差错控制,通过检测和纠正差错确保数据的可靠性。数据链路层实现差错控制的方法主要有确认应答、校验和和循环冗余检测等。
2.数据链路层的主要功能是什么
数据链路层的主要功能包括数据的封装与解封装、数据的传输与接收、流量控制和差错控制。
首先,数据链路层负责将上一层提供的数据加上一定格式的首部和尾部,转换成帧并在物理信道上传输。同时,在数据帧中还可以添加一些可选项(如序号、确认)以实现差错控制、流量控制等功能。
其次,数据链路层需要将从物理层接收到的数据进行解封装,并将数据帧交付给上一层进行处理。
另外,数据链路层还要实现流量控制,通过对数据发送端和接收端的控制来避免过多的数据拥塞造成网络阻塞。数据链路层常用的流量控制技术有停止等待协议、滑动窗口协议等。
最后,数据链路层重要的功能是差错控制,通过检测和纠正差错来确保数据的可靠性。数据链路层实现差错控制的方法主要有确认应答、校验和和循环冗余检测等。