検証
ネットワーク管理者のためのGnutella入門

3.Gnutellaのインストールと実行(2)

井口圭一/デジタルアドバンテージ
2000/09/15

ファイルを探す

 無事GnutellaNetに参加することができたら、次は目的のファイルを検索してみよう。ファイルを検索するには、Gnutellaウィンドウの左上にあるリストから、[Search]を選択する。するとダイアログの表示は次のものに切り替わる。

Gnutellaウィンドウで[Search]を選択したところ
ファイルを検索するときには、Gnutellaウィンドウの左上のリストボックスから[Search]を選択する。するとウィンドウの表示はこのように切り替わる。
  検索キーワードを指定するエディット コントロール。ここで指定した文字列をファイル名(およびパス名の一部)に持つファイルを検索する。ここでは例として、「beethoven」を指定してみた。文字列の指定を行うと、自動的に検索処理が開始される。これと同時に、右の[Search]ボタンが選択不可を示すグレー表示になる。
  検索結果一覧。中央のサーバで検索処理を行うNapsterとは異なり、Gnutellaではネットワーク内のホストに次々に検索要求を送り、その結果を待つことになるので、検索結果は一挙に表示されるのではなく、続々と表示されていく形式になる。ここで[Size]はファイル サイズ(bytes単位)、[Speed]はそのファイルを公開しているホストの接続速度(kbps)。この一覧から適当な項目をマウスでダブルクリックすると、ダウンロード処理が開始される。
  上の検索結果一覧からダウンロードしたいファイルを選択し(複数選択可能)、このボタンをクリックすることでダウンロード処理を開始する。
  Winampをインストールしているユーザーなら、このボタンを押すことで、ダウンロードしながら音楽データをストリーム再生することができる。
  検索結果をホストの接続速度で絞り込む。ここで、検索対象とするホストの最低接続速度をkbps単位で指定する。すると、それよりも遅い回線を使って接続しているホストのファイルは検索対象としない。

 ファイルを検索するには、このダイアログの上にあるエディット コントロールに検索キーワードを指定する。ただし、このキーワード指定では、正規表現やMS-DOSのワイルド カードなどは使えない(アスタリスク「*」やピリオド「.」は単純にスペースに置き換えられる)。スペースを途中にはさんで複数のキーワードを指定すると、それらをすべて含むファイルが検索される。検索の対象となるのは、ファイル名およびそのファイルのパス名である。

 なお今回テストしたGnutella Ver.0.56では、検索用エディット コントロールのフォント設定が英語になっており、日本語を入力しても、正しく表示されなかった。またGnutellaの検索処理では、2byteコードは考慮されていないようで、日本語文字列を指定して(表示は化けた状態で)そのまま検索を強行してみたところ、入力文字列とは無関係のファイルが検索された(恐らくは、2byteコードでの文字列の一部を単純に1byteコードのデータとみなし、合致したものだと思われる)。

 検索処理が中央のサーバで完結するNapsterとは違い、Gnutellaではネットワーク内の各ホストに検索要求が送られ、その応答を得ることになるので、検索結果も一挙に表示されるわけではなく、待っていると着々と検索結果が増えていくという感じである。

 なお、詳しくは技術解説編で説明するが、検索で目的のファイルが見つかったとしても、そのファイルを提供しているホストと、自分自身の双方がファイア ウォールの内側にいる場合には、ファイルは取得できない(いずれか一方がインターネット上にいればファイル転送は可能)。

 また目的とするファイルが見つからなければ、host catcherリストから別のホストに接続して、新しいGnutellaNetに参加して再度検索処理を行う。

 ファイルが見つかったら、ダウンロードしたい項目をマウスでダブル クリックするか、リスト ボックス中で選択して(複数選択可能)、下の[Download selected files]ボタンをクリックする。なおWinampユーザーなら、[Stream selected files]ボタンをクリックすることで、音楽データをダウンロードしながら、それをWinampでストリーム再生させることができる。

他人はどのような検索キーワードを指定しているのか?

 Gnutellaウィンドウの左上にあるリスト ボックスで、[Search]項目の下にインデント表示されている[Monitor]を選択すれば、GnutellaNetの他のユーザーが、どのようなキーワードを指定して検索処理を実行しているのかをのぞき見ることができる。

