首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接入点使用softMAC还是hardMAC?

接入点使用softMAC还是hardMAC?
EN

Stack Overflow用户
提问于 2015-02-05 11:58:17
回答 2查看 4.9K关注 0票数 5

我试图了解无线在linux中的工作原理。我从wpa_supplicant、hostapd应用程序开始,借助它们的文档和源代码code.Understood (流程和基本功能):

  1. wpa_supplicant,nl80211(驱动程序接口)
  2. libnl库(使用netlink协议在用户空间和内核之间进行套接字通信)
  3. Cfg80211(用于在用户空间中通过nl80211实现从用户空间与驱动程序通信的内核接口)、mac80211(软件媒体访问控制层)
  4. 驱动程序(可加载驱动程序实例:ath6kl-Atheros驱动程序)。

我理解了上面的软件流程,在我的探索中,我了解到,为了为开发人员提供自由,MAC层是在软件(流行的实现mac80211)中实现的。

在所有情况下都是这样吗?如果是这样的话,softMAC和hardMAC的利弊是什么?内核中的cfg80211接口是否直接与驱动程序通信?谁以及如何与mac80211进行沟通?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-06 07:35:41

术语“SoftMAC”是指在硬件上不实现MAC层的无线网络接口设备(WNIC),它期望驱动程序实现MAC层。

'HardMAC‘(也称为'FullMAC')描述了一个WNIC,它在硬件中实现MAC层。

SoftMAC的优点是:

  • 潜在的较低硬件成本
  • 仅通过更新驱动程序而升级到较新标准的可能性
  • 仅通过更新驱动程序来纠正MAC实现中的错误的可能性

另外一个优点(至少在Linux内核中)是,不同类型WNIC的许多不同驱动程序都可以共享内核本身提供的相同的MAC实现。

尽管有这些优点,但并不是所有的WNIC都使用SoftMAC。HardMAC的主要优点是,由于其功能是在硬件上实现的,因此它们贡献的CPU负载较少。

mac80211是Linux内核中用于实现SoftMAC驱动程序的框架。它实现了cfg80211回调,否则必须由驱动程序自己实现,并且还实现了MAC层功能。因此,它位于cfg80211和SoftMAC驱动程序之间。

HardMAC驱动程序必须完全自己实现cfg80211接口。

票数 5
EN

Stack Overflow用户

发布于 2015-10-29 10:13:02

还需要补充:与SoftMAC相比,Hardmac驱动程序的帮助更大,由于在HW中实现了MLME,节省了电源和快速连接/断开连接恢复。更好的省电是因为HW/FW不需要在断开时唤醒主机,还可以连接和恢复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28343384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档