链路:就是从一个节点到相邻节点的一段物理路线,而中间没有任何其他的交换节点
数据链路:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路

封装成帧

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧

  • 帧头和帧尾中包含有重要的控制信息
  • 帧头和帧尾的作用之一就是帧定界

透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样

  • 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输
  • 面向比特的物理链路使用比特填充的方法实现透明传输

为提高帧的传输效率,应当使帧的数据部分的长度尽可能大些
考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU

差错检测

奇偶校验

在带发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)

  • 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码
  • 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)

    循环冗余校验CRC

    收发双方约定好一个生成多项式G(x)
    发送方基于带发送的数据和生成多项式计算出差错检测码(冗余码),讲其添加到待传输数据的后面一起传输
    接收方通过生成多项式来计算收到的数据是否产生了误码

    可靠传输的实现机制