接入点使用 softMAC 还是 hardMAC?
Do Access points use softMAC or hardMAC?
我正在尝试了解无线在 linux 中的工作原理。我从 wpa_supplicant、hostapd 应用程序开始,借助他们的文档和来源 code.Understood :
的流程和基本功能
- wpa_supplicant,nl80211(驱动接口)
- libnl 库(用户 space 和内核使用 netlink 协议进行套接字通信)
- cfg80211(内核接口用于与用户space的驱动程序通信,借助用户space中的nl80211实现),mac80211(软件媒体访问控制层)
- 驱动程序(可加载驱动程序 ex:ath6kl - atheros 驱动程序)。
我理解了上面的软件流程,并且在我的探索中我开始知道为了给开发者提供自由 MAC 层是在软件中实现的(流行的实现 mac80211)。
在所有情况下都是这样吗?如果是这样, softMAC 和 hardMAC 的优缺点是什么?内核中的cfg80211接口是否直接与驱动程序通信?谁以及如何与 mac80211 进行通信?
提前致谢。
术语 'SoftMAC' 是指无线网络接口设备 (WNIC),它不在硬件中实现 MAC 层,而是希望驱动程序实现 MAC 层.
'HardMAC'(也称为'FullMAC')描述了在硬件中实现MAC层的WNIC。
SoftMAC的优点是:
- 可能降低硬件成本
- 可以通过仅更新驱动程序升级到更新的标准
- 可以通过仅更新驱动程序来纠正 MAC 实现中的错误
另一个优点(至少在 Linux 内核中)是不同类型 WNIC 的许多不同驱动程序都可以共享相同的 MAC 实现,由内核本身提供。
尽管有这些优势,但并非所有 WNIC 都使用 SoftMAC。 HardMAC 的主要优点在于,由于 MAC 功能是在硬件中实现的,因此它们贡献的 CPU 负载较少。
mac80211 是 Linux 内核中用于实现 SoftMAC 驱动程序的框架。它实现了 cfg80211 回调,否则必须由驱动程序本身实现,并且还实现了 MAC 层函数。因此它介于 cfg80211 和 SoftMAC 驱动程序之间。
困难MAC 驱动程序必须自己完全实现 cfg80211 接口。
还要补充:-
由于在硬件中实施了 MLME,与 SoftMAC 相比,Hardmac 驱动程序在节能和快速 connection/disconnection 恢复方面有更好的帮助。更好的省电是因为 HW/FW 不需要在断开连接时唤醒主机并且仍然可以连接和恢复。
我正在尝试了解无线在 linux 中的工作原理。我从 wpa_supplicant、hostapd 应用程序开始,借助他们的文档和来源 code.Understood :
的流程和基本功能- wpa_supplicant,nl80211(驱动接口)
- libnl 库(用户 space 和内核使用 netlink 协议进行套接字通信)
- cfg80211(内核接口用于与用户space的驱动程序通信,借助用户space中的nl80211实现),mac80211(软件媒体访问控制层)
- 驱动程序(可加载驱动程序 ex:ath6kl - atheros 驱动程序)。
我理解了上面的软件流程,并且在我的探索中我开始知道为了给开发者提供自由 MAC 层是在软件中实现的(流行的实现 mac80211)。
在所有情况下都是这样吗?如果是这样, softMAC 和 hardMAC 的优缺点是什么?内核中的cfg80211接口是否直接与驱动程序通信?谁以及如何与 mac80211 进行通信?
提前致谢。
术语 'SoftMAC' 是指无线网络接口设备 (WNIC),它不在硬件中实现 MAC 层,而是希望驱动程序实现 MAC 层.
'HardMAC'(也称为'FullMAC')描述了在硬件中实现MAC层的WNIC。
SoftMAC的优点是:
- 可能降低硬件成本
- 可以通过仅更新驱动程序升级到更新的标准
- 可以通过仅更新驱动程序来纠正 MAC 实现中的错误
另一个优点(至少在 Linux 内核中)是不同类型 WNIC 的许多不同驱动程序都可以共享相同的 MAC 实现,由内核本身提供。
尽管有这些优势,但并非所有 WNIC 都使用 SoftMAC。 HardMAC 的主要优点在于,由于 MAC 功能是在硬件中实现的,因此它们贡献的 CPU 负载较少。
mac80211 是 Linux 内核中用于实现 SoftMAC 驱动程序的框架。它实现了 cfg80211 回调,否则必须由驱动程序本身实现,并且还实现了 MAC 层函数。因此它介于 cfg80211 和 SoftMAC 驱动程序之间。
困难MAC 驱动程序必须自己完全实现 cfg80211 接口。
还要补充:- 由于在硬件中实施了 MLME,与 SoftMAC 相比,Hardmac 驱动程序在节能和快速 connection/disconnection 恢复方面有更好的帮助。更好的省电是因为 HW/FW 不需要在断开连接时唤醒主机并且仍然可以连接和恢复。