« [P2P勉強会]懇親会のお知らせ | トップページ | 分散ハッシュ(DHT)入門~その2 »

2005.01.26

分散ハッシュ(DHT)入門~その1

さて今日から分散ハッシュ(DHT)について、なるべくわかりやすく説明したいと思う。
今回のDHT入門では正確性さは求めず、直感的に説明する事を優先することを最初にお断りしたい。

ではまずおさらいとしてP2Pの種類について復習しましょう。

P2Pは大きく分けて
・Hybrid-P2P(Napster型)
・Pure-P2P(Gnutella型)
の2種類があった。

Hybrid型は中央サーバが存在し、中央サーバに各ユーザの情報を登録しておく。ユーザは中央サーバの情報を基に各PCとP2Pで通信するわけである。
参考:ネットワーク管理者のためのNapster入門

逆にPure-P2Pにはサーバと言うものが存在しない。PCは数珠繋ぎ上にネットワークを構築して、そして自分の欲しいデータ情報などをそのネットワーク上に問い合わせするのである。
参考:ネットワーク管理者のためのGnutella入門

ではお互いの長所・短所を考えてみよう。

Hybrid-P2Pでは全PCの状態について中央サーバが管理できる。これによって非常に多くのPCと通信をすることができる。しかし、ユーザが増える毎にサーバを増設しなければならず、管理者にとっては頭の痛いタネとなる。物凄いコスト増であることは想像できるだろう。

Pure-P2Pではサーバがないためにソフトだけ各PCに導入すればサービスが実現できる。つまりコストが安く導入することができる。しかしユーザが増えるとユーザ間の連携のための情報が増加し、ネットワーク負荷が高まったり、あるいは、通信をする事ができない相手が存在することが生じてくる。

このようにHybrid-P2P、Pure-P2P両者も欠点を持っている。
しかしDHTの登場によりこの状況は一変する。

DHTはPure-P2Pであってもネットワーク負荷はそれほど上がらず、またネットワークに参加している全PCとの通信ができるようになるになるのだ。おまけに相手のPCに対する検索も非常に高速だ。Pure-P2Pの場合は数10万ノードぐらいが限界だと言われているが、DHTを使うと数10億ノードの通信が可能となる。ここでノードはPCと考えても良い。(今後はノードという言葉を使う)さらに、ノードがいきなりネットワークから参加したり離脱することも考慮されている。
また、DHTを使う事で多くのP2Pアプリケーションの作成について容易できる事が期待できる。

こう書くとDHTは長所だらけと思われるが、短所もある。それは実装が難しい事だ。
しかしいずれはDHT用のライブラリーが普及し、この問題は解決するだろうと思われる。

次回は「DHTのキモ~なぜハッシュ関数を使うのか?」について書く予定である。

|

« [P2P勉強会]懇親会のお知らせ | トップページ | 分散ハッシュ(DHT)入門~その2 »

パソコン・インターネット」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 分散ハッシュ(DHT)入門~その1:

« [P2P勉強会]懇親会のお知らせ | トップページ | 分散ハッシュ(DHT)入門~その2 »