Skip to main content
QUICK REVIEW

[論文レビュー] Sequence Numbers Do Not Guarantee Loop Freedom; AODV Can Yield Routing Loops

Rob van Glabbeek, Peter Höfner|arXiv (Cornell University)|Dec 30, 2015
Mobile Ad Hoc Networks参考文献 22被引用数 29
ひとこと要約

この論文は、AODVルーティングプロトコルにおける単調増加のシーケンス番号が、従来の考え通りにループ自由を保証するものではないことを示している。形式的解析とAODV RFCにおける曖昧さの特定を通じて、プロトコルのすべてのルールに従ってもルーティングループが発生しうることを示し、無線メッシュネットワークおよびモバイルアドホックネットワーク分野における長年の仮定に疑問を呈している。

ABSTRACT

In the area of mobile ad-hoc networks and wireless mesh networks, sequence numbers are often used in routing protocols to avoid routing loops. It is commonly stated in protocol specifications that sequence numbers are sufficient to guarantee loop freedom if they are monotonically increased over time. A classical example for the use of sequence numbers is the popular Ad hoc On-Demand Distance Vector (AODV) routing protocol. The loop freedom of AODV is not only a common belief, it has been claimed in the abstract of its RFC and at least two proofs have been proposed. AODV-based protocols such as AODVv2 (DYMO) and HWMP also claim loop freedom due to the same use of sequence numbers. In this paper we show that AODV is not a priori loop free; by this we counter the proposed proofs in the literature. In fact, loop freedom hinges on non-evident assumptions to be made when resolving ambiguities occurring in the RFC. Thus, monotonically increasing sequence numbers, by themselves, do not guarantee loop freedom.

研究の動機と目的

  • AODVや類似プロトコルにおいてシーケンス番号のみでループ自由が保証されるという広く信じられている信念に挑戦すること。
  • ループ自由が保証されているとされるAODV RFCにおける曖昧さや矛盾を特定・分析し、仕様に従ってもルーティングループが生じる可能性を明らかにすること。
  • 5つの主要なAODV実装のループ自由特性を評価し、RFCの曖昧さに起因する実装間の差異を明らかにすること。
  • 形式的仕様手法(たとえばプロセス代数)を提唱し、曖昧さを排除し、ループ自由のような重要なプロトコル特性を厳密に検証すること。

提案手法

  • プロセス代数を用いたAODVの形式的モデリングにより、プロトコルの振る舞いや意味を正確に捉えること。
  • AODV RFCのあらゆる妥当な解釈を体系的に分析し、異なる解釈下でのループ自由の有無を評価すること。
  • RFC準拠の妥当な解釈に基づいて生じる具体的なルーティングループの例を構築すること。
  • 5つの主要なAODV実装の比較を通じて、同定された曖昧さおよびループシナリオ下での挙動を評価すること。
  • 形式的検証技術を用いてループの存在を検証し、シーケンス番号のみでループ自由が保証されないことを示すこと。
  • 特にルートリクエスト処理およびシーケンス番号の更新に関する、プロトコルの重大な曖昧さを同定し、それらが実装の不一致を引き起こす原因となっていること。

実験結果

リサーチクエスチョン

  • RQ1シーケンス番号が単調増加であり、かつRFCで規定されたすべてのルールに従っている場合でも、AODVでルーティングループが生成可能か?
  • RQ2AODV RFCにどのような曖昧さがあり、それらがループ自由が保証されているとされるプロトコルの解釈に影響を与え、ルーティングループを生じさせるのか?
  • RQ3同じRFC仕様に従うAODVの異なる実装はどのように振る舞い、その差異の原因は何か?
  • RQ4既存のAODVのループ自由に関する証明は、未検証または明示されていない仮定に依存しているため、どの程度失敗しているのか?
  • RQ5プロセス代数のような形式的手法を用いることで、ルーティングループのようなプロトコルレベルの欠陥を効果的に検出・防止できるか?

主な発見

  • すべてのRFC規定のルールに準拠するAODVでルーティングループを構築可能であり、シーケンス番号のみでループ自由が保証されないことを実証している。
  • AODV RFCには、特にルートリクエスト処理およびシーケンス番号の更新に関する重大な曖昧さと矛盾があり、それらがループを引き起こす挙動を可能にしている。
  • それぞれが妥当で合理的なRFCの解釈が複数存在し、それらは異なるプロトコル挙動(包括的にルーティングループの可能性を含む)をもたらす。
  • 5つの主要なAODV実装は、RFCの解釈の違いに起因して挙動が異なることが確認され、仕様が実装に依存しない(implementation-agnostic)とは言えないことが示された。
  • 既存のAODVのループ自由に関する証明は、RFCに記載されていない未検証または暗黙の仮定に依存しているため、誤りである。
  • 形式的手法(たとえばプロセス代数)を用いることで、これらの欠陥を検出でき、シーケンス番号メカニズムが単独でループ自由を保証するには不十分であることを厳密に証明できる。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。