链路层作用

  1. 封装成帧

    将网络层传下来的分组加上帧首部和帧尾部, 封装成帧, 用于标记帧的开始和结束. 保证了接收端能够同步接收数据.

  2. 透明传输

    透明传输表示不管所传的数据是什么样的, 都可以在链路上传送. 当所传输的比特组合与某一控制信息一样, 就需要转义字符, 使得接收方不会误读数据为控制信号. 因此保证链路层的传输是透明的.

  3. 差错校验

    1. 在每一帧后面提供一个n位的冗余码. 那么实际发送的长度是k+n.
    2. 双方协商一个长度为n+1的除数, 用于完成校验.
    3. 在k为后加上n个0, 然后用协商除数进行模2除法(抑或), 得到余数FCS, 长度为n.
    4. 将这个FCS作为校验序列作为冗余码放到k位比特后面.
    5. 接收方对于每一帧进行校验, 用协商除数进行除法运算, 如果可以整除, 说明帧没有差错.
  4. 流量控制

    流量控制一般采用滑动窗口机制防止数据溢出.