[OFFICIAL] [EXIT] [SEOPARTS] [KANAPEDIA]

Gnutella

*しゅってん:フリーひゃっかじてん『ウィキペディア(Wikipedia)』*

Gnutella*(**グヌーテラ**、**ニューテラ**)は*P2P*プロトコル**および**ファイルきょうゆう**クライアント**。*

*もくじ*

[*へんしゅう*] *がいよう*

*ナップスター**ひとしのP2Pクライアントのばあいは、ちゅうおう**サーバ**がそんざいし、ファイルの**メタデータ**のかんりやけんさくサービスをていきょうすることにより、P2Pネットワークがきのうしている。それにたいし、グヌーテラはサーバにいぞんせず、じゅんすいに**ピア**まのつうしんのみでファイルのそうじゅしんとうのきのうをじつげんしている。*

*P2Pのしくみのぶんるいちゅう、このようなピアかんのつうしんのみによってきのうするものを**ピュアP2P**、ナップスターのようにサーバのちゅうかいをひつようとするものを、**ハイブリッドP2P**とよんでいる。*

*そのたには、*KaZaA*や*Skype*につかわれている**スーパーノードがたハイブリッドP2P**がある。*

[*へんしゅう*] *とくちょう*

*ナップスターにだいひょうされる**だいいちせだいP2P**(ハイブリッドP2P)は、ちゅうおうサーバにいぞんするため、ネットワークへの**トラフィック**はすくないが、耐しょうがいせいがひくく、サーバがダウンしたらネットワークがけいせいできないというじゃくてんがあった。それにたいしてグヌーテラにだいひょうされる**だいにせだいP2P**(ピュアP2P)は、かくクライアントがサーバをかねる(**サーバント**)ため、耐しょうがいせいがたかい。*

*せいさくしゃの「かくせんそうでもいきのこれるようにせっけいされたもの(*Gnutella is designed to survive nuclear war*)」や、「まんいち、ニューヨークにかくばくだんがとうかされたとしても、(それじたいはたいへんなことだが)ニューヨークいがいの『Gnutellaともだち』によってGnutellaNetはいじされるだろう」といったことばが、グヌーテラネットワークのとくちょうをよくあらわしている。*

[*へんしゅう*] *グヌーテラのしくみ*

[*へんしゅう*] *せつぞく*

*ちゅうおうサーバがそんざいしないグヌーテラにおいて、さいしょにせつぞくするときにどこにといあわせるのか?というもんだいがでてくる。 *

*グヌーテラだいいちせだいでは、ノードじょうほうをけいじばんなどでにゅうしゅするほうほうがとられていたが、グヌーテラだいにせだいになって、GWC(GWebCache)というブートストラップサーバーによりかくノードとせつぞくするほうほうがとられた。 *

*せつぞくにおいては、グヌーテラサーバントはまず、pingというせつぞくようきゅうをだす。それにたいして、せつぞくあいてはpongというしんごうをかえして、ハンドシェイクをおこないせつぞくがかんりょうする。*

[*へんしゅう*] *けんさく*

*けんさくはGnutellaネットワークでおこなっており、Gnutellaネットワークじょうでかわされているメッセージは、Ping,Pong,Push,Query,QueryHitのいじょうである。*

*ファイルをもとめるサーバントは、クエリをGnutellaネットワークにそうしんし、ヒットしたクエリがクエリヒットとしてけんさくけっかにひょうじされる。*

[*へんしゅう*] *てんそう*

*Gnutellaでの、ファイルのてんそうはHTTPプロトコルでおこなわれている。*

*ファイルのてんそうは、クエリヒットしきべつしにふくまれる、IPやポートばんごうなどによってファイルのしょゆうしゃにHTTPでのてんそうめいれいをだす。また、ファイルしょゆうしゃがFWかにいるサーバントのばあいは、Pushしきべつしをだし、あいてサーバントがHTTPでのてんそうめいれいをだす。*

[*へんしゅう*] *かいはつのけいい*

*2000ねん**、*AOL*しゃのいちぶもんである*Nullsoft*で、とうじしゃいんだったJustinFrankelとTomPepperのににんが、さいしょのGnutellaクライアントをかいはつした。*

