640 likes | 785 Views
Progress Report. Kenji Kaneda. Parallel SMP emulator. Naïve implementation has been finished. Demo. Boot Linux SMP on a dual-processor machine Execution of simple programs Type “yes > /dev/null” three times Processes are distributed over two CPUs correctly. Ad-Hoc Mobile Network Routing.
E N D
Progress Report Kenji Kaneda
Parallel SMP emulator • Naïve implementation has been finished
Demo • Boot • Linux SMP on a dual-processor machine • Execution of simple programs • Type “yes > /dev/null” three times • Processes are distributed over two CPUs correctly
Ad-Hoc Mobile Network Routing Kenji Kaneda
E C A F B D Ad-Hoc Mobile Networkとは? E.g.) rescue operation, meeting, battle • 個々のノードが自律して動作 • 近接ノード間のみ通信可能
Ad-Hoc Mobile Network Routing (1/2) • 他ノードを中継することにより、 遠くのノードにメッセージを送ることが可能になる E C A F B D source destination
Ad-Hoc Mobile Network Routing (2/2) • Internet routingと異なり • ネットワークトポロジーが頻繁に動的に変化し、 • ノード名が階層的に割り当てられていない ことを考慮しなければいけない 133.11.12.101 E B A C D 133.11.12.1 133.11.12.2 133.11.12.3 Ad-hoc mobile network routing Internet routing
ABR SSR LMR TORA DSR AODV WRP DSDV CGSR … Routing Algorithms Many algorithms have been proposed
Classification of Algorithms • Proactive vs. Reactive • Proactive: ルーティング表を常に最新の状態に保持 • Reactive: メッセージ送信時にルーティング表を構築 • Flat vs. Hierarchical
Rest of This Talk • Proactive Routing • DSDV • Reactive Routing • AODV • Hierarchical (Proactive) Routing • Dominating-set based DSDV • Landmark
Proactive Routing • Destination Sequenced Distance Vector (DSDV) • Clustered Gateway Switch Routing (CGSR) • The Wireless Routing Protocol (WRP) • …
DSDV (1/2) • 各ノードがBroadcastを行うことにより、 ルーティング表が構築される tを経由してAに到達 wを経由してAに到達 B E t sを経由してAに到達 w s u A D y v x C F vを経由してAに到達 xを経由してAに到達
DSDV (2/2) • 各ノードが • リンクの追加・削除が発生した時に • ルーティング表が更新された時に • 定期的に ブロードキャストを行うことにより、ルーティング表を構築する
Routing Table Updateの例1 • 新しくリンクが追加された場合 B A C
Routing Table Updateの例1 • AとCは自分のルーティング表をお互いに送信 • 送られてきた情報をもとに、ルーティング表を更新 B A C
Routing Table Updateの例1 • Aは自分のルーティング表が更新されたので、再度broadcast B A C
Routing Table Updateの例2 • リンクが削除された場合 B A C
Routing Table Updateの例2 • A, Cは自分のルーティング表を更新する • A, Cはbroadcastを行う ※ Bも、Cに到達不可能となる(Aを経由していたので) B A C
Routing Table Updateの例3 • リンクが削除された場合 B A C
Routing Table Updateの例3 • A、Cは自分のルーティング表を更新する • A,Cはbroadcastを行う ※ Bは、AとCに直接到達できるので、ルーティング表は更新されない B A C
Routing Table Updateの例3 • Bは定期的に自分のルーティング表をbroadcastする ※ A,Cのルーティング表が更新され、B経由でお互いに到達可能になる B A C
Counting-to-Infinity Problem • Network topologyの変化のタイミングによって、loopが発生してしまう • AはBを経由してCに到達可能 • BはAを経由してCに到達可能 B A C
Counting-to-Infinityの例 • AC間のリンクが切れる • A, Cは自分のルーティング表を更新する • Bが定期的にbroadcastを行う • A, Bはルーティング表の更新を繰り返す B A C
Counting-to-Infinity Problem • もっと複雑なloopが発生しうる sequence numberを導入することにより、loopを回避する
Sequence numberとは • ルーティング表の各エントリに付加される • 単調に増加する • Sequence numberの大きいエントリほど新鮮 • Sequence numberの大きいエントリほど、優先的に経路として選択される A
Sequence numberの増加 (1/2) • 定期的にブロードキャストする時に、 自分のエントリのSeq.を2増やす B A C
Sequence numberの増加 (2/2) • リンクが削除された時に、 到達不可能になったエントリのSeq.を1増やす B A C
Route Selectionの基準 • Seq. の高い経路を優先的に選択 • Seq.が等しい時には、Metricの小さいもの A B
Loop回避例 • AC間のリンクが切れる • A, Cは自分のルーティング表を更新する • Bが定期的にbroadcastを行う ※ Seq.の小さいエントリなので無視される B A C
Complexity • Time complexity • O(d) • Communication Complexity • O(N) where • N = # of nodes • d = network diameter
Reactive Routing • Ad hoc On-Demand Distance Vector Routing (AODV) • Dynamic Source Routing (SOR) • Temporally Ordered Routing Algorithm (TORA) • …
AODV • On-demandにルーティング表を構築する • 定期的なbroadcastを必要としない • ※メッセージ送信の際のlatencyは増大する
ルーティング表の構築 (1/3)~ Reverse Path Setup ~ AB B ACD ACDF A D F source destination C AC E ACE
ルーティング表の構築 (2/3)~ Forward Path Setup ~ AB B FD ACD ACDF A D F source destination C FDCA AC E FDC ACE
ルーティング表の構築 (3/3)~ Cacheの利用 ~ AからFの経路を計算したときに蓄えられた情報を利用 AB B FD ACD ACDF A D F source destination C FDCA AC E FDC ACE
Path Maintenance • Sequence numberを利用することにより、loopを回避 • DSDVとほぼ同様 • 一定時間以上経過した経路情報は削除
Complexity • Time complexity • O(2d) • Communication Complexity • O(2N) where • N = # of nodes • d = network diameter
Hierarchical Routing • 階層構造を利用して • ルーティング表の縮小・集約 • メッセージ数の削減 などを実現する 133.11.12.101 133.11.9.11 133.11.12.1 133.11.12.2 133.11.12.3 133.11.9.31 133.11.9.11 133.11.12.3
Hierarchical Routing • Dominating-set based DSDV • Landmark Routing • Clustered Gateway Switch Routing (CGSR) • …
Hierarchical Routing • 各ノードは自律的に動作しながら階層構造を構築 • 各ノードは、ネットワークトポロジーの変化に応じて、動的に階層構造を再構築する ※ Internet routingならば、階層構造の構築は、ほぼ手動(ネットワーク管理者の作業)
Dominating-set based DSDV • 2-level hierarchy • Gatewayとnon-gatewayが存在 • Gateway間では、shortest pathを計算 • Non-gatewayは、隣接gatewayのうちのどれかを中継してメッセージを配送 gateway non-gateway
Gatewayはどうなるべきか? • Minimum Connected Dominating set (MCDS)が望ましい Given a graph G=(V,E), U (⊆V) is a connected dominating set if ∀v ∈ V–U, ∃u ∈ U, uv ∈ E and the subgraph of G induced by U is connected
approximate MCDSを求める分散アルゴリズム • 各ノードは、自分から2hop先のノードまでを把握する • 以下の条件を満たすノードuをgatewayとする ∃v,w ∈ N, (uv ∈ E) ∧ (uw ∈ E) ∧ (vw ∈ E) where N = { v | uv ∈ E } u v w
Landmark Routing • Landmarkと呼ばれるノードによって階層構造を構築
vへの経路を知っているノード Landmark • Landmark of radius r= a node for which all nodes within r hops contain a routing entry v Landmark of radius 2
Hierarchy of Landmarks (1/3) • Hierarchy Level • 各Landmarkに与えられる0からHまでの値 • levelの高いLandmarkほどradiusも大きい ※ Li をlevel iのLandmarkの集合とする ※ ri(v)をlevel iのLandmark vのradiusとする Level 2 Level 1 Level 0
Hierarchy of Landmarks (2/3) 以下の条件を満たすようにLandmarkを定める [条件1] 全てのノードは、level 0 のLandmark