etc:common_activities:olpc:mesh:articleooimplementations

Обзор существующих Open Source решений

:!: Обзор архитектуры монолитных и тонких драйверов. Open80211s, libertas, libertas_ts. Взгляд на архитектуру: как перераспределились функции при переходе от монолитной модели к модели с модулем 80211s. Переработать, добавить (при необходимости)

Управление состояниями физической среды сети осуществляется на MAC-уровне при помощи блока MLME (MAC Layer Management Entity). MLME участвует в достижении таких целей, как:

  • аутентификация,
  • деаутентификация,
  • ассоциация (с точкой доступа),
  • разъединение (с точкой доступа),
  • реассоциация,
  • запуск в сеть маркеров,
  • сканирование сети.

В зависимости от того, где реализуется MLME, различают два типа драйверов сетевых карт: FullMAC и SoftMAC. FullMac сетевые карты реализуют MLME в микросхемах, SoftMAC карты реализуют управление на MAC-уровне программно.

Существует интерфейс стандарта 802.11 - это стек mac80211. Mac80211 - это API MAC-уровня под Linux для беспроводных SoftMAC драйверов. Для FullMAC драйверов данный стек не предназначен и работать с ними не может. В настоящее время стек реализует MLME для работы в режиме клиентской станции (STA) в ядре, а другую его часть - для работы в режиме точки доступа (AP) - в пространстве пользователя. В будущем планируется полный перевод функциональности в пространство пользователя.

Стек mac80211 поддерживают следующие драйверы устройств:

  • adm8211,
  • ath5k,
  • b43 и b43legacy,
  • iwl3945 и iwl4965,
  • ub8xxx,
  • p54_pci и p54_usb,
  • rt2400pci, rt2500pci, rt2500usb, rt61pci и rt73usb,
  • rtl8180 и rtl8187,
  • zd1211rw.

Кроме того, в сентябре 2008 года Nokia опубликовала новый драйвер stlc45xx, основанный на интерфейсе mac80211, для устройств Nokia N800 and N810.

Стек поддерживает следующие функции:

  • 802.11abgn,
  • 802.11d,
  • последнюю версию стандарта 802.11s,
  • 802.11r,
  • алгоритмы управления скоростью: PID, minstrel,
  • различные типы интерфейсов:
    1. AP в режиме инфраструктуры,
    2. STA в режиме инфраструктуры,
    3. режим мониторинга,
    4. Ad-Hoc (IBSS) режим,
    5. WDS,
    6. Mesh.

Открытой реализацией последней версии черновика 802.11s является open80211s, основанный на стеке mac80211. Причем данная открытая реализация вошла в один из последних выпусков ядра Linux - версию 2.6.26.

Теперь для разработки совместимых mesh-устройств разными производителями достаточно реализовать низкоуровневый драйвер для управления самим устройством с ориентировкой на использование open80211s.

Примером FullMAC драйвера может служить Libertas, используемый в частности в OLPC XO для организации mesh-сети. Libertas - кодовое имя серии чипсетов Marvel 88w838X. В OLPC XO используется версия 88w8388 (версия внутреннего процессора) с передатчиком 88w8015 rf. Данный драйвер был разработан под более старую версию черновика. В силу своих отличий в интерфейсе от mac80211, данный драйвер не сможет взаимодействовать с последними и новыми mesh-драйверами. Он реализует MAC, PHY-уровни управления и управляет самим частотным каналом. Детские ноутбуки OLPC XO могут организовать mesh-сеть только между собой и не могут вступить в гетерогенную сеть. Однако в новом 2.6.27 Linux ядре появилась SoftMAC версия драйвера - Libertas_tf - драйвер PHY-уровня и среды передачи.

etc/common_activities/olpc/mesh/articleooimplementations.txt · Last modified: 2008/12/03 20:01 by raa