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をかいはつした。*
[*へんしゅう*] *ソフトウェア*
[*へんしゅう*] *がいぶリンク*
- jnutella*(にほんご)*
- Gnutella Wiki*(にほんご)*
- *@IT :ネットワークかんりしゃのためのGnutellaにゅうもん**(にほんご)*
- GTK-Gnutella*(にほんご)*
- Gnutella Wiki*(えいご)*
- Gnutella Protocol Development*(えいご)*
- LIMEWIRE DEVELOPER RESOURCES*(えいご)*
*-Gnutellaごかんサーバント-*
- 360Share
- Acqlite
- Acquisition
- AquaLime
- BearFlix
- BearShare
- Cabos
- Epicea
- eTomiPro
- FilePile P2P
- Foxy
- FreeWire
- FrostWire
- giFT-Gnutella
- GnuAce
- GPU
- GTK-Gnutella
- GnucDNA
- Gnucleus
- iMesh
- Kceasy
- LemonWire
- LimeWire
- LimeWire CVS jum
- LimeWire (666) with Bittorrent
- MLDonkey
- Morpheus
- Mutella
- MXIE
- MyNapster
- NeoNapster
- Phex
- Shareaza
- Swapper.NET
- TrustyFiles
- Vagaa
- XNap
- xolox
- Zultrax

