このページの先頭です

メニューを飛ばして本文を読む

ここから本文です

サイト内の現在位置

教員紹介 リレーコラム

情報システムが切り拓く未来 第8回 2010年4月

P2Pまわりの研究をやってきた人の独り言

大坐畠 智
情報ネットワークシステム学専攻 ネットワークアーキテクチャ学講座

1.はじめに

学生の頃は、モバイルIPの研究をしていました。前任の大学に助手として雇っていただいて、数か月がたった頃、研究室の教授の先生にテーマの1つとして、P2Pのトラヒックを測ってほしいとたのまれました。P2Pのトラヒックを測るだけで、研究になるのならば、楽な話だと思いました(甘すぎた)。これが、P2Pネットワークとのかかわりの始まりになりました。2003年頃のお話です。

インターネットのトラヒック
 

2.P2Pネットワークの歩みとかかわったこと

P2Pアプリケーションが注目されたのは、1999年のNapsterが始まりでしょうか。Napsterでは、ユーザがPCに保管しているMP3形式の音楽ファイルを、検索サーバに共有するファイルのメタ情報(ファイル名、持ち主等)を登録します。すると、検索サーバにより、ファイルの持ち主がわかるので、ユーザ間でMP3ファイルの共有を実現します。つまり、ファイルの検索はクライアント/サーバ型、実際のファイル共有がP2P型で実現しています。これをハイブリッド型P2Pと言います。いろいろな音楽が手軽に入手可能だったため、このサービスは多くのユーザを獲得しました。しかし、MP3形式のファイルには、著作権の取り扱いに問題のあるものが多くありました。著作権を管理する団体としては、Napsterが提供するようなサービスをどうにかしなければなりませんでした(本来、"適切な方向に向かわせる"言い回しを使いたかったのですが、難しいところです)。いちばん簡単なのは、サービスを停止させることです。ハイブリッド型P2Pには、弱点があり、検索サーバが停止すると、ファイルのありかがわからなくなるので、ファイルの共有が起こらなくなります。よって、ハイブリッド型のP2Pネットワークのサービスを止める手段として、検索サーバを停止することが、今でもよく用いられます。

そこで、検索サーバの役割もP2P技術を用いることで、耐故障性を持たせたGnutellaというファイル共有サービスが出現しました。ピュアP2P型というやつです。2000年のことになります。全て、もしくは、一部のピア(ユーザPC)が検索サーバの役割も果たし、自律分散的にファイル共有を実現します。あるピアがあるファイルをほしい場合、ファイル検索要求を、ピアで構成される検索ネットワークに対して、フラッディングをします。フラッディングとは、ネットワークで隣接する全てのピアに対して受け取った検索クエリを転送する方式です。フラッディングでは検索要求が、ほとんどすべてのピアに対して届くのですが、無駄なトラヒックが生成されます。Gnutellaのトラヒックの90%以上が検索要求だったという研究報告もありました。そこで、P2Pネットワークにおいて、それぞれのピアの持つ検索のための情報を構造化させることで、検索の効率を上げようという研究がされました。DHT(分散ハッシュテーブル)というやつです。DHTの弱点は、ピアの参加と離脱(Churn)耐性があまり良くないということや、参加するピアにランダムに検索のための情報を配布した後に構造化するので、下位レイヤであるIPネットワークとの整合性があまり良くないことがあります(他にもある)。そのため最近では、DHTはこれらの問題の影響より有用性の大きい、クラウドコンピューティングの分野に活躍の場を移しつつあるようです。

先生写真耐故障性のあるピュアP2Pネットワークの出現により、検索サーバを停止するという制御方法がとれなくなりました。しかし、著作権に問題のあるファイルをネットワークに流通させるわけにはいきません。そこで、インターネットサービスプロバイダ毎にP2Pファイル共有アプリケーションのトラヒックを検出することで、好ましくない通信の制御を行うようになりました。
初期のP2Pアプリケーションは、通信をするためのデフォルトサービスポート番号がありましたので、その番号をファイアウォールではじくことにより、通信制御ができました。すると、デフォルトサービスポートがランダムに選択させるようなものが出てきました。パケットのヘッダを見るだけの検出手法の適用が難しくなり、ファイアウォールでは、パケットのペイロード部分を調べて、通信を識別するディープパケットインスペクション(DPI)を用いて制御するようになりました。すると、DPIに対抗するために通信を暗号化するものが出てきました。日本では、Winny、Shareというやつです。適切な暗号化処理をされたのならば、パケットのペイロードのビット列はランダムです。これならば、検出が難しいはずです。2003年ころの話になります。このころから、P2Pの研究にかかわることになりました。

 

