Thread und IPv6

Matter verwendet IPv6 für die betriebliche Kommunikation und nutzt sowohl IPv6 Unicast als auch Multicast Adressierung für den Zugriff auf die Knoten bzw. Gruppen.

Niedriger Energiebedarf

Einige Matter Knoten sind kabelgebunden und haben ein Energiebudget, das es ihnen ermöglicht, ihre Funkgeräte kontinuierlich eingeschaltet zu lassen. Andere Knotentypen wie Sensoren müssen jahrelang mit einer Batterie betrieben werden können und ihre Funkgeräte in Netzwerken mit niedrigem Energiebedarf wie Thread betreiben. Die Proxy Architektur ermöglicht es zusammen mit Thread Sleepy End Devices, dass Knoten mit voller Leistung sowohl Funktionen auf Netzwerk- als auch auf Anwendungsebene bereitstellen können, die ihre untergeordneten Knoten vor energieintensiven Transaktionen schützen.

Ein grundlegender Aspekt von Matter ist, dass es sowohl in Netzwerken mit hohem Durchsatz wie WLAN und Ethernet als auch in Netzwerken mit niedriger Latenz und geringer Bandbreite wie Thread funktioniert. Wenn alle Multicast Pakete aus dem WLAN in Thread überbrückt würden, würde das Netzwerk überlastet und möglicherweise überflutet. Thread Ziel ist es, IPv6 in Mesh-Netzwerken mit niedrigem Energiebedarf, niedriger Latenz zu ermöglichen, nicht die Datenübertragung mit hoher Bandbreite. Während Thread's ICMPv6-Pings in einem lokalen Netzwerk in der Regel eine Round-Trip-Zeit von wenigen Dutzend Millisekunden haben, ist die Gesamtbandbreite auf 250 kbit/s bei der IEEE 802.15.4 PHY begrenzt. Mit Paketwiederholungen und Overhead liegt die typische maximale Bandbreite bei etwa 125 kbit/s. Das ist um Größenordnungen weniger als bei WLAN.

Frames auf der IEEE 802.15.4 PHY sind 127 Byte groß, aber die größte (und typische) maximale Übertragungseinheit (MTU) von IPv6-Paketen in Thread beträgt 1280 Byte. Daher müssen IPv6-Pakete oft in mehrere PHY-Frames aufgeteilt werden. Dieser Prozess ist in RFC4944 definiert.

Weitere Informationen finden Sie unter IPv6 Addressing in the Thread Primer auf openthread.io.

Border-Router

Wie können Knoten in derselben Fabric auf beiden Übertragungsmedien koexistieren? Obwohl beide Netzwerke Matter-Anmeldedaten auf Anwendungsebene gemeinsam nutzen, verwenden sie nicht dieselbe Link-Technologie.Matter In diesem Szenario benötigt das Netzwerk einen Thread Border Router (BR), um die Verbindung zu ermöglichen. BRs sind Stub-IPv6-Router.

Stub-Router ermöglichen die Verbindung zwischen Stub-Netzwerken und regulären Netzwerken. Ein Stub-Netzwerk ist ein Netzwerk der letzten Meile, das seinen Mitgliedern eine externe Verbindung bietet, aber nicht als Transitnetzwerkpfad zwischen anderen Netzwerken dient. In der Regel basieren Matter Stub-Netzwerke auf Thread. Weitere Informationen zu Stub-Netzwerken finden Sie im RFC-Entwurf.

BRs sind daher für die Verbindung zwischen dem Stub Netzwerk und dem angrenzenden Infrastrukturnetzwerk verantwortlich, also dem lokalen WLAN oder Ethernet-Netzwerk. Sie leiten nur die Pakete weiter, die für das Thread Netzwerk relevant sind.

Dieser Prozess wird erreicht, indem unterschiedliche IPv6-Präfixe zugewiesen werden an Thread und angrenzende Infrastrukturnetzwerke. So leitet der BR nur Unicasts an oder von dem Thread IPv6-Präfix weiter.

Border-Router sind auch für Folgendes verantwortlich:

  • Automatische Konfiguration von IPv6-Präfixen und ‑Routen für das Thread und angrenzende Infrastrukturnetzwerk, damit Hosts auf beiden Seiten des Thread Border-Routers kommunizieren können.
  • Veröffentlichung von mDNS DNS-SD-Erkennungspaketen im Namen von Thread Knoten, damit sie im angrenzenden Infrastrukturnetzwerk erkannt werden können.

Weitere Informationen finden Sie im Border Router Leitfaden auf openthread.io.

IPv6-Multicast

Gruppennachrichten sind ebenfalls wichtig, da sie die gleichzeitige Steuerung von mehreren Matter Knoten über Multicast ermöglichen. Um diesen Traffic in das Thread Netzwerk weiterzuleiten, implementieren sowohl Matter als auch Thread das in RFC 3306 definierte Unicast Präfix-basierte IPv6 Multicast Adressierungsschema.

Mit dieser Methode können die Zielknoten eines Multicast Pakets anhand ihres gemeinsamen IPv6 Unicast Präfixes ausgewählt werden.

Eine Matter Multicast Adresse könnte beispielsweise so aussehen:

FF35:0040:FD<Fabric ID>00:<Group ID>

In Tabelle 1 wird beschrieben, wie diese Adresse aufgebaut ist:

Tabelle 1: Unicast Präfix-basierte IPv6-Adressen
Bits Beschreibung
12 Bit 0xFF3
4 Bit 0x05

Bereich: standortlokal

8 Bit 0x00

Reserviert

8 Bit 0x40

Gibt ein 64-Bit-Präfix an

8 Bit 0xFD

Bezeichnet ein ULA-Präfix

56 Bit Fabric-ID
8 Bit 0x00
16 Bit Gruppen-ID

Weitere Informationen finden Sie im Multicast Abschnitt des Thread Primer und im RFC selbst.

Wenn IPv6-Multicast Adressen gebildet werden, enthalten sie auch die oberen 56 Bit der Fabric-ID. Das bedeutet, dass der Bereich von Multicast innerhalb einer Fabric liegt, während Unicast Adressen zwischen Fabrics geteilt werden. Knoten mit vielen Fabrics können potenziell mehrere Multicast Adressen haben, die sich überschneidende Knoten Gruppen definieren, die auf jede Fabric beschränkt sind.

Ports

Matter verwendet Port 5540 für seine Multicasts.