Upload
garth
View
23
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Progress Report
Kenji Kaneda
Parallel SMP emulator
Naïve implementation has been finished
Demo
BootLinux SMP on a dual-processor
machineExecution of simple programs
Type “yes > /dev/null” three timesProcesses are distributed over two
CPUs correctly
Ad-Hoc Mobile Network Routing
Kenji Kaneda
Ad-Hoc Mobile Networkとは ?
E.g.) rescue operation, meeting, battle個々のノードが自律して動作近接ノード間のみ通信可能
AB
C
E
FD
Ad-Hoc Mobile Network Routing (1/2)
他ノードを中継することにより、 遠くのノードにメッセージを送ることが可能になる
AB
C
E
FDsourc
edestination
Ad-Hoc Mobile Network Routing (2/2)
Internet routing と異なりネットワークトポロジーが頻繁に動的に変化し、ノード名が階層的に割り当てられていない
ことを考慮しなければいけない
Internet routing
Ad-hoc mobile network routing
133.11.12.101
133.11.12.1
133.11.12.2
133.11.12.3
A B
D
E
C
Routing Algorithms
ABR SSR LMR TORA DSR
AODV WRP DSDV CGSR …
Many algorithms have been proposed
Classification of Algorithms
Proactive vs. ReactiveProactive: ルーティング表を常に最新の状態に
保持Reactive: メッセージ送信時にルーティング表
を構築Flat vs. Hierarchical
Rest of This Talk
Proactive RoutingDSDV
Reactive RoutingAODV
Hierarchical (Proactive) RoutingDominating-set based DSDVLandmark
Proactive Routing
Proactive Routing
Destination Sequenced Distance Vector (DSDV)
Clustered Gateway Switch Routing (CGSR)
The Wireless Routing Protocol (WRP)
…
DSDV (1/2) 各ノードが Broadcast を行うことにより、
ルーティング表が構築される
A
B
C
D
E
F
s を経由して A に到達s
t
u
v
w
x
y
t を経由して A に到達
v を経由して A に到達
w を経由して A に到達
x を経由して A に到達
DSDV (2/2)
各ノードがリンクの追加・削除が発生した時にルーティング表が更新された時に定期的に
ブロードキャストを行うことにより、ルーティング表を構築する
Routing Table Update の例 1
Dest. Next Metric
A A 1
B B 0
C ? ∞
新しくリンクが追加された場合
B A C
Dest. Next Metric
A A 0
B B 1
C ? ∞
Dest. Next Metric
A ? ∞
B ? ∞
C C 0
Routing Table Update の例 1
1. A と C は自分のルーティング表をお互いに送信
送られてきた情報をもとに、ルーティング表を更新
Dest. Next Metric
A A 1
B B 0
C ? ∞
B A C
Dest. Next Metric
A ? ∞
B ? ∞
C C 0
Dest. Next Metric
A A 1
B A 2
C C 0
Dest. Next Metric
A A 0
B B 1
C ? ∞
Dest. Next Metric
A A 0
B B 1
C C 1
Routing Table Update の例 1
2. A は自分のルーティング表が更新されたので、再度 broadcast
Dest. Next Metric
A A 1
B B 0
C ? ∞
B A C
Dest. Next Metric
A A 1
B A 2
C C 0
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 1
B B 0
C A 2
Routing Table Update の例 2
Dest. Next Metric
A A 1
B B 0
C A 2
リンクが削除された場合
B A C
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 1
B A 2
C C 0
Routing Table Update の例 2
1. A, C は自分のルーティング表を更新する2. A, C は broadcast を行う
※ B も、 C に到達不可能となる( A を経由していたので)
Dest. Next Metric
A A 1
B B 0
C A 2
B A C
Dest. Next Metric
A A 1
B A 2
C C 0
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 0
B B 1
C ? ∞
Dest. Next Metric
A A 1
B B 0
C ? ∞
Dest. Next Metric
A ? ∞
B ? ∞
C C 0
Routing Table Update の例 3
Dest. Next Metric
A A 1
B B 0
C C 1
リンクが削除された場合
B A C
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 1
B B 1
C C 0
Routing Table Update の例 3
1. A 、 C は自分のルーティング表を更新する2. A,C は broadcast を行う
※ B は、 A と C に直接到達できるので、ルーティング表は更新されない
Dest. Next Metric
A A 1
B B 0
C C 1
B A C
Dest. Next Metric
A A 1
B B 1
C C 0
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 0
B B 1
C ? ∞
Dest. Next Metric
A ? ∞
B B 1
C C 0
Routing Table Update の例 3
3. B は定期的に自分のルーティング表をbroadcast する
※ A,C のルーティング表が更新され、 B 経由でお互いに到達可能になる
Dest. Next Metric
A A 1
B B 0
C C 1
B A C
Dest. Next Metric
A ? ∞
B B 1
C C 0
Dest. Next Metric
A A 0
B B 1
C ? ∞
Dest. Next Metric
A A 0
B B 1
C B 2
Dest. Next Metric
A B 2
B B 1
C C 0
Counting-to-Infinity Problem
Network topology の変化のタイミングによって、 loop が発生してしまうA は B を経由して C に到達可能B は A を経由して C に到達可能
Dest. Next Metric
A A 1
B B 0
C A 2
B A C
Dest. Next Metric
A A 1
B A 2
C C 0
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 1
B B 0
C A 2
Dest. Next Metric
A A 0
B B 1
C B 3
Counting-to-Infinity の例1. AC 間のリンクが切れる2. A, C は自分のルーティング表を更新する3. B が定期的に broadcast を行う4. A, B はルーティング表の更新を繰り返す
Dest. Next Metric
A A 1
B B 0
C A 2
B A C
Dest. Next Metric
A A 1
B B 1
C C 0
Dest. Next Metric
A A 0
B B 1
C C 1
Dest. Next Metric
A A 0
B B 1
C ? ∞
Dest. Next Metric
A ? ∞
B B 1
C C 0
Dest. Next Metric
A A 0
B B 1
C B 3
Dest. Next Metric
A A 1
B B 0
C A 4
Dest. Next Metric
A A 0
B B 1
C B 5
Dest. Next Metric
A A 1
B B 0
C A 4
Dest. Next Metric
A A 1
B B 0
C A 6
Counting-to-Infinity Problem
もっと複雑な loop が発生しうる sequence number を導入することに
より、 loop を回避する
Sequence number とはルーティング表の各エントリに付加される単調に増加する
Sequence number の大きいエントリほど新鮮Sequence number の大きいエントリほど、優
先的に経路として選択される
A
Dest. Next Metric
Seq.
A A 0 4
B B 1 2
C B 3 2
Sequence number の増加 (1/2)
定期的にブロードキャストする時に、 自分のエントリの Seq.を 2 増やす
B A C
Dest. Next Metric
Seq.
A A 0 2
B B 1 4
C C 1 2
Dest. Next Metric
Seq.
A A 0 4
B B 1 4
C C 1 2
Sequence number の増加 (2/2)
リンクが削除された時に、 到達不可能になったエントリの Seq. を 1 増やす
B A C
Dest. Next Metric
Seq.
A A 0 2
B B 1 4
C C 1 2
Dest. Next Metric
Seq.
A A 0 2
B B 1 4
C ? ∞ 3
Route Selection の基準Seq. の高い経路を優先的に選択
Seq. が等しい時には、 Metric の小さいもの
Dest. Next Metric
Seq.
A A 1 2
B B 0 4
C ? ∞ 3
D F 4 2
Dest. Next Metric
Seq.
A A 0 2
B B 1 4
C C 2 2
D G 6 2
Dest. Next Metric
Seq.
A A 0 2
B B 1 4
C ? ∞ 3
D G 6 2
Dest. Next Metric
Seq.
A A 0 2
B B 1 4
C ? ∞ 3
D B 5 2
BA
Loop 回避例1. AC 間のリンクが切れる2. A, C は自分のルーティング表を更新する3. B が定期的に broadcast を行う
※ Seq. の小さいエントリなので無視される
B A C
Dest. Next Metric
Seq.
A A 0 2
B B 1 2
C C 1 2
Dest. Next Metric
Seq.
A A 1 2
B B 0 2
C A 2 2
Dest. Next Metric
Seq.
A A 0 2
B B 1 2
C ? ∞ 3
Dest. Next Metric
Seq.
A A 1 2
B B 0 2
C ? ∞ 3
Complexity
Time complexityO(d)
Communication ComplexityO(N)
whereN = # of nodesd = network diameter
Reactive Routing
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 ~
A
B
C
D F
EAC
AB
ACE
ACD
ACDF
source destinatio
n
ルーティング表の構築 (2/3)~ Forward Path Setup ~
A
B
C
D F
EAC
AB
ACE
ACD
ACDF
FDC
FD
FDCA
source destinatio
n
ルーティング表の構築 (3/3)~ Cache の利用 ~
A
B
C
D F
EAC
AB
ACE
ACD
ACDF
FDC
FD
FDCA
source destinatio
n
A から F の経路を計算したときに蓄えら
れた情報を利用
Path Maintenance
Sequence number を利用することにより、 loop を回避DSDV とほぼ同様
一定時間以上経過した経路情報は削除
Complexity
Time complexityO(2d)
Communication ComplexityO(2N)
whereN = # of nodesd = network diameter
Hierarchical Routing
Hierarchical Routing
階層構造を利用してルーティング表の縮小・集約メッセージ数の削減
などを実現する
133.11.12.101
133.11.12.1
133.11.12.2
133.11.12.3
133.11.9.11
133.11.9.31
133.11.9.11
Hierarchical Routing
Dominating-set based DSDVLandmark RoutingClustered Gateway Switch
Routing (CGSR)…
Hierarchical Routing
各ノードは自律的に動作しながら階層構造を構築
各ノードは、ネットワークトポロジーの変化に応じて、動的に階層構造を再構築する
※ Internet routing ならば、階層構造の構築は、ほぼ手動(ネットワーク管理者の作業)
Dominating-set based DSDV
2-level hierarchyGateway と non-gateway が存在Gateway 間では、 shortest path を計算Non-gateway は、隣接 gateway のうち
のどれかを中継してメッセージを配送
non-gateway
gateway
Gateway はどうなるべきか?Minimum Connected Dominating set (MCDS)
が望ましい Given a graph G=(V,E), U (⊆V) i
s 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 と呼ばれるノードによって階層構造を構築
Landmark
Landmark of radius r = a node for which all nodes within r hops contain a routing entry
v
Landmark of radius 2
v への経路を知っているノード
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 0
Level 1
Level 2
Hierarchy of Landmarks (2/3)
以下の条件を満たすように Landmark を定める
[ 条件 1] 全てのノードは、 level 0 のLandmark
Hierarchy of Landmarks (3/3)
以下の条件を満たすように Landmark を定める[ 条件 2] 全ての level i の Landmark v にお
いて、 ri(v) ホップ中に level i+1 のLandmark が 少なくとも一つの存在
vu
Level 0 の
Landmark
r1(u)
Level 1 の
Landmark
wLevel 2
のLandmar
k
r0(v)
Routing Table
ノード v は、以下のノードへの経路をもつr0(v) 内に位置する全ての level 0 の Landmarkr1(v) 内に位置する全ての level 1 の Landmark…
vu
Level 0 の
Landmark
r1(u)
Level 1 の
Landmark
w
r0(v)Level 2
のLandmar
k
Landmark Address
各ノードに nHnH-1…n0 というアドレスを割り当てる
ただしni (0 ≦ i ≦ H) は level i の Landmark の名前n0 は自分の名前ni は、 ni-1 から ri-1(ni-1) ホップ中に存在
E.g.) v の Landmark address は、 wuv
Routing in a Landmark Hierarchy
宛先を Landmark address で指定Landmark address の下位からみて、
経路の分かるノードに転送
vu
Level 0 の
Landmark
Level 1 の
Landmark
wLevel 2
のLandmar
k
source
u,v への経路が不明なので w に転送
v への経路が不明なので u に転送
Dynamic Algorithms in Landmark Routing (1/4)
動作の概要Election により階層構造を動的に構築Distance vector routing で経路を計
算ノード名を Landmark address に
mapping
Dynamic Algorithms in Landmark Routing (2/4)
Election により階層構造を動的に構築
Dynamic Algorithms in Landmark Routing (3/4)
Distance vector routing で経路を計算Level i の Landmark であるノード v に関する
情報は、 ri(v) だけ伝播される
Level i のLandmar
k
ri(v)=2v
v への経路を知っているノード
Dynamic Algorithms in Landmark Routing (4/4)
ノード名を Landmark address に mappingノード名から Landmark address へのハッ
シュ関数 H を利用して、分散管理v の Landmark address は、 Landmark address が
H(v) であるノードが管理
uv
v の Landmark address =xyv
v にメッセージを送信したい .そのために v の landmark address
を知っている必要がある
w の Landmark address = H(v)
w自分のLandmark を登録v の Landmark
Address を問い合わせる
Summary
Ad-hoc mobile network routingDSDVAODVDominating-set based DSDVLandmark
References (1/3)
“A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks”E. Royer and C-K. TohIEEE Personal Communications
Magazine1999
References (2/3)
“Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers” Charles Perkins and Pravin Bhagwat SIGCOMM 1994
Ad hoc On-Demand Distance Vector Routing Charles Perkins and Elizabeth M Mobile Computing Systems and Applications 1999
References (3/3) “The Landmark Hierarchy: a new
hierarchy for routing in very large networks” P.F. Tsuchiya Communication Review, vol. 18, No. 4 1998
“A Dominating-Set-Based Routing Scheme in Ad Hoc Wireless Networks” Jie Wu and Hailan Li Telecomm. Systems, A special issue on
Wireless Networks 2001
Appendix
Peer-to-Peer Routing Algorithms
E.g.) Pastry, CAN, ChordAd-hoc mobile network と異なり
各ノードはお互いに直接通信可能厳密にルーティングを行う必要は必ずしもな
い例)ある特定のファイルをもつノードのうちの
どれかに届けば十分