2016-11-23 12 views
0

Mininet for WifiのPython APIを使用して、1つのAPと2つの ステーションをシミュレートしています。 APは '0,0,0'にあり、sta1は '0,10,0'にあります。私はsta2 を '0,50,0'から '0,150,0'の行で前後に動かしています。また、Mininetを作成するときに、 無線が設定されています。次に別のウィンドウで、私は ラジオのwlanインターフェイスをモニタモードにして、tcpdump/Wiresharkを使ってWiFiトラフィック をキャプチャします。Mininet/Wifi:ステーションモビリティのシミュレーション時にRadiotapがRSSIを捕捉しない

sta2 が50〜150メートルの間を移動すると、RadiotapヘッダーのRSSIが変化することが予想されました。しかし、私は、各ステーションのRSSIが30と36dBmに固定されていることを確認しています( )。 私は何が紛失していますか?なぜSSIは変わらないのですか? 私はそれをすべきだと信じていますか? mac80211_hwsim やMininet自体の制限があるのか​​、それとも私の予想が間違っていますか?

テストPythonプログラムはhereで、キャプチャされたtcpdump/Wireshark は、hereです。キャプチャでは、検査するパケットを最小限に保つために、 ビーコンを除外していることに注意してください。大きなファイルサイズが与えられた場合 2つの関連ファイルをダウンロードできる場所へのポインタを提供しました。

答えて

1

py staX.params ['rssi']でrssiを取得することはできますが、mac80211_hwsimは1233行目のようにhttps://github.com/torvalds/linux/blob/master/drivers/net/wireless/mac80211_hwsim.cにあるように、その式のpower_level(またはtx power)のみを考慮に入れます。そのため、RSSIはビーコン内で変更されません。

+0

キャプチャされたデータでは、AP送信フレームにSSIまたは-30dBmが含まれていますが、APによるフレームは「-36dBm」です。なぜこれらは違うのですか?これらは、ユーザ空間(Mininet)からフレームごとに設定されていますか?私は両側に違ったことがなければ、同じであると思っています。私は、Mininet API内で、SSIのローカル/ Mininetの見解だけが報告されていることを理解し、同意します。 – Cap

+0

APのTx電力は20dBm(20-50 = -30)、ステーションは14dBm(14-50 = -36)です。数式はrx_status.signal = data-> power_level - 50と定義されていることに注意してください。 –

+0

ありがとうございます。これは、私がコンテキスト内のいくつかの部分をよりよく探って理解するのを助け、したがってmac80211_hwsimの制約に役立ちました。ユーザースペースプロセスがhwsimを流れるパケットをインターセプトしてSSIに影響を与えると、データパスが遅くなりますが、スタックの上位レイヤーによるRSSI処理をよりよくテストするのに役立ちます。 – Cap

関連する問題