Доступ к беспроводному интерфейсу (802.11) на уровне MAC (Linux)

Я провел последние дни, читая страницы руководства, документацию и все остальное, что было поднятым в Google, но я полагаю, что сейчас я сбит с толку еще больше, чем был вначале.

Вот что я хочу сделать: я хочу отправлять и получать пакеты данных с помощью моего собственного протокола (ов) уровня 3 через беспроводной интерфейс (802.11) в системах Linux с C / C ++. Все идет нормально. Мне не нужны маяки, ассоциации или какие-либо вещи, связанные с AP / SSID. Однако для передачи данных я бы хотел, чтобы уровень MAC вел себя «как обычно», то есть одноадресные пакеты были ACK'd, повторными передачами, отсрочкой передачи и т. Д. Я также хотел бы пользоваться расширенными возможностями QoS (802.11e с 4 очередями и разные категории доступа). С другой стороны, беспорядочный режим не вызывает беспокойства, мне нужны только широковещательные пакеты и пакеты, отправленные на конкретную станцию.

Что было бы правильным путем? Большая часть документации по доступу к необработанным сокетам, похоже, сосредоточена на сниффинге сети, и это не помогает. Я уже некоторое время поигрался с режимом монитора , но, судя по тому, что я читал до сих пор, полученные пакеты не подтверждаются ACK в режиме монитора и т. Д.Какой была бы альтернатива без режима монитора? Используете специальный режим и сокеты unix raw? Или мне придется возиться с драйверами?

Я не ищу полного решения, а просто несколько хороших идей, с чего начать. Я прочитал справочные страницы для сокетов (2), сокетов (7) и пакетов (7), но это не помогло в отношении поведения уровня MAC в разных режимах.

Заранее спасибо.

18
задан rocktale 8 February 2012 в 11:22
поделиться