低消費無線規格「Thread」IPスタックの基礎:IoT時代の無線規格を知る【Thread編】(2)(3/4 ページ)
IoT時代のさまざまな無線規格を紹介する本連載。前回は、ホームネットワーク向け無線規格として注目を集める「Thread」の入門編をお届けした。2回目となる今回は、Thread Groupが公開しているホワイトペーパーから概要を振り返るとともに、ThreadにおけるIPスタックの基礎を解説する。
デバイスの種類
(1)ボーダールーター
ボーダールーターは特別で、802.15.4ネットワークから隣接の異なる物理層(Wi-Fiやイーサネット)のネットワークへの接続を賄う。ボーダールーターは802.15.4ネットワーク内のデバイスに対してサービスを行うが、外のネットワークへのルーティングサービスも行う。Threadネットワークは、複数のボーダールーターを配置できる。
(2)ルーター
ルーターは、ネットワーク内のデバイスにルーティングサービスを行う。また、ルーターは新規にネットワークに参加するデバイスに対して、参加サービスとセキュリティサービスを提供する。ルーターは後述するREEDへその機能を降格することがある。
(3)REED
REED(ルーター機能搭載のエンドデバイス)はルーターになり得る機能を持つデバイスであるが、ネットワークのトポロジーや状況による判断でルーターの役割を持たない。これらのデバイスは一般に通信データの中継は行わず、Threadネットワーク内のほかのデバイスへの参加サービスやセキュリティサービスも提供しない。Threadネットワークはユーザーによる操作なく、必要に応じてREEDがルーターになるよう管理している。
(4)スリープ機能付きエンドデバイス
スリープ機能付きのエンドデバイスはホストデバイスである。これらのデバイスは親機との通信のみを行い、他のデバイスへのデータの転送機能は持たない。
IPスタック基礎
アドレッシング
Threadスタック内のデバイスはRFC4291に定義されたIPv6アドレス構造をサポートする。デバイスは、ULA(Unique Local Address)、もしくはGUA(Global Unicast Address)から1つ以上のアドレスを持つ。
ネットワークを開始するデバイスは「/64プレフィックス」を抽出し、これがThreadネットワークで使用されていく。プレフィックスは、ローカルに割り当てられたグローバルIDであり、しばしばULAプレフィックスとして知られるが、メッシュのローカルULAプレフィックスとして参照される。
Threadネットワークでは複数のボーダールーターが存在できる。しかし、追加のGUAを生成するのに使うプレフィックスを持つことも、持たないこともある。
RFC4944の6章に規定されているが、Threadネットワーク内のデバイスは拡張MACアドレスを使いインタフェース識別子を得る。また、拡張MACアドレスからリンクローカルのIPv6アドレスを得る。このときは、よく知られているようにRFC4862とRFC4944の記述に従い、ローカルプレフィックス「FE80::0/64」が用いられる。
デバイスは適切なマルチキャストアドレスもサポートする。ここにはリンク内の全てのノードへのマルチキャスト、リンク内の全てのルーターへのマルチキャスト、レルム内のマルチキャストも含まれる。
Threadネットワークに参加するデバイスはIEEE802.15.4に規定されている16ビットのショートアドレスを割り当てられる。ルーターはこのうち上位ビットを使ったアドレスが割り当てられ下位ビットは全てゼロになり、これがルーターであることが示される。
子機は16ビットのショートアドレスを親機となるルーターの上位ビットを使い、下位ビットで適切に個々のアドレスが割り振られる。これにより、Threadネットワーク内のどのデバイスも、子機のルーティング先がアドレスの上位ビットから把握できる。
Copyright © ITmedia, Inc. All Rights Reserved.