ここからは、これまでの概要に加えてもう少し詳細の内容に関して、さらに深い理解が得られるようにテーマ毎に説明を行います。
ZigBeeには、物理的/論理的に見て5種類のデバイスが存在しますので、ネットワークを構築する場合にその特性を活かすように注意する必要があります。それらは、下図に示すように「FFD、RFD、コーディネータ、ルータ、エンドデバイス」の5種類となりますが、以下にそれぞれを説明します。
機能 | FFD(フル機能デバイス) | RFD(限定機能デバイス) |
---|---|---|
コーディネータ | ||
ルータ | ||
エンドデバイス |
機能 | コーディネータ | ルータ | エンドデバイス |
---|---|---|---|
ネットワーク立ち上げ | |||
ルーティング | |||
ビーコンの発行 | |||
管理範囲 | 全てのノード | 子ノード | 自身 |
ルータには、経路を選択するためのルーティングテーブルが作られ、宛先のアドレスが分かればその表によってホップ数(ルータの段数)が少なく、通信品質の高い経路を選んでデータが転送される仕組(アルゴリズム)があります。
ZigBeeでは、経路選択アルゴリズムは、AODV((Ad hoc On-Demand Distance Vector))を採用しております。英文の中のAd hoc(アドホック)は、ラテン語の"ad hoc"で、「一時的な、この問題に限って、特別な」といった意味を指します。On-Demandは、要求により行うとの意味です。Distance Vectorは、宛先アドレスが分かる時にそこまでの距離(ベクトルの情報)を示します。従ってZigBeeでは、データを送りたい場合に、一時的にルーティングテーブルを求め、そのテーブルによって効率的にデータを転送する方式を採用しています。
AODVでは、制御メッセージとして、RREQ(Route Request : ルートの要求)、RREP(Route Reply : ルートの応答)、RERR(Route Error : エラー)、RREP-ACK(Route Reply Acknowledgment : 応答の認識)の4種類が使われます。AODVでは、各ノードがパケットを次にどこに送ればよいかの情報を持っていますが、パケットには転送に必要な経路情報は記載されておりません。ある宛先に送るための経路が必要になったら経路を見つけるために、ネットワークにRREQをブロードキャスト(ネットワーク上の全てのノードに送ること)します。希望の宛先にRREQが届くとその宛先は、RREPを送信元にユニキャスト(一対一の伝送 : 宛先は既にRREQを受け取っているために送信元へのルーティングテーブルができているのでスムーズに送れる)で送り返します。この後は、テーブルに経路がありますのでそれを利用してデータの送受信が可能になります。
上図は、それぞれSは「送り元」を、Tは「宛先」を示しており、左の図はRREQを出してTまで届くブロードキャストを実行し、右の図はブロードキャストで得られた最も短い経路を用いRREPを返し経路を形成しています。下の左の図は、RREPを受けてその確認にRREP-ACKを送っています。右の図は形成されたルートが途切れた場合(この例では、6とTの間)に、それを認識した6のルータがRERRを出して関係するデバイスに通知を出しています。
AODVで管理されているルーティングテーブルのそれぞれの登録情報は、その経路が利用されている場合は、「アクティブ」な状態になっていますが、利用されなくなって一定時間(推奨3秒)が経過すると「無効状態」となります。この状態では、登録情報は完全には削除されていませんので、その後に経路を検索しますと経路情報は再度有効になります。ただし無効状態で一定の時間が経過(推奨15秒)すると登録は完全に削除されます。この状態から再度ルーティングを行うには、ネットワークにRREQをブロードキャストすることから始める必要があります。
ネットワークのアーキテクチャー(基本的な設計)を説明する場合、一般的に以下の様に階層(レイヤ)に分けて行います。階層に分けるメリットは、考え方・方式をきちんと整理できること、各階層は別の方式にも流用が可能なために開発の効率化が図れること、新しい方式でも階層ごとに並列に開発が行えること等が挙げられ、多くのネットワークの規格で採用されております。
通常下位部分に示すのは、物理的な内容(この場合にはワイヤレス通信のハードウェアのインタフェース)で、上位に行くとアプリケーション(人間に近づく)を示します。下図は、大きく3つに分かれていますが、この後それらの説明を行います。
IPネットワーク(TCP/IP)等の場合には、7階層に分けられ階層毎に明確に機能を分けており、階層の一部を別の方式に置き換え、その他の階層を流用することで効率よく新たなネットワークを生み出しております。
ZigBeeは、アクセスの方式としてCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)を採用しております。有線で通信を行うLAN(Ethernet)では、CSMA/CD(Carrier Sense Multiple Access with Collision Detection)を採用しております。こちらを先に説明しますと、まず使用しているネットワークケーブルに何らかの信号が流れているかどうか(CS : 信号の検知)を確認し、流れていなければ自分が送信を行う方式です。このような方法で複数の送信者がアクセスを行うこと(MA : 複数のアクセス)ができます。もし複数の送信者が同時に送信した場合に信号の衝突が発生し通信ができなくなりますのでこれを検知する(CD : 衝突の検知)必要があります。もし衝突があった場合に、複数の送信者は、お互いランダムに時間をずらして再度送信します。
ワイヤレスで使用するCSMA/CAでは、有線の場合と違うのがCA(衝突回避)の部分です。これは、通信路が一定時間継続して使用していないことを確認の上、誰かが最後の送信終了後に一定時間プラスランダムな時間を加えて送信を開始し衝突を回避する方式です。通信が確実に行われたかどうかは、確認信号を受けることで行います。
ZigBeeでは、ビーコン(時間軸に対する標識のこと)を使用する方法と使用しない方法がありますが、その前にスーパーフレームについて説明を行います。
スーパーフレームは、ビーコンとビーコンで区切られたフレームのことを示します。ZigBeeは、コーディネータによりオプションでスーパーフレームを使用することができます。下図a)は、コーディネータが送るビーコンを利用して境界を付けて、16スロットに分割されています。この中でのCAP(Contention Access Period : 自由競争通信時間)は、自由に競争を行う通信時間ですので、CSMA/CAを使用した通信を行います。またb)図の様にビーコンとビーコンの間にアクティブと非アクティブ時間を設定できます。ビーコンで時間的な同期を取っていれば、お互いのデバイスがアクティブとなっている時間だけを利用して周期的に通信が可能になります。非アクティブ時間では、お互いを待機モードにしておけばそれぞれのデバイスの消費電力を削減することが可能になります。
またコーディネータは、低遅延を目的にGTS(Guaranteed Time Slot : 保証付きタイムスロット)を設定できます。GTSを利用するCFP(Contention Free Period : 無競争通信時間)は、保証付きのタイムスロットですので、コーディネータから許可を得たデバイスだけが自由競争による時間待ちがなくデータを送信することができます。
トータルでは、図c)の様になり、自由競争のCAPとGTS利用の無競争CFPから成るアクティブ時間と非アクティブ時間から構成されています。
話を元に戻しますと、通信方法には以下の2種類があります。
基本的には、構成部品が総合的に低消費電力対応であることが必要であることは当然ですが、それに加えて以下に示す様なその他の方法があります。
ZigBeeでは、デバイスとかアプリケーションを特定するのに番号を振って取り扱いますが、それには以下の種類があります。
ZigBeeデバイスは、電源を投入してから30ms(0.03秒)で立ちあがり、正常に動作ができる状態になります。またスリープ(待機状態)から完全に動作できる様になるのに15ms、アクティブな子機へのアクセス時間は、5msです。
これをBluetoothと比較しますとその時間は、電源投入 : 3秒、スリープ : 3秒、アクティブな子機へのアクセス : 2msです。
この比較で大きいのは、電源投入時で100倍違います。スリープからの回復では、200倍違います、この違いが具体的にどの様に影響するかですが、例えば3秒に一回データを送る場合、Bluetoothは立ち上がりが3秒ですので、スリープ状態に入ることはできませんのでフルに動作していることになります。一方ZigBeeの場合には、立ち上がり時間15msと実際の最小の送受時間約5msを加えて、3秒あたりの動作時間が20msとなりますので3000/20=150となります。
次に10秒の間隔の場合には、Bluetoothは10秒あたり動作時間が約3秒、ZigBeeは20msですので、比較しますと3000/20=150となります。
逆に1秒間隔の場合には、Bluetoothは1秒、ZigBeeは20msですので、比較しますと1000/20=50となり、間隔が短くなるとその差は小さくなります。回復時間はこのような所で影響を与え、消費電力の節約に貢献します。
またテレビとかAV機器を遠隔制御(リモコン)する場合に、ZigBeeの20ms(0.02秒)の遅延はほとんど気になることはありませんが、Bluetoothの3秒は操作に違和感が生じます。
用途に関しては、各種団体で色々な議論もあり多数のアイディアが出てきております。また用途に特化した規格も制定され、関係団体が推進しております。ここでは詳細の説明を省略して項目のみを取り上げます。
IEEE (Institute of Electrical and Electronic Engineers)
IEEE 802.15.4-2003 | ZigBeeなどの物理層 |
---|---|
IEEE 802.15.4a-2006 | 物理層の改良 |
IEEE 802.15.4b-2006 | MAC層の改良、ZigBeeの曖昧さの解決、不要で複雑さを削減、セキュリティキーのフレキシビリティーアップ |
IEEE 802.15.4c | 中国向け物理層の改良(780MHz) 物理層の改定は、中国におけるWPANの利用に向けて314-316MHz、430-434MHz、779-787MHz帯をオープンにした中国の規格変更を提言するためのものです。 779-787MHz帯は、IEEE 802.15.4規格の中での利用が検討されるべきであることが決まっています。 |
IEEE 802.15.4d | 日本向け物理層の改良(950MHz) これは、802.15.4-2006の標準に改定を加えるためのものです。提案された改定は、新たな物理層を定義することで、MACへの変更は、日本における新たな周波数割り当て(950MHz -956MHz)をサポートするために必要です。改定は、日本の政府の法令で示された新たな技術的な条件に完全に従う必要があります。この改定は、この帯域の中のパッシブ・タグ・システムと共存します。 |
IEEE 802.15.4e | 工業用市場を目指したMACの改版と機能追加 この改定の目的は、802.15.4-2006のMACに対して産業用市場をサポートするため、また中国のWPANの中で提案されている修正とのコンパチビリティーを容認するために改善、および機能の追加を行うことです。 |
IEEE 802.15.4f | アクティブRFID |
IEEE 802.15.4g | スマートグリッド、SUN(Smart Utility Networks)対応 SUNの役割は、最小のインフラと数百万台の固定のエンドポイントを使用して、大きくて地理的に多様なネットワークをサポートする能力のあるスマートグリッドネットワークのような、大規模なプロセス制御を行うアプリケーションを促進する世界標準を提供するために802.15.4の物理層に改定を加えることです。 |
設立 | 2009年3月 |
設立メンバー | ソニー、パナソニック、フィリップス、サムソン |
目的 | AV機器とリモコン間の双方向通信などの高度な機能を実現するため、ワイヤレスを活用した通信方式の策定に取り組む |