Inhaltsverzeichnis
Sektionen
Themen
- Zugriffsschicht
- Zugriffsmeldung
- quittierte Meldung
- Adresse
- Werbeträger
- Anwendung
- Authentifizierung
- Anwendungstaste
- AppKey
- Befeuerung
- Überbringer
- Trägerschicht
- Kennlinie
- Kunde
- Zusammensetzungsdaten
- Konfigurationsmodell
- Konfigurations-Client
- Konfigurations-Server
- Steuermeldung
- Steuerungsmodell
- Ziel
- Gerät
- Gerätetaste
- DevKey
- DST
- Element
- Funktion
- Überschwemmung
- Fundamentmodellschicht
- Freundschaftsknoten
- Freundschaftsanfrage
- Freundschaft
- GATT-Träger
- Herzschlag
- Idempotenz
- Eingangsfilter
- Einladung
- IV Index
- IV Aktualisierung
- Tastenbelegungen
- Tastenindex
- Tastenaktualisierung
- Grenzen
- Knoten mit geringer Leistung (LPN)
- untere Transportschicht
- kontrollierte Überflutung
- MD
- mesh Leuchtfeuer
- mesh netzwerk
- mesh Bereitstellungsdienst
- mesh Proxy-Dienst
- mesh zeitberechtigung
- mesh zeitberechtigung
- mesh zeitkunde
- mesh Zeitstaffel
- Nachricht
- Modell
- Modellschicht
- weitere Daten
- Nachbarn
- Netzwerk
- Netzwerk-ID
- Netzwerkschnittstelle
- Netzwerkschlüssel
- Netzwerk-Nachrichten-Cache
- NetKey
- Netzwerkschicht
- Knoten
- Knoten-Identität
- nonce
- Ausgangsfilter
- Eigenschaft
- Bereitsteller
- Rückstellung
- Proxy-Client
- Proxy-Konfigurationsmeldung
- Proxy-Funktion
- Proxy-Filter
- Proxy-Knoten
- Proxy-Protokoll
- Proxy-Server
- veröffentlichen.
- veröffentlichen/abonnieren
- Adresse veröffentlichen
- Relaisfunktion
- Relaisknoten
- Weiterleitung
- Szene
- Szenenregister
- sichere Netzwerk-Bake
- Sicherheitsschlüssel
- Sequenznummer
- Server
- SIG Modell
- Quelle
- Zustand
- Zustandsbindungen
- Zustandsübergänge
- Subnetz
- abonnieren
- Abonnentenliste
- TAI
- TAI-UTC-Delta
- Zeitberechtigung
- Zeitzustand
- Übergangszeit
- Mülleimer-Angriff
- TTL
- unbestätigte Nachricht
- obere Transportschicht
- UTC
- Hersteller-Modell
Grundlegende Konzepte und Terminologie
Mesh Netzwerk
Der Begriff "mesh Netzwerk" bezieht sich auf eine Art von drahtloser Netzwerktopologie, bei der jeder Netzwerkknoten an der Verteilung von Daten über das Netzwerk teilnimmt, indem er Daten an andere Knoten weiterleitet, die sich in Reichweite befinden. Es gibt zwei primäre Techniken, die für die Weiterleitung von Daten in mesh Netzwerken verwendet werden, nämlich Routing und Flooding. Bluetooth mesh Netzwerken verwendet eine spezialisierte und hoch optimierte Version von Flooding, das sogenannte Managed Flooding.
Routenplanung
Mesh Netzwerke, die die Routing-Technik verwenden, senden Daten entlang eines ausgewählten Pfads über bestimmte Knoten, um ihr Ziel zu erreichen. Dedizierte Geräte, die Router genannt werden, sind für die Bestimmung der Pfade verantwortlich, denen die Daten folgen müssen. Diese Abhängigkeit von Routern kann zu Single Points of Failure und einem Netzwerk führen, das nicht robust und zuverlässig ist.
Überschwemmung
Mesh Netzwerke, die das Flooding-Verfahren verwenden, senden Daten so aus, dass sie von allen Knoten in direkter Reichweite empfangen werden. Diese wiederum leiten die empfangenen Daten weiter, indem sie sie erneut senden, so dass sie von einer anderen Gruppe von Knoten in Reichweite empfangen werden. Nur die Knoten, an die die Daten adressiert wurden, werden auf die Daten reagieren.
Flooding bedeutet, dass Nachrichten mehrere Pfade nehmen, um ihr Ziel zu erreichen. Es besteht keine Abhängigkeit von Routern und damit ein wesentlich geringeres Risiko, dass das Netzwerk einzelne Fehlerpunkte enthält. Dies macht mesh Netzwerke, die Flooding verwenden, sehr zuverlässig.
Managed Flooding
Bluetooth mesh Vernetzung nutzt die Stärken des Flooding-Ansatzes und optimiert seinen Betrieb so, dass er sowohl zuverlässig als auch effizient ist. Eine Reihe von Designmerkmalen von Bluetooth mesh Netzwerken, tragen zur Effizienz von Managed Flooding bei:
Heartbeats - Heartbeat-Nachrichten werden von Knoten periodisch gesendet. Eine Heartbeat-Nachricht zeigt den anderen Knoten im Netzwerk an, dass der Knoten, der die Heartbeat-Nachricht sendet, noch aktiv ist. Darüber hinaus enthalten Heartbeat-Nachrichten Daten, die es den empfangenden Knoten ermöglichen, die Entfernung des Senders, d. h. die Anzahl der zum Erreichen des Senders erforderlichen Hops, zu bestimmen. Dieses Wissen kann mit dem TTL-Feld ausgenutzt werden.
TTL - TTL ist ein Feld, das alle Bluetooth mesh PDUs enthalten. Es steuert die maximale Anzahl von Sprüngen, über die eine Nachricht weitergeleitet wird. Durch die Einstellung der TTL können die Knoten die Weiterleitung kontrollieren und Energie sparen, indem sie sicherstellen, dass Nachrichten nicht weiter als nötig weitergeleitet werden. Mithilfe von Heartbeat-Nachrichten können Knoten bestimmen, wie der optimale TTL-Wert für jede veröffentlichte Nachricht sein sollte.
Nachrichten-Cache - ein Netzwerk-Nachrichten-Cache muss von allen Knoten implementiert werden. Der Cache enthält alle kürzlich gesehenen Nachrichten. Wenn eine Nachricht im Cache gefunden wird, was bedeutet, dass der Knoten sie bereits gesehen und verarbeitet hat, wird sie sofort verworfen.
Friendship - Der wahrscheinlich wichtigste Optimierungsmechanismus in einem Bluetooth mesh Netzwerk wird durch die Kombination von Friend- und Low-Power-Knoten bereitgestellt. Freundschaftsknoten bieten einen Nachrichten-"Speicher- und Weiterleitungs"-Dienst für zugehörige Low-Power-Knoten an. Dies ermöglicht es Low Power Nodes, energieeffizient zu arbeiten und ihr Funkgerät nur dann in den "Empfangsmodus" zu schalten, wenn sie den zugehörigen Friend gebeten haben, alle Nachrichten zu übermitteln, die er in seinem Speicher hat. Den Rest der Zeit wird das Funkgerät des Low-Power-Knotens nur eingeschaltet, wenn er Daten übertragen muss.
Subnets - Subnets sind ein Mechanismus, mit dem ein Bluetooth mesh Netzwerk partitioniert werden kann. Dies dient in erster Linie der Sicherheit, hat aber auch den Vorteil, dass Nachrichten, die über ein Subnetz gesendet werden, nicht über dieses Subnetz hinaus weitergeleitet werden. Dadurch wird Energie gespart.
Gerät
Ein Device ist ein Bluetooth Gerät, das in der Lage ist, provisioniert zu werden und damit zu einem Node und Mitglied des Netzwerks zu werden.
Knoten
Ein Knoten ist ein Bluetooth Gerät, das bereitgestellt wurde und als solches ein Mitglied eines Netzwerks ist. Ein Knoten kann zu mehr als einem bestimmten Netzwerk gehören.
Netzwerk
Ein mesh Netzwerk ist ein Satz von Knoten, die sich einen gemeinsamen Netzwerkschlüssel teilen.
Teilnetz
Netzwerke können ein oder mehrere Subnetze enthalten. Subnetze sollen eine sichere Isolierung verschiedener Bereiche, wie z. B. einzelner Zimmer in einem Hotel, ermöglichen. Ein Knoten ist ein Mitglied eines Subnetzes, indem er den Netzwerkschlüssel des Subnetzes besitzt. Ein Knoten kann zu einem oder mehreren Subnetzen gehören, indem er einen oder mehrere Subnetz-Netzschlüssel besitzt.
Element
Elemente im Allgemeinen
Ein Element ist eine adressierbare Einheit innerhalb eines Geräts. Das bedeutet, dass es ein Teil eines Geräts ist, das mindestens einen unabhängigen Zustandswert hat, der einen Zustand des Elements darstellt. Alle Knoten müssen mindestens ein Element haben. Einige Knoten werden mehrere Elemente haben. Ein zusammengesetzter Lichtschalter, der mehrere Schalter enthält, könnte z. B. ein Knoten sein, der mehrere Elemente hat.
Primäre Elemente
Das Element in einem Knoten, das das Configuration Server Model enthält, wird als primäres Element bezeichnet.
Adresse
Bluetooth mesh verwendet ein System von verschiedenen Adresstypen, um einzelne Elemente oder Elementgruppen zu identifizieren.
Unicast-Adressen
Eine Unicast-Adresse identifiziert ein einzelnes, spezifisches Element eines Knotens. Ein Provisioner verwaltet die Zuweisung von Unicast-Adressen und stellt sicher, dass innerhalb eines Netzwerks keine Duplikate zugewiesen werden.
Gruppenadressen
Eine Gruppenadresse ist eine Multicast-Adresse, die ein oder mehrere Elemente repräsentiert. Gruppenadressen werden entweder von der Bluetooth SIG definiert und als SIG Feste Gruppenadressen bezeichnet oder sie werden dynamisch zugewiesen. Es sind bis zu 256 SIG Feste Gruppenadressen erlaubt, von denen zum Zeitpunkt der Erstellung dieses Dokuments nur 4 definiert sind. Diese heißen All-proxies, All-friends, All-relays und All-nodes.
In einem mesh Netzwerk kann es bis zu 16383 Gruppenadressen geben.
Virtuelle Adressen
Eine virtuelle Adresse ist eine Adresse, die einem oder mehreren Elementen zugewiesen werden kann, die sich über einen oder mehrere Knoten erstrecken. Sie hat die Form eines 128-Bit-UUID-Wertes, mit dem jedes Element verknüpft werden kann, und ist ähnlich wie eine Bezeichnung.
In einem mesh Netzwerk kann es bis zu 70 Billionen virtuelle Adressen geben.
Die nicht zugewiesene Adresse
Dies ist ein spezieller Adresstyp, mit einem Wert von 0x0000. Seine Verwendung zeigt an, dass ein Element noch nicht konfiguriert wurde oder dass ihm eine Unicast-Adresse zugewiesen wurde.
Adresse veröffentlichen
Eine Adresse, die als Ziel verwendet wird, an das Nachrichten veröffentlicht werden, wird als Publish Address bezeichnet. Eine Publish Address kann eine Unicast-Adresse, eine vorkonfigurierte Gruppenadresse oder eine virtuelle Adresse sein.
Ziel (DST)
Die Adresse, an die eine Nachricht gesendet wird.
Quelle
Die Adresse, von der eine Nachricht gesendet wird.
TTL
TTL steht für Time To Live und ist ein Feld in mesh Netzwerk-PDUs. Sein Zweck ist es, zu steuern, ob eine empfangene Nachricht weitergeleitet werden soll oder nicht, und die Gesamtzahl der Sprünge zu begrenzen, über die eine Nachricht letztendlich innerhalb des Netzwerks weitergeleitet wird. Ein Wert von Null zeigt an, dass eine Nachricht nicht weitergeleitet wurde und nicht weitergeleitet werden soll. Dies bedeutet, dass ein Knoten eine Nachricht an andere Knoten senden kann, die sich in direkter Funkreichweite befinden(Nachbarn), und angeben kann, dass der/die empfangende(n) Knoten die Nachricht nicht weiterleiten sollen. Wenn eine Nachricht mit einer TTL von 2 oder mehr gesendet wird, dann wird bei jeder Weiterleitung der TTL-Wert dekrementiert. Ein Wert von 1 bedeutet dann, dass die Nachricht mindestens einmal weitergeleitet worden sein kann, aber nicht erneut weitergeleitet werden sollte.
Nachbarn
Die Knoten, die sich in direkter Funkreichweite (d. h. einen einzigen Hop entfernt) befinden, werden als Nachbarn bezeichnet.
Merkmal
Merkmale definieren einige der grundlegendsten Funktionen eines Knotens. Alle Knoten haben die Fähigkeit, mesh Nachrichten zu senden und zu empfangen. Knoten können auch optional eine oder mehrere zusätzliche Funktionen unterstützen, von denen die folgenden derzeit definiert sind. Beachten Sie, dass eine Funktion auf einem bestimmten Gerät aktiviert oder deaktiviert sein kann.
Die Relaisfunktion
Die Fähigkeit, mesh Nachrichten über den Werbeträger zu empfangen und erneut zu senden, um größere Netzwerke zu ermöglichen. Ein Knoten, der die Relay-Funktion unterstützt und die Relay-Funktion aktiviert hat, wird als Relay-Knoten bezeichnet.
Die Proxy-Funktion
Die Fähigkeit, mesh Nachrichten zwischen GATT- und Werbeträgern zu empfangen und erneut zu senden. Ein Knoten, der die Proxy-Funktion unterstützt und die Proxy-Funktion aktiviert hat, wird als Proxy-Knoten bezeichnet.
Die Energiesparfunktion
Die Fähigkeit, innerhalb eines mesh Netzwerks mit deutlich reduzierten Empfänger-Tastzyklen zu arbeiten, wenn sie in Verbindung mit einem Knoten arbeitet, der die Friend-Funktion unterstützt. Ein Knoten, der die Funktion "Niedriger Stromverbrauch" unterstützt und die Funktion "Niedriger Stromverbrauch" aktiviert hat, wird als "Low Power Node" (LPN) bezeichnet.
Die Freundschaftsfunktion
Die Fähigkeit, einem Knoten, der die Energiesparfunktion unterstützt, zu helfen, effizient zu arbeiten, indem Nachrichten, die für diesen Knoten bestimmt sind, gespeichert werden und nur dann zugestellt werden, wenn der Energiespar-Knoten den Freundesknoten abfragt. Ein Knoten, der die Freundschaftsfunktion unterstützt und die Freundschaftsfunktion aktiviert hat, wird als Freundschaftsknoten bezeichnet. Die Beziehung zwischen dem Freund und dem Low-Power-Knoten wird als Freundschaft bezeichnet.
Modell
Ein Modell definiert einen Satz von Zuständen, Zustandsübergängen, Zustandsbindungen, Nachrichten und anderen zugehörigen Verhaltensweisen. Ein Element innerhalb eines Knotens muss ein oder mehrere Modelle unterstützen, und es ist das Modell oder die Modelle, die die Funktionalität definieren, die ein Element hat. Es gibt eine Reihe von Modellen, die von Bluetooth SIG definiert werden, und viele von ihnen sind absichtlich als "generische" Modelle positioniert, die für eine Vielzahl von Gerätetypen von Nutzen sein können.
Die gesamte Kommunikation innerhalb eines Bluetooth mesh Netzwerks erfolgt über Nachrichten, die als Teil einer Modellspezifikation definiert sind.
Es gibt zwei Arten von Modellen: Server und Client.
Ein Modell kann ein anderes Modell erweitern. Modelle, die andere Modelle nicht erweitern, werden als "Stammmodelle" bezeichnet. Das Ändern eines Modells durch Hinzufügen oder Entfernen eines Verhaltens ist nicht zulässig. Die richtige Reaktion auf neue Anforderungen ist die Erweiterung des vorhandenen Modells.
Das Konzept eines Modells lässt sich am besten durch die Betrachtung eines Beispiels verstehen.
Das einfachste generische Modell ist das generische OnOff-Server-Modell. Es definiert einen einzigen Zustand, genannt Generic OnOff, der einen Wert von 0x00 für Aus oder 0x01 für Ein haben kann. Das Modell definiert vier Typen von Nachrichten. Die vier Messages sind:
- Generisch EinAus Holen
- Generischer EinAus-Satz
- Generisch EinAus Eingestellt Unbestätigt
- Generischer EinAus-Status
Die generische OnOff Get Message, wenn sie von einem Element empfangen wird, das das generische OnOff Server Modell unterstützt, veranlasst das Element, mit einer generischen OnOff Status Message zu antworten, die den aktuellen Wert des generischen OnOff Status berichtet.
Die Nachricht Generic OnOff Set, wenn sie von einem Element empfangen wird, das das Generic OnOff Server Model unterstützt, bewirkt, dass der Wert des Generic OnOff State geändert wird, und es ist zu erwarten, dass das physikalische Gerät, in dem das Element enthalten ist, diese Änderung des Statuswerts auf eine erwartete Weise widerspiegelt (z. B. ein Licht, das ein- oder ausgeschaltet wird). Generic OnOff Set ist als Acknowledged Message bekannt, was bedeutet, dass sie eine Antwort vom Element erfordert. Im Fall von Generic OnOff Set ist die erwartete Antwort eine Generic OnOff Status Message.
Die generische OnOff-Set-Unacknowledged-Meldung hat die gleiche Semantik wie die generische OnOff-Set-Meldung, außer dass sie nicht erfordert, dass das Element mit einer Statusmeldung antwortet.
Die generische OnOff-Statusmeldung kann von einem Element gesendet werden, um seinen OnOff-Status zu melden. Es handelt sich um eine unbestätigte Nachricht, die von den Elementen, die sie empfangen, nicht beantwortet werden muss.
Modelle, die von der Bluetooth SIG definiert wurden, werden als SIG Modelle bezeichnet. Anbieter können auch ihre eigenen Modelle definieren und diese werden als Anbietermodelle bezeichnet.
Konfiguration Modell
Es gibt zahlreiche Möglichkeiten, wie ein mesh Netzwerkgerät konfiguriert werden kann, und dies wird durch die Zuständedargestellt , diedurch das Configuration Server Model definiert sind. Der Status "Secure Network Beacon" zeigt z. B. an, ob der Knoten als Secure Network Beacon sendet oder nicht, der Status " Friend" zeigt an, ob die Funktion "Friend" unterstützt wird oder nicht, und die " AppKey List" enthält die Liste der Anwendungsschlüssel für Anwendungen, mit denen dieser Knoten verbunden ist. Das Configuration Server Model ermöglicht die Konfiguration solcher Statuswerte über das Configuration Client Model.
Zusammensetzungsdaten
Composition Data ist ein Statuswert, der zum Configuration Server Model gehört und immer in allen primären Elementen vorhanden ist. Er enthält Informationen über den Knoten, die darin enthaltenen Elemente und die von ihm unterstützten Modelle und Funktionen. Es ist ein zusammengesetzter Zustand, der aus einer oder mehreren Seiten mit Informationen besteht.
Anwendung
Mesh Anwendungen verwenden das mesh Netzwerk und eine Kombination aus einem oder mehreren Client-, Server- und/oder Controller-Modellen, umFunktionen auf Benutzerebene bereitzustellen, die in der Regel verwandte Gerätetypen betreffen. So könnte z. B. eine mesh Beleuchtungsanwendung das generische OnOff-Server-Modell und das generische OnOff-Client-Modell für die Steuerung einfacher Leuchten sowie das generische Level-Server-Modell und das generische Level-Client-Modell für die Steuerung dimmbarer Leuchten umfassen.
Zustand
Ein Zustand stellt den Zustand eines bestimmten Aspekts eines Elements zusammen mit einigen zugehörigen Verhaltensweisen dar. Ein einfacher Glühbirnenknoten, der nur ein primäres Element enthält, könnte z. B. das Modell "Generic OnOff" unterstützen, das den Status"Generic OnOff" enthält. Dieser Zustand definiert einen Wert von 0x00, der anzeigt, dass die Glühbirne derzeit AUS ist, und 0x01, was bedeutet, dass sie EIN ist.
Zustände können mehrdimensional sein. Der Status "Light HSL" kombiniert beispielsweise die Statuswerte für Farbton, Helligkeit und Sättigung in einem einzigen Status.
Kennlinie
Ein Merkmal ist ein Datentyp, der eine bestimmte Art von Eigenschaftsdaten darstellt, die von einem Server bereitgestellt werden. Bluetooth Merkmale sind sowohl für Bluetooth mesh als auch für Bluetooth Low Energy GATT relevant. Merkmale definieren einen Typ, ein Datenformat (z.B. uint8), die Einheiten, in denen der Wert einer Instanz des Merkmals ausgedrückt wird (z.B. Grad Celsius), und manchmal auch gültige Wertebereiche oder Aufzählungen, die für den Typ gültig sind.
Merkmale haben keinen zugehörigen Kontext und haben keine definierten Verhaltensweisen.
Eigenschaft
Eine Eigenschaft liefert den Kontext für die Interpretation einer konkreten Instanz eines Merkmals.
Das Merkmal"Temperatur 8" beispielsweise ist ein Typ, der eine Temperaturmessung darstellt, das Format uint8 hat und Einheiten von 0,5 Grad Celsius verwendet. Für dieses Merkmal sind mehrere Eigenschaften definiert, so dass es in verschiedenen Kontexten interpretiert werden kann. Die Eigenschaft "Present Indoor Ambient Temperature" gibt an, dass das Merkmal "Temperature 8" als eine Messung interpretiert werden sollte, die in Innenräumen vorgenommen wurde, während sich die Eigenschaft "Present Outdoor Ambient Temperature" auf Messungen bezieht, die im Freien vorgenommen wurden, und die Eigenschaft "Present Ambient Temperature" ist nicht spezifisch in Bezug auf die Art des Standorts, und dies wird von anderen Standorteigenschaften abgeleitet.
Merkmalswerte werden entweder als skalare Werte oder als nicht-skalare Werte betrachtet. In beiden Fällen muss der Rohwert einer Eigenschaft nach bestimmten Regeln interpretiert werden. Nicht skalare Werte werden einfach gemäß dem Formatfeld des zugehörigen Merkmals in dessen Definition interpretiert. Skalare Werte werden interpretiert, indem eine Gleichung auf jedes Feld des Merkmals angewendet wird, die eine Reihe von Parametern beinhaltet, die für jedes Feld des Merkmals einzeln definiert sind. Die verwendete Gleichung lautet:
R = C * M * 10d * 2b
wo:
- R = dargestellter Wert
- C = Rohwert
- M = Multiplikator
- d = dezimaler Exponent
- b = binärer Exponent
Zustände, die an mesh -Vorgängen beteiligt sind, werden aus dem Opcode der mesh -Nachricht abgeleitet, während auf Eigenschaften explizit durch eine Eigenschafts-ID in eigenschaftsbezogenen Nachrichten wie der Nachricht "Generic User Property Get" verwiesen wird.
Zustandsübergang
Der Wechsel von einem Zustand in einen anderen wird als State Transition bezeichnet. Verschiedene Dinge können einen Zustandsübergang auslösen. Eine "gesetzte Nachricht", die bei einem Element ankommt und verarbeitet wird, würde wahrscheinlich eine State Transition auslösen. Implementierungen können State Transitions als Folge von asynchronen Aktionen auslösen, wie z. B. das Auslösen einer Aktion durch einen lokalen Timer. Physikalische Interaktionen mit einem Gerät durch einen Benutzer, wie z. B. das Drücken einer Taste, könnten ebenfalls einen Zustandsübergang auslösen.
Zustandsübergänge können augenblicklich erfolgen oder eine gewisse Zeit in Anspruch nehmen. Die Zeit, die ein Zustandfür den Übergang von einem Zustandswert zu einem anderen Zielzustandswert benötigt, wird als Übergangszeit bezeichnet.
Bei einigen Meldungen kann eine Übergangsverzögerung angegeben werden, die eine Zeitspanne angibt, die vergehen muss, bevor ein Zustandsübergang beginnt.
Zustand Bindung
Modelle können Beziehungen zwischen einem Zustand und einem anderen definieren, wobei eine Änderung des ersten Zustands eine definierte Änderung im anderen Zustand hervorruft. Die Beziehung zwischen diesen beiden Zuständen und die Definition der Änderungen, die der eine im anderen auslösen kann, wird als State Binding bezeichnet. State Bindings können zwischen States im selben Modell oder in verschiedenen Modellen bestehen. Ein State kann an mehrere, andere States gebunden sein.
Zeit Zustand
Der Zeitstatus stellt die aktuelle Zeit in Bezug auf die aktuelle TAI-Zeit, das TAI-UTC-Delta und den lokalen Zeitzonen-Offset dar. Er spielt eine Schlüsselrolle bei der Ausführung von Szenen.
Zeitbehörde
Time Authority ist ein Bitfeld innerhalb des Time State. Wenn es auf 1 gesetzt ist, zeigt dies an, dass das Element Zugriff auf eine zuverlässige Zeitquelle hat. Bei der zuverlässigen Zeitquelle kann es sich um eine externe Quelle handeln, z. B. GPS oder NTP, oder um eine Echtzeituhr, die in das Element oder seinen übergeordneten Knoten integriert ist.
Mesh Zeitautorität
Ein Knoten kann verschiedene Rollen bei der Verbreitung der Zeit über mesh spielen, und die jeweilige Rolle, die ein Knoten spielt, wird durch den Status der Zeitrolle angegeben. Ein Knoten, der die Rolle der Mesh Time Authority spielt, veröffentlicht Zeitstatusmeldungen, verarbeitet aber keine empfangenen Zeitstatusmeldungen.
Mesh Zeit-Client
Ein Knoten kann verschiedene Rollen bei der Verbreitung der Zeit über mesh spielen, und die jeweilige Rolle, die ein Knoten spielt, wird durch den Status der Zeitrolle angegeben. Ein Knoten, der die Rolle des Mesh Time Client spielt, verarbeitet empfangene Zeitstatusmeldungen, veröffentlicht sie aber nicht.
Mesh Zeitrelais
Ein Knoten kann verschiedene Rollen bei der Verbreitung der Zeit über mesh spielen, und die jeweilige Rolle, die ein Knoten spielt, wird durch den Zeitrollenstatus angegeben. Ein Knoten, der die Rolle des Mesh Zeitrelais spielt, veröffentlicht sowohl Zeitstatusmeldungen als auch verarbeitet empfangene Zeitstatusmeldungen.
TAI
Die Internationale Atomzeit, der Zeitstandard, auf dem die Zeiten von Bluetooth mesh basieren.
TAI-UTC-Delta
Die Anzahl der Sekunden zwischen der TAI-Zeit und der UTC-Zeit
UTC
Coordinated Universal Time, ein allgemein verwendeter Standard zur Regelung von Uhren.
Nachricht
Die Kommunikation zwischen Knoten in einem mesh Netzwerk erfolgt durch das Senden von Nachrichten. Nachrichten sind mit Modellen verknüpft und arbeiten mit Zuständen. Einige Nachrichten erfordern eine Antwort und werden als bestätigte Nachrichten bezeichnet. Andere erfordern keine Antwort und werden als unbestätigte Nachrichten bezeichnet. Zu den üblichen Nachrichtentypen gehören solche, die den aktuellen Wert eines bestimmten Zustands in einem bestimmten Element anfordern, solche, die anfordern, dass der Wert eines bestimmten Zustands in einem bestimmten Element geändert wird, und solche, die den aktuellen Wert eines Zustands melden, möglicherweise als Reaktion auf den Zustandswert, der von einem anderen Knoten über eine bestätigte Nachricht angefordert wurde.
Zugriffsmeldung
Eine Zugriffsnachricht ist eine Klasse von mesh Nachrichten, die entweder von einem Modell an die Zugriffsschicht gesendet werden oder von einem Modell von der Zugriffsschicht empfangen werden. Access Messages befassen sich mit dem Melden oder Setzen von Zuständen.
Steuermeldung
Kontrollnachrichten sind eine Art von mesh Nachrichten, die sich mit dem Betrieb des mesh Netzwerks befassen. Beispiele sind Heartbeat-Nachrichten und Friend-Request-Nachrichten. Control Messages werden in der Upper Transport- und Lower Transport-Schicht des mesh Protokollstacks verarbeitet.
Bestätigte Meldung
Eine Acknowledged Message ist eine Klasse von mesh Access Message, auf die immer geantwortet werden muss. Antworten sind normalerweise Statusnachrichten. Wenn keine Antwort auf eine bestätigte Nachricht empfangen wird, muss der Sender die Nachricht erneut senden oder abbrechen. Wichtig ist, dass die Operationen, die mit bestätigten Nachrichten verbunden sind, idempotent sein müssen, um die Möglichkeit zu vermeiden, versehentlich mehrere Zustandsübergänge beim empfangenden Element zu verursachen, falls erneute Übertragungen erforderlich sind.
unbestätigte Nachricht
Eine unbestätigte Nachricht ist eine Klasse von mesh Zugriffsnachrichten, auf die keine Antwort erforderlich ist. Statusmeldungen sindein Beispiel für unbestätigte Meldungen.
Mesh Leuchtfeuer
Mesh Beacons sind Pakete, die periodisch von Knoten und unprovisionierten Geräten angekündigt werden. Die mesh Beacon-Nutzlast ist in einem Bluetooth GAP-AD-Typ enthalten, dem Mesh Beacon-AD-Typ. Weitere Informationen zu AD-Typen im Allgemeinen finden Sie in der Bluetooth Core Specification Supplement.
Derzeit sind zwei Arten von mesh Beacons definiert: der Unprovisioned Device Beacon und der Secure Network Beacon.
Der "Unprovisioned Device Beacon" ermöglicht es einem Provisioner, das Gerät zu erkennen und den Provisionierungsvorgang zu starten.
Der Secure Network Beacon wird verwendet, um den Sicherheitsstatus eines Knotens in Bezug auf ein bestimmtes Teilnetz anzuzeigen, in dem der Knoten Mitglied ist, und zwar in Bezug auf die Sicherheitsverfahren IV Update und Key Refresh.
Statusmeldung
Eine Statusnachricht ist eine Klasse von mesh Nachrichten, die dazu dient, den aktuellen Wert eines bestimmten Zustands zu übermitteln. Sie kann als Antwort auf eine Acknowledged Message oder als Reaktion auf eine lokal ausgelöste Zustandsänderung oder zeitgesteuert gesendet werden.
Idempotenz
Eine Operation, die bei einmaliger oder mehrfacher Ausführung das gleiche Ergebnis liefert, wird als idempotent bezeichnet. Mesh Nachrichten müssen mit idempotenten Operationen verbunden sein.
Veröffentlichen / Abonnieren
Nachrichten, die über das Netzwerk mesh gesendet und empfangen werden, entsprechen einem Publish-Subscribe-Modell der Kommunikation.
Das Senden von Nachrichten von einem Knoten an eine Gruppe von einem oder mehreren anderen Knoten wird als Veröffentlichen bezeichnet. Das Konfigurieren eines Knotens für den Empfang bestimmter Nachrichten wird als Subscribing bezeichnet.
Knoten können unaufgefordert Nachrichten veröffentlichen oder Nachrichten als Antwort auf andere Nachrichten veröffentlichen.
Unerwünschte Nachrichten können an eine Unicast-Adresse, Gruppenadresse oder virtuelle Adresse veröffentlicht werden. Die Adresse, an die Nachrichten veröffentlicht werden, wird als Veröffentlichungsadresse bezeichnet. Antwortnachrichten werden immer an die Quelladresse der Nachricht veröffentlicht, an die eine Antwort gesendet wird.
Die Liste der Veröffentlichungsadressen, die ein Knoten abonniert hat, wird in einer Abonnementliste gespeichert, die Teil des Konfigurationsservermodells ist. Die Adressen in der Abonnementliste werden verwendet, um empfangene Nachrichten auszuwählen oder herauszufiltern.
Server
In einem mesh Netzwerk implementiert ein Element, bei dem es sich um einen Server handelt, ein Servermodell und verfügt über ein oder mehrere Zustandselemente, die Zustandsübergängen unterworfen sein können. Zustandsübergänge können durch von Clients empfangene Nachrichten ausgelöst werden.
Kunde
In einem mesh Netzwerk ist ein Client ein Element, das ein Client-Modell implementiert und das Nachrichten an einen Server sendet. Im Gegensatz zu einem Server hat ein Client keinen Status.
Steuerungsmodell
Ein Steuermodell, das von einem Element implementiert wird, verleiht ihm die Fähigkeit, sowohl als Client zu agieren, mit der Möglichkeit, mit anderen, kompatiblen Servern zu kommunizieren, als auch als Server, der mit anderen, kompatiblen Clients kommunizieren kann. Kontrollmodelle können eine Kontrolllogik enthalten, die die Regeln für die Koordination der Interaktionen zwischen dem Kontrollmodell und anderen Client- und Servermodellen festlegt.
Träger
Ein Bearer ist ein Kommunikationssystem oder Protokollstapel, der für den Transport von Daten zwischen Endpunkten im Auftrag eines anderen Systems oder Protokollstapels verwendet wird. Der Bearer wird in der Regel so beschrieben oder dargestellt, dass er unter einem anderen Stack sitzt, der über ihm sitzt, und diesem Dienste zur Verfügung stellt. Als Beispiel könnte das Wireless Application Protocol, eine frühe mobile Internet-Technologie, über eine Auswahl von mehreren verschiedenen Trägern verwendet werden, einschließlich SMS und GPRS. Bluetooth mesh kann über einen von zwei Trägern verwendet werden, den Advertising Bearer oder den GATT Bearer.
Werbeträger
Einer der verfügbaren Bearer im Bluetooth mesh Stack. Dieser Bearer nutzt Bluetooth GAP-Advertising und Scanning, um Nachrichten zu empfangen und Nachrichten von / zu anderen Knoten zu senden.
GATT-Träger
Einer der verfügbaren Bearer im Bluetooth mesh Stack. Dieser Bearer ermöglicht es einem Gerät, das den Advertising Bearer nicht unterstützt, über ein als Proxy-Protokoll bekanntes Protokoll indirekt mit Knoten eines mesh Netzwerks zu kommunizieren, die diesen unterstützen. Ein Knoten, der in der Lage ist, mesh Nachrichten zwischen Knoten, die den Advertising Bearer verwenden, und Knoten, die den GATT Bearer verwenden, weiterzuleiten, wird als Proxy-Knoten bezeichnet.
Proxy-Protokoll-PDUs werden von einem GATT-Bearer-Client gesendet, indem sie in eine GATT-Charakteristik im Proxy-Knoten geschrieben werden, die Mesh Proxy Data In characteristic genannt wird. PDUs werden von einem GATT Bearer Client als Benachrichtigungsnachrichten empfangen, die sich auf das GATT Mesh Proxy Data Out Merkmal beziehen.
Mesh Bereitstellungsdienst
Der Mesh Provisioning Service ist ein GATT-Dienst, der von einem Proxy-Knoten implementiert wird und diejenigen Proxy-Protokoll-PDUs unterstützt, die sich mit Provisioning befassen.
Mesh Proxy-Dienst
Der Mesh Proxy-Dienst ist ein GATT-Dienst, der von einem Proxy-Knoten implementiert wird und die Proxy-Protokoll-PDUs unterstützt, die nicht die Bereitstellung betreffen.
Proxy-Client
Der Mesh Proxy-Dienst definiert, wie alle GATT-Dienste, eine Client-Rolle und eine Server-Rolle. Ein Bluetooth Gerät, das eine Verbindung zu einem Knoten herstellt und mit diesem interagiert, der den Mesh Proxy-Dienst implementiert, wird als Proxy-Client in Bezug auf seine Interaktion mit dem anderen Gerät bezeichnet, das in diesem Zusammenhang als Proxy-Server bezeichnet wird.
Proxy-Server
Der Mesh Proxy-Dienst definiert, wie alle GATT-Dienste, eine Client-Rolle und eine Server-Rolle. Ein Bluetooth mesh Proxy-Knoten, der den Mesh Proxy-Dienst implementiert, wird in Bezug auf seine Interaktion mit einem angeschlossenen GATT-Client, der in diesem Zusammenhang als Proxy-Client bezeichnet wird, als Proxy-Server bezeichnet.
Proxy-Konfigurationsmeldung
Proxy-Clients können eine feine Kontrolle darüber ausüben, welchen Netzwerkverkehr sie genau empfangen, indem sie einen Filter konfigurieren, den der Proxy-Server anwendet. Proxy-Konfigurationsnachrichten werden zwischen einem Proxy-Client und einem Proxy-Server ausgetauscht und ermöglichen die Konfiguration des Proxy-Filters.
Proxy-Filter
Proxy-Clients können steuern, welchen Netzwerkverkehr sie empfangen, indem sie einen Filter konfigurieren, den der Proxy-Server anwendet. Dieser Filter wird als Proxy-Filter bezeichnet. Filter haben die Form von Annahmelisten und Ablehnungslisten und geben jeweils Listen von Zieladressen an. Die Adressen in der Liste können eine beliebige Mischung der unterstützten Adresstypen sein, nämlich Unicast-, Gruppen- oder virtuelle Adressen. Nachrichten mit Zieladressen, die nicht in einem Akzeptlistenfilter enthalten sind, werden vom Proxy-Server-Filter verworfen. Ebenso werden Nachrichten mit Zieladressen, die in einem Reject-Listen-Filter enthalten sind, verworfen. Proxy-Konfigurationsnachrichten werden zwischen dem Proxy-Client und dem Proxy-Server ausgetauscht und ermöglichen die Konfiguration des Proxy-Filters. .
Identität des Knotens
Node Identity (Knotenidentität) ist der Name eines Feldes, das im Feld Service Data (Dienstdaten) innerhalb von Werbepaketen enthalten ist, die von Bluetooth mesh Proxy-Knoten gesendet werden. Sein Wert wird aus einer Kombination aus der Unicast-Adresse des Proxy-Knotens und einer Netzwerkkennung abgeleitet, z. B. der Netzwerk-ID für eines der Subnetze, in denen er aktiviert ist.
Herzschlag
Knoten können so konfiguriert werden, dass sie in regelmäßigen Abständen eine Nachricht, die so genannte Heartbeat-Nachricht, senden. Der Zweck der Heartbeat-Nachricht ist es, anderen Knoten anzuzeigen, dass der Knoten, der die Heartbeat-Nachricht sendet, noch aktiv ist, und es zu ermöglichen, seine Entfernung zum Empfänger zu bestimmen, und zwar in Bezug auf die Anzahl der Sprünge, die für die Zustellung der Heartbeat-Nachricht erforderlich sind.
Das Heartbeat-Verhalten wird über das Configuration Server Model konfiguriert. Unter anderem ist es möglich, die Adresse zu konfigurieren, an die Heartbeat-Nachrichten gesendet werden müssen (typischerweise eine Gruppenadresse), die Häufigkeit, mit der eine Heartbeat-Nachricht gesendet werden muss, und ob Heartbeat-Nachrichten unbegrenzt oder für eine begrenzte und festgelegte Anzahl von Malen gesendet werden sollen.
Heartbeat-Nachrichten enthalten und behalten unverändert die anfängliche TTL, die vom Heartbeat-Absender eingestellt wurde. Dies ermöglicht es den Empfängern festzustellen, wie viele Hops es gedauert hat, bis die Nachricht ankam, und daher Nachrichten zu optimieren, die sie anschließend an den Heartbeat-Quellknoten adressieren, indem sie die TTL auf einen Wert setzen, der nicht höher als nötig ist.
Knoten können so konfiguriert werden, dass sie Heartbeat-Nachrichten senden, wenn bestimmte Knotenfunktionen aktiviert oder deaktiviert werden.
Freundschaftsanfrage
Eine Freundschaftsanfrage ist eine Art von Kontrollnachricht, die von einem Low-Power-Knoten gesendet wird, um die Suche nach einem Freund zu initiieren.
Mehr Daten
MD ist ein Akronym, das für "More Data" (mehr Daten) steht und ist der Name eines einzelnen Bitfeldes, das in PDUs der Zugriffsschicht zu finden ist, um einem Low Power Node (LPN ) anzuzeigen, dass der Freund, der die Nachricht gesendet hat, mindestens eine weitere Nachricht zu senden hat.
Szene
Eine Szene ist eine gespeicherte Sammlung von Zuständen, die durch den Empfang einer bestimmten Nachricht oder zu einem bestimmten Zeitpunkt abgerufen und aktuell gemacht werden können. Szenen werden durch eine 16-Bit-Szenennummer identifiziert, die innerhalb des Netzwerks mesh eindeutig ist.
Mit Hilfe von Szenen können ganze Umgebungen, wie z. B. ein Raum, in einer einzigen, koordinierten Aktion in einen vordefinierten, ergänzenden Zustand geschaltet werden, wie z. B. alle mesh Knoten, die Beleuchtung, die Heizung, die Klimaanlage und so weiter.
Szene Register
Das Szenenregister ist ein Array mit 17 gespeicherten Szenennummern, wobei das erste Array-Mitglied an der Indexposition Null die Szenennummer der aktuell aktiven Szene oder den Wert 0x0000 enthält, wenn keine Szene aktiv ist. Die anderen Arrayelemente enthalten die Szenennummer einer gespeicherten Szene oder den Wert 0x0000, wenn keine Szene in diesem Arrayelement des Szenenregisters gespeichert ist.
Sicherheitstasten
Die Spezifikation Bluetooth mesh definiert zwei Haupttypen von Sicherheitsschlüsseln; Netzwerkschlüssel (NetKeys) und Anwendungsschlüssel (AppKeys) sowie einen speziellen Typ von AppKey, der als Geräteschlüssel (DevKeys) bezeichnet wird.
Netzwerkschlüssel (NetKey)
Ein NetKey sichert die Kommunikation auf der Netzwerkschicht und wird von allen Knoten im Netzwerk oder allen Knoten in einem bestimmten Subnetz gemeinsam genutzt. Der Besitz eines bestimmten NetKey definiert die Zugehörigkeit zu einem bestimmten mesh Netzwerk oder Subnetz.
Anwendungsschlüssel (AppKey)
Ein AppKey sichert die Kommunikation auf der Zugriffsschicht und wird von allen Knoten, die an einer bestimmten mesh Anwendung teilnehmen, gemeinsam genutzt. Ein Provisioner ist für die Erzeugung und Verteilung von AppKeys verantwortlich.
Geräteschlüssel (DevKey)
Jeder Knoten verfügt über einen eindeutigen DevKey. Nur der Knoten, zu dem der DevKey gehört, sowie ein Provisioner kennen den DevKey, der zur Sicherung der Kommunikation zwischen dem Knoten und dem Provisioner verwendet wird.
Netzwerk-ID
Eine Netzwerk-ID ist ein eindeutiger, öffentlicher Bezeichner, der von einem Netzwerkschlüssel abgeleitet ist. Ihr Zweck ist es, das schnelle und effiziente Nachschlagen von Netzwerkschlüsseln für die Verwendung bei Authentifizierungs- und Verschlüsselungsvorgängen zu ermöglichen.
Taste Index
NetKeys und AppKeys sind zu lang, um in Einzelsegmentnachrichten transportiert zu werden. Um die Nachrichtenübermittlung so effizient wie möglich zu gestalten, wird den Schlüsseln ein weltweit eindeutiger 12-Bit-Indexwert zugewiesen, der als Schlüsselindex bezeichnet wird und als kurze Kennung für den Schlüssel dient. Nachrichten enthalten Schlüsselindexwerte, die mit von Konfigurations-Clients verwalteten Schlüssellisten abgeglichen werden können.
Taste Bindungen
Anwendungsschlüssel können nur innerhalb eines einzigen Netzwerks verwendet werden. Daher gibt es eine Zuordnung zwischen einem Applikationsschlüssel und einem Netzwerkschlüssel. Diese Zuordnung wird als Key Binding bezeichnet.
IV Index
Der IV-Index (Initialisierungsvektor) ist ein 32-Bit-Wert, der von allen Knoten in einem Netzwerk gemeinsam genutzt wird. Sein Zweck ist die Bereitstellung von Entropie (Zufälligkeit) bei der Berechnung von Nachrichten-Nonce-Werten. Er wird durch die IV-Update-Prozedur aktualisiert.
Nonce
Ein Nonce ist eine Nummer, die nur einmal verwendet werden darf. In der Kommunikationssicherheit kann eine Nonce als Absicherung gegen Replay-Attacken verwendet werden, da Kopien alter Kommunikationen nicht unerkannt wiederverwendet werden können. In einem Bluetooth mesh Netzwerk wird bei jeder Verschlüsselung einer Nachricht ein neuer Nonce-Wert vergeben. Die Nonce besteht aus verschiedenen Teilen, darunter eine Sequenznummer und ein Wert, der als IV-Index bezeichnet wird. Der IV-Index wird bei Bedarf geändert, um sicherzustellen, dass Nonce-Werte nicht umgeschlagen und wiederholt werden können. Siehe die IV-Update-Prozedur.
IV Aktualisierung
Nonce-Werte müssen eindeutig sein. Die Sequenznummer innerhalb einer Nonce darf daher nicht umbrochen werden. Diesem Zweck dient der IV-Index. Immer wenn ein Knoten feststellt, dass er Gefahr läuft, seine Sequenznummernwerte innerhalb von maximal 96 Stunden zu verbrauchen, oder wenn er feststellt, dass ein anderer Knoten in dieser Situation ist, initiiert er die IV-Update-Prozedur, die bewirkt, dass ein neuer IV-Index-Wert ausgewählt und für die nachfolgende Kommunikation verwendet wird. Während der Ausführung der IV-Update-Prozedur werden sowohl der alte als auch der neue IV-Index-Wert akzeptiert.
Taste Refresh
Wenn die Sicherheit eines oder mehrerer Netzwerk- oder Anwendungsschlüssel eines mesh Netzwerks als kompromittiert oder gefährdet angesehen wird, wird das Verfahren zur Schlüsselaktualisierung verwendet, um Ersatzschlüssel zu erzeugen und zu verteilen. Ein Hauptbeispiel für die Gefährdung von Schlüsseln ist das Entfernen eines Knotens aus dem Netzwerk. Wenn z. B. eine mesh Leuchte defekt war und entsorgt wurde, könnten die darin enthaltenen Schlüssel theoretisch abgefangen und in einem so genannten "Mülleimerangriff" verwendet werden. Um dem Risiko von Mülleimer-Angriffen zu begegnen, wird ein Verfahren zum Entfernen von Knoten (Node Removal) definiert. Das Entfernen eines Knotens beinhaltet das Auslösen der Schlüssel-Aktualisierungsprozedur.
Netzwerk Nachrichten-Cache
Alle Knoten müssen einen Cache implementieren, der alle zuletzt gesehenen Nachrichten speichert. Wenn eine Nachricht bei der Verarbeitung durch die Netzwerkschicht festgestellt wird, dass sie sich im Netzwerknachrichten-Cache befindet, wird sie sofort verworfen. Dies trägt zur Optimierung der Leistung und Energienutzung des Knotens und des mesh Netzwerks insgesamt bei.
Bereitstellen
"Provisioning" ist der Prozess, durch den ein Gerät zu einem mesh Netzwerk hinzugefügt wird. Nachdem ein Gerät provisioniert wurde, wird es als Knoten bezeichnet.
Das Provisioning umfasst einen fünfstufigen Prozess:
Schritt 1. Befeuerung
Ein unprovisioniertes Gerät, das sich noch nicht in der Bereitstellung befindet, zeigt seine Bereitschaft zur Bereitstellung an, indem es als Unprovisioned Device Beacon wirbt.
Schritt 2. Einladung
In diesem Schritt verwendet der Provisioner einen verfügbaren Bearer, um eine Einladung in Form einer Provisioning Invite PDU an das zu provisionierende Gerät zu senden. Das Beaconing-Gerät antwortet mit Informationen über sich selbst in einer Provisioning Capabilities PDU.
Schritt 3. Austausch von öffentlichen Schlüsseln
Der Provisioner und das Gerät, das provisioniert werden soll, tauschen ihre öffentlichen Schlüssel aus, entweder direkt oder über eine Out Of Band (OOB)-Methode.
Schritt 4. Authentifizierung
Während des Authentifizierungsschritts gibt das bereitzustellende Gerät eine zufällige, ein- oder mehrstellige Zahl in irgendeiner Form an den Benutzer aus, wobei es eine seinen Fähigkeiten entsprechende Aktion verwendet. Zum Beispiel könnte es eine LED mehrmals aufblinken lassen. Der Benutzer gibt die vom neuen Gerät ausgegebene(n) Ziffer(n) in den Provisioner ein und es findet ein kryptografischer Austausch zwischen den beiden Geräten statt, bei dem die Zufallszahl einbezogen wird, um die Authentifizierung jedes der beiden Geräte gegenüber dem anderen abzuschließen.
Schritt 5. Verteilung der Provisioning-Daten
Nach erfolgreicher Authentifizierung wird ein Sitzungsschlüssel generiert und verwendet, um die anschließende Verteilung der Daten zu sichern, die für den Abschluss des Bereitstellungsprozesses erforderlich sind, einschließlich des NetKey.
Bereitsteller
Ein Provisioner ist ein Gerät, das in der Lage ist, ein anderes Gerät zum Netzwerk hinzuzufügen. Als solches ist es für die Erzeugung und Verteilung von NetKeys verantwortlich. Es wird erwartet, dass es sich bei Provisionern typischerweise um Smartphone- oder Tablet-Anwendungen handelt. Es sind jedoch auch andere Implementierungen möglich.
Netzwerk-Schnittstelle
Die mesh Netzwerkschicht unterstützt den Empfang und das Senden von Nachrichten von / zu einer Vielzahl von verschiedenen Trägern. Einige Knoten unterstützen mehrere Bearer-Typen, wie z. B. die Unterstützung sowohl des Advertising Bearer als auch des GATT Bearer. Die Netzwerkschicht kann mehrere Instanzen eines bestimmten Bearer-Typs haben, wie z. B. zur Unterstützung mehrerer GATT-Client-Verbindungen. Eine Instanz eines Trägers ist über eine Netzwerkschnittstelle mit der Netzwerkschicht verbunden.
Eine spezielle Netzwerkschnittstelle, die lokale Schnittstelle, ist definiert und ermöglicht das Senden von Nachrichten zwischen Elementen im selben Knoten.
Eingangsfilter
Eine Instanz einer Netzwerkschnittstelle hat einen zugehörigen Eingangsfilter, der entscheidet, ob eine Nachricht, die über einen bestimmten Bearer empfangen wird, an die Netzwerkschicht zugestellt werden soll oder nicht.
Außenfilter
Eine Instanz einer Netzwerkschnittstelle hat einen zugehörigen Ausgangsfilter, der entscheidet, ob eine von der Netzwerkschicht empfangene Nachricht an einen Bearer weitergeleitet oder stattdessen verworfen werden soll.
Systemarchitektur
Modellschicht
Die Modellschicht befasst sich mit der Implementierung von Modellen und damit mit der Implementierung von Verhaltensweisen, Nachrichten, Zuständen, Zustandsbindungen usw., wie sie in einer oder mehreren Modellspezifikationen definiert sind.
Grundlage Modellschicht
Der Foundation Model Layer ist für die Implementierung derjenigen Modelle zuständig, die sich mit der Konfiguration und Verwaltung eines mesh Netzwerks befassen.
Zugriffsschicht
Die Zugriffsschicht des Protokollstapels Bluetooth mesh ist dafür verantwortlich zu definieren, wie Anwendungen die obere Transportschicht nutzen können. Dazu gehören die Definition des Formats der Anwendungsdaten, die Definition und Steuerung des Ver- und Entschlüsselungsprozesses, der in der oberen Transportschicht durchgeführt wird, und die Überprüfung, ob die von der oberen Transportschicht empfangenen Daten für das richtige Netzwerk und die richtige Anwendung bestimmt sind, bevor die Daten den Stack hinaufgeleitet werden.
Obere Transportschicht
Die obere Transportschicht des Protokollstapels Bluetooth mesh ist für die Verschlüsselung, Entschlüsselung und Authentifizierung von Anwendungsdaten zuständig, die zur und von der Zugriffsschicht übertragen werden. Sie ist auch für die Transportkontrollnachrichten zuständig, die intern generiert und zwischen den oberen Transportschichten auf verschiedenen Peer-Knoten gesendet werden. Dazu gehören Nachrichten in Bezug auf Freundschaft und Heartbeats.
Untere Transportschicht
Die untere Transportschicht nimmt PDUs von der oberen Transportschicht und sendet sie an die untere Transportschicht auf einem Peer-Gerät. Bei Bedarf führt sie eine Segmentierung und Neuzusammensetzung der PDUs durch. Bei längeren Paketen, die nicht in eine einzelne Transport-PDU passen, führt die untere Transportschicht eine Segmentierung durch, wobei die PDU in mehrere Transport-PDUs aufgeteilt wird. Die empfangende untere Transportschicht auf dem anderen Gerät fügt die Segmente wieder zu einer einzelnen PDU der oberen Transportschicht zusammen und leitet diese den Stapel hinauf.
Netzwerkschicht
Die Netzwerkschicht definiert die verschiedenen Nachrichtenadresstypen und ein Netzwerknachrichtenformat, das den Transport von PDUs der Transportschicht durch die Trägerschicht ermöglicht. Sie kann mehrere Trägerschichten unterstützen, von denen jede mehrere Netzwerkschnittstellen haben kann, einschließlich der lokalen Schnittstelle, die für die Kommunikation zwischen Elementen verwendet wird, die Teil desselben Knotens sind. Die Netzwerkschicht bestimmt, über welche Netzwerkschnittstelle(n) Nachrichten ausgegeben werden sollen. Auf Nachrichten, die von der Trägerschicht ankommen, wird ein Eingangsfilter angewendet, um zu bestimmen, ob sie zur weiteren Verarbeitung an die Netzwerkschicht geliefert werden sollen oder nicht. Ausgangsnachrichten werden einem Ausgangsfilter unterzogen, um zu steuern, ob sie verworfen oder an die Vermittlungsschicht zugestellt werden sollen oder nicht.
Die Funktionen " Relay" und " Proxy" können von der Netzwerkschicht implementiert werden.
Trägerschicht
Der Bearer Layer definiert, wie PDUs zwischen Knoten unter Verwendung eines zugrunde liegenden Bluetooth Low Energy Stacks transportiert werden. Derzeit sind zwei Bearer definiert, der Advertising Bearer und der GATT Bearer.
Grenzwerte
32767 Elemente in einem mesh Netzwerk
127 Sprünge können durch eine mesh Nachricht maximal gemacht werden
16383 Gruppenadressen in einem mesh Netzwerk
70 Billionen virtuelle Adressen in einem mesh Netzwerk
340 Unidezillionen mesh Netzwerke
4096 Anwendungen in einem mesh Netzwerk
4096 Subnetze in einem mesh Netzwerk
65535 Szenen in einem mesh Netzwerk
Ein Knoten, der länger als 48 Wochen von einem Netzwerk entfernt ist, muss neu provisioniert werden