IPv6 ネットワークにおける エニーキャスト通信実現のための...

14
1 IPv6 ネネネネネネネネネネ ネネネネネネネネネネネネネネネ ネネネネネネネネネネ 宮宮宮宮宮 宮宮 宮

description

IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装. 宮原研究室 土居 聡. IPv4 から IPv6 へ. アドレス空間の拡大 32 ビット → 128 ビット.  新たな機能の追加 セキュリティ リアルタイム通信 移動端末のサポート. 最適な 1 台に 自動的に配送. エニーキャストアドレス. 機能(サービス)に対して割り当てられるアドレス 複数のインターフェースの集合を識別 グループのうち「最適な」インターフェースに配送 「最適さ」は経路制御機構によって決められる ミラーサーバなどでの利用. - PowerPoint PPT Presentation

Transcript of IPv6 ネットワークにおける エニーキャスト通信実現のための...

Page 1: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

1

IPv6 ネットワークにおけるエニーキャスト通信実現のための

プロトコル設計と実装

IPv6 ネットワークにおけるエニーキャスト通信実現のための

プロトコル設計と実装

宮原研究室土居 聡

宮原研究室土居 聡

Page 2: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

2

IPv4 から IPv6 へIPv4 から IPv6 へ• アドレス空間の拡大

– 32 ビット → 128 ビット• アドレス空間の拡大

– 32 ビット → 128 ビット• 新たな機能の追加

– セキュリティ– リアルタイム通信– 移動端末のサポート

アドレスタイプ

アドレス設定の対象 通信形態 通信対象

ユニキャスト ノード 1 対 1 1

マルチキャスト グループ 1 対 多 多

エニーキャスト 機能 ( サービス ) 1 対 1 多 ( その内の 1)

Page 3: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

3

エニーキャストアドレスエニーキャストアドレス• 機能(サービス)に対して割り当てられるアドレス

– 複数のインターフェースの集合を識別– グループのうち「最適な」インターフェースに配送

• 「最適さ」は経路制御機構によって決められる• ミラーサーバなどでの利用

• 機能(サービス)に対して割り当てられるアドレス– 複数のインターフェースの集合を識別– グループのうち「最適な」インターフェースに配送

• 「最適さ」は経路制御機構によって決められる• ミラーサーバなどでの利用

AnycastMembership

最適な 1 台に自動的に配送

Page 4: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

4

エニーキャスト通信の性質エニーキャスト通信の性質• 常に「最適な」ノードへとパケットを送信

– 送信した複数のパケットが同じノードに届くとは限らない

• 1 パケットのみの送信には利用できる• 1 つのノードとの接続を続けることはできない

• エニーキャスト通信への要求事項– 複数のパケットにより通信する場合– 最初の 1 パケットで最適なノードが選ばれた後

は同じノードと継続して通信を行いたい

• 常に「最適な」ノードへとパケットを送信– 送信した複数のパケットが同じノードに届くとは

限らない• 1 パケットのみの送信には利用できる• 1 つのノードとの接続を続けることはできない

• エニーキャスト通信への要求事項– 複数のパケットにより通信する場合– 最初の 1 パケットで最適なノードが選ばれた後

は同じノードと継続して通信を行いたい

既存の枠組みを変更する必要

Page 5: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

5

研究の目的研究の目的• 既存のアプリケーションを修正するこ

となくエニーキャスト通信を実現する

• ネットワークの状況に応じた動的な端末設定を実現する

• 既存のアプリケーションを修正することなくエニーキャスト通信を実現する

• ネットワークの状況に応じた動的な端末設定を実現する

Page 6: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

6

Anycast Address Resolving Protocol (AARP) の提案

Anycast Address Resolving Protocol (AARP) の提案

• エニーキャストアドレスを最適なノードを調べるためだけに利用し、実際の通信はユニキャストアドレスに対して行う

• Anycast Address Resolving Protocol– エニーキャストアドレスを対応するユニキャス

トアドレスへと変換するプロトコル

• エニーキャストアドレスを最適なノードを調べるためだけに利用し、実際の通信はユニキャストアドレスに対して行う

• Anycast Address Resolving Protocol– エニーキャストアドレスを対応するユニキャス

トアドレスへと変換するプロトコル

③ Unicast Address

① Anycast Address

Page 7: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

7

AARP の実装方法AARP の実装方法• 2 つの方式

– Client initiate プローブパケット方式• AARP をクライアント側で行う

– Server initiate piggyback 方式• AARP をサーバ側で行う

• 中間ライブラリ (AARP ライブラリ ) を作成し共有ライブラリを置き換える– 共有ライブラリのメカニズムを利用– 既存のアプリケーションプログラムを修正するこ

