「Thread」のネットワークトポロジーと形成手順:IoT時代の無線規格を知る【Thread編】(3)(4/6 ページ)
ホームネットワーク向け無線規格として注目を集める「Thread」を解説する本連載。今回は、Threadのネットワークトポロジーとネットワーク形成手順の基礎について解説していく。
ルーティング
デバイスはパケットの転送にIPルーティングを用いる。デバイスルーティングテーブルは、圧縮されたルーターのメッシュ内ULAアドレスと適切なネクストホップ情報を含む。
ディスタンスベクター型ルーティングを使用して、Threadネットワークのルーターアドレスへの経路を入手する。Threadネットワークのルーティングでは、16ビットのアドレス空間のうち上位6ビットが宛先のルーターのアドレスとなる。
宛先アドレスの下位ビットが全て0であれば、そのルーターが実際の宛先デバイスである。そうでない場合、宛先ルーターは宛先アドレスの下位ビットに割り振られた宛先デバイスに転送する義務を負う。
Threadネットワークを超えてルーティングを行う場合は、ボーダールーターが特定のプレフィックスをリーダーに通知し、その情報がMLEパケットに含まれるThreadネットワークデータとして配布される。Threadネットワークデータには、プレフィックスデータ、6LoWPANコンテキスト、ボーダールーター、そのプレフィックスのDHCPv6サーバの情報が含まれる。
デバイスがそのプレフィックスを使用してIPv6アドレスを構成する際は、SLAAC(Stateless Address Autoconfiguration)を用いるか、適切なDHCP(Dynamic Host Configuration Protocol)サーバに問い合わせる。Threadネットワークデータは、デフォルトボーダールーターのルーターアドレスを示すルーティングサーバのリストも含む。
リーダーはREEDを選びルーターにさせ、ルーターがREEDに降格することを許可する決定を行う。また、ルーターアドレスの割り当てと管理を行う。一方で、リーダーが持つ全ての情報は他の全てのルーターも保有する。リーダーが到達不能になった場合、他のルーターが自動的に選抜され、ユーザーの介入なく自動的にリーダーの役割を引き継ぐ。
再送とAck
Threadスタックでは、UDPメッセージが使われるが、信頼性の高いメッセージの伝達が求められる場合もある。この場合でも下記のシンプルなメカニズムで実現できる。
MAC層レベルの再送:それぞれのデバイスは、ネクストホップとの通信にMAC層のAckを使用する。MAC Ackを受信しない場合、メッセージの再送が行われる。
アプリケーションレベルの再送:アプリケーションレベルで信頼性がクリティカルなパラメータな場合、必要に応じて再送メカニズムを自身に組み込むことができる。
Copyright © ITmedia, Inc. All Rights Reserved.