数据链路层简介
数据链路层是 OSI 分层模型的第二层。该层是最复杂的层之一,具有复杂的功能和责任。数据链路层隐藏了底层硬件的细节,并向上层表示自己是通信媒介。
数据链路层在两台在某种意义上直接连接的主机之间工作。这种直接连接可以是点对点或广播。广播网络上的系统被称为在同一链路上。当数据链路层处理单个冲突域上的多个主机时,它的工作往往会变得更加复杂。
数据链路层负责将数据流逐位转换为信号,并通过底层硬件发送。在接收端,数据链路层从硬件中获取电信号形式的数据,将其组装成可识别的帧格式,然后交给上层。
数据链路层有两个子层:
逻辑链路控制:它处理协议、流量控制和错误控制
媒体访问控制:它处理媒体的实际控制
数据链路层的功能
数据链路层代表上层执行许多任务。这些是:
成帧
数据链路层从网络层获取数据包并将其封装成帧。然后,它在硬件上逐位发送每个帧。在接收端,数据链路层从硬件中拾取信号并将其组装成帧。
寻址
数据链路层提供第 2 层硬件寻址机制。硬件地址在链路上被认为是唯一的。它在制造时被编码到硬件中。
同步
当在链路上发送数据帧时,两台机器必须同步才能进行传输。
错误控制
有时信号可能在转换过程中遇到问题,并且位被翻转。检测到这些错误并尝试恢复实际数据位。它还向发送者提供错误报告机制。
流量控制
同一链路上的站点可能具有不同的速度或容量。数据链路层确保流量控制,使两台机器能够以相同的速度交换数据。
多路访问
当共享链路上的主机尝试传输数据时,发生冲突的概率很高。数据链路层提供 CSMA/CD 等机制,以配备多个系统之间访问共享媒体的能力。