IPv6 エニーキャスト ルーティングプロトコル PIA

IPv6 エニーキャスト
ルーティングプロトコル
PIA-SM の設計および実装
大阪大学 基礎工学部情報科学科
計算機科学コース 村田研究室
松永 怜士
2004/2/26
1
エニーキャスト通信とは



IPv6 の新しい機能のひとつ
同じサービスを提供する複数のノードの中からルー
タによって自動的に選択された最適な1つと通信
同じアドレスを複数のノードに割り当てる
→ エニーキャストアドレス
• 応用例 : ミラーサーバ
Any
Any
Any
Any
Any = エニーキャストアドレス
2004/2/26
Any
2
問題点と研究の目的

問題点
• エニーキャストアドレスを扱うことができるルーティン
グプロトコルが存在しない
複数のエニーキャストレシーバが異なるセグメントに分散
して存在する場合、経路情報が適切に交換されない
→ エニーキャスト通信の利用が制限される


研究の目的
• エニーキャスト通信を実現するための
ルーティングプロトコルを設計、実装する
2004/2/26
3
エニーキャストルーティングプロトコル
PIA-SM の設計方針

既存のルーティングプロトコルを改変
• 複数のノードの管理
→ マルチキャストルーティング

PIM-SM を用いる
• エニーキャストパケットの配送
→ ユニキャストルーティング
通信対象
通信形態
ユニキャスト
1
1対1
1 つのパケットを配送
エニーキャスト
多数
1対1
1 つのパケットを配送
マルチキャスト
多数
1 対 多数 パケットを複製して配送
2004/2/26
パケットの配送
4
PIA-SM の概要
ランデブーポイント
2.ルーティング
テーブルの作成
ルーティングテーブル
dst
ランデブー
ポイントツリー
RP
dst
next hop
Any
R2
Any
next hop
Any
R1
R2
R4
Any
Any
R1
R3
Any
エニーキャスト
アドレス = Any
2004/2/26
ルーティングテーブル
R5
Any
A1
エニーキャスト
アドレス = Any
1.新規ノードの参加
A2
to Any
Data
S
5
3. エニーキャストパケットの配送
1.新規ノードの参加


新規参加ノード (エニーキャストレシーバ) がエ
ニーキャストルータへ通知
物理的に直接接続しているルータが検知
• Host-based Anycast using MLD
提案されている手法

[1]
で
新規参加ノードの通知: ARD Report
ARD Report
エニーキャスト
レシーバ
エニーキャスト
ルータ
Any
2004/2/26
[1] B. Haberman and D. Thaler, “Host-based anycast using MLD,”
Internet draft draft-haberman-ipngwg-host-anycast-01.txt, May 2002.
6
2.ルーティングテーブルの作成
1.
2.
エニーキャストルータがエニーキャストレシーバを検知する
エニーキャストルータはランデブーポイントツリーへ参加
参加メッセージ (PIA Join) をランデブーポイントへ

3.
最も早く参加したエニーキャストレシーバを転送先として選択
→ ユニキャストルーティングテーブルにエントリ作成
4. Join メッセージを転送したルータもランデブーポイントツリー
へ参加
2) Join
4) Join
Any
Any
1) ARD
Report
R1
R2
2004/2/26
Any
5) Join
3)
ランデブーポイント
R3
RP
ルーティングテーブル
ルーティングテーブル
dst
Any
next hop
R1
dst
Any
next hop
R3
7
3.エニーキャストパケットの配送
1.
2.
3.
4.
送信者に直接接続しているエニーキャストルータがエニー
キャストパケットを受信
元のパケットの先頭にランデブーポイントのユニキャストア
ドレスを付与 (カプセル化)
ランデブーポイントへパケットを転送
ランデブーポイントで元のパケットを取り出し、ユニキャスト
ルーティングを用いてエニーキャストレシーバまで配送
to U
to Any
送信
Data
エニーキャスト
アドレス = Any
エニーキャスト
アドレス = Any
2004/2/26
S
R4
ユニキャスト
アドレス = U
to Any
Data
A1
to Any
R1
R3
A2
R2
ルーティングテーブル
Any
R1
RP
Data
ルーティングテーブル
Any
R3
8
PIA-SM の実装

解決すべき点
• カプセル化すべきパケットの判別


エニーキャストアドレスはユニキャストアドレスと区別
が付かない
解決策
• ユニキャストルーティングテーブルにエントリがな
い宛先へのパケットをルータが転送する時

対応するランデブーポイントがみつかった場合
• エニーキャストアドレス宛のパケット → ランデブーポイントへ

対応するランデブーポイントをみつからなかった場合
• ユニキャストアドレス宛のパケット → デフォルトルータへ
2004/2/26
9
PIA-SM プロトコルの動作確認


FreeBSD 4.8 上でデーモンプログラムとして実装
確認すること
• エニーキャストアドレス宛のパケットがエニーキャストレ
シーバまで配送されることを確かめる


PIA-SM ルータ 2 台で構成されるネットワークで実験
実験
• エニーキャストアドレス宛に Echo Request を送信する
→ 複数のエニーキャストレシーバのうちルータが選択した
1 つから Echo Reply を受信
PIA-SM プロトコルが動作していることを確認
2004/2/26
10
まとめと今後の課題

本報告のまとめ
• 既存のルーティングプロトコルに基づくエニーキャスト
ルーティングプロトコル PIA-SM の設計


マルチキャストルーティングに基づくグループ管理
ユニキャストルーティングに基づくパケットの転送
• PIA-SM の実装および動作確認

今後の課題
• 最適なエニーキャストレシーバを選択する機能の実装
• より大規模なネットワークにおける利用可能性の評価
2004/2/26
11