
最適化リンク状態ルーティングプロトコル(OLSR)[ 1 ]は、モバイルアドホックネットワーク向けに最適化されたIPルーティングプロトコルであり、他の無線アドホックネットワークでも使用できます。OLSRはプロアクティブなリンク状態ルーティングプロトコルであり、 helloメッセージとトポロジ制御(TC)メッセージを使用して、モバイルアドホックネットワーク全体にリンク状態情報を検出して配布します。個々のノードはこのトポロジ情報を使用して、最短ホップ転送パスを使用してネットワーク内のすべてのノードの次のホップ宛先を計算します。
Open Shortest Path First (OSPF) やIntermediate System to Intermediate System (IS-IS)などのリンクステートルーティングプロトコルは、トポロジ情報のフラッディングを実行するために、各リンクで指定ルータを選出します。無線アドホックネットワークでは、リンクの概念が異なり、パケットは同じインターフェイスから送信される可能性があります。そのため、フラッディングプロセスを最適化するには、別のアプローチが必要です。各ノードの OLSR プロトコルは、Hello メッセージを使用して 2 ホップのネイバー情報を検出し、マルチポイントリレー(MPR) のセットの分散選出を実行します。ノードは、MPR として選択されたノードを介して、2 ホップのネイバーのそれぞれへのパスが存在するように MPR を選択します。これらの MPR ノードは、MPR セレクタを含む TC メッセージを送信および転送します。 MPRのこの機能により、OLSRは他のリンクステートルーティングプロトコルとはいくつかの点で独自性を持ちます。TCメッセージの転送パスはすべてのノードで共有されるのではなく、送信元によって異なります。ノードのサブセットのみがリンクステート情報を送信し、ノードのすべてのリンクがアドバタイズされるのではなく、MPR選択を表すリンクのみがアドバタイズされます。
リンクステートルーティングでは、トポロジデータベースをネットワーク全体で同期させる必要があるため、OSPFとIS-ISは信頼性の高いアルゴリズムを使用してトポロジフラッディングを実行します。このようなアルゴリズムをアドホック無線ネットワーク向けに設計するのは非常に難しいため、OLSRは信頼性を考慮せず、データベースが長期間同期されない状態にならないように、トポロジデータを十分な頻度でフラッディングします。
マルチポイントリレー(MPR)は、ノード間でメッセージを中継します。また、任意の送信元から任意の宛先ノードへの適切な経路のルーティングと選択においても重要な役割を担っています。
MPRは、制御メッセージでMPRセレクタ(MPRとして選択されたノード)のリンク状態情報を定期的に通知します。MPRは、経路計算において、特定のノードから任意の宛先への経路を形成するためにも使用されます。各ノードは、リンクセンシング、近隣ノード検出、およびMPR選択プロセスのために、定期的にHelloメッセージをブロードキャストします。[ 2 ]
ルーティングプロトコルはプロアクティブな方式を採用しているため、ネットワーク内のすべての宛先への経路は使用前に既知であり、維持されています。標準ルーティングテーブルに経路が既知であることは、新しい経路を見つける際の経路探索遅延が発生しないため、一部のシステムやネットワークアプリケーションにとって有益です。
生成されるルーティングオーバーヘッドは、一般的にリアクティブプロトコルよりも大きいものの、作成されるルートの数に比例して増加するわけではない。
デフォルトルートとネットワークルートは、ホストおよびネットワーク関連付け(HNA)メッセージによってシステムに注入することができ、 OLSR MANETクラウド内のインターネットや他のネットワークへの接続を可能にします。ネットワークルートは、現在のリアクティブプロトコルではうまく実行できない機能です。
タイムアウト値と有効性に関する情報は、異なるノードで異なるタイマー値を使用できる情報を伝えるメッセージに含まれています。
OLSRの本来の定義には、リンク品質の検出に関する規定は含まれていません。単に、最近一定数のhelloパケットが受信されていればリンクが稼働しているとみなすだけです。これは、リンクが二峰性(稼働中か故障中か)であることを前提としていますが、無線ネットワークでは必ずしもそうとは限りません。無線ネットワークでは、リンクは中間的なパケット損失率を示すことがよくあります。オープンソースのOLSRd(Linuxベースのメッシュルーターでよく使用される)などの実装は、(バージョン0.4.8以降)リンク品質の検出機能が追加されています。
OLSRはプロアクティブなプロトコルであるため、電力とネットワークリソースを使用して、使用されていない可能性のあるルートに関するデータを伝播します。これは有線アクセスポイントやラップトップでは問題ありませんが、ほとんどの時間スリープ状態を取ろうとするセンサーネットワークにはOLSRは適していません。CPUパワーの低い小規模な有線アクセスポイントの場合、オープンソースのOLSRdプロジェクトは、大規模なメッシュネットワークが、非常に少ないCPUパワーで数千ノードのOLSRdで動作できることを示しました。200MHz組み込み 機器。
OLSRはリンクステートプロトコルであるため、ネットワーク内の最適な経路を計算するには、かなりの帯域幅とCPUパワーが必要です。OLSRが使用される一般的なネットワーク(ノード数が数百を超えることはほとんどない)では、これは問題にならないようです。
OLSRはトポロジー情報をフラッディングするためにMPRのみを使用することで、フラッディングプロセスの冗長性の一部を排除します。これは、パケット損失率が中程度から高いネットワークでは問題となる可能性があります[ 3 ]。ただし、MPRメカニズムは自己剪定型です(つまり、パケット損失が発生した場合、パケットを再送信しないはずのノードが再送信する可能性があります)。
OLSR は、「Hello」メッセージを使用して、応答を通じて 1 ホップのネイバーと 2 ホップのネイバーを検出します。送信側は、2 ホップのノードへの最適なルートを提供する 1 ホップのノードに基づいて、マルチポイントリレー (MPR) を選択できます。各ノードには、自身を MPR ノードとして選択したノードを列挙する MPR セレクタ セットも備わっています。OLSR は、トポロジ制御 (TC) メッセージと MPR 転送を使用して、ネットワーク全体にネイバー情報を配信します。 ホストおよびネットワーク関連付け(HNA) メッセージは、TC メッセージがホスト ルートをアドバタイズするのと同様に、ネットワーク ルートのアドバタイズを配信するために OLSR によって使用されます。


