急速に普及しつつある「LoRa」IoT観測所(27)(2/3 ページ)

» 2016年11月22日 09時00分 公開
[大原雄介MONOist]

双方向通信をカバーするLoRaWANのMAC層

 ついでMAC層である。SIGFOXとLoRaWANの最大の違いは、LoRaWANが双方向通信をカバーしていることだろう。LoRaWANはまた、Networkの識別のためのNwkSKey(64bit EUI)とアプリケーション識別のAppSKey(64bit EUI)、さらにデバイス識別のDevAddr(128bit EUI)が用意されており、これらを利用してEnd Device Activationなどが可能になっている。

 さてそのMAC層、LoRaWANではClass A/Class B/Class Cの3つのClassが制定されている。まずClass Aだが、これはEnd Device向けのClassで、省電力デバイス向けに1回の送信スロットと、その後に短い2つの受信スロットが組み合わせた形になっている(図2)。送受信のタイミングは時間軸の乱数ベースで決定される仕組みである。ちなみに受信はあくまで送信の直後のみに設定されており、常時受信を行うような仕組みは考慮されていない。

図2:LoRaWAN SpecificationのFigure 4より抜粋。RECEIVE_DELAY1/2は通信事業者ごとに変わることが想定されており、最初に通信を開始する際にこのパラメータが渡される形になる (クリックで拡大)

 Class Bはもう少し受信時間が長く取られている。図1でも“Beacon”という文字が見えるが、こちらはClass A同様に乱数ベースでの送信(とこれに伴う受信)を行うほかに、定期的な受信が可能になっている。こちらはゲートウェイなどから時間同期のビーコンを受信することが可能で、これを利用して例えばサーバと(反応時間はともかく)インタラクティブな送受信を行うことも可能になっている。

 Class Cは“Continuous”と書かれていることからも分かる通り、送信時以外は常に受信することを許すモデルである。こちらは反応時間を最小に抑えたい様なデバイス用途向けとなっている。

 SIGFOXに近いのはClass Aのケースであり、逆にSIGFOXでは不可能な、サーバからのレスポンスを受けて動作を行うようなモデルがClass B/Cでは可能になっているのが大きな違いといえるだろう。

 ちなみにこのLoRaWANを使ってEnd DeviceがServerと通信を行う際の模式図が図3だ。LoRaWANではセキュリティを多段防御とすることで確実性を高める戦略を取っており、先に出てきたNwkSKeyやAppSKeyがMACレイヤーでの暗号化のために利用される形だ。ちなみに暗号化はAES128で行われる。

図3:LoRa AllianceのTechnologyページより。直接Serverと通信する以外に、Gatewayを介した場合の通信も考えられている。Gatewayは通信を解釈するのではなく、本当にPacket Forwardingだけを担う構造になっているのが分かる (クリックで拡大)

 さて、実はLoRaWANで定められている仕様はここまでである。ただSIGFOX同様、この上にあまり重いプロトコルを載せると実効転送速度が落ちる&特にEnd Device側の処理が増えて消費電力が増えるという問題もあるためか、現在始められているさまざまなトライアルは、このLoRaWANのプロトコルの上で直接アプリケーションを動かすというケースがほとんどである。実際LoRaWANの使い方を考えれば、これで特に問題は無いと考えられているようだ。

Copyright © ITmedia, Inc. All Rights Reserved.