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

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

情報ネットワークと教育 通信と情報ネットワーク プロトコル LAN The Internet. 通信とその歴史 通信とは 電信 (1835 、モールス ) 電話 (1876 、ベル ) ラジオ (1895) 、テレビ (1925) 情報通信ネットワークへ.
IP over DVB-RCS の設計と実装 研究背景 DVB-RCS 衛星回線を用いて受信局から送信局への狭帯域な戻り回線を提供 Forward Link Return Link HUB Terminal.
研究目標 研究目標 提案手法 仮想ネットワーク上でのブロードキャスト、マルチキャスト通信の実現
Webプロキシサーバにおける 動的資源管理方式の提案と実装
最新ファイルの提供を保証する代理FTPサーバの開発
第1回.
ネットワーク技術II 第8.2課 イーサネット・スイッチング
前回の課題 IPv6アドレス IP ARP ICMP NAT インターネット層 2003年12月4日 情報ネットワーク論 新村太郎.
ラウンドトリップタイムを指標とした 無線LAN のためのアクセスポイント選択手法
仮想ブロードキャストリンクを利用した 片方向通信路の透過的経路制御 藤枝 俊輔(慶應義塾大学)
IPv6 エニーキャスト ルーティングプロトコル PIA-SM の設計および実装
ネットワーク層.
一対多通信における ネットワーク障害物対応方法選択プロトコルの設計
TCP (Transmission Control Protocol)
早稲田大学大学院 理工学研究科情報科学専攻 後藤滋樹研究室 1年 渡辺裕太
HTTP proxy サーバにおける 動的コネクション管理方式
発表の流れ 研究背景 マルチテナント型データセンタ 関連研究 IPマルチキャスト ユニキャスト変換手法 提案手法 性能評価.
ファイル送信機能付きマルチキャストチャット
インターネット メールサーバ DNSサーバ WWWサーバ ファイアウォール/プロキシサーバ クライアント.
TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順
IPマルチキャスト通信とXcast 早稲田大学後藤研究室 Xcast班.
Copyright Yumiko OHTAKE
心理学情報処理法Ⅰ コンピュータネットワーク概論.
トランスポート層.
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
コンテンツ配信 エンコード (符号化) CBR (Constant Bit Rate) VBR (Variable Bit Rate)
ま と め と 補 足 ネットワークシステムⅠ 第15回.
SCTPにおける アドレス選択ポリシーを定義できる IPアドレス自動更新機能の設計
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
講義日程予定 第 1 回 「ガイダンス」 第 2 回 「ユビキタスシティ検討ワーキング中間とりまとめ」
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
IPv6アドレスによる RFIDシステム利用方式
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
イーサネット.
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
第7回ネットワークプログラミング 中村 修.
インターネットの基礎知識 その3 ~TCP・UDP層編~
第9章 Error and Control Messages (ICMP)
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
ネットワーク技術II 第9.1課 TCP/IPプロトコルスイート
インターネットにおける真に プライベートなネットワークの構築
TCP/IP入門          櫻井美帆          蟻川朋未          服部力三.
マルチホーミングを利用した Proxy Mobile IPv6の ハンドオーバー
各種ルータに対応する P2P通信環境に関する研究
Ibaraki Univ. Dept of Electrical & Electronic Eng.
私の立場 OSカーネルを手がけるエンジニア 大阪市立大学 創造都市研究科の学生
UDPマルチキャストチャット    空川幸司.
第16章 BOOTP:ブートストラップ・プロトコル
DNSクエリーパターンを用いたOSの推定
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
仮想環境を用いた 侵入検知システムの安全な構成法
LAN(TCP/IP) インターネットワーキング編
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
情報実験 第五回 最低限 internet ~ネットワークの仕組みを知ろう~
小規模組織に適した IPv6ネットワークの設計と構築
アドホックルーティングにおける 省電力フラッディング手法の提案
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
計算機群における 「動的なインターネット接続性」の共有に関する研究
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
SMTPプロトコル 2001年8月7日 龍 浩志.
情報ネットワーク 岡村耕二.
TCP/IPの通信手順 (tcpdump)
プロトコル番号 長野 英彦.
DHCPv6 on zebraの設計 miyu(SING) B2 親:yasu.
Presentation transcript:

IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装 宮原研究室の土居聡です。 「IPv6 ネットワークにおけるエニーキャスト通信実現のためのプロトコル設計と実装」というタイトルで 特別研究報告をさせて頂きます。よろしくお願いします。 宮原研究室 土居 聡

IPv4 から IPv6 へ アドレス空間の拡大 新たな機能の追加 32 ビット → 128 ビット セキュリティ リアルタイム通信  新たな機能の追加 セキュリティ リアルタイム通信 移動端末のサポート アドレスタイプ アドレス設定の対象 通信形態 通信対象 ユニキャスト ノード 1 対 1 1 マルチキャスト グループ 1 対 多 多 エニーキャスト 機能 (サービス) 多 (その内の 1) まず本報告の背景として、IPv6 の概要を説明いたします。 IPv6 は IPv4 のアドレス枯渇問題を解決すべく策定された次世代インターネットプロトコルであり、 IPv6 ではアドレス空間は 128 ビットに拡大され、膨大な数の IP アドレスを割り当てることが可能です。 また、アドレス空間の拡大だけでなく、新たな時代の要求に応えるべく、セキュリティやリアルタイム通信、移動端末のサポートなどの新しい機能が追加されています。 この新たな機能の 1 つとして、エニーキャストアドレスがあります。

エニーキャストアドレス 機能(サービス)に対して割り当てられるアドレス 複数のインターフェースの集合を識別 グループのうち「最適な」インターフェースに配送 「最適さ」は経路制御機構によって決められる ミラーサーバなどでの利用 Anycast Membership エニーキャストアドレスは、これまでの IP アドレスと異なり、機能あるいはサービスに対して割り当てられるアドレスです。 そのため、同一の機能を提供する複数のノードに対して割り当てられます。 エニーキャストアドレス宛のパケットは、経路制御機構が、ホップ数、ノードの負荷などから決めた最適な 1 台に自動的に配送されます。 このような性質があるため、例えば、ミラーサーバでの利用が考えられます。ミラーサーバに対してエニーキャストアドレスを割り当てておけば、利用者は実際にどのサーバと通信するかを考えることなく、最適なサーバを選択し、通信を行うことができます。 最適な 1 台に 自動的に配送

エニーキャスト通信の性質 常に「最適な」ノードへとパケットを送信 エニーキャスト通信への要求事項 送信した複数のパケットが同じノードに届くとは限らない 1 パケットのみの送信には利用できる 1つのノードとの接続を続けることはできない エニーキャスト通信への要求事項 複数のパケットにより通信する場合 最初の 1 パケットで最適なノードが選ばれた後は同じノードと継続して通信を行いたい エニーキャスト通信は、 常に最適なノードへとパケットを送信するため、最初に送信したパケットとその次に送信したパケットが同じノードに届くとは限りません。このことから、1 パケットのみの送信には利用できますが、1 つのノードとの接続を続けることはできません。 ミラーサーバなどでの利用を想定すると、一般に 1 パケットのみで通信が終了することは考えにくく、1 つのノードと継続して通信を行う必要があるため、最初の 1 パケットで最適なノードが選ばれた後は同じノードと継続して通信を行いたいという要求があります。 既存の枠組みを変更する必要

研究の目的 既存のアプリケーションを修正することなくエニーキャスト通信を実現する ネットワークの状況に応じた動的な端末設定を実現する また、今後、エニーキャストアドレスを用いた通信を普及させるためには、既存の枠組みを変更することなく容易に移行できることが重要と考え、本報告では、既存の技術、アプリケーションを可能な限り修正することなくエニーキャスト通信を実現することを目的としています。 さらに、エニーキャスト通信のための経路制御機構についても考察し、ネットワークの状況に応じた動的な端末設定を実現することを目的としています。 本報告では、時間の都合上、エニーキャスト通信の設計に関する部分のみを説明されて頂きます。 後者につきましては、論文の方を参照して頂きますよう、よろしくお願いします。

