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 ~
AB
B
A
source
ACD
ACDF
D
F
destination
C
AC
E
ACE
ルーティング表の構築 (2/3)
~ Forward Path Setup ~
AB
B
A
source
FDCA
FD
ACD
ACDF
D
F
destination
C
AC
FDC
E
ACE
ルーティング表の構築 (3/3)
~ Cacheの利用 ~
AB
AからFの経路を計算
したときに蓄えられた
B
情報を利用
A
source
FDCA
FD
ACD
ACDF
D
F
destination
C
AC
FDC
E
ACE
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と異なり
各ノードはお互いに直接通信可能
 厳密にルーティングを行う必要は必ずしもない

例)ある特定のファイルをもつノードのうちの
どれかに届けば十分