アドホック無線ネットワークにおけるルーティングの問題は活発に研究されており、OLSRはその提案されている解決策の1つにすぎません。多くの人にとって、まったく新しいプロトコルが必要なのか、それともOSPFを無線インターフェースのサポートで拡張できるのかは明らかではありません。[ 4 ] [ 5 ]
帯域幅や電力に制約のある環境では、ルーティングするトラフィックがないときにネットワークをサイレント状態に保つことが重要です。リアクティブルーティングプロトコルはルートを維持せず、必要に応じてルートを構築します。リンクステートプロトコルはデータベースの同期を必要とするため、AODVやDSDVのように距離ベクトル方式を用いるか、あるいは動的ソースルーティングのように必ずしも最適なパスを構築しないアドホックな方式を用いるのが一般的です。
詳細については、アドホックルーティングプロトコルの一覧を参照してください。
OLSRv2は、2014年4月にIETFによって標準化トラックプロトコルとして公開されました。[ 6 ] MPRの選択と配信など、オリジナルの主要な機能の多くが維持されています。主な違いは、パケットフォーマットpacketbbと近隣探索プロトコルNHDPという共有コンポーネントを使用した柔軟性とモジュール設計です。これらのコンポーネントは、次世代IETF MANETプロトコル間で共通となるように設計されています。また、OLSRとOLSRv2の間には、複数のアドレスとインターフェースが有効になっているノードの処理方法にも違いがあります。