Gnutellaウィンドウで[Monitor]を選択したところ
Gnutellaウィンドウの左上にあるリストから[Monitor]を選択し、右上にある[Search monitor enabled](検索モニタを有効にする)チェック ボックスをオンにすると、GnutellaNetの他のユーザーが実行した検索処理のキーワードを見ることができる。接続したGnutellaNetにもよるだろうが、続々と寄せられる検索キーワードには少々驚かされる。
  モニタを開始するには、このチェック ボックスをオンにする。
  のチェック ボックスをオンにしたとたん、続々と検索キーワードがここに表示される。その数の多さに最初は面食らうだろう。
  リスト ボックスで表示される項目の数。何しろものすごい数のキーワードが続々と表示されるので、すべてを記録しておくと大変なサイズになってしまう。ここで指定した直近のいくつかだけを表示するようにする。

 実際にモニタしてみると分かるが、ものすごい数の検索キーワードが続々と送られてくる。GnutellaNetの内部をかいま見るような思いである。

ファイルをダウンロードする

 目的のファイルが見つかったら、ダウンロードを開始する。[Search]ダイアログでダウンロードの開始を指示すると(検索結果の項目をダブルクリックするか、それを選択して[Download selected files]ボタンをクリックする)、その時点でダウンロード処理が開始される。

 現在のダウンロードの状態を確認したければ、Gnutellaウィンドウの左上のリスト・ボックスから、[Downloads]を選択する。するとウィンドウの表示は次のようになる。

Gnutellaウィンドウで[Downloads]を選択したところ
この[Downloads]では、他のホストから自分のマシンにファイルをダウンロードしている状況を確認することができる。
  現在ダウンロード要求をホストに送っているもの。ホストとの接続に成功してダウンロードが開始されるとの状態になる。
  現在ダウンロード中のファイル。このように[Status]の部分には、現在までにダウンロードされた割合(%)と、現在の転送レート(Kbytes/s)が表示される。
  ダウンロード処理を途中で中止する場合には、中止したい項目を上のリスト ボックスから選択し、このボタンをクリックする。
  再度ダウンロード要求をホスト側に送る。通信エラーになったものや、[Abort]ボタンによって停止させたダウンロード処理を再開することができる
  ダウンロード処理を完了した(中止した)項目などをリストから削除する場合にはこのボタンをクリックする。
  最大同時ダウンロード数。多数のファイルのダウンロードを指示した場合でも、同時にダウンロード処理が行われるのは、ここで指定した数まで。それ以上は下の[Download queue]にリストされて処理待ちになる。いずれかのダウンロード処理が完了すると、処理待ちのダウンロードが順次実行される。
  ファイルのダウンロード処理が完了したときに、その項目をリストから自動的に削除する場合にはこのチェック ボックスをオンにする。
  ダウンロード処理待ちのファイル一覧。同時ダウンロードできる最大数はで指定されているので(デフォルトは「4」)、それ以上は処理待ちとしてここにリストアップされる。
  の処理待ちキューから項目を削除したければ、削除したい項目を選択して、このボタンをクリックする。

 多数のファイルのダウンロードを指定したとき、それらのダウンロード処理が一気に開始されては、ネットワーク トラフィックが爆発的に増加してしまう。そこでGnutellaでは、最大同時ダウンロード数を指定できる(画面の、デフォルトは4)。この数を超えてダウンロード処理が指示された場合は、それらを処理待ちのキュー(画面の)に入れ、先に開始したダウンロード処理が完了するのを待つ。そしていずれかのダウンロード処理が完了したら、キューの中から最も古い処理待ちファイルのダウンロード処理を開始する。

 今回は[Uploads]については説明しないが、基本的にはこの[Downloads]とは逆に、自分からGnutellaNet内の他のクライアントへのファイル提供の状態を確認することができる。

各種設定を行う

 ダウンロードしたファイルの格納フォルダや、他のクライアントに公開するファイルを収めるフォルダなどを変更するには、[Config]を選択する。