Anycast Address Resolving Protocol (AARP) の提案 エニーキャストアドレスを最適なノードを調べるためだけに利用し、実際の通信はユニキャストアドレスに対して行う Anycast Address Resolving Protocol エニーキャストアドレスを対応するユニキャストアドレスへと変換するプロトコル 継続した通信を行えないというエニーキャスト通信特有の問題を解決するため、エニーキャストアドレスを通信開始時に、最適なノードを調べるためだけに用いて、実際の通信はユニキャストアドレスに対して行う、という手法を用います。 そこで本報告では、Anycast Address Resolving Protocol (AARP) という新たなプロトコルを提案します。 これは、通信開始時にエニーキャストアドレスを対応するユニキャストアドレスへと変換するプロトコルです。 ③ Unicast Address ② ① Anycast Address

AARP の実装方法 2 つの方式 中間ライブラリ (AARP ライブラリ) を作成し共有ライブラリを置き換える Client initiate プローブパケット方式 AARP をクライアント側で行う Server initiate piggyback 方式 AARP をサーバ側で行う 中間ライブラリ (AARP ライブラリ) を作成し共有ライブラリを置き換える 共有ライブラリのメカニズムを利用 既存のアプリケーションプログラムを修正することなくアプリケーションの挙動を変えることができる AARP の実装方法ですが、 AARP をクライアント側で行う、client initiate プローブパケット方式と、サーバ側で行う、server initiate piggyback 方式とがあります。 また、中間ライブラリを作成し共有ライブラリを置き換えるという方法をとります。 共有ライブラリとは、アプリケーション実行時に動的に呼び出されるライブラリなので、共有ライブラリ内の API を置き換えれば、アプリケーションプログラムに修正を加えることなく、アプリケーションの挙動を変えることができます。

Client initiate プローブパケット方式 クライアントがエニーキャストアドレス宛のプローブパケットを送出し、端末からの応答を受信することでユニキャストアドレスを取得する ① Aany 宛にプローブパケットを送信 ② ユニキャストアドレス Xuni を返す これは、クライアントがエニーキャスト宛にプローブパケットを送出し、それを受信した端末からの応答によって、エニーキャストアドレスに対するユニキャストアドレスを調べる方式です。 通常のユニキャスト通信とは、通信開始前にプローブパケットを送出する点が異なります。 ③ Xuni へ通信開始 Client Server Aany, Xuni

Server initiate piggyback 方式 ① Aany に対して通信開始 これは、サーバからの通信パケット上に、エニーキャストアドレスを付加させ、その付加情報からエニーキャストアドレスとユニキャストアドレスとを対応させる方法です。通信時のトランザクションはユニキャスト通信と同じですが、付加情報に対する挙動を各プロトコルに追加する必要があります。 ② 最初の返信パケット Aany piggyback ③ 以降はCuni と Xuni との通信 Client Server Cuni Aany, Xuni

両方式の比較 Client initiate プローブパケット方式を採用 Piggyback 方式 問題点 プローブパケットによるトラヒックが発生し、ネットワーク資源を消費してしまう アプリケーション層、トランスポート層のすべてのプロトコルを修正する必要がある 利点 実装が容易 トラヒック量はユニキャストと同じ ここで、両方式の問題点の比較を行います。 Client initiate - プローブパケット方式では、プローブパケットによってトラヒックが発生するため、ネットワーク資源を消費してしまう、通信開始までの時間が長くなってしまう、といった問題点があります。 一方、server initiate - piggyback 方式では、付加情報を扱うための修正が必要となるという問題点があります。 本報告では、既存の技術に修正を加えることなくエニーキャスト通信を実現することを目的としているため、プローブパケット方式を用います。この方式は、プローブパケットによるネットワーク資源の消費という問題点はありますが、これはアドレス解決のキャッシングを行うことにより軽減できます。また、プローブパケットには ICMPv6 Echo Request/Reply を用います。 Client initiate プローブパケット方式を採用 プローブパケット: ICMPv6 Echo Request/Reply

ICMPv6 Echo Request/Reply を用いたアドレス解決 エニーキャストアドレス宛に Echo Request を送出し、端末からの Echo Reply を受信することでユニキャストアドレスを取得する ① Aany 宛に Echo Request を送信 ② 送信元アドレス Xuni の Echo Reply Echo Request を受信したノードは 自身に割り当てられているユニキャストアドレスを送信元アドレスとした Echo Reply を返します。そのため、エニーキャストアドレスに対し Echo Request を送信すれば、返ってくる Echo Reply の送信元アドレスからエニーキャストアドレスに対応するユニキャストアドレスを得ることができるため、プローブパケットとしての条件を満たしています。 ③ Xuni へ通信開始 Client Destination Aany, Xuni

