Zigbeeは、 IEEE 802.15.4をベースとした、一連の高度な通信プロトコルの仕様です。小型で低消費電力のデジタル無線機を使用してパーソナルエリアネットワークを構築するために使用されます。例えば、ホームオートメーション、医療機器のデータ収集、その他低消費電力・低帯域幅のニーズに対応するために設計されており、無線接続を必要とする小規模プロジェクト向けに開発されています。したがって、Zigbeeは、低消費電力、低データレート、近距離(つまりパーソナルエリア)無線アドホックネットワークの標準規格と言えます。
Zigbee規格で定義されている技術は、 Bluetoothなどの他の無線パーソナルエリアネットワーク(WPAN)や、 Wi-Fi(またはLi-Fi )などのより一般的な無線ネットワーク規格よりも、シンプルで低コストになるように設計されています。用途としては、無線照明スイッチ、家庭用エネルギーモニター、交通管理システム、その他、短距離・低速の無線データ転送を必要とする民生機器や産業機器などが挙げられます。
消費電力が低いため、送信距離は電力出力と環境特性に応じて、見通し距離で10 ~ 100 メートル (33 ~ 328フィート)に制限されます。 [ 1 ] Zigbee デバイスは、中間デバイスのメッシュ ネットワークを介してデータを通過させることで、より遠くのデバイスにデータを送信し、長距離にわたってデータを送信できます。Zigbee は通常、長いバッテリー寿命と安全なネットワークを必要とする低データレートのアプリケーションで使用されます。(Zigbee ネットワークは 128 ビットの対称暗号化キーで保護されています。) Zigbee には最大で定義済みのレートがあります。 250 kbit/sは 、センサーや入力デバイスからの断続的なデータ送信に最適です。
Zigbeeは1998年に構想され、2003年に標準化され、2006年に改訂されました。その名前は、ミツバチが巣に戻った後に見せる尻振りダンスに由来しています。 [ 2 ]
Zigbeeは、低消費電力の無線メッシュネットワーク規格であり、低遅延通信を実現し、無線制御および監視アプリケーションにおけるバッテリー駆動デバイスを対象としています。Zigbeeチップは通常、無線機やマイクロコントローラに統合されています。
Zigbeeは、産業、科学、医療(ISM)無線帯域で動作し、2.4 GHz 帯は、世界中のほとんどの地域で主に照明やホームオートメーション機器に使用されています。商用電力計測機器や医療機器のデータ収集機器は、多くの場合、サブGHz帯の周波数を使用します。北米、オーストラリア、イスラエルでは902~928 MHz 、ヨーロッパでは868~870 MHz、中国では779~787 MHzです。データレートは、サブGHz帯で約20 kbit/s 、 2.4 GHz帯で約250 kbit/sと幅があります。
Zigbeeは、低速無線パーソナルエリアネットワーク(WPAN)のIEEE 802.15.4規格で定義されている物理層とメディアアクセス制御に基づいています。Zigbee仕様には、ネットワーク層、アプリケーション層、Zigbeeデバイスオブジェクト(ZDO)とメーカー定義のアプリケーションオブジェクト。ZDOは、デバイスの役割の追跡、ネットワーク参加要求の管理、デバイスの検出とセキュリティ保護などのタスクを担当します。
Zigbeeネットワーク層は、スター型、ツリー型、および汎用メッシュ型のネットワークトポロジーをネイティブにサポートしています。すべてのネットワークには、1台のコーディネーターデバイスが必要です。スター型ネットワークでは、コーディネーターは中央ノードでなければなりません。ツリー型とメッシュ型では、Zigbeeルーターを使用してネットワーク層での通信を拡張できます。Zigbeeのもう1つの特徴は、安全な通信を実行するための機能です。これは、暗号鍵の確立と転送を保護し、フレームを暗号化し、デバイスを制御するものです。このために、IEEE 802.15.4で定義されている基本的なセキュリティフレームワークに基づいています。
Zigbee スタイルの自己組織化アドホックデジタル無線ネットワークは1990 年代に考案されました。IEEE 802.15.4-2003 Zigbee 仕様は 2004 年 12 月 14 日に承認されました。 [ 3 ] Connectivity Standards Alliance (旧 Zigbee Alliance) は、 ZigBee 2004 仕様として知られる仕様 1.0 を 2005 年 6 月 13 日に公開しました。
2006 年 9 月、Zigbee 2006 仕様が発表され、2004 スタックは廃止されました[ 4 ]。2006仕様では、2004 スタックで使用されていたメッセージとキーと値のペアの構造がクラスタ ライブラリに置き換えられました。このライブラリは、スマート エネルギー、ホーム オートメーション、およびなどのクラスタと呼ばれるグループの下に整理された、標準化されたコマンド、属性、およびグローバル アーティファクトのセットです。Zigbee Light Link。 [ 5 ]
2017 年 1 月に、Connectivity Standards Alliance はライブラリ名をDotdotに変更し、絵文字 ( ||: )で表される新しいプロトコルとして発表しました。また、インターネット プロトコル[ 6 ]を使用して他のネットワーク タイプでも動作し、 Threadなどの他の標準と相互接続することも発表しました。[ 7 ]発表以来、Dotdot はほぼすべての Zigbee デバイスのデフォルトのアプリケーション レイヤーとして機能しています。[ 8 ]
Zigbee Pro(Zigbee 2007とも呼ばれる)は2007年に最終決定されました。[ 9 ] Zigbee Proデバイスは従来のZigbeeネットワークに参加して動作することができ、その逆も同様です。ルーティングオプションの違いにより、Zigbee Proデバイスは従来のZigbeeネットワーク上で非ルーティングZigbeeエンドデバイス(ZED)になる必要があり、従来のZigbeeデバイスはZigbee Proネットワーク上でZEDになる必要があります。[ 10 ] 2.4GHz ISMバンドを使用して動作し 、サブGHzバンドを追加します。[ 11 ]
Zigbeeプロトコルは、低消費電力と低データレートを許容する組み込みアプリケーション向けに設計されています。結果として得られるネットワークは消費電力が非常に少なく、個々のデバイスは認証に合格するために少なくとも2年間のバッテリー寿命が必要です。[ 12 ] [ 13 ]
代表的な応用分野は以下のとおりです。
Zigbeeはノード間の移動性が高い状況には適していません。したがって、高いデータレートと高い移動性が必要とされる戦場の戦術アドホック無線ネットワークには適していません。[ 18 ]
最初のZigbeeアプリケーションプロファイルであるホームオートメーションは、2007年11月2日に発表されました。その後、追加のアプリケーションプロファイルが公開されています。
のZigbee Smart Energy 2.0仕様は、エネルギーと水の供給と使用を監視、制御、通知、自動化するためインターネット プロトコルベースの通信プロトコルを定義しています。これは、Zigbee Smart Energy バージョン 1 仕様の拡張版です。 [ 19 ]プラグイン電気自動車の充電、設置、構成、ファームウェアのダウンロード、プリペイド サービス、ユーザー情報とメッセージング、負荷制御、デマンド レスポンスなどのサービス。開発には、以下のパートナー企業が含まれています。
Zigbee Smart Energyは、 6LoWPANヘッダー圧縮を使用してIEEE 802.15.4上で標準IPv6トラフィックをルーティングするネットワーク層であるZigbee IPに依存しています。 [ 20 ] [ 21 ]
2009年、Radio Frequency for Consumer Electronics Consortium (RF4CE) と Connectivity Standards Alliance (旧 Zigbee Alliance) は、無線周波数リモコンの標準規格を共同で提供することに合意しました。Zigbee RF4CE は、テレビやセットトップボックスなど、幅広い家電製品向けに設計されています。既存のリモコンソリューションに比べて、通信の充実と信頼性の向上、機能と柔軟性の強化、相互運用性、見通しの制約がないなど、多くの利点が約束されています。[ 22 ] Zigbee RF4CE 仕様は、Zigbee 機能のサブセットを使用することで、家電製品のリモコンなど、低コストのデバイスのより小さなメモリ構成で動作できるようにしています。
Zigbeeで使用されている無線設計はアナログ段が少なく、可能な限りデジタル回路を使用しています。無線とマイクロコントローラを1つのモジュールに統合した製品も入手可能です。[ 23 ]
Zigbee 認証プロセスでは、物理層の要件を完全に検証します。同じ検証済み半導体マスクセットから派生したすべての無線機は、同じ RF 特性を持ちます。Zigbee 無線機は、電力と帯域幅に関して非常に厳しい制約があります。認証されていない物理層が誤動作すると、Zigbee ネットワーク上の他のデバイスの消費電力が増加する可能性があります。そのため、無線機は 802.15.4-2006 規格の第 6 項で示されたガイダンスに従ってテストされます。[ 24 ]
この規格では、免許不要の 2.4 ~ 2.4835 GHz [ 25 ] (全世界)、902 ~ 928 MHz (アメリカ大陸およびオーストラリア)、868 ~ 868.6 MHz (ヨーロッパ) のISM バンド での動作を規定しています。2.4 GHz バンドには 16 のチャネルが割り当てられ、5 MHz 間隔で配置されていますが、各チャネルは 2 MHz の帯域幅しか使用しません 。無線機は、変調器へのデジタル ストリームによって管理される 直接拡散スペクトル符号化を使用します。868 MHz および 915 MHz バンドではバイナリ位相シフト キーイング(BPSK) が使用され、2.4 GHz バンドでは、シンボルごとに 2 ビットを送信するオフセット直交位相シフト キーイング(OQPSK) が使用されます。
生の無線データレートは、2.4 GHz 帯域ではチャネルあたり250 kbit/s、915 MHz 帯域ではチャネルあたり40 kbit/s、868 MHz 帯域では20 kbit/sです。パケットのオーバーヘッドと処理の遅延のため、実際のデータスループットは最大指定ビットレートよりも低くなります。2.4 GHz の屋内アプリケーションの場合、伝送距離は、建築材料、貫通する壁の数、地理的な場所で許可される出力電力に応じて 10 ~ 20 m です。[ 26 ]無線機の出力電力は、一般的に 0 ~ 20 dBm (1 ~ 100 mW) です。
Zigbeeデバイスには3つのクラスがあります。
現在のZigbeeプロトコルは、ビーコン対応ネットワークとビーコン非対応ネットワークの両方をサポートしています。
ビーコン非対応ネットワークでは、スロットなしのCSMA/CAチャネル アクセス メカニズムが使用されます。このタイプのネットワークでは、Zigbee ルータの受信機が常時アクティブになっているため、追加の電力が必要になります。[ 29 ]ただし、これにより、一部のデバイスが常時受信し、他のデバイスが必要に応じて送信する異種ネットワークが可能になります。異種ネットワークの典型的な例は、ワイヤレス ライト スイッチです。ランプの Zigbee ノードは、ランプへの主電源から確実に電力が供給されているため、常に受信できますが、バッテリー駆動のライト スイッチは、スイッチがオンになるまでスリープ状態のままです。この場合、スイッチが起動し、ランプにコマンドを送信し、確認応答を受信して、スリープ状態に戻ります。このようなネットワークでは、ランプ ノードは、Zigbee コーディネーターでなくても、少なくとも Zigbee ルータになります。スイッチ ノードは通常、Zigbee エンド デバイスです。
ビーコン対応ネットワークでは、Zigbeeルーターは定期的にビーコンを送信して、他のネットワークノードに自身の存在を知らせます。ノードはビーコンの間隔でスリープ状態になることがあり、これによりバッテリー寿命が延びます。ビーコンの間隔はデータレートによって異なり、250 kbit/sでは15.36ミリ秒から251.65824秒、 40 kbit/sでは24ミリ秒から393.216秒、 20 kbit/sでは48ミリ秒から786.432秒の範囲になります。ビーコンの間隔が長いと正確なタイミング制御が必要となり、低価格製品では実装コストが高くなる可能性があります。
一般的に、Zigbeeプロトコルは無線がオンになっている時間を最小限に抑えることで、消費電力を削減します。ビーコンネットワークでは、ノードはビーコンが送信されている間だけアクティブである必要があります。ビーコン非対応のネットワークでは、消費電力は明らかに非対称です。一部のデバイスは常にアクティブである一方、他のデバイスはほとんどの時間をスリープ状態で過ごします。
Smart Energy Profile 2.0を除き、ZigbeeデバイスはIEEE 802.15.4-2003低速無線パーソナルエリアネットワーク(LR-WPAN)規格に準拠する必要があります。この規格は、下位プロトコル層、すなわち物理層(PHY)とデータリンク層のメディアアクセス制御部分を規定しています。基本的なチャネルアクセスモードは、衝突回避機能付きキャリアセンス多重アクセス(CSMA/CA)です。つまり、ノードは人間が会話するのとやや似た方法で通信します。ノードは、通信を開始する前に、他のノードが通信していないことを簡単に確認します。CSMA/CAは、次の3つの例外では使用されません。
ネットワーク層の主な機能は、 MACサブレイヤーの適切な使用を保証し、上位レイヤーであるアプリケーション層が使用できる適切なインターフェースを提供することです。ネットワーク層は、ネットワークの接続、切断、設定などのネットワーク機能を扱います。ネットワークの構築、アドレスの割り当て、デバイスの追加と削除を行うことができます。この層では、スター型、メッシュ型、ツリー型のトポロジーが利用されます。
トランスポート層のデータエンティティは、アプリケーション層の指示に従ってプロトコルデータユニットを作成および管理し、現在のトポロジーに従ってルーティングを実行します。制御エンティティは、新しいデバイスの設定を処理し、新しいネットワークを確立します。また、隣接デバイスがネットワークに属しているかどうかを判断し、新しい隣接デバイスやルータを検出できます。
ネットワーク層で使用されるルーティングプロトコルはAODVです。[ 30 ] 宛先デバイスを見つけるために、AODV はすべてのネイバーにルート要求をブロードキャストします。ネイバーは、宛先に到達するまで、要求をさらにネイバーにブロードキャストします。宛先に到達すると、最もコストの低いパスをたどって送信元にルート応答がユニキャスト送信されます。送信元は応答を受信すると、パスの次のホップの宛先アドレスと関連するパスコストでルーティングテーブルを更新します。
アプリケーション層は、仕様で定義されている最上位層であり、Zigbeeシステムとエンドユーザー間の実質的なインターフェースです。Zigbee仕様で追加されたコンポーネントの大部分がこの層に含まれます。ZDO(Zigbeeデバイスオブジェクト)とその管理手順、およびメーカーが定義したアプリケーションオブジェクトはすべてこの層の一部とみなされます。この層は、テーブルのバインド、バインドされたデバイス間のメッセージ送信、グループアドレスの管理、パケットの再構成、およびデータの転送を行います。また、Zigbeeデバイスプロファイルへのサービス提供も担当します。
ZDO (Zigbeeデバイスオブジェクト)は、Zigbeeプロトコルスタックに含まれるプロトコルであり、デバイス全体の管理、セキュリティキー、およびポリシーを担当します。前述のように、デバイスの役割をコーディネーターまたはエンドデバイスとして定義するだけでなく、ネットワーク上の新しいデバイスの検出と、それらが提供するサービスの識別も担当します。その後、外部デバイスとのセキュアなリンクを確立し、バインディング要求に適切に応答します。
アプリケーションサポートサブレイヤー(APS)は、スタックのもう1つの主要な標準コンポーネントであり、明確に定義されたインターフェースと制御サービスを提供します。ネットワーク層とアプリケーション層の他の要素間の橋渡し役として機能し、必要なサービスと各デバイスが提供するサービスに応じて適切なデバイスを見つけるために使用できる、データベース形式の最新のバインディングテーブルを保持します。また、指定された2つのレイヤー間の結合として、プロトコルスタックの各レイヤー間でメッセージをルーティングします。

