Threadネットワーク内における全ての他ノードへの経路コストはそのノードに到達するまでのリンクコストの総和である。無線リンククオリティーやネットワークのトポロジーが変化したとしても、ルーターはこれらのコストを監視し、定期的なMLEアドバタイズメッセージを通じて、新しいリンクコストが波及する。ルーティングコストは、2つのデバイス間の双方向のリンクコストがベースである。
同時に電源が投入された場合を想定してみる。全てのノードがコミッショニング済みでセキュリティ情報を共有した状態と仮定する。
それぞれのルーターが定期的にアドバタイズを送るが、そこに含まれる情報は初期の隣接するシングルホップのコストだけである。内部では、各ルーターは次のホッピング情報を保持していくだろうが、アドバタイズの中には含まれない。
最初のいくつかのアドバタイズでは、上記図のようにルーターが知りえるのは直近に隣接するルーターだけなので、経路コストがリンクコストに等しい。
一方、ルーターがアドバタイズを聞き始めると、隣接のルーターから数ホップ先のルーターへの経路コスト情報が含まれ、ルーティングテーブルはマルチホップの経路コストも含むよう発展していき、最終的に全てのルーターとの接続情報ができる。
ルーターが新しいMLEアドバタイズを隣接ルーターから受信したとき、既に存在する隣接テーブルの場合と追加される場合がある。MLEアドバタイズは送られてくる際の隣接ルーターからのリンクコストを含むので、この情報は、ルーターの隣接テーブルにアップデートされる。また、MLEアドバタイズは、アップデートされた他のルーターへの経路情報を含み、この情報でデバイス内のルーティングテーブルのアップデートがされる。
子機への経路は、子機のアドレスに含まれる上位ビットを見ることで親機ルーターのアドレスが分かる。親機ルーターが分かれば、デバイスは経路コスト情報とネクストホップ情報が分かる。アクティブなルーターの個数は、経路とコストの情報を1つの802.15.4パケットに収める必要があるため、最大32個のルーターが現在限界となっている。ルーターのアドレスは64個まであるが、これはルーターアドレスのエージングに用いられることが想定されているためで、実際には32個が最大である。
Copyright © ITmedia, Inc. All Rights Reserved.