局域网中 MAC 子层的核心功能与机制
MAC 子层(介质访问控制子层)是局域网数据链路层的关键组成部分,其设计直接影响局域网的通信效率和稳定性。除了基础的寻址和解决信道争用功能外,还包含以下具体机制和细节:
寻址机制:MAC 地址的作用与格式
- MAC 地址的唯一性:每个网络设备(如网卡)的 MAC 地址由 48 位二进制数组成,通常表示为 6 组十六进制数(如
00:1A:2B:3C:4D:5E)。前 24 位为厂商代码(由 IEEE 分配),后 24 位为设备序列号,确保全球唯一。 - 寻址类型:
- 单播地址:指向特定设备,用于一对一通信。
- 广播地址:全为 1 的地址(
FF:FF:FF:FF:FF:FF),用于向局域网内所有设备发送数据。 - 多播地址:特定范围的地址,用于向一组设备发送数据(如视频会议)。
解决信道争用的核心协议
在广播信道中,多个设备共享同一物理介质(如无线频段、有线总线),MAC 子层通过以下协议避免冲突:
以太网(有线局域网)的 CSMA/CD
- 全称:载波监听多路访问 / 冲突检测(Carrier Sense Multiple Access with Collision Detection)。
- 工作流程:
- 载波监听:发送数据前,先检测信道是否空闲。
- 多路访问:若信道空闲,立即发送;若繁忙,等待一段时间后重试。
- 冲突检测:发送过程中持续监听,若发现信号冲突(多个设备同时发送),立即停止发送,并发送干扰信号通知其他设备。
- 退避机制:冲突后,采用截断二进制指数退避算法随机延迟重发,减少再次冲突的概率。
无线局域网(WLAN)的 CSMA/CA
- 全称:载波监听多路访问 / 冲突避免(Carrier Sense Multiple Access with Collision Avoidance)。
- 与 CSMA/CD 的区别:无线信号无法像有线那样直接检测冲突,因此采用 “避免” 策略:
- RTS/CTS 机制:发送大数据前,先发送请求发送(RTS)信号,接收方回复允许发送(CTS)信号,其他设备收到后延迟发送,避免冲突。
- 帧间间隔(IFS):不同优先级的帧等待不同时长(如高优先级帧等待短 IFS),优先发送重要数据。
MAC 帧的结构
MAC 子层会将上层(LLC 子层)的数据封装为 MAC 帧,不同局域网的帧格式不同:
- 以太网 MAC 帧:包含目的 MAC 地址(6 字节)、源 MAC 地址(6 字节)、类型字段(2 字节,标识上层协议,如 IP、ARP)、数据(46-1500 字节)、FCS 校验字段(4 字节,检测帧错误)。
- 无线局域网(802.11)MAC 帧:额外包含帧控制字段(标识帧类型、加密状态等)、持续时间字段(用于 CSMA/CA 的冲突避免)等。
MAC 子层与上层的交互
- MAC 子层接收 LLC 子层的数据后,添加 MAC 首部(含地址、控制信息),再交给物理层转换为电信号 / 无线信号发送。
- 接收时,物理层将信号转换为数据帧后交给 MAC 子层,MAC 子层校验 FCS、检查目的地址是否匹配,若有效则剥离 MAC 首部,将数据交给 LLC 子层。