アプリケーションは、目的のタスクを実行するために連携する通信オブジェクトで構成される場合があります。タスクは通常、各デバイスに固有のものであり、例えば各家電製品の制御などが挙げられます。Zigbeeの焦点は、個々のZigbeeノード内に存在する多数の異なるデバイス間で作業を分散させることにあり、これらのノードがネットワークを形成します。
ネットワークを構成するオブジェクトは、APSが提供する機能を利用して通信し、ZDOインターフェースによって管理されます。1つのデバイス内には、最大240個のアプリケーションオブジェクトが存在し、それぞれ1~240の番号が付けられます。0はZDOデータインターフェース用に、255はブロードキャスト用に予約されています。241~254の範囲は現在使用されていませんが、将来使用される可能性があります。
アプリケーションオブジェクトが利用できるサービスは2つあります(Zigbee 1.0の場合):
アドレス指定もアプリケーション層の一部です。ネットワークノードは、IEEE 802.15.4規格に準拠した無線トランシーバーと、1つ以上のデバイス記述(ポーリング、設定、またはイベントによる監視が可能な属性の集合)で構成されます。トランシーバーはアドレス指定の基盤となり、ノード内のデバイスは1~240の範囲のエンドポイント識別子によって指定されます。
アプリケーションが通信するためには、それらをサポートするデバイスが共通のアプリケーションプロトコル(メッセージの種類、フォーマットなど)を使用する必要があります。これらの規約のセットはプロファイルにまとめられています。さらに、バインディングは、特定のプロファイルのコンテキスト内で一意であり、デバイス内の受信または送信データフローに関連付けられている入力クラスタ識別子と出力クラスタ識別子を照合することによって決定されます。バインディングテーブルには、送信元と宛先のペアが含まれています。
利用可能な情報に応じて、デバイス検出はさまざまな方法で行われます。ネットワークアドレスが既知の場合は、ユニキャスト通信を使用してIEEEアドレスを要求できます。未知の場合は、要求がブロードキャストされます。エンドデバイスは要求されたアドレスで応答するだけですが、ネットワークコーディネーターまたはルーターは、自身に関連付けられているすべてのデバイスのアドレスも送信します。
この拡張された検出プロトコルにより、外部デバイスはネットワーク内のデバイスとその提供するサービスに関する情報を取得できます。エンドポイントは、検出デバイス(事前にアドレスを取得済み)からの問い合わせに対して、これらの情報を報告できます。マッチングサービスも利用可能です。
クラスタ識別子を使用することで、Zigbeeコーディネーターが管理するバインディングテーブルを用いて、相互補完的なエンティティの結合が強制されます。これは、テーブルがネットワーク内で常に利用可能である必要があり、コーディネーターは常時電源供給を受けている可能性が高いためです。上位レイヤーによって管理されるバックアップは、一部のアプリケーションで必要となる場合があります。バインディングには確立された通信リンクが必要です。リンクが確立された後、アプリケーションとセキュリティポリシーに基づいて、ネットワークに新しいノードを追加するかどうかが決定されます。
通信は関連付けの直後に開始できます。直接アドレス指定では無線アドレスとエンドポイント識別子の両方を使用しますが、間接アドレス指定では関連するすべてのフィールド(アドレス、エンドポイント、クラスタ、属性)を使用し、それらをネットワークコーディネータに送信する必要があります。ネットワークコーディネータは関連付けを維持し、通信要求を変換します。間接アドレス指定は、一部のデバイスを非常にシンプルに保ち、ストレージの必要性を最小限に抑えるのに特に役立ちます。これら2つの方法の他に、デバイス内のすべてのエンドポイントへのブロードキャストが利用可能であり、グループアドレス指定は、指定されたデバイスセットに属するエンドポイントのグループと通信するために使用されます。
Zigbeeの特長の一つとして、安全な通信を実現するための機能、暗号鍵の確立と転送を保護する機能、そしてデータの暗号化機能が備わっています。これは、IEEE 802.15.4で定義されている基本的なセキュリティフレームワークに基づいています。
機密性を確保するための基本的な仕組みは、すべての鍵情報を適切に保護することです。鍵はセキュリティアーキテクチャの要であり、そのため、鍵の保護は極めて重要で、鍵は決して安全でないチャネルを介して転送されるべきではありません。ただし、ネットワークに未設定のデバイスを追加する初期段階では、この規則に一時的な例外が生じます。鍵の初期設定時、およびセキュリティ情報の処理時には、信頼関係を前提とする必要があります。アドホックネットワークは外部デバイスから物理的にアクセスできる可能性があるため、Zigbeeネットワークモデルではセキュリティ上の考慮事項に特に注意を払う必要があります。また、動作環境の状態を予測することはできません。
プロトコルスタック内では、異なるネットワーク層は暗号化によって分離されていないため、アクセスポリシーが必要となり、従来型の設計が前提となります。デバイス内のオープンな信頼モデルにより鍵共有が可能となり、潜在的なコストを大幅に削減できます。ただし、フレームを作成する層がそのセキュリティに責任を負います。悪意のあるデバイスが存在する可能性があるため、すべてのネットワーク層ペイロードは暗号化する必要があり、不正なトラフィックを即座に遮断できます。ただし、ネットワーク鍵の送信は例外で、これによりグリッドから新しい接続デバイスへの統一されたセキュリティ層が提供されます。
Zigbee のセキュリティ アーキテクチャは CCM* に基づいており、CCM モードに暗号化と完全性のみの機能を追加します。[ 31 ] Zigbee は 128 ビットのキーを使用してセキュリティ メカニズムを実装します。キーは、Zigbee レイヤと MAC サブレイヤで使用できるネットワーク、または事前インストール、合意、またはトランスポートによって取得されるリンクのいずれかに関連付けることができます。リンク キーの確立は、リンク キーの対応を制御するマスター キーに基づいています。最終的には、少なくとも最初のマスター キーは、ネットワーク全体のセキュリティがそれに依存するため、安全な媒体 (トランスポートまたは事前インストール) を介して取得する必要があります。リンク キーとマスター キーは、アプリケーション レイヤからのみ見えます。さまざまなサービスでは、漏洩やセキュリティ リスクを回避するために、リンク キーの異なる一方向のバリエーションを使用します。
鍵配布は、ネットワークにおける最も重要なセキュリティ機能の一つです。セキュアなネットワークでは、セキュリティ鍵の配布を他のデバイスが信頼する特別なデバイス、すなわちトラストセンターが指定されます。理想的には、デバイスにはトラストセンターのアドレスと初期マスターキーがあらかじめ読み込まれているべきです。一時的な脆弱性が許容された場合、上記のように鍵が送信されます。特別なセキュリティ要件のない一般的なアプリケーションは、トラストセンターから提供されるネットワークキー(最初は安全でないチャネルを介して)を使用して通信します。
このように、トラストセンターはネットワークキーを管理するとともに、ポイントツーポイントのセキュリティを提供します。デバイスは、初期マスターキーを除き、トラストセンターから提供されたキーからの通信のみを受け入れます。セキュリティアーキテクチャは、ネットワーク層間で以下のように分散されています。
ドイツのコンピュータ電子雑誌Heise Onlineによると、Zigbee Home Automation 1.2 は暗号化ネゴシエーションにフォールバックキーを使用しており、これは既知で変更できません。そのため、暗号化が非常に脆弱になっています。[ 32 ] [ 33 ] Zigbee 3.0 規格ではセキュリティ機能が向上し、デバイスメーカーがカスタムインストールキーを使用するオプションを提供し、それをデバイスと一緒に出荷することで、ネットワークトラフィックがフォールバックキーをまったく使用しないようにすることで、前述の弱点を軽減しています。これにより、デバイスのペアリング中であっても、すべてのネットワークトラフィックが安全に暗号化されます。さらに、すべての Zigbee デバイスは、どのペアリング方法を使用してもネットワークキーをランダム化する必要があるため、古いデバイスのセキュリティが向上します。Zigbee ネットワーク内の Zigbee コーディネーターは、このキーランダム化を使用しないデバイスへのアクセスを拒否するように設定でき、セキュリティがさらに向上します。さらに、Zigbee 3.0プロトコルには、既にペアリング済みのデバイスをネットワークから削除し、再ペアリング時の鍵交換を傍受しようとする行為に対する対策が盛り込まれています。
ns-2、OMNeT++、OPNET、NetSimなどのネットワークシミュレータは、IEEE 802.15.4 Zigbeeネットワークのシミュレーションに使用できます。これらのシミュレータには、ユーザーが変更可能なオープンソースのCまたはC++ライブラリが付属しています。これにより、ユーザーはハードウェア実装前に新しいアルゴリズムの妥当性を検証できます。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)