目录
- 3.1 数据链路层概述
- 3.1.1 关于数据链路层
- 什么是数据链路
- 从协议栈看数据链路层
- 数据链路层信道类型
- 3.1.2 三个基本问题
- 封装成帧
- 透明传输
- 差错控制
- 循环冗余检验CRC(Cyclic Redundancy Check)原理
3.1 数据链路层概述
3.1.1 关于数据链路层
什么是数据链路
- 链路(link)是结点间的物理通道,无源的物理线路,中间无任何其他交换结点
- 数据链路(data link)是节点间的逻辑通道,是把实现控制数据传输的协议的硬件和软件加到链路上,即链路+协议
- 数据链路层:负责通过一条链路从一个结点向物理链路直接相连的相邻结点传送帧
- 帧:链路层协议数据单元,封装网络层的数据报
从协议栈看数据链路层
协议是水平的,服务是垂直的
三层的简化模型:
- 向下:利用物理层提供的位流服务
- 向上:向网络层提供明确的(well-defined)服务接口
数据链路层信道类型
链路中通信双方的信道使用形式不同,会相应有不同的控制协议
3.1.2 三个基本问题
封装成帧
- 字节计数法:无差错传输的情形
- 带字节填充的定界符法:用控制字符作为帧定界符
透明传输
- 发送方采用“字节填充”或“字符填充”法
接收方逐个字节检查,遇到填充符则不会将后续字符认作为帧首和帧尾,去掉填充符,接受数据
差错控制
循环冗余检验CRC(Cyclic Redundancy Check)原理
模二计算法:不进位、不借位、不退位
-
CRC冗余码的计算举例
-
四个国际标准生成多项式:
注意: