数据链路层概述

数据链路层以为单位传输和处理数据

需要解决的3个重要问题

  • 封装成帧:在数据包加入帧头和帧尾(帧定界!,从一串bit流里面判断提取一个个完整的帧)
  • 差错检测:出现误码时检验是否出现误码.封装在帧尾一般有4字节的检测码
  • 透明传输:数据链路层对上层交付的传输数据没任何限制,就好像数据链路层不存在一样(解决帧定界符的转义问题,使之不出现干扰,使上层能完整接受一个帧)

以太网V2的MAC帧格式以及ppp帧

tips:MAC帧不需要帧界定,因为物理层会加入前导码以及帧间发送会有96bit的发送间隔

在一个帧中发现帧定界符或者转义字符时都要给之添加转义符,提取时发现转义符先把转义符去掉再提取数据:

透明传输的实现

  1. 字节传输:

  2. 比特传输(0bit填充)

差错检测

  • 奇偶校验

  • CRC校验

CRC计算过程:

检错码只能检出错误但是不能修正!

可靠传输

只有无线局域网时要求数据链路层实现可靠传输服务,而以太网不要求数据链路层实现可靠传输而是依靠上层协议提供可靠传输服务

停止等待协议


PPP点对点协议

  • 解决透明传输

    bit 链路

PPP工作状态的切换