*2000ねん3つき14にち、ににんはNullsoftのサーバーじょうにプログラムをダウンロードできるかたちでアップロードした。このできごとは**スラッシュドット**でこくちされたため、そのひのうちにすうせんにんがソフトをダウンロードした。ソースコードについては、のちほど*GPL*ライセンスのもとでていきょうするよていだった。*

*よくじつ、AOLはほうてきもんだいをりゆうにプログラムのていきょうをちゅうしし、さらにNullsoftぶもんにプロジェクトをちゅうしさせた。しかしこのそちによっても、Gnutellaをとめることはできなかった。*

*すうにちごには、**リバースエンジニアリング**によってプロトコルはかいせきされ、それをもとにGnutellaごかんの**オープンソース**クローンがとうじょうした。げんざいでも、さまざまなグループがGnutellaごかんクライアントのかいはつをつづけている。*

[*へんしゅう*] *グヌーテラだいいちせだい*

*シャットダウンからまもなくして、BrianMaylandがNullsoftのプログラムをにゅうしゅして、Gnutellaプロトコルのどうさげんりをりかいするためにリバースエンジニアリングした。かれのしごとのおかげでテキストベースのUNIXプログラムをつくったJoshPieperやよりつかいやすいGUIをもったプログラムをつくろうとしたGeneKanやSpencerKimballのようなひとびとによってソフトウェアかいはつがなされることになった。*

[*へんしゅう*] *グヌーテラだいにせだい*

*ユーザのすそのがひろがるにつれ、システムのじゅうだいなもんだいがとりざたされはじめた。ネットワークはpingリクエストであふれかえり、どうじにひじょうにおおくのけんさくクエリーでこうふかになった。よりこうそくなハブとしてのやくわりをはたすコンピュータにせつぞくしたていそくのモデムといったかたちでネットワークのトポロジーはひこうりつてきだった。だいいちせだいのソフトウェアのしんこくなバグによってパケットがネットワークじょうをふめいかくにさまよっていた。ネットワークは”ほんらいはしょうすうのユーザのためにせっけいされたもので”100にんたんいから10,000たんいのユーザにぼうちょうしトラブルにみまわれた。「ただのり」や「なにもていきょうしていないのにファイルをとりだすだけのひとびと」によってもユーザがさがしぶつをするのをむずかしくした。*

*もういちど、じょうねつてきなコミュニティーがきゅうさいにのりだした。BobSchmidtがはじめてのホストキャッシングシステムをかいはつした。プログラマーたちはGnutella0.56のコードをしゅうせいし、パケットがてきせつにはこばれるようにTTLバグをとりのぞこうとした。そして、JorgeGonzalesはネットワークをダメにするスパマーらからネットワークをまもるこうどうにでた。*

*このじてんで、ものごとはこじんのかいはつしゃがすべてをまかなうにはあまりにもふくざつになっていた。かれらはコードをかき、ほうどうやユーザやおかねのくめんをしなければならなかった。こういったじじょうで、そうきゅうにしょうぎょうてきなどりょくがかいにゅうし、「きゅうさいにのりだす」ひつようがでてきた。Clip2はgnutellahosts.comをかいはつし、よりよいホストキャッシュのじっそうし、いくらかNapsterのようなトポロジーをGnutellaネットワークにくみいれてがったいさせるようなやりかたでうごくちいさなサーバReflectorをかいはつした。*

[*へんしゅう*] *ソフトウェア*

*めいしょう* *プラットホーム* *ライセンス*
en:Acquisitionx Mac OS X *オープンソース*
en:BearShare Microsoft Windows en:Closed source
en:Phex Java GNU GPL
Cabos Java GNU GPL
en:CocoGnut en:RISC OS *フリーウェア*
en:Gnucleus Microsoft Windows GNU GPL, GNU LGPL
en:gtk-gnutella en:Unix-like GNU GPL
LimeWire Java GNU GPL
en:mlDonkey
Morpheus Microsoft Windows en:Closed source
en:Mutella en:Unix-like GNU GPL
en:Poisoned Mac OS X GNU GPL
en:Qtella GNU/Linux GNU GPL
Shareaza Microsoft Windows GNU GPL
en:Symella Symbian OS GNU GPL
en:XNap Java GNU GPL
en:XFactor

[*へんしゅう*] *がいぶリンク*

*-Gnutellaごかんサーバント-*