システムエンジニアの晴耕雨読

システムエンジニアの晴耕雨読

2007.02.08
XML


金子勇「Winnyの技術」

 Winnyの開発者である金子勇さん自身が、Winnyを解説した本。
 システム構成等の図も豊富で、P2Pソフトウェアの設計思想、仕組み・実装方法・開発手法を、非常にわかりやすく解説されています。


 冒頭、P2P方式のWinnyの位置づけを、クライアント/サーバ(C/S)方式に対比して、
 その違いと特徴を説明。
 通常のWebシステムや狭義のC/S方式が、クライアントがリクエストを要求しサーバがレスポンスを返す方式で
 なりたっているサーバ中心主義ともいえるのに対して、
 P2P方式は、クライアント同士がリクエスト-レスポンスを繰り返し、サービスを提供しあう。

 C/S方式の場合、クライアントがリクエストを投げる先であるサーバは事前に特定される一方、
 P2P方式では、クライアントがリクエストを投げる先・・・ノードの特定の方法によって世代が分かれる。

  第一世代ファイル共有ソフト
   ファイルを持っているノード同士が直接ファイルを送りあうが、どのノードがオンライン中でどのようなファイルを持っているかといったノード情報は、中央のサーバが集中管理する。

   ex.Napster、winMX

  第二世代ファイル共有ソフト
   特定のサーバを必要とせず、純粋にノード同士でファイルの検索と転送を可能にしたファイルに共有ソフト。

   ex.Gnutella

  第三世代ファイル共有ソフト
   第二世代のファイルに共有ソフトにファイルのキャッシュ機構を備えている。

   ex.Winny  


 Winnyは、Freenetの思想に準拠したもの・・・Freenetは、そもそもは、独裁政府からインターネット上での
情報発信者の匿名を確保し自由な発言・活動を保証するための技術であったが、匿名性を担保する一方で、
効率性に課題があった。

 それに対して、Winnyはプロクシー技術を利用し「匿名性」を確保しつつ、
 「効率性」のためにキャッシュの機構を利用する。また、複数ノードにキャッシュのコピーを保有させることで、さらに「匿名性」を高めている。

 この「匿名性」と「効率性」の要求を充足させるための工夫が、
「3章 Winnyの仕組み」「4章 実装」「5章 P2Pソフトの開発手法」にて述べられています。

 共有したいデータを、パケット分割し、ヘッダ部とデータ部に各々ハッシュ値のユニークなキーを与え、
それを暗号化して、キー情報がネットワーク上のノードに蔓延させる。
 しかも、キー情報からノードが一意に特定されないように、ある一定の割合で中継したノードにおいて、
IPアドレス等の情報を自動的に変換させることで、「匿名性」を担保する。
 また、パケット毎に、多重ダウンロードも可能としたり、検索文字列の入力内容を基に、好みを判定し、
検索文字列の好みの近いノードをクラスタリング分けさせることで、「効率性」を確保する。
 ・・・等々といった、工夫点・考慮事項に感心する。


 小規模なネットワークから大規模なネットワークになり、想定以上の高負荷がかかった際の挙動や、
様々な攻撃・クラッキングを受けた場合の対処方法についてのソフトウェアの開発手法が参考になります。

 設計工程においては、事前に想定した課題に対する対策の作り込み。
 クラスタリングやキャッシュシステムを、長期的な観点から成功点と改善点にわけて評価されています。

 テスト工程においては、小規模なネットワークでのテストから、シミュレータを用いたテストを経て、
 2chの利用者中心の大規模なネットワークテストの実施。
 そこで発生した問題・課題へ即時対応をし、1年余で数百回のプログラムリリースを繰り返す
 漸次改善を図ったこと。
 ・・・まあ、商用プロダクトだと最後の方法は条件を周到に用意しないとなかなか試せないでしょうが。


 昨年裁判の証人台に立たれた「ミスター・インターネット」こと村井純さんが、
「情報通信の基盤を開発することと、それがどう利用されたかを結び付けて考えられるべきではない。
 開発すること、運用すること、それがどのように利用されるかということは、分けて考えるべきだ」
とおっしゃっていましたが、
 第三世代のP2Pの技術そのものは、ファイル共有だけではなく、Skypeでも活用されており、
まだまだこれから期待しうる技術だと思います。


 でも、金子さん自身も、改良の余地を指摘されているとおり、
現在のWinnyにはウィルスによる情報漏洩の危険性が高く、
便利さよりもリスクが大きすぎます。
 業務用はもちろんのこと、私的利用も厳禁になっている会社が多いと思いますが、
技術的可能性とは別に運用規制も必要だと思います。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2007.02.08 21:51:23
コメント(1) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

×

カレンダー

コメント新着

聖書預言@ Re:雲南小粒珈琲・シャングリラ古鎮・・雲南旅行その5(03/04) 神の御子イエス・キリストを信じる者は永…
モンゴル鎌倉サムライ@ Re:佐藤優「自壊する帝国」(08/09) ルパン三世のマモーの正体。それはプロテ…
toyopika@ Re:足立巻一「虹滅記」(06/18) 足立敬亭先生が逝去したことを知って悲し…
背番号のないエース0829 @ もし高校野球の女子マネージャー 『アルフィー「君が通り過ぎたあとに-Don…

お気に入りブログ

夏場所千秋楽 New! lavien10さん

お客様の立場で全て… よびりん2004さん

7. 人間の遺伝子レ… みきまるファンドさん

理論の人 vs 論理の人 MEANINGさん

固定資産税の課税ミ… 山田真哉さん

芸術と思想について… 三角猫さん

🔴🔴🔴カーグ島沖で… alex99さん

伊藤沙莉・池松壮亮 … くまんパパさん

キーワードサーチ

▼キーワード検索

サイド自由欄

設定されていません。

© Rakuten Group, Inc.
X
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: