MAC层是802.11的主要功能部分。上层应用通过调用MAC层提供的接口原语调用MAC层的功能。
MAC一共向上提供了2大类接口原语,共30种。数据(1)和管理(29)。数据部分就是提供普通数据包的收发接口,管理部分是主要功能部分,例如发起认证、连接、信道扫描等其它所有管理功能,如下表所示:(并非所有的原语都是可调用的,一部分是indication形式的向上通知。有request的是可以调用的())
数据部分 数据 MA-UNITDATA 管理部分 电源管理 MLME-POWERMGT 信道扫描 MLME-SCAN 时间同步 MLME-JOIN 认证 MLME-AUTHENTICATE 断开认证 MLME-DEAUTHENTICATE 建立连接 MLME-ASSOCIATE 重新连接 MLME-REASSOCIATE 断开连接 MLME-DISASSOCIATE 复位 MLME-RESET 网络开始 MLME-START 测量 MLME-MREQUEST 信道测量 MLME-MEASURE 测量报告 MLME-MREPORT 信道切换 MLME-CHANNELSWITCH 发送功率通知 MLME-TPCADAPT 设置密钥 MLME-SETKEYS 删除密钥 MLME-DELETEKEYS 迈克尔失败事件 MLME-MICHAELMICFAILURE 可扩展局域网认证协议帧 MLME-EAPOL 点对点连接请求 MLME-PeerKeySTART 设置发送或接收的安全保护 MLME-SETPROTECTION 帧密钥错误丢弃通知 MLME-PROTECTEDFRAMEDROPPED 交通流(TS)管理接口 MLME-ADDTS
MLME-DELTS直接连接管理 MLME-DLS
MLME-DLSTearDown高层同步支持 MLME-HL-SYNC 合并ACK帧管理 MLME-ADDBA
MLME-DELBAQos调度变更通知 MLME-SCHEDULE 发行商特有 MLME-VSPECIFIC MIB管理 MLME-SET
MLME-GET
以上的所有的原语构成了MAC对外提供的可操作接口。
在内部,MAC由除了函数还有数据,叫MIB,存储MAC的各种参数。还有个专业术语叫SME的,其实是一个单独的模块,用来跟接口函数功能互动,完成各函数之间的关联操作和配合响应。属于配合接口正常运作的角色,对外不提供接口。
以上的接口原语,按照功能模块,可以归纳出MAC主要包括如下功能:
1、信道管理。包括:信道扫描(MLME-SCAN)、信道测量(MLME-MREQUEST、MLME-MEASURE、MLME-MREPORT)、信道切换(MLME-CHANNELSWITCH)
2、连接管理。包括:认证(MLME-AUTHENTICATE)、断开认证(MLME-DEAUTHENTICATE)、建立连接(MLME-ASSOCIATE)、重新连接(MLME-REASSOCIATE)、断开连接(MLME-DEASSOCIATE)、开始网络(MLME-START)、点对点连接请求(MLME-PeerKeySTART)、直接连接管理(MLME-DLS、MLME-DLSTearDown)、
3、服务质量(Qos):交通流(TS)管理接口(MLME-ADDTS、MLME-DELTS)、Qos调度变更通知(MLME-SCHEDULE)、
4、功率控制。包括:电源管理(MLME-POWERMGT)、发送功率通知(MLME-TPCADAPT)
5、安全。包括:密钥管理(MLME-SETKEYS、MLME-DELETEKEYS)、迈克尔失败事件(MLME-MICHAELMICFAILURE)、EAPOL(MLME-EAPOL)、帧密钥错误丢弃通知(MLME-PROTECTEDFRAMEDROPPED)
6、时间同步。包括:时间同步(MLME-JOIN)、高层同步支持(MLME-HL-SYNC)、
7、特性。包括:合并ACK帧管理(MLME-ADDBA、MLME-DELBA)、发行商特有(MLME-VSPECIFIC)、MIB管理(MLME-SET、MLME-GET)
以上7部分为概览式给出,没有涉及到具体介绍。每个部分的详细功能分析将单独成文。