Gnutellaウィンドウで[Config]を選択したところ
Gnutellaに関する各種設定は、すべてここで行う。ダウンロードしたファイルの保存フォルダ、公開用フォルダ、検索対象とするファイルの拡張子などを指定する。
  ダウンロードしたファイルを格納するフォルダを指定する。この部分はボタンになっており、クリックすると、フォルダを選択するためのダイアログが表示される。
  他のクライアントに公開するファイルを格納したフォルダを指定し、のボタンをクリックすると、そのフォルダが共有用フォルダとして指定される。
  で指定したフォルダを共有用フォルダとして追加する。
  公開するファイルの拡張子を指定する。ここで指定したものとは異なる拡張子を持つファイルはスキャンの対象にはならない(公開の対象とはならない)。
  共有用フォルダを追加しても、ファイルの再スキャンを指示しなければ、フォルダ内のファイルは共有できない。共有フォルダの状態が変わったら、このボタンをクリックし、再度公開ファイルをスキャンする。公開されたファイルの数は、左の[Files scanned]の部分に表示される。
  GnutellaNet内の他のユーザーがこのマシンに接続するために使用するポートを指定する。
  インターネットとの接続速度をkbit/s単位で指定する。ここで指定した値が、相手の検索結果に表示されることになる。
  自分自身がファイアウォールの内側にいる場合でも、ここにNATなどで変換されるグローバル側のIPアドレスを指定することで、あたかも自分がグローバルIPを使って通信しているように振る舞うことが可能。ただしこれが可能になるには、パケットがファイアウォールを通過できなければならない。
  他のクライアントによる検索によって自分が公開したファイルが合致したとき、その結果として相手に返すファイルの最大数を指定する。
  パケットの生存時間(Time To Live)を指定する。ここで指定した数まで、パケットは他のコンピュータを越えて次のコンピュータまで到達する。Max TTLは自分を通過するパケットに対する指定、My TTLのほうは自分が発行するパケットに対する指定である。

 Gnutellaの各種設定はここで集中的に行うようになっている。ダウンロード用のフォルダと共有用フォルダを一致させれば、ダウンロードしたファイルをそのまま公開できることになる。ただし公開されるファイル(他のクライアントからの検索対象となるファイル)は、あらかじめGnutellaによってスキャンされなければならない。このため共有用フォルダを新たに追加したときや、フォルダ内のファイル構成が変更されたときには、再スキャン([Rescan]ボタン)を実行しなければ、変更されたファイルは検索対象にはならない。またこのとき、スキャンの対象となるファイルの拡張子はで指定する。共有フォルダ内にファイルが存在しても、ファイルの拡張子がここで指定されていなければ、公開はされない。

 他のクライアントがこのコンピュータに接続するためのポートはで指定可能である。デフォルト値は「6346」だが、ここで指定すれば、実質的にどのようなポートでも使用できる。したがって社内からのGnutellaの利用を禁止しようと、ポート「6346」を使用不可にしても、この設定でユーザーが任意のポートを指定すれば、Gnutellaを使い続けることができてしまう。

 の[gnutellaNet TTL settings]は、GnutellaNetとやり取りするパケットのTTL(Time To Live:存続時間)を指定するものだ。デフォルト値はいずれも「7」で、たとえば自分が発行した検索用パケットは、7個のホスト コンピュータを超えて(7レベルまで)、GnutellaNet内の他のコンピュータに到達するということだ。したがってこの値を大きくすれば、それだけ遠くまで、それだけ多くのホストにパケットを送信可能になるが、検索などの応答時間もそれに従って長くなってしまうだろう。GnutellaNetの状態にもよるだろうが、実際に使ったところでは、デフォルトの「7」でも検索にはかなりの時間がかかっていた。Max TTLは自分を通過するパケットに対する指定、My TTLのほうは自分が発行するパケットに対する指定である(詳細は後述)。

関連記事(Windows Server Insider)
  検証:ネットワーク管理者のためのNapster入門
 
  関連リンク
  Gnutellaのホームページ(Gnutella)
     

 INDEX
  [検証]ネットワーク管理者のためのGnutella入門
    1.Gnutellaとは何か?
    2.Gnutellaのインストールと実行 (1)
  3.Gnutellaのインストールと実行 (2)
    4.Gnutellaの通信メカニズム (1)
    5.Gnutellaの通信メカニズム (2)
 
 検証


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間