
本研究室での研究対象の1つである、アドホックネットワークは無線通信を行う端末で構成されています。端末は、基地局に依存せずに端末同士が通信を行うことで自律的にネットワークを構築します。直接通信ができない端末とは、途中の端末を経由して、バケツリレーのようにデータを送ります。応用先として、基地局が設置されていない場所でのネットワーク構築や非常時(災害時や停電時など)に基地局が利用できない場合の代替手段が考えられます。また、ドローンを利用して人が侵入できない場所で空中にネットワークを構築することも可能になります。
アドホックネットワークは端末が移動、参加 (途中で端末を追加したり、ネットワークに外部から参加すること)、離脱 (移動によりネットワークの外に出たり、バッテリーが切れて通信できなくなること)するネットワークですので、通信経路が色々と変化します。通信経路を構築するネットワークを支えるソフトウェアの1つであるルーティングプロトコルは、周辺の端末とメッセージのやり取りを行うことで通信経路を構築し維持をします。通信経路の切断を検知した場合には、経路の再構築を可能な限り行います。
無線通信を利用しているため、攻撃者は攻撃対象の端末まで電波が届く場所であればどこからでも嘘のメッセージを送れますし、電波を受信できればどこでもメッセージを受信することができます。攻撃者は、嘘のメッセージを送り経路構築に対して攻撃することが可能になります。そのため、近年では単純に通信経路を構築するだけではなく、暗号や署名などを利用して攻撃から防御するルーティングプロトコルに関しても研究が進められています。
暗号や署名を利用する場合、暗号方式に依存しますが、暗号や署名の計算時間は、端末の性能によって大きく異なることがあります。一般的なパソコンでは気にならない計算時間もスマートフォン、IoT機器などでは、想定以上の時間がかかることも考えられます。右図では4つの端末が経路構築をする様子を表しています (1回のバケツリレーを1ホップと呼びますので、ここでは往復で6ホップ)。この時、メッセージのやり取りは6回あるので計算時間が1秒増加すると6秒の増加になります。より多い端末やより長い計算時間が必要になれば、経路構築に必要な時間がますます増加します。
経路構築に時間がかかると、単純に時間がかかっているだけなのか、端末が移動してしまい通信経路が切断されたのか判断ができません。そのため、多くのルーティングプロトコルでは、制限時間が設けられており、開始から一定時間を超えると初めからやり直しをすることになります。そのため、暗号や署名の機能を含んでも経路構築にかかる時間を一定時間内に収める必要があります。
本研究室では、そのようなルーティングプロトコルを実装し、ネットワークエミュレータを用いて経路構築にかかる時間の計測など性能の評価を行っています。エミュレータによっては、エミュレータ内の仮想端末の計算能力を変更できる機能があり、全ての仮想端末の計算能力を1/10にした場合、一部の端末の計算能力を下げる場合など、想定する環境に応じて仮想端末の能力を変更して評価を行うことができます。計算能力を制限しない場合に、何ホップ以内なら暗号や署名を用いて攻撃から防御を行うルーティングプロトコルが経路構築を一定時間内に行うことができるのか、計算能力を落とした場合には、制限時間内に経路構築できるホップ数はどの程度になるか、などの評価を行うことができます。評価を行った結果を踏まえ、暗号方式や署名方式の変更や改良、実装の見直しなど、より早く通信経路の構築を行えるルーティングプロトコルを開発できるよう、研究を進めているところです。
最後に、ルーティングプロトコルは、アドホックネットワークだけではなく、皆さんが普段使っているインターネットでも通信経路を構築するために動作しています。アドホックネットワークのルーティングプロトコルとは少し動作が異なりますが、インターネットの通信を支えるソフトウェアの1つです。