Ad-Hoc Mobile Networkとは?
Download
Report
Transcript Ad-Hoc Mobile Networkとは?
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
Ad-Hoc Mobile Networkとは?
E.g.) rescue operation, meeting, battle
個々のノードが自律して動作
近接ノード間のみ通信可能
E
A
C
B
D
F
Ad-Hoc Mobile Network Routing
(1/2)
他ノードを中継することにより、
遠くのノードにメッセージを送ることが可能になる
E
A
source
C
B
D
F
destination
Ad-Hoc Mobile Network Routing
(2/2)
Internet routingと異なり
ネットワークトポロジーが頻繁に動的に変化し、
ノード名が階層的に割り当てられていない
ことを考慮しなければいけない
A
C
E
133.11.12.101
B
D
Ad-hoc mobile
network routing
133.11.12.1
133.11.12.2 133.11.12.3
Internet routing
Routing Algorithms
Many algorithms have been proposed
ABR
SSR
LMR
TORA
DSR
AODV
WRP
DSDV
CGSR
…
Classification of Algorithms
Proactive vs. Reactive
Proactive: ルーティング表を常に最新の状態に保持
Reactive: メッセージ送信時にルーティング表を構築
Flat vs. Hierarchical
Rest of This Talk
Proactive Routing
Reactive Routing
DSDV
AODV
Hierarchical (Proactive) Routing
Dominating-set based DSDV
Landmark
Proactive Routing
Proactive Routing
Destination Sequenced Distance
Vector (DSDV)
Clustered Gateway Switch Routing
(CGSR)
The Wireless Routing Protocol (WRP)
…
DSDV (1/2)
各ノードがBroadcastを行うことにより、
ルーティング表が構築される
tを経由してAに到達
B
t
u
C
wを経由してAに到達
sを経由してAに到達
A
v
vを経由してAに到達
s
E
w
y
D
x
xを経由してAに到達
F
DSDV (2/2)
各ノードが
リンクの追加・削除が発生した時に
ルーティング表が更新された時に
定期的に
ブロードキャストを行うことにより、ルーティング
表を構築する
Routing Table Updateの例1
新しくリンクが追加された場合
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
?
?
∞
∞
C
?
∞
C
?
∞
C
C
0
B
A
C
Routing Table Updateの例1
1. AとCは自分のルーティング表をお互いに送信
送られてきた情報をもとに、ルーティング表を更新
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
?
A
?
A
∞
1
∞
2
C
?
∞
C
?
C
∞
1
C
C
0
B
A
C
Routing Table Updateの例1
2. Aは自分のルーティング表が更新されたので、
再度broadcast
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
A
A
1
2
C
?
A
∞
2
C
C
1
C
C
0
B
A
C
Routing Table Updateの例2
リンクが削除された場合
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
A
A
1
2
C
A
2
C
C
1
C
C
0
B
A
C
Routing Table Updateの例2
1. A, Cは自分のルーティング表を更新する
2. A, Cはbroadcastを行う
※ Bも、Cに到達不可能となる(Aを経由していたので)
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
?
A
A
?
∞
1
2
∞
C
A
?
2
∞
C
C
?
1
∞
C
C
0
B
A
C
Routing Table Updateの例3
リンクが削除された場合
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
A
B
1
1
C
C
1
C
C
1
C
C
0
B
A
C
Routing Table Updateの例3
1. A、Cは自分のルーティング表を更新する
2. A,Cはbroadcastを行う
※ Bは、AとCに直接到達できるので、ルーティング表は
更新されない
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
?
A
B
∞
1
1
C
C
1
C
C
?
1
∞
C
C
0
B
A
C
Routing Table Updateの例3
3. Bは定期的に自分のルーティング表を
broadcastする
※ A,Cのルーティング表が更新され、B経由でお互いに
到達可能になる
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
B
?
B
2
∞
1
C
C
1
C
?
B
∞
2
C
C
0
B
A
C
Counting-to-Infinity Problem
Network topologyの変化のタイミングに
よって、loopが発生してしまう
AはBを経由してCに到達可能
BはAを経由してCに到達可能
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
A
A
1
2
C
A
2
C
C
B
1
3
C
C
0
B
A
C
Counting-to-Infinityの例
1.
2.
3.
4.
AC間のリンクが切れる
A, Cは自分のルーティング表を更新する
Bが定期的にbroadcastを行う
A, Bはルーティング表の更新を繰り返す
Dest. Next Metric
Dest. Next Metric
Dest. Next Metric
A
B
A
B
1
0
A
B
A
B
0
1
A
B
?
A
B
∞
1
1
C
A
2
4
6
C
C
?
B
1
∞
3
5
C
C
0
B
A
C
Counting-to-Infinity Problem
もっと複雑なloopが発生しうる
sequence numberを導入することにより、
loopを回避する
Sequence numberとは
ルーティング表の各エントリに付加される
単調に増加する
Sequence numberの大きいエントリほど新鮮
Sequence numberの大きいエントリほど、優先
的に経路として選択される
Dest. Next Metric Seq.
A
A
B
C
A
B
B
0
1
3
4
2
2
Sequence numberの増加 (1/2)
定期的にブロードキャストする時に、
自分のエントリのSeq.を2増やす
Dest. Next Metric Seq.
B
A
B
A
B
0
1
4
2
4
C
C
1
2
A
C
Sequence numberの増加 (2/2)
リンクが削除された時に、
到達不可能になったエントリのSeq.を1増やす
Dest. Next Metric Seq.
B
A
B
A
B
0
1
2
4
C
C
?
1
∞
2
3
A
C
Route Selectionの基準
Seq. の高い経路を優先的に選択
Seq.が等しい時には、Metricの小さいもの
Dest. Next Metric Seq.
Dest. Next Metric Seq.
A
B
C
D
A
B
C
D
A
B
C
?
G
B
0
1
2
∞
6
5
A
2
4
2
3
2
A
B
?
F
1
0
∞
4
B
2
4
3
2
Loop回避例
1. AC間のリンクが切れる
2. A, Cは自分のルーティング表を更新する
3. Bが定期的にbroadcastを行う
※ Seq.の小さいエントリなので無視される
Dest. Next Metric Seq.
Dest. Next Metric Seq.
A
B
C
A
B
A
B
0
1
2
2
C
C
?
1
∞
2
3
A
B
A
?
B
1
0
2
∞
2
2
2
3
A
C
Complexity
Time complexity
O(d)
Communication Complexity
O(N)
where
N = # of nodes
d = 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 ~
AB
B
A
source
ACD
ACDF
D
F
destination
C
AC
E
ACE
ルーティング表の構築 (2/3)
~ Forward Path Setup ~
AB
B
A
source
FDCA
FD
ACD
ACDF
D
F
destination
C
AC
FDC
E
ACE
ルーティング表の構築 (3/3)
~ Cacheの利用 ~
AB
AからFの経路を計算
したときに蓄えられた
B
情報を利用
A
source
FDCA
FD
ACD
ACDF
D
F
destination
C
AC
FDC
E
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
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.
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と呼ばれるノードによって階層構造を
構築
Landmark
Landmark of radius r
= a node for which all nodes within r
hops contain a routing entry
vへの経路を知っているノード
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
Hierarchy of Landmarks (3/3)
以下の条件を満たすようにLandmarkを定める
[条件2] 全てのlevel i のLandmark vにおいて、
ri(v)ホップ中にlevel i+1 のLandmarkが
少なくとも一つの存在
Level 1 の
Landmark
r1(u)
Level 0 の
Landmark
u
v
r0(v)
w
Level 2 の
Landmark
Routing Table
ノードvは、以下のノードへの経路をもつ
r0(v)内に位置する全てのlevel
0のLandmark
r1(v)内に位置する全てのlevel 1のLandmark
…
Level 1 の
Landmark
r1(u)
Level 0 の
Landmark
u
v
r0(v)
w
Level 2 の
Landmark
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の下位からみて、経路
の分かるノードに転送
Level 1 の
Landmark
u,vへの経路が不明
なのでwに転送
source
Level 0 の
Landmark
u
v
vへの経路が不明なのでu
Level 2 の
に転送
Landmark
w
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)だけ伝播される
vへの経路を知っているノード
v
Level i の
Landmark
ri(v)=2
Dynamic Algorithms in Landmark
Routing (4/4)
ノード名をLandmark addressにmapping
ノード名からLandmark addressへのハッシュ
関数Hを利用して、分散管理
vのLandmark
addressは、Landmark addressが
H(v)であるノードが管理
wのLandmark address = H(v)
vにメッセージを送信したい.
そのためにvのlandmark addressを
知っている必要がある
u
w
vのLandmark Address
を問い合わせる
自分の
Landmark
を登録
v
vのLandmark address =xyv
Summary
Ad-hoc mobile network routing
DSDV
AODV
Dominating-set based DSDV
Landmark
References (1/3)
“A Review of Current Routing
Protocols for Ad-Hoc Mobile Wireless
Networks”
E. Royer and C-K. Toh
IEEE Personal Communications Magazine
1999
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, Chord
Ad-hoc mobile networkと異なり
各ノードはお互いに直接通信可能
厳密にルーティングを行う必要は必ずしもない
例)ある特定のファイルをもつノードのうちの
どれかに届けば十分