アクセスポイントはSoftMACまたはhardMACを使用しますか?

アクセスポイントはSoftMACまたはhardMACを使用しますか?

Linuxでワイヤレスがどのように機能するかを知りたいです。私はドキュメントとソースコードの助けを借りてwpa_supplicant、Hostapdアプリケーションから始めました。次のプロセスと基本機能を理解しました。

  1. wpa_supplicant、nl80211(ドライバインタフェース)
  2. libnlライブラリ(ユーザースペースとカーネル間のソケット通信にnetlinkプロトコルを使用)
  3. cfg80211(ユーザー空間でnl80211実装を使用してユーザー空間でドライバと通信するためのカーネルインタフェース)、mac80211(ソフトウェアメディアアクセス制御層)
  4. ドライバ(ロード可能なドライバ、例えばath6kl - atherosドライバ)。

私は上記のソフトウェアフローを理解し、ナビゲーションを通じて開発者に自由を提供するために、MAC層がソフトウェア(人気の実装mac80211)に実装されることに気づきました。

すべてのケースでこれは本当ですか?それでは、SoftMACとhardMACの長所と短所は何ですか?カーネルのcfg80211インターフェイスはドライバと直接通信しますか? mac80211と誰がどのように通信しますか?

よろしくお願いします。

ベストアンサー1

このトピックの私の理解は次のとおりです。 HardMACデバイスの利点は、基本的に基本プロトコルのMAC機能と要件がデバイスに実装され、APIを介してのみアクセスできることです。たとえば、次のようになります。 ATコマンド(仕様では基本要素と呼ばれる))。はい、これはソフトウェアを介してデバイス内で実行されるため、HardMACデバイスにはプロセッサとワイヤレストランシーバがあることがわかります。最大の利点は、MAC処理がHardMACデバイスで実行されることです。欠点は、ワイヤレスデバイスに直接アクセスできないため、カスタムアプリケーションに柔軟性がないことです。

SoftMACデバイスはPHY準拠のワイヤレストランシーバであり、一部のMAC機能(通常はAutoAck、CRC確認、自動暗号化、宛先確認など)があるため、到着したい場合はすべてのフレームタイプを読み、仕様に従って応答する必要があります。 。

cfg80211についてはよくわかりませんが、一部の内容を読んでみると、これがユーザー空間プログラムがラジオを構成できるAPIのようです。 cfg80211 APIは通常mac80211を介してドライバと通信しますが、ドライバと直接通信することもできます。

おすすめ記事