となくアプリケーションの挙動を変えることができる

• 2 つの方式– Client initiate プローブパケット方式

• AARP をクライアント側で行う– Server initiate piggyback 方式

• AARP をサーバ側で行う

• 中間ライブラリ (AARP ライブラリ ) を作成し共有ライブラリを置き換える– 共有ライブラリのメカニズムを利用– 既存のアプリケーションプログラムを修正するこ

となくアプリケーションの挙動を変えることができる

Page 8: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

8

Client initiate プローブパケット方式

Client initiate プローブパケット方式

• クライアントがエニーキャストアドレス宛のプローブパケットを送出し、端末からの応答を受信することでユニキャストアドレスを取得する

• クライアントがエニーキャストアドレス宛のプローブパケットを送出し、端末からの応答を受信することでユニキャストアドレスを取得する

① Aany 宛にプローブパケットを送信

Client Server

② ユニキャストアドレス Xuni を返す

Aany, Xuni

③ Xuni へ通信開始

Page 9: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

9

Server initiatepiggyback 方式Server initiate

piggyback 方式• サーバからの通信パケット上に、エニー

キャストアドレスを付加( piggyback )させ、エニーキャストアドレスとユニキャストアドレスを対応させる

• サーバからの通信パケット上に、エニーキャストアドレスを付加( piggyback )させ、エニーキャストアドレスとユニキャストアドレスを対応させる

Client ServerAany, Xuni

① Aany に対して通信開始

Cuni

② 最初の返信パケット Aany

   piggyback

③ 以降は Cuni と Xuni との通信

Page 10: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

10

両方式の比較両方式の比較プローブパケット方式 Piggyback 方式

問題点 プローブパケットによるトラヒックが発生し、ネットワーク資源を消費してしまう

アプリケーション層、トランスポート層のすべてのプロトコルを修正する必要がある

利点 実装が容易 トラヒック量はユニキャストと同じ

Client initiate プローブパケット方式を採用 プローブパケット : ICMPv6 Echo Request/Reply

Page 11: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

11

ICMPv6 Echo Request/Replyを用いたアドレス解決

ICMPv6 Echo Request/Replyを用いたアドレス解決

• エニーキャストアドレス宛に Echo Request を送出し、端末からの Echo Reply を受信することでユニキャストアドレスを取得する

• エニーキャストアドレス宛に Echo Request を送出し、端末からの Echo Reply を受信することでユニキャストアドレスを取得する

① Aany 宛に Echo Request を送信

Client Destination

② 送信元アドレス Xuni の Echo Reply

Aany, Xuni

③ Xuni へ通信開始

Page 12: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

12

AARP ライブラリAARP ライブラリ

SocketIPv6Network I/F

AARP Lib.

Application

Client

AA : Anycast AddressUA : Unicast Address

AA AARP

UA

Server

AA query

UA reply

Echo Request to AA

Echo Reply from UA

to UA

Page 13: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

13

提案方式の評価提案方式の評価• FreeBSD 4.4 – Release 上で実装評価

• TCP 通信の評価– telnet, ftp によるエニーキャストアドレスを割り当てたノー

ドとの通信が実現できているかどうかの評価実験• UDP 通信の評価

– DNS サーバにエニーキャストアドレスを割り当て、 /etc/resolve.conf にそのエニーキャストアドレスを設定し、ホスト名解決が行われているかどうかの評価実験

• FreeBSD 4.4 – Release 上で実装評価

• TCP 通信の評価– telnet, ftp によるエニーキャストアドレスを割り当てたノー

ドとの通信が実現できているかどうかの評価実験• UDP 通信の評価

– DNS サーバにエニーキャストアドレスを割り当て、 /etc/resolve.conf にそのエニーキャストアドレスを設定し、ホスト名解決が行われているかどうかの評価実験

エニーキャスト通信の実現性を確認

Page 14: IPv6  ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装

14

まとめと今後の課題まとめと今後の課題• 本報告のまとめ

– エニーキャストアドレスの応用例と利用時の問題点に関する考察

– エニーキャスト通信を実現するためのプロトコル設計と実装および評価

• 今後の課題– ICMPv6 Echo Request/Reply によるメッセージ量の

把握– アドレス解決のキャッシングを行う場合のキャッシ

ュの保持時間の検討– エニーキャストアドレスのための新たな経路制御機

• 本報告のまとめ– エニーキャストアドレスの応用例と利用時の問題点

に関する考察– エニーキャスト通信を実現するためのプロトコル設

計と実装および評価• 今後の課題

– ICMPv6 Echo Request/Reply によるメッセージ量の把握

– アドレス解決のキャッシングを行う場合のキャッシュの保持時間の検討

– エニーキャストアドレスのための新たな経路制御機構