数据链路层
1.数据发送模型
数据链路层使用的信道主要有两种类型 :
- 点对点信道 : 使用一对一点对点的通信方式
- 广播信道 : 使用一对多的广播通信方式,因此过程比较复杂
- 链路 : 点到点的物理路段
- 数据链路 : 除了物理线路 , 还有通信协议来控制这些数据的传输
数据链路层传输的是帧. 网络层的IP数据包在到达数据链路层时,加上了帧头,物理层地址,校验值和帧尾.变成了一个数据帧. 在物理层变成了比特流传输.
基本问题 :
-
1.封装成帧 : 将网络层传来的数据包进行封装成为数据帧,帧头和帧尾可以使用控制字符SOH,EOT进行帧定界
-
2.透明传输 : 若数据部分的内容被误认为开始符或结束符, 则会出现错误, 所以在数据部分中的每个与控制字符相同的字符前加上ESC(1B) 字节填充. 接收端收到数据后, 在送往网络层之前,会删除插入的转义字符. 如果转义字符也出现在数据中, 那么在其前面也加一个黄钻一字符.当接收端连续收到两个转义字符, 就删除其中前面一个
-
3.差错检测 : 在传输过程中可能会产生比特差错. 所以为了保证传输数据的可靠性, 必须采用各种差错检测措施
循环冗余检验CRC : 使用模2除法,得到余数作为FCS(添加到数据后面的冗余码).通过FCS检验数据是否有错误
在检验的时候, 进行除法, 若得出的余数R = 0,则帧没有差错,接收. 若余数R != 0,则丢弃
特点 : 1.不能确定究