Я провел последние дни, просматривая man-страницы, документацию и все остальное, что было придумано google, но я полагаю, что теперь я еще больше смущен, чем был в начале.
Вот что я хочу сделать: я хочу отправлять и получать пакеты данных со своим собственным 3-х протоколом уровня через беспроводной интерфейс (802.11) в системах Linux с C/С++. Все идет нормально. Я не нуждаюсь в маяках, ассоциации или каких-либо связанных с AP/SSID вещах. Тем не менее, для передачи данных я бы хотел, чтобы уровень MAC работал "как обычно", что означает, что одноадресные пакеты ACK'd, повторные передачи, отсрочка и т.д. Я также хотел бы пользоваться расширенными возможностями QoS (802.11e с 4 очередями и разные категории доступа). С другой стороны, режим размножения не вызывает беспокойства, мне нужны только широковещательные пакеты и пакеты, отправленные на конкретную станцию.
Каким будет правильный путь? Большая часть документации по доступу к сырцовому сокету, похоже, сосредоточена на сетевом обнюхивании, и это не помогает. Я уже некоторое время играю в режиме монитора, но из того, что я читал до сих пор, полученные пакеты не ACK'd в режиме мониторинга и т.д. Без режима мониторинга, какова будет альтернатива? Использование ad hoc mode и unix raw сокетов? Или мне нужно возиться с драйверами?
Я не ищу полного решения, просто хорошие идеи, с чего начать. Я прочитал страницы руководства для сокета (2), сокета (7) и пакета (7), но это не помогло в отношении поведения уровня MAC в разных режимах.
Спасибо заранее.