Data Communication Computer Network 简明教程

数据链路层是 OSI 分层模型的第二层。该层是最复杂的层之一,具有复杂的功能和责任。数据链路层隐藏底层硬件的详细信息,并且将自己表示为上层通信的介质。

数据链路层在以某种意义上直接连接的两个主机之间工作。这种直接连接可能是点对点或广播。广播网络上的系统据说在同一条链路上。当数据链路层处理单个碰撞域上的多个主机时,其工作往往变得更加复杂。

数据链路层负责逐位将数据流转换为信号并通过底层硬件发送。在接收端,数据链路层从硬件中获取以电信号形式存在的数据,将它们组装成可识别的帧格式,并移交给上层。

数据链路层有两个子层:

  1. Logical Link Control: 处理协议、流控制和错误控制

  2. Media Access Control: 处理媒体的实际控制

数据链路层代表上层执行许多任务。这些任务有:

  1. Framing 数据链路层从网络层接收分组并将它们封装到帧中。然后,它以逐位的方式将每个帧发送到硬件上。在接收端,数据链路层从硬件中拾取信号并将它们组装成帧。

  2. Addressing 数据链路层提供第 2 层硬件寻址机制。假定硬件地址在链路中是唯一的。它在制造时被编码到硬件中。

  3. Synchronization 当数据帧在链路上发送时,两台机器必须同步才能进行传输。

  4. Error Control 有时信号在传输过程中可能会遇到问题,并且比特会发生翻转。这些错误被检测到并尝试恢复实际数据位。它还向发送方提供错误报告机制。

  5. Flow Control 同一链路上的站点可能有不同的速度或容量。数据链路层确保流控制,使两台机器能够以相同的速度交换数据。

  6. Multi-Access 当共享链路上的主机尝试传输数据时,很可能会发生碰撞。数据链路层提供诸如 CSMA/CD 等机制,以便在多个系统之间访问共享媒体。