[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仕様書3
ここでは、Clip2 DSSからリリースされたGnutellaの仕様書を公開する.これにより、Gnutellaがどのような動きをするかが理解できる.
interview仕様書の翻訳は、こば、カワサキで行った.不具合はカワサキまで
カワサキ
kawasaki@jnutella.org

XXXXxxxxx.

デスクリプター・ID ネットワーク上のデスクリプターを一意に見分けるための16バイト・ストリング 

ペイロード・デスクリプター 0x00=ピング(Ping)、0x01=ポング(Pong)、0x40=プッシュ(Push)、0x80=クエリー(Query)、0x81=クエリーヒット(QueryHit) 

TTL、タイム・トゥ・リブ(Time To Live) ネットワークからパケットが削除されるまで、グヌーテラのサーバントからサーバントへと転送されることになるデスクリプターの数字で。互いのサーバントは、他のサーバントへパスする際にTTLを1つずつ減らしていきます。TTLが0に達すると、デスクリプターはもうそれ以上転送されることはありません。 

ホップ数 デスクリプターが転送される数字です。サーバントからサーバントへとデスクリプターはパスされ、その際、ヘッダーにあるTTLとホップ数のフィールドは次の公式を満たさなくてはなりません。 

TTL(0)=TTL(i)+Hops(i) 

TTL(i)とHops(i)はヘッダーのTTLとホップ数のフィールドの価値です、at the descriptor's i-th hop , for i >=0. 

ペイロード長 次のあるこのヘッダーのデスクリプターの長さ。次のデスクリプターのヘッダーは正確には、ペイロード長バイト、このヘッダーの終わりから位置している。それにはグヌーテラのデータストリームの中にあるギャップの無い、パッドバイトがある。 

TTLはネットワークにあるデスクリプターを消去するための唯一のメカニズムです。サーバントは、必要なものとしては低く受け取ったデスクリプターのTTLのフィールドを注意深く綿密に調べるべきです。TTLフィールドの乱用は、不必要なネットワークトラフィックとネットワークパフォーマンスの低下を招くからです。 

ペイロード長フィールドは、入力の流れ(input stream)の中で、次のデスクリプターの始まりをサーバントが見つけるためのたったひとつ信頼できる方法です。グヌーテラ・プロトコルは、「アイ・キャッチャー(eye-catcher)」ストリングまたは、いかなるデスクリプターの同期化メソッド(descriptor synchronization method)を与えません。それゆえに、サーバントは、サーバントが入力の流れと同期できないことを厳密に確認すべきであり、もし上流のサーバントが、価値のないデスクリプターを作り出し、転送しているような流れであれば、その接続を落とすべきなのです。 

すぐにデスクリプター・ヘッダーを転送するということは、転送するデスクリプターの1つから構成されるペイロードであるということです。 

ピング(0x00)Ping(0x00) 
ピングのデスクリプターは関連のないペイロードであり、ゼロ・ペイロードです。ピングは、デスクリプターヘッダーによって単純に表現されており、デスクリプターのPayload_Descriptorは、0x00で、そのPayload_Lengthは0x00000000です。 

サーバントは、他のサーバントへのネットワークを積極的に証明するためにピング・デスクリプターを使います。ピング・デスクリプターを受け取ったサーバントは、活動的なグヌーテラ・サーバントのアドレスとネットワーク上で共有しているデータを含んでいる、ポング・デスクリプターに応じるために選ぶかもしれません。 

この文書では、サーバントがどのような頻度でピング・デスクリプターを送るべきであるかとか、ネットワーク上でのピング・トラフィックの最小化を行うためのすべての試みをサーバントが行うべきであるとかいうようなことは、頻度の時と同じように推薦はおこないません。
 


,3,

OPEN content gnutella.wego.com

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