AARP ライブラリ Server Client Echo Request to AA AA query Application Echo Reply from UA AA AARP AARP Lib. to UA UA reply UA Socket IPv6 Network I/F AARP ライブラリは、図のように、アプリケーションスタックとソケットスタックとの間に位置しており、アプリケーションスタックで指定されたエニーキャストアドレスをユニキャストアドレスに変換し、ソケットスタックに渡します。 まず最初に、アプリケーション内で宛先アドレスを AA とした通信が開始されるとき、通信前に呼び出される API (例えば、TCP アプリケーションにおける connect()) によって、通常の共有ライブラリ上の関数ではなく、AARP ライブラリ上の関数が実行されます。 次に、 AARP ライブラリは、置き換えられた関数内で AARP によるアドレス解決を行います。 そして、AARP ライブラリは、得られたユニキャストアドレス UA を宛先として、本来の共有ライブラリの API を呼び出し、通常のユニキャストアドレスに対する通信と同様の処理を行います。 このように実装すれば、既存のアプリケーションに修正を加えることなく、エニーキャストアドレスを用いた通信を行うことができます。 AA : Anycast Address UA : Unicast Address

提案方式の評価 エニーキャスト通信の実現性を確認 FreeBSD 4.4 – Release 上で実装評価 TCP 通信の評価 telnet, ftp によるエニーキャストアドレスを割り当てたノードとの通信が実現できているかどうかの評価実験 UDP 通信の評価 DNS サーバにエニーキャストアドレスを割り当て、/etc/resolve.conf にそのエニーキャストアドレスを設定し、ホスト名解決が行われているかどうかの評価実験 本報告では提案した通信モデルを FreeBSD 上で実装し、評価実験を行いました。 実験対象として、TCP を利用したアプリケーションである telnet, ftp、UDP を利用したサービスである DNS を用いました。 まず、telnet, ftp ですが、エニーキャストアドレスに対して telnet, ftp を実行したときのパケットの送受信記録の観測を行いました。 どちらのアプリケーションも通信開始前にアドレス解決を行い、ユニキャストアドレスに対して通信を行っていることが確認できました。 次に、DNS ですが、DNS サーバにエニーキャストアドレスを割り当て、DNS サーバへのホスト名解決の問い合わせを行っているパケットの送受信記録を観測しました。その結果、DNS サーバのアドレス解決を行ってからホスト名解決の問い合わせを行っていることが確認できました。 (この、DNS でエニーキャスト通信が実現できたことは非常に大きな利点となります。というのは、世界中すべての DNS サーバに同一のエニーキャストアドレスを割り当てておけば、クライアント端末のオペレーティングシステム上であらかじめ DNS サーバのアドレスを設定することができるため、ネットワーク管理者が DNS サーバのアドレスを設定することなく、プラグアンドプレイで最適な DNS サーバを自動的に利用できるようになります。) エニーキャスト通信の実現性を確認

まとめと今後の課題 本報告のまとめ 今後の課題 エニーキャストアドレスの応用例と利用時の問題点に関する考察 エニーキャスト通信を実現するためのプロトコル設計と実装および評価 今後の課題 ICMPv6 Echo Request/Reply によるメッセージ量の把握 アドレス解決のキャッシングを行う場合のキャッシュの保持時間の検討 エニーキャストアドレスのための新たな経路制御機構 最後に本報告のまとめと今後の課題について述べさせていただきます。 まず、本報告では、エニーキャストアドレスの応用例を挙げ、またエニーキャストアドレスを用いた通信を行う際の問題点に関して考察しました。 次に、それらの問題を解決するための新たなプロトコル AARP の提案、実装、評価を行い、既存のアプリケーションを修正することなくエニーキャストアドレスを用いた通信が実現できる手法を示しました。 今後の課題としましては、 通信前に ICMPv6 Echo Request / Reply をやりとりすることによるメッセージ量の把握や、アドレス解決のキャッシングを行う場合のキャッシュの保持時間などの考察と、 エニーキャストアドレスのための新たな経路制御機構の確立を目指しております。 以上で特別研究報告を終わります。 ありがとうございました。