[an error occurred while processing this directive]
 
ホーム    P2P関連ニュース    ソフト    掲示板    jnudev    Jnutellaについて  
Jnutella全文検索

Enter
(powered by namazu)
Jnutella
■P2Pを知ろう
 ・Gnutellaって何?
 ・P2Pって何?
 ・P2P用語辞典
 ・P2P情報センター
メーリングリスト
 ・jnutella(議論)
 ・jnutella.news(ニュース)
 ・jnudev(開発)
オープンリンク
コラム
インタビュー
投票
■Jnutellaについて
 ・スタッフ紹介
 ・編集日記
P2P関連ニュース
国内
 ・過去のニュース
海外
 ・過去のニュース
ソフト
FAQ
■ソフトウェアレビュー
 ・BearShareと日本語パッチ
 ・LimeWire
 ・GnuACE
 ・Mactella日本語パッチ登場
  ...etc.
■ソフトウェア
 ・GTKt (Gnutella Tool Kit)
 ・Windows
 ・Macintosh
 ・Unix/Linux
 ・BeOS
 ・Java
 ・その他
掲示板
Jnutella掲示板
■作者さん直結の掲示板
 ・GnuACE掲示板
jnudev
■jnudevプロポーサル
GTKt (Gnutella Tool Kit)
■JPPP
 ・日本語
 ・English
■他の日本発P2Pの開発
 ・EMIP
 ・GISP
 ・LEAF
 ・P2P2
各種技術ドキュメント
 ・Gnutella仕様書
 ...etc.
 jnudev > Gnutella仕様書7
ここでは、Clip2 DSSからリリースされたGnutellaの仕様書を公開する.これにより、Gnutellaがどのような動きをするかが理解できる.
interview仕様書の翻訳は、こば、カワサキで行った.不具合はカワサキまで
カワサキ
kawasaki@jnutella.org

XXXXxxxxx.

(ルーティング説明図) 
例1.PingとPongのルーティング

ping pong 
例2.Query/QueryHit/Pushのルーティング 

query hit 1->query hit 2

ファイルのダウンロード
いったんサーバントがQueryHit識別子を受け取ると、その識別子の検索結果集合に書かれているファイルの直接ダウンロードを初期化します。ファイルはネットワークではなく直接ダウンロードされます。ファイルデータはGnutellaネットワーク上で転送されることはありません。 

ファイルのダウンロードプロトコルはHTTPです。ダウンロードを初期化したサーバントは目的のサーバに以下のような形式の要求文字列を送信します: 

GET /get/<File Index>/<File Name>/HTTP/1.0\r\n 
Connection: Keep-Alive\r\n 
Range: bytes=0-\r\n 
\r\n 

ここで<File Index>と<File Name>はQueryHit識別子の検索結果集合に含まれるファイルインデクス/ファイル名の一対です。 
たとえば、検索結果集合に記載欄が以下のような場合 
(表) 
この記載欄に書かれているファイルのダウンロード要求が以下のように初期化されることになります。 

GET /get/2468/Foobar.mp3/HTTP/1.0\r\n 
Connection: Keep-Alive\r\n 
Range: bytes=0-\r\n 
\r\n 

このダウンロード要求を受け取ったサーバはHTTP1.0遵守のこのようなヘッダで応答します。 

HTTP 200 OK\r\n 
Server: Gnutella\r\n 
Content-type: application/binary\r\n 
Content-length: 4356789\r\n 
\r\n 

ファイルのデータはその後続き、サーバのHTTP応答で提供されるContent-lengthの中で特定されたバイト数を読みこまれ、含まれることになります。 

Gnutellaプロトコルはダウンロードが終了した地点から中断されたダウンロードを再開できるようにHTTP範囲パラメータをサポートします。 


,7>

OPEN content gnutella.wego.com

このページはJnutella.orgメンバーによって運営されています  
不都合は、members@jnutella.orgまでよろしくお願いしますm(_ _)m