计算机网络 - 数据链路层

  • 简述

    数据链路层是 OSI 分层模型的第二层。该层是最复杂的层之一,具有复杂的功能和责任。数据链路层隐藏了底层硬件的细节,并将自身作为通信媒介向上层表示。
    数据链路层在某种意义上直接连接的两台主机之间工作。这种直接连接可以是点对点的或广播的。广播网络上的系统据说在同一链路上。数据链路层的工作在处理单个冲突域上的多个主机时往往会变得更加复杂。
    数据链路层负责将数据流逐位转换为信号,并通过底层硬件发送。在接收端,数据链路层从硬件中提取电信号形式的数据,将它们组装成可识别的帧格式,并交给上层。
    数据链路层有两个子层:
    • Logical Link Control: 它处理协议、流控制和错误控制
    • Media Access Control: 它处理媒体的实际控制
  • 数据链路层的功能

    数据链路层代表上层执行许多任务。这些是:
    • Framing
      数据链路层从网络层获取数据包并将它们封装成帧。然后,它在硬件上逐位发送每个帧。在接收器端,数据链路层从硬件中获取信号并将它们组装成帧。
    • Addressing
      数据链路层提供二层硬件寻址机制。假设硬件地址在链路上是唯一的。它在制造时被编码到硬件中。
    • Synchronization
      当在链路上发送数据帧时,两台机器必须同步才能进行传输。
    • Error Control
      有时信号可能在转换过程中遇到问题并且位被翻转。检测到这些错误并尝试恢复实际数据位。它还向发送者提供错误报告机制。
    • Flow Control
      同一链路上的站点可能具有不同的速度或容量。数据链路层确保流量控制,使两台机器能够以相同的速度交换数据。
    • Multi-Access
      当共享链路上的主机尝试传输数据时,它具有很高的冲突概率。数据链路层提供诸如 CSMA/CD 等机制,以提供在多个系统之间访问共享媒体的能力。