鍋・フライパンあれこれ美味
100万ポイント山分け!1日5回検索で1ポイントもらえる
>>
人気記事ランキング
ブログを作成
楽天市場
000000
HOME
|
DIARY
|
PROFILE
【フォローする】
【ログイン】
WinMX Winny Share うたたね
Winnyの技術。
本書は、P2P 型のファイル共有ソフト Winny の動作と構造を詳細に解説したもの
です。
P2P 型のファイル共有ソフトというと、アンダーグラウンドな印象があるかもし
れませんが、サーバーで集中的にサービスを提供する形態によらず、ユーザーが相
互にコンピュータをつなぎあってサービスを実現しているという点でたいへん興味
深いシステムであり、その技術面は確実に進化してきました。代表的なものとして
は、ファイル共有ソフトとして非常に有名になった第一世代のNapster、サーバを
使用せずに純粋にユーザーのコンピュータ間だけで情報を交換できるようにした第
二世代の Gnutella、そして自由な発言と出版を目的として、情報発信者のプライバ
シーを護るために匿名性を実現した第三世代のFreenetを挙げることができます。
Winny はこの Freenetを参考に、Freenet が持つキャッシュシステムをより大規模
な利用にも耐えられるように効率を高めて開発したものです。
本書は読者対象として、Winny の動作や仕組みに関心のある方と、P2P 技術に興
味があるソフトウェア技術者を想定しています。
1~3 章では、Winny の技術背景となっている P2P 型システムについての基礎知
識を説明し、ファイル共有ソフトの歴史を紹介したうえで、Winny の基本的な動作
と設計コンセプトをわかりやすく解説しました。Winny の動作や仕組みに関心のあ
る方はこちらをご覧ください。
4~5 章では P2P 技術に興味がある開発者向けに、さらに詳細な実装を解説し、実
際に P2P ソフトウェアを開発してみてわかった注意事項やヒント、今後 P2P ソフト
ウェアを開発される方へのメモをまとめました。
Winny は、ファイル共有ソフトとして Winny Version 1 が公開されたあと、P2P
型の大規模掲示板を目指した Winny Version 2 へと開発が続いていくわけですが、
本書は Winny Version 1 に焦点を絞って解説し、Winny Version 2 に関しては展望
のみにとどめることにします。また、Winny の利用方法やビジネス面、および法的
な面は、別の場で議論されるべきことなので、本書では扱いません。
Winny は、ファイル共有ソフトの歴史の流れの途中にあるにすぎません。
やほかのファイル共有ソフトによって確認された技術を基にして、これからさらに
新しい技術が生み出されていくはずです。Winny の技術詳細を公開することにより、
P2P 技術がより発展することを期待して本書を記します。
本書の執筆にあたっては、多くの方々からご意見やアドバイス、協力をいただき
ました。深く感謝いたします。
特に、本書を出版する機会を与えてくださった、東京大学の平木敬教授に感謝いた
します。カバーのメインモチーフとなっているイラストの図案は、平木先生がノー
ト PC の PowerPoint で描いてくださったものです。
裁判が続くなかでの執筆といういうこともあり、出版もスムーズというわけには
いきませんでした。編集担当の赤嶋映子さんには数多くのお手数をおかけしました
が、こうして無事に出版することができました。
執筆期間中、今井潔さん、清水了さん、中野克平さん、川崎晋二さんは、とき
には説明の聞き手になりながら、草稿の数多くの問題点を指摘してくれました。
篠田陽一さんからは貴重な資料を見せていただき、Winny を新鮮な目で見ることが
できました。
井上誠一郎さん、加藤朗さん、亀井聡さん、萩野純一郎さんにはテクニカルレビュー
をしていただき、鋭い意見を原稿に反映することができました。
本書とは直接のかかわりはありませんが、新井俊一さんをはじめとする支援団体
の方々に多くの励ましをいただきました。Winny 開発のきっかけとなった、2 ちゃ
んねる関係者の皆さん、2 ちゃんねる管理人のひろゆき氏、ネットワーク上でご意
見と励ましをいただいた多数の方々にもこの場をかりて感謝いたします。
また、事情で現在直接やり取りができない方、直接お会いしたことはありません
が Winny に多くの関心をはらっているたくさんの方々にも感謝したいと思います。
ネットワーク社会の未来が明るいものであることを祈ります。
「目 次」
目 次
まえがき.................................. ............................. ..3
1章 P2Pの基礎知識 11
1.1 私的解説:P2P とは何か?....................................13
クライアント/サーバとは対照的な P2P..............................14
P2P 型システムの特徴....................... .......................16
P2P で何ができるのか?......................... ...................17
P2P ソフトいろいろ......................... .......................18
1.2 P2P ファイル共有ソフト.......................................20
P2P ファイル共有ソフトの技術ポイント..............................20
1.3 ファイル共有ソフトの歴史....................................22
第一世代ファイル共有ソフト..................... ...................22
第二世代ファイル共有ソフト..................... ...................26
第三世代ファイル共有ソフト..................... ...................32
1.4 まとめ................................ ...........................35
2章 Winny紹介 37
2.1 Winny の開発コンセプト......................................39
Freenet の匿名性はどのように実現されているか.......................40
匿名機構としてのプロクシー技術.................... ................42
キャッシュ機構としてのプロクシーサーバ............................43
プロクシー技術をファイル共有ソフトに応用する......................44
Freenet と Winny の設計コンセプトを比較する........................44
開発の過程をたどる......................... .......................45
基盤技術としての P2P ファイル共有システム..........................47
Winny 1 から Winny 2 へ......................... ...................48
2.2 まとめ................................ ...........................49
[ユーザーの目から見た Winny].....................................50
--7/206--
--7/206--
contents : 2005/9/29 (23:8)
目 次
6
3章 Winnyの仕組み 55
3.1 Winny ネットワークの概観....................................57
3.2 ファイルの公開からダウンロードまで........................59
ファイルの公開........................... .........................59
ファイルの検索........................... .........................60
ファイルの転送........................... .........................62
ダウンロードしたファイルは公開される..............................63
さらに別のノードがダウンロードする................................64
3.3 中継................................ .............................65
3.4 大規模な P2P ネットワークに耐える..........................68
上流と下流........................... .............................68
クラスタリング........................... .........................71
3.5 Winny のその他の要素.........................................73
アップロードフォルダ~キャッシュフォルダ~ダウンロードフォルダ....73
キャッシュファイル.......................... ......................74
ファイルの分割と多重ダウンロード..................................75
ノードの発見――「最初の一歩」問題..................................76
3.6 Winny ネットワーク再考......................................77
オーバーレイネットワークという側面................................77
Winny ネットワークという系...................... ..................78
3.7 まとめ.............................. .............................81
4章 実 装 83
4.1 プログラムの概観........................ ......................85
4.2 ノード管理............................. .........................89
他のノード情報の提供........................ ......................89
検索リンクの接続......................... .........................90
ノード情報........................... .............................93
接続形態............................. .............................94
ノードのバージョン情報...................... ......................98
--8/206--
contents : 2005/9/29 (23:8)
目 次
7
クラスタリングとノード間の相関度..................................99
クラスタリングと検索リンクの接続相手の選択.......................101
4.3 クエリ管理........................... ..........................102
拡散クエリ............................. ..........................102
検索クエリ............................. ..........................103
増殖しないクエリ....................... ..........................107
4.4 キー管理............................. ..........................108
キーの拡散............................. ..........................109
中継と拡散............................. ..........................111
キャッシュファイル......................... ......................112
キャッシュブロック......................... ......................114
キャッシュファイルの構造....................... ..................115
キャッシュブロックの保有状況とキーの状態.........................116
キーの上書きルール......................... ......................117
キーの寿命と削除....................... ..........................119
4.5 ファイルの転送.......................... ......................121
転送リンクの制御....................... ..........................122
同時ダウンロード数と同時アップロード数の制御.....................123
アップロード要求が集中したときのリンク切断.......................125
多重ダウンロード....................... ..........................125
ファイル ID とハッシュ値.................... ......................127
4.6 タスク管理と Windows スレッド.............................129
ダウンロードタスク......................... ......................130
アップロードタスク......................... ......................131
キャッシュファイル変換タスク................... ..................132
フォルダチェックタスク..................... ......................134
ハッシュチェックタスク..................... ......................135
4.7 自動ダウンロード機構........................................135
自動ダウンロードの仕組み....................... ..................135
ダウンロード条件のチェック頻度を制限する.........................136
4.8 無視フィルタ機構.............................................137
4.9 まとめ............................. .............................138
--9/206--
contents : 2005/9/29 (23:8)
目 次
8
5章 P2Pソフトの開発手法 139
5.1 P2P アプリケーションのテスト..............................141
シミュレーションを利用する...................... .................141
P2P ネットワークの形成と維持.................... .................142
バージョンアップと旧ネットワークの廃棄...........................144
5.2 シミュレーションの活用と限界..............................145
設計時のシミュレーション.................... .....................145
シミュレーションの限界...................... .....................146
5.3 匿名性と転送効率の両立......................................149
5.4 Winny と暗号技術........................ .....................150
ノード間通信の暗号化........................ .....................151
初期ノード情報の暗号化...................... .....................152
キャッシュファイルの暗号化...................... .................153
プログラム本体の暗号化...................... .....................153
5.5 システム妨害に対抗する......................................154
Winny ネットワークへの攻撃...................... .................154
Winny プログラムへの攻撃.................... .....................156
なぜ Winny はオープンシステムでなかったのか.......................157
5.6 長期的な設計における成功と失敗............................157
長期的設計――クラスタリングの場合...............................158
クラスタリングの変遷........................ .....................158
長期的設計――キャッシュシステムの場合...........................161
キャッシュシステムの変遷.................... .....................161
長期的設計――ハッシュ値の場合...................................164
5.7 Winny 1 開発のあとで........................................166
5.8 まとめ.............................. ............................168
--10/206--
contents : 2005/9/29 (23:8)
目 次
9
6章 残された課題と可能性 169
6.1 BBS 機能とアクセスコントロール...........................171
6.2 デジタル認証とアクセスコントロール.......................172
6.3 Winny 2 とファイル共有機能.................................172
6.4 ファイル共有ソフトの応用を考える.........................173
あとがきに代えて........................... ..........................174
付録 A キャッシュファイルヘッダ...................................175
付録 B シミュレーション.............................................177
付録 C Winny プロトコル詳細(2.0b7.1).............................181
ジャンル別一覧
出産・子育て
ファッション
美容・コスメ
健康・ダイエット
生活・インテリア
料理・食べ物
ドリンク・お酒
ペット
趣味・ゲーム
映画・TV
音楽
読書・コミック
旅行・海外情報
園芸
スポーツ
アウトドア・釣り
車・バイク
パソコン・家電
そのほか
すべてのジャンル
人気のクチコミテーマ
自分らしい生き方・お仕事
^-^◆ いたずら辞書 (^_^;) <14…
(2024-12-06 01:00:10)
ビジネス・起業に関すること。
まずは何事も?から。
(2024-12-05 07:44:25)
みんなのレビュー
茅野市の(株)みやまさんでの作業…
(2024-12-05 17:36:56)
© Rakuten Group, Inc.
X
共有
Facebook
Twitter
Google +
LinkedIn
Email
Design
a Mobile Site
スマートフォン版を閲覧
|
PC版を閲覧
人気ブログランキングへ
無料自動相互リンク
にほんブログ村 女磨き
LOHAS風なアイテム・グッズ
みんなが注目のトレンド情報とは・・・?
So-netトレンドブログ
Livedoor Blog a
Livedoor Blog b
Livedoor Blog c
楽天ブログ
JUGEMブログ
Excitブログ
Seesaaブログ
Seesaaブログ
Googleブログ
なにこれオシャレ?トレンドアイテム情報
みんなの通販市場
無料のオファーでコツコツ稼ぐ方法
無料オファーのアフィリエイトで稼げるASP
ホーム
Hsc
人気ブログランキングへ
その他
Share by: