Mininet/Wifi: захваченная радиолента RSSI не изменяется при моделировании мобильности станции
Используя Mininet для Wi - Fi Python API, я имитирую одну точку доступа и две станции. AP находится на уровне "0,0,0", а sta1 на уровне "0,10,0". Я двигаюсь sta2 вперед и назад по линии от 0,50,0 до 0,150,0. Также у меня настроено дополнительное радио при создании Mininet. Затем в другом окне я переключил интерфейс WLAN дополнительного радио в режим мониторинга и перехватил трафик Wi-Fi, используя tcpdump/Wireshark.
Я ожидал, что RSSI в заголовках Radiotap будет меняться, когда sta2 перемещается между 50 и 150 метрами. Но я вижу, что RSSI для каждой станции должен быть установлен на 30 и 36 дБм. Чего мне не хватает, почему SSI не меняется так, как мне кажется? Это из-за некоторого ограничения mac80211_hwsim или самого Mininet, или мои ожидания неверны?
Тестовая программа на Python находится здесь, а захваченный tcpdump / Wireshark для пингов находится здесь. Обратите внимание, что во время захвата я отфильтровал маяки, чтобы сохранить минимально проверяемые пакеты. Учитывая большие размеры файлов, я предоставил указатели, где вы можете скачать два соответствующих файла.
1 ответ
Хотя вы можете получить rssi через py staX.params['rssi'], mac80211_hwsim учитывает в своей формуле только power_level (или мощность tx), как вы можете видеть в строке 1211 на https://github.com/torvalds/linux/blob/master/drivers/net/wireless/mac80211_hwsim.c. Вот почему RSSI не меняется в маяках.