Посмотреть исходный код на GitHub
Пограничный маршрутизатор потока соединяет сеть потока с другими сетями на основе IP, такими как Wi-Fi или Ethernet. Для сети Thread требуется пограничный маршрутизатор для подключения к другим сетям.
Пограничный маршрутизатор потоков минимально поддерживает следующие функции:
- Двунаправленное IP-соединение между сетями Thread и Wi-Fi/Ethernet.
- Двунаправленное обнаружение службы через mDNS (по каналу Wi-Fi/Ethernet) и SRP (по сети Thread).
- Инфраструктура Thread-over, объединяющая разделы Thread по ссылкам на основе IP.
- Ввод в эксплуатацию внешнего потока (например, мобильного телефона) для аутентификации и присоединения устройства потока к сети потока.
Реализация пограничного маршрутизатора OpenThread называется пограничным маршрутизатором OpenThread (OTBR) и поддерживает конструкцию радиосопроцессора (RCP) . При выборе платформы учитывайте следующие преимущества использования RCP:
- Больше ресурсов: OpenThread может использовать ресурсы хост-процессора, которые обычно намного больше, чем предоставляет SoC 802.15.4.
- Более рентабельно: минимизируйте требования к ресурсам на SoC 802.15.4, что может привести к более экономичному решению.
- Легче отлаживать: поскольку большая часть обработки происходит на хост-процессоре, вы можете использовать более мощные инструменты отладки на хост-процессоре.
- Более стабильная прошивка SoC 802.15.4: RCP реализует только суб-MAC и PHY, уменьшая частоту, с которой SoC 802.15.4 требует обновлений прошивки.
- Упрощенная интеграция с сетевым стеком хоста IPv6: запуск OpenThread на хосте обеспечивает более прямую интеграцию со стеком хоста IPv6.
Особенности и услуги
OTBR включает в себя ряд функций, в том числе:
- Веб-интерфейс для настройки и управления
- Thread Border Agent для поддержки внешнего ввода в эксплуатацию
- Делегирование префикса DHCPv6 для получения префиксов IPv6 для сети Thread
- NAT64 для подключения к сетям IPv4
- DNS64, чтобы позволить устройствам Thread инициировать связь по имени с сервером только для IPv4.
- Драйвер интерфейса потока, использующий встроенную функцию OpenThread
- Поддержка докера
Услуги пограничного маршрутизатора
ОТБР оказывает следующие услуги:
- mDNS Publisher — позволяет внешнему уполномоченному обнаруживать OTBR и связанную с ним сеть Thread.
- Генератор PSKc — для генерации ключей PSKc
- Веб-служба — веб-интерфейс для управления сетью потоков.
Сторонние компоненты для служб Border Router Services включают Simple Web Server и Material Design Lite для структуры веб-интерфейса.
Брандмауэр OTBR
OTBR использует iptables
и ipset
для реализации следующих правил фильтрации входящего трафика:
- Блокировать входящие пакеты, инициированные источниками адресов On-Link, например адресами Off-Mesh Routable (OMR) и Mesh-Local на основе префиксов.
- Блокировать входящие одноадресные пакеты, адрес назначения которых не является адресом OMR или одноадресным адресом домена (DUA).
- Блокировать входящие одноадресные пакеты, исходный адрес или адрес назначения которых являются Link-Local. Обратите внимание, что это правило обрабатывается ядром и не устанавливается явно.