什么是数据链路?数据链路层的基本功能有哪些?
数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。数据链路层的基本功能包括向网络层提供可靠的、透明的数据传输服务,将源节点的网络层数据可靠地传送到相邻节点的网络层。主要功能有链路管理、封装成帧、流量控制、差错控制、将数据和控制信息区分开、透明传输、寻址等。
组帧有哪些方法?分别介绍其特点。
组帧的方法有:
- 字节计数法:在帧头设置一个长度域,放置该帧的字节数,当收方收到帧后,通过帧的长度,确定帧的开始。但当帧的长度域出错,帧同步完全丢失,且该方法很少单独使用。
- 字符填充法:使用特殊的 ASCII 字符(不可打印的控制字符)作为帧的起始和终止定界符。当数据中出现定界符时,通过在定界符前面插入转义字符进行区分。缺点是数据传输的单位是字符,传输任意长度的二进制比特带来不便。
- 比特填充法:使用一个特殊的比特模式 01111110 作为帧的起始和结束标志。发送方边发送边检查数据,每连续发送 5 个“1”后在后面自动插入一个“0”。接收方在收到 5 个连续的“1”后将后面的“0”删掉而恢复出原始数据。好处是数据传输的基本单位是比特而不是字符,可用来传输任意长度的二进制比特串,通用性强。
- 违法编码法:当物理介质上使用的信号编码有冗余码字时,使用这些冗余的码字来作为帧的定界。
差错控制技术有哪些?检错码和纠错码有什么区别?
差错控制技术有前向纠错和自动重发请求。检错码能检测出错误,但不能纠正错误,如 CRC;纠错码能知道错误,且知道错