OpenThread Border Router

Quellcode auf GitHub ansehen

Ein Thread-Border-Router verbindet ein Thread-Netzwerk mit anderen IP-basierten Netzwerken wie WLAN oder Ethernet. Ein Thread-Netzwerk benötigt einen Border-Router, um eine Verbindung zu anderen Netzwerken herzustellen.

OTBR-Border-Agent-Architektur

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

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

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

  • Mehr Ressourcen: OpenThread kann die Ressourcen des Hostprozessors nutzen, was in der Regel viel mehr ist als das, was ein 802.15.4-SoC bietet.
  • Kostengünstiger: Minimieren Sie die Ressourcenanforderungen an das 802.15.4-SoC, was zu einer kostengünstigeren Lösung führen kann.
  • Einfachere Fehlerbehebung: Da die meisten Verarbeitungen auf dem Hostprozessor stattfinden, können Sie leistungsstärkere Debugging-Tools auf dem Hostprozessor verwenden.
  • Stabilere 802.15.4-SoC-Firmware: Der RCP implementiert nur Sub-MAC und PHY, wodurch die Häufigkeit reduziert wird, mit der das 802.15.4-SoC Firmware-Updates benötigt.
  • Einfachere Integration in den IPv6-Netzwerkstack des Hosts: Wenn OpenThread auf dem Host ausgeführt wird, ist eine direktere Integration in den IPv6-Stack des Hosts möglich.

Features und Dienste

OTBR umfasst eine Reihe von Funktionen, darunter:

  • Thread-Border-Agent zur Unterstützung der externen Inbetriebnahme
  • DHCPv6-Präfixdelegierung zum Abrufen von IPv6-Präfixen für ein Thread-Netzwerk
  • NAT64 für die Verbindung zu IPv4-Netzwerken
  • DNS64, damit Thread-Geräte die Kommunikation per Namen mit einem reinen IPv4-Server initiieren können
  • Thread-Interface-Treiber mit der integrierten Funktion von OpenThread

Border-Router-Dienste

OTBR bietet die folgenden Dienste:

  • mDNS-Publisher: Ermöglicht einem externen Bevollmächtigten, einen OTBR und das zugehörige Thread-Netzwerk zu finden.
  • PSKc-Generator: Zum Generieren von PSKc-Schlüsseln

OTBR-Firewall

OTBR verwendet iptables und ipset, um die folgenden Regeln für die Eingangsfilterung zu implementieren:

  • Eingehende Pakete blockieren, die mit On-Link-Adressquellen initiiert wurden, z. B. Off-Mesh Routable (OMR) und Mesh-Local-präfixbasierte Adressen.
  • Blockieren Sie eingehende Unicast-Pakete, deren Zieladresse keine OMR-Adresse oder Domain-Unicast-Adresse (DUA) ist.
  • Eingehende Unicast-Pakete mit einer Link-Local-Quell- oder Zieladresse blockieren Diese Regel wird vom Kernel verarbeitet und nicht explizit festgelegt.