OpenThread Border Router

Quelle auf GitHub ansehen

Ein Thread-Border-Router verbindet ein Thread-Netzwerk mit anderen IP-basierten Netzwerken wie WLAN oder Ethernet. Für ein Thread-Netzwerk ist ein Border Router erforderlich, um eine Verbindung zu anderen Netzwerken herzustellen.

OTBR-Border-Agent-Architektur

Ein Thread-Border-Router unterstützt die folgenden Funktionen minimal:

  • Bidirektionale IP-Verbindung zwischen Thread- und WLAN-/Ethernet-Netzwerken.
  • Bidirektionale Diensterkennung über mDNS (über eine WLAN-/Ethernet-Verbindung) und SRP (in einem Thread-Netzwerk).
  • Thread-over-Infrastruktur, die Thread-Partitionen über IP-basierte Verknüpfungen zusammenführt.
  • Externe Thread-Inbetriebnahme (z. B. ein Smartphone), um ein Thread-Gerät mit einem Thread-Netzwerk zu authentifizieren und zu verbinden.
Thread-zertifiziert

Die Implementierung eines Border Routers in OpenThread wird als OpenThread Border Router (OTBR) bezeichnet und unterstützt ein RCP-Design (Radio Co-Processor). Berücksichtigen Sie bei der Auswahl Ihrer Plattform die folgenden Vorteile von RCP:

  • Mehr Ressourcen: OpenThread kann die Ressourcen des Host-Prozessors nutzen, was in der Regel viel mehr ist, als ein 802.15.4-SoC bietet.
  • Kostengünstiger: Minimieren Sie den Ressourcenbedarf auf dem 802.15.4-SoC, was zu einer kostengünstigeren Lösung führen kann.
  • Einfachere Fehlerbehebung: Da der Großteil der Verarbeitung auf dem Hostprozessor erfolgt, können Sie leistungsfähigere Debugging-Tools auf dem Hostprozessor verwenden.
  • Stabilere 802.15.4-SoC-Firmware: RCP implementiert nur den Sub-MAC und PHY, wodurch sich die Häufigkeit verringert, mit der 802.15.4-SoC Firmware-Updates benötigt.
  • Einfachere Integration mit dem IPv6-Netzwerkstack des Hosts: Mit OpenThread auf dem Host lässt sich der IPv6-Stack des Hosts direkter einbinden.

Funktionen und Dienste

OTBR bietet unter anderem folgende Funktionen:

  • Web-GUI für Konfiguration und Verwaltung
  • Thread-Border-Agent zur Unterstützung der externen Provision
  • DHCPv6-Präfixdelegierung zum Abrufen von IPv6-Präfixen für ein Thread-Netzwerk
  • NAT64 für die Verbindung mit IPv4-Netzwerken
  • DNS64, damit Thread-Geräte die Kommunikation mit dem Namen an einen reinen IPv4-Server starten können
  • Thread-Schnittstellentreiber mit der integrierten Funktion von OpenThread
  • Docker-Unterstützung

Border Router-Dienste

OTBR bietet die folgenden Dienste:

  • mDNS-Publisher: Mit dieser Richtlinie kann ein externer Beauftragter ein OTBR und das zugehörige Thread-Netzwerk ermitteln
  • PSKc-Generator – zur Generierung von PSKc-Schlüsseln
  • Webdienst – Web-UI für die Verwaltung eines Thread-Netzwerks

Zu den Drittanbieterkomponenten für Border Router-Dienste gehören ein einfacher Webserver und Material Design Lite für das Framework der Web-UI.

OTBR-Firewall

OTBR verwendet iptables und ipset, um die folgenden Filterregeln für eingehenden Traffic zu implementieren:

  • Eingehende Pakete, die über On-Link-Adressquellen initiiert wurden, z. B. Off-Mesh-Weiterleitungen (OMR) und Mesh-Local-Präfixe.
  • Eingehende Unicast-Pakete blockieren, deren Zieladresse keine OMR-Adresse oder Domain Unicast-Adresse (DUA) ist.
  • Eingehende Unicast-Pakete blockieren, deren Quell- oder Zieladresse Link-Local ist. Beachten Sie, dass diese Regel vom Kernel verarbeitet und nicht explizit festgelegt wird.