現在(2010年)においては、暗号化されたP2Pの通信も、実際にはDPIにより、検出されてしまいます。原因としては、ピュアP2Pのアーキテクチャで、適切に暗号通信のプロトコルを実装することが、難しいためです。よって、プロトコルのリバースエンジニアリングにより、通信が解析され、さらにはファイアウォールで検出が可能となります。さらに、プロトコルが解析されることにより、ネットワークに参加できてしまうと、P2Pネットワークの中は、丸見えとなる場合が多いです。IPネットワーク(インターネット)のレベル(層)ですと、ネットワークの管理が階層化されているため、自律システム(AS)内を把握するのがいっぱいいっぱいです。しかし、アプリケーション層で構築されるオーバレイネットワークは、匿名性を持たせたまま、効率のよい通信を行うことが困難なため、(階層化されない)フラットな構造になってしまいます。すると、ピアがIPネットワークでいうどのASに所属しているかにかかわらず、隅から隅まで見えてしまいます。よって、誰がどの様なファイルを公開しているのか、どの様なファイルを探しているのかがわかってしまうアーキテクチャの場合が多くなります。P2Pネットワークで匿名性を保つのは今でも大変です。

3. P2Pネットワークもまだいけるかな?

自律分散という言葉は、(研究的には)魅惑的な言葉で、ローカルの情報のみで、グローバルでもそれなりに、最適化された状態でシステムが動き続けることをいいます。しかし、耐故障性を持つ、自律分散ネットワークが生き続ける場合、問題となることがあります。著作権が適切に管理ができない問題の他には、巨大なトラヒックが生成され続け、制御不能になるという問題があります。ネットワークシステムでは、計算機/サーバ資源とネットワーク資源を効率よく、かつ、バランス良く使う必要があります。P2Pのシステムでは、サーバ資源の負荷をユーザPCに分散することにより、負荷分散を実現してきました。しかし、プロトコルによっては、ネットワークの端にあるサーバや端末への負荷分散と引き換えに、ネットワークに不必要な負荷をかけてしまうものがありました。今でも、IPネットワーク的には遠いピア同士が通信してしまうというローカライゼーションの問題、通信でやり取りされる重複するデータのキャッシングや、複製配置の手法の問題が存在しているといえます。

P2Pのアーキテクチャは、クライアント/サーバの関係が、さまざまなピア間で存在し、その関係が動的に、入れ替わったりし、柔軟性のあるシステムが構築できそうです。さらに、利害関係が一致すれば、オーバレイネットワークに参加している分散されたPCの計算機資源や、ネットワーク資源を使えそうです。いろいろなことができそうなので、既存のクライアント/サーバモデルのアプリケーションをP2Pモデルで実現してみようという研究が多く行われました。しかし、P2Pのアーキテクチャでは、ユーザPCに分散された資源や、情報を管理するのは困難となります。そのため、アプリケーション(サービス提供者)が、資源や、情報を管理したい場合、かえってオーバヘッドが大きくなり、システムの実現が困難となったり、有用性がマイナスになったりします。P2Pのシステムで大きな成功を収めたものは、まだ少なそうです(情報を管理できないようにしたいアプリケーションは除く?!)。整合性のとれるよい利用モデルを思いつけば、まだいけそうでしょうか。

4.最後にちょっと思ったこと

これまで、P2Pネットワークを測ったり、制御したりして、研究する上で、法律を気にしながらすごしてきました。日本では(多くの国では)、権利者のビジネスモデルが、技術の進歩に追い付かなくなったために、罰則により、(技術を)規制をする方向できているように思えます。本来ならば、権利者のビジネスモデルが順調なうち(CDのミリオンセラーが当たり前のうち)に、新しい技術に投資をしたり、あるいは、法律をつくるにしても、技術革新が起きるような方向で、発展狙ったりすべきだったのだと思います。法律は(倫理的に?)守らなければなりませんが、技術の進歩や妨げになる可能性をおおいに秘めています。いえることは、日本は、新たな技術を作ることができなければ、パラダイムシフトによるビジネスモデルの変化にも対応できず、海の向こうの雲にお金を吸い取られる、ということなのでしょうか。何とかしたいところです。あと、いつも感謝の気持ちを忘れずに。

教員紹介