数据链路层是OSI参考模型中的第二层,它位于物理层之上。它的主要功能是将传输介质上的比特流组织成帧,提供逐段的可靠传输,错误检测与纠正等机制。数据链路层从其下层(物理层)接收原始比特数据流,并将其组织成有序的比特流块——即桢(Frame),每一个桢都包含了一定的控制信息,如同步信息、校验码、地址码、长度码等等,同时还携带了上层协议单位的数据报。
物理层则负责处理比特流,进行理电转换,生成物理信号以及控制物理介质的访问。相比之下,数据链路层则关注的是在物理层上传输数据时的差错校验、流量控制、数据重发等更高层面的问题。
1.数据链路层的两个子层
数据链路层包含两个子层:逻辑链路控制(Logical Link Control,简称LLC)和媒体访问控制(Media Access Control,简称MAC)。
- LLC子层在不同类型的网络间提供通用的数据链路接口,并为网络层协议提供服务;
- MAC子层是硬件依赖性的,负责处理帧的发送、接收以及寻址等物理层面的任务,同时还处理了如何在一个共享信道上进行访问、冲突检测和重传等问题。
2.数据链路层与物理层的区别
1. 工作对象:数据链路层的工作对象是数据帧,而物理层的工作对象是比特流。
2. 数据传输控制:数据链路层可以传输多种形式的数据,同时还支持差错校验、确认重传机制等高级应用;而物理层仅能传输数字或模拟信号,且不能处理差错控制等更高层次的问题。
3. 协议功能:数据链路层主要为高层协议提供服务,解决了共享信道的访问、帧同步、流量控制以及差错控制等问题;而物理层则专注于实现数据在物理媒介上传输。