数据链路层介绍

数据链路层是 OSI 分层模型的第二层。 该层是最复杂的层之一,具有复杂的功能和责任。 数据链路层隐藏了底层硬件的细节,将自身作为通信媒介向上层表示。

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

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

数据链路层有两个子层:

  • 逻辑链路控制: 它处理协议、流控制和错误控制

  • 媒体访问控制: 它处理媒体的实际控制


数据链路层的功能

数据链路层代表上层执行许多任务。 它们是:

  • 数据链路层从网络层获取数据包并将它们封装成帧。然后,它在硬件上逐位发送每个帧。 在接收端,数据链路层从硬件中获取信号并将它们组装成帧。

  • 寻址

    数据链路层提供二层硬件寻址机制。 假设硬件地址在链路上是唯一的。 它在制造时被编码到硬件中。

  • 同步

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

  • 错误控制

    有时信号可能在转换过程中遇到问题并且位被翻转。检测到这些错误并尝试恢复实际数据位。 它还为发送者提供错误报告机制。

  • 流量控制

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

  • 多路访问

    当共享链路上的主机尝试传输数据时,它具有很高的冲突概率。 数据链路层提供 CSMA/CD 等机制来提供在多个系统之间访问共享媒体的能力。