OpenThread Border Router

Quelle auf GitHub ansehen

Ein Thread-Border-Router verbindet ein Thread-Netzwerk mit anderen IP-basierten Netzwerken, z. B. WLAN oder Ethernet. Ein Thread-Netzwerk erfordert einen Border-Router, um eine Verbindung zu anderen Netzwerken herzustellen.

OTBR Border Agent Architecture

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

  • Bidirektionale IP-Verbindung zwischen Thread- und WLAN-/Ethernet-Netzwerken.
  • Bidirektionale Diensterkennung über mDNS (über WLAN/Ethernet-Verbindung) und SRP (in einem Thread-Netzwerk).
  • Thread-over-Infrastructure, die Threadpartitionen über IP-basierte Links zusammenführt
  • Externe Thread-Inbetriebnahme (z. B. ein Mobiltelefon), um sich zu authentifizieren und ein Thread-Gerät mit einem Thread-Netzwerk zu verbinden.
Thread-Zertifiziert

Die Implementierung eines Border-Routers in OpenThread wird als OpenThread Border Router (OTBR) bezeichnet. Er 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 weit mehr ist als das, was 802.15.4 SoC bietet.
  • Kostengünstiger: Minimieren Sie die Ressourcenanforderungen für das 802.15.4-SoC, das 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: Der RCP implementiert nur den Sub-MAC und PHY, wodurch die Häufigkeit reduziert wird, mit der das 802.15.4 SoC Firmwareupdates benötigt.
  • Einfachere Einbindung in den Host-IPv6-Netzwerkstack: Wenn OpenThread auf dem Host ausgeführt wird, ist eine direktere Einbindung in den Host-IPv6-Stack möglich.

Features und Dienste

OTBR bietet eine Reihe von Funktionen, einschließlich:

  • Web-GUI zur Konfiguration und Verwaltung
  • Thread-Border-Agent zur Unterstützung der externen Provision
  • DHCPv6-Präfixdelegation, um IPv6-Präfixe für ein Thread-Netzwerk abzurufen
  • NAT64 für die Verbindung mit IPv4-Netzwerken
  • DNS64, damit Thread-Geräte namentlich mit einem IPv4-Server kommunizieren können
  • Thread-Schnittstellentreiber mit der integrierten Funktion von OpenThread
  • Docker-Unterstützung

Border-Router-Dienste

OTBR bietet die folgenden Dienste:

  • mDNS-Publisher: Ermöglicht einem externen Prüfer, einen OTBR und das zugehörige Thread-Netzwerk zu erkennen.
  • PSKc Generator: Zur Generierung von PSKc-Schlüsseln
  • Webdienst: Web-UI zur Verwaltung eines Thread-Netzwerks

Zu den Drittanbieterkomponenten für Border Router Services gehören Simple Web Server 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 mit On-Link-Adressquellen initiiert wurden, werden blockiert, z. B. Off-Mesh-Routings (OMR) und auf Präfixen basierende Mesh-Local-Adressen.
  • Blockieren Sie eingehende Unicast-Pakete, deren Zieladresse keine OMR-Adresse oder Domain Unicast-Adresse (DUA) ist.
  • Blockieren Sie eingehende Unicast-Pakete, deren Quelladresse oder Zieladresse Link-Local ist. Beachten Sie, dass diese Regel vom Kernel verarbeitet und nicht explizit festgelegt wird.