目录
数据链路层的协议数据单元是帧。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交网络层。
使用点对点信道的数据链路层
数据链路层的三个基本问题
封装成帧
封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成一个帧。接收端在收到物理层上交的比特流后,能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
用控制字符”SOH” 和 “EOF” 进行帧定界:
透明传输
由于帧的开始和结束的标记使用专门指明的控制字符,因此,所传输的数据中的任何8比特的组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。
当传送的帧是文本文件组成的帧时,其数据部分显然不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
为了解决透明传输的问题, 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”。而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法成为字节填充或字符填充。
差错检测
比特在传输的过程中可能会出现差错:1可能变成0,0可能变成1,这就叫做比特差错。除了比特差错,数据传输中还会出现帧丢失、帧重复和帧失序。
误码率(BER Bit Error Rate):在一段时间内,传输错误的比特占所传输的比特总数的比率。
为了提高数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施:循环冗余检验CRC。在数据链路层,发送端帧检验序列FCS 的生成(添加在数据后面的冗余码) 和接收端的CRC检验都是由硬件完成的,处理很迅速,因此并不会延误数据的传输。
为了解决帧丢失、重复、失序的问题:
点对点协议PPP
PPP(Point-to-Point protocol) 点对点协议,是用户计算机和 ISP 进行通信时所使用的数据链路层协议。
PPP协议的组成
PPP帧的格式
HDLC(High-level Data Link Control) 高级数据链路控制