数据链路层功能

1.为网络层提供服务
2.封装成帧
3.差错控制
4.流量控制
数据链路=链路+实现这些协议的软硬件

数据链路三个基本问题:

封装成帧
透明传输
差错检测
封装成帧
数据前后加首部和尾部,帧定界。MTU为最大传送单元,即数据部分不可以超过这个长度。
透明传输
所传输的数据中任何一个字符不允许和用作帧定界的控制字符一样,否则会出现定界错误。
解决办法:
转义字符、比特插入
差错检测
循环冗余检验CRC
发送端数据分组,待发送数据后添加供差错检测用的n位冗余码一起发送
冗余码计算
设待发送数据为M共k个比特,在M后面加n个0,得到的k+n位数模2除法运算除以实现选好的n+1位的除数P,余数是R(为n位),冗余码就是R,发送出去的数据就是M+0n+R
*帧检验序列FCS

冗余码称为帧检验序列FCS
循环冗余检测CRC和帧检验序列FCS并不等同
CRC是一种检错方法,而FCS是添加在数据后面的冗余码
接收端对接收到的每一帧进行CRC检验,R=0接受,否则丢弃

点到点信道的数据链路层

点到点信道所指的是一条链路上就一个发送端和接收端的信道。

点对点协议PPP

不可靠协议,最大传输单元为1500,支持同步传输(零比特填充)和异步传输(字节填充)