無線メッシュネットワークや、固定的なインフラを持たないモバイルアドホックネットワーク(MANET)において、データの効率的な転送を実現するための重要な技術が「Dynamic Source Routing(DSR)」です。DSRは、通信が必要になったタイミングで経路を構築するオンデマンド型のルーティングプロトコルであり、個々のノードが協力して目的地までパケットを届ける仕組みを備えています。
Key Facts
- オンデマンド方式: 経路が必要な時にのみ探索を行うため、不要な更新トラフィックを削減できる。
- ソースルーティング: パケット自体に経由地リストを含めるため、中間ノードがルーティングテーブルを持つ必要がない。
- ビーコンレス設計: 近隣ノードへの定期的な生存確認(Helloパケット)が不要で、帯域消費を抑えられる。
- ルートキャッシュ: 一度発見した経路を保存し、再利用することで効率を高める。
DSRの基本コンセプトと動作原理
DSRの最大の特徴は、送信元(ソース)が目的地までの全経路を決定し、それをパケットのヘッダーに書き込むソースルーティングを採用している点です。一般的なルーティングでは、各中継ノードが自身のテーブルを参照して次を決定しますが、DSRではパケット自体が「どのノードを通るべきか」という指示書を持っているため、中継ノードの負荷を軽減できます。
ただし、経路が長くなったり、IPv6のような長いアドレスを使用したりすると、ヘッダーサイズが増大しオーバーヘッドが大きくなるという課題があります。これを解決するため、オプションとして「フローID」を利用し、ホップバイホップ(隣接ノード間)で転送する仕組みも定義されています。
ルート探索(Route Discovery)のプロセス
送信元ノードが目的地への経路を持っていない場合、以下の手順でルートを構築します。
- ルートリクエスト(Route Request)の送信: 送信元がネットワーク全体にリクエストパケットをフラッディング(拡散)させます。このパケットには、ループを防ぐためのシーケンス番号と、通過したノードのリストが含まれます。
- 中継とフィルタリング: 各ノードは、同じシーケンス番号のパケットを既に処理していないか確認し、重複していなければ隣接ノードへ転送します。
- ルートリプライ(Route Reply)の返信: 目的地にパケットが到達すると、目的地ノードはリクエストに含まれていた経路情報を利用して、送信元へ返信パケットを戻します。
ルートメンテナンス(Route Maintenance)の仕組み
ネットワークのトポロジーが変化し、通信断が発生した場合はルートメンテナンスフェーズに移行します。リンク切れを検知したノードは「ルートエラー(Route Error)」パケットを生成し、送信元に通知します。送信元はキャッシュから該当する不整合な経路を削除し、必要に応じて再びルート探索を開始します。
帯域消費の最適化と効率性
DSRは、テーブル駆動型プロトコルで必須となる「定期的なルーティングテーブルの更新」を排除することで、制御パケットによる帯域消費を最小限に抑えています。また、多くのオンデマンドプロトコルが採用している「ビーコン(Helloパケット)」による近隣ノードの監視も行わないため、より省電力で効率的な運用が可能です。
さらに、プロミスキャスモード(自分宛てではないパケットも受信できるモード)で動作させることで、周囲を流れるデータパケットから間接的に経路情報を学習し、ルートキャッシュを更新することも可能です。
DSRのメリットとデメリット
| 評価項目 | メリット(利点) | デメリット(欠点) |
|---|---|---|
| トラフィック負荷 | 定期的な更新が不要で、制御負荷が低い。 | 経路が長いほどヘッダーのオーバーヘッドが増大する。 |
| 応答速度 | キャッシュ利用時は高速に通信可能。 | 初回接続時のルート探索に遅延が発生する。 |
| 適応性 | 静的または低移動度の環境で高い性能を発揮。 | ノードの移動速度が上がると性能が急激に低下する。 |
| 復旧メカニズム | シンプルなルート再構築が可能。 | リンク切れの局所的な修復ができず、再探索が必要。 |
Frequently Asked Questions
DSRとAODVの主な違いは何ですか?
どちらもオンデマンド型ですが、最大の違いはルーティング方式にあります。AODVは各ノードのルーティングテーブルに依存しますが、DSRはパケットヘッダーに全経路を記載するソースルーティングを採用しています。また、DSRはビーコン(Helloパケット)を必要としない点も特徴です。
ソースルーティングによるオーバーヘッドとは具体的にどのようなものですか?
パケットのヘッダーに経由するすべてのノードのアドレスを書き込むため、目的地までのホップ数(経由地数)が増えるほど、データ本体以外のヘッダー部分が大きくなります。これにより、実際に送れるデータ量が相対的に減少します。
ルートキャッシュにはどのような利点がありますか?
一度構築した経路を保存しておくことで、同じ目的地へ再度送信する場合に、時間のかかるルート探索プロセスを省略して即座に通信を開始できるため、遅延を削減できます。
ノードの移動が激しい環境で性能が低下するのはなぜですか?
DSRはキャッシュされた経路を利用しますが、ノードが頻繁に移動するとキャッシュ内の情報がすぐに古くなり(Stale route)、ルートエラーが多発します。その度にルート探索をやり直す必要があるため、効率が著しく低下します。
References
- Ehsan, H.; Uzmi, Z.A. (December 2004). "Performance comparison of ad hoc wireless network routing protocols". 8th International Multitopic Conference, 2004. Proceedings of INMIC 2004. pp. 457–465. :10.1109/INMIC.2004.1492924. .