• 3.1 数据链路层的功能
    • 加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。下面具体介绍数据链路层的功能。
    • 3.1.1为网络层提供服务
      • 无确认的无连接服务
        • 源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认。
        • 对丢失的帧,数据链路层不负责重发而交给上层处理。
        • 适用于实时通信或误码率较低的通信信道,如以太网。
      • 有确认的无连接服务
        • 源机器发送数据帧时不需先建立链路连接,但目的机器收到数据帧时必须发回确认。
        • 源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性。
        • 该服务适用于误码率较高的通信信道,如无线通信。
      • 有确认的面向连接服务
        • 帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路。
        • 目的机器对收到的每一帧都要给出确认,源机器收到确认后オ能发送下一帧,因而该服务的可靠性最高。
        • 该服务适用于通信要求(可靠性、实时性)较高的场合。
      • 有连接就一定要有确认,即不存在无确认的面向连接的服务。
    • 3.1.2链路管理
      • 数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务。
      • 过程
        • 首先确认对方已处于就绪状态,
        • 并交换一些必要的信息以对帧序号初始化,
        • 建立连接,在传输过程中则要能维持连接,
        • 传输完毕后要释放该连接。
      • 在多个站点共享同一物理信道的情况下(例如在局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。
    • 3.1.3帧定界、帧同步与透明传输
      • 两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送

      • 将一段数据的前后分别添加首部和尾部,就构成了帧。

        • 帧定界。
          • 首部和尾部中含有很多控制信息,它们的一个重要作用是确定帧的界限,即帧定界。
        • 帧同步
          • 帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始与终止。
        • 透明传输
          • 采取有效的措施解决误认为“传输结東”而丢弃后面的数据的问题,即透明传输。不管所传数据是什么样的比特组合,都应当能在链路上传送。
    • 3.1.4流量控制
      • 流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。
      • 通过某种反馈机制使发送方能够知道接收方是否能跟上自己,即需要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送。
      • 并不是数据链路层特有的功能
        • 对于数据链路层来说,控制的是相邻两结点之间数据链路上的流量,
        • 对于运输层来说,控制的则是从源端到目的端之间的流量。
    • 3.1.5差错控制
      • 用以使发送方确定接收方是否正确收到由其发送的数据的方法称为差错控制。
      • 通常,这些错误可分为位错和帧错。
        • 位错
          • 位错指帧中某些位出现了差错。
            • 通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求( Automatic Repeat request,ARQ)方式来重传出错的幀。
              • ARQ法只需返回很少的控制信息就可有效地确认所发数据帧是否被正确接收。
        • 帧错
          • 帧错指帧的丢失、重复或失序等错误。
          • 在数据链路层引入定时器和编号机制,能保证每一帧最终都能有且仅有一次正确地交付给目的结点。
  • 3.2 组帧
    • 目的
      • 为了在出错时只重发出错的帧,而不必 重发全部数据,从而提高效率。
      • 为了使接收方能正确地接收并检查所传输的帧,发送方必须依据 一定的规则把网络层递交的分组封装成帧(称为组帧)。
    • 解决的问题
      • 帧定界
        • 组帧时既要加首部,又要加尾部。原因是,在网络中信息是以帧为最小单位进行传输 的,所以接收端要正确地接收帧,必须要清楚该帧在一串比特流中从哪里开始到哪里结束(因为 接收端收到的是一串比特流,没有首部和尾部是不能正确区分帧的)。而分组(即IP数据报)仅 是包含在帧中的数据部分(后面将详细讲解),所以不需要加尾部来定界。
      • 帧同步
      • 透明传输
    • 四种方法
      • 3.2.1 字符计数法

        • 在帧头部使用一个计数字段来标明帧内字符数。
        • 缺点
          • 如果计数字段出错,即失去了帧边界划分的依据,那么接收方就无 法判断所传输帧的结束位和下一帧的开始位,收发双方将失去同步,从而造成灾难性后果。
      • 3.2.2 字符填充的首尾定界符法

        • 使用一些特定的字符来定界一帧的开始(DLE STX)与结束(DLEETX)。
        • 在特殊字符前面填充一个转义字符 (DLE)来加以区分
      • 3.2.3 零比特填充的首尾标志法

        • 使用一个特定的比特模式,即01111110来标志一帧的开始和结束。
        • 发送方的数据链路层在信息位中遇到5 个连续的“广时,将自动在其后插入一个“0七而接收方做该过程的逆操作,即每收到5个连 续的“1"时,自动删除后面紧跟的“0七以恢复原信息。
        • 零比特填充法很容易由硬件来实现,性能优于字符填充法。
      • 324违规编码法

        • 物理层进行比特编码时,通常采用违规编码法。
        • 借用这些违规编码序列来定界帧的起始和终止。
        • 局域网IEEE 802标准就采用了这种方法。
        • 只适用于采用冗余 编码的特殊编码环境。
      • 目前较常用 的组帧方法是比特填充法和违规编码法

  • 3.3 差错控制
    • 影响因素:信道固有噪声干扰
      • 解决方法:提高信噪比
    • 外界的冲击噪声是产生差错的重要原因
      • 没有办法通过提高信号幅度来降低干扰
    • 利用编码技术
  • 3.4 流量控制与可靠传输机制
  • 3.5 介质访问控制
  • 3.6 局域网
  • 3.7 广城网
  • 3.8 数据链路层设备