『Winnyの技術』
https://gyazo.com/8bfef4d3204d609fce5f584568be70fb
2005/10/1
@miura1729: web3の人がWinnyを設計した時くらい緻密に考察していればと思わなくもない。「Winnyの技術」は後世に語り継ぐべき本だと思う 手に取った動機
名前は知ってるが、内容を全く知らないので気になっていた
映画を観に行きたいので、良い機会なので予習も兼ねて。
細かいところまで知りたいモチベはないので、1,2章読めたら良いかなmrsekut.icon
読みやすい、文章が軟らかい
まえがき
1.1 私的解説:P2Pとは何か?
P2Pの概要
P2Pファイル共有ソフトとその歴史
最初のやつが1999年で、この本は2005年なので、歴史と言ってもその6年ぐらいの話
Winnyの開発コンセプト、Freenetの違いなど
p.50に実際のWinnyの画面のスクショと使い方が載ってる
3章 Winnyの仕組み
3.1 Winnyネットワークの概観
3.2 ファイルの公開からダウンロードまで
ファイルの公開
ファイルの検索
ファイルの転送
ダウンロードしたファイルは公開される
さらに別のノードがダウンロードする
3.3 中継
3.4 大規模なP2Pネットワークに耐える
上流と下流
クラスタリング
3.5 Winnyのその他の要素
アップロードフォルダ~キャッシュフォルダ~ダウンロードフォルダ
キャッシュファイル
ファイルの分割と多重ダウンロード
ノードの発見――「最初の一歩」問題
3.6 Winnyネットワーク再考
オーバーレイネットワークという側面
Winnyネットワークという系
3.7 まとめ
4章 実 装
4.1 プログラムの概観
4.2 ノード管理
他のノード情報の提供
検索リンクの接続
ノード情報
接続形態
ノードのバージョン情報
クラスタリングとノード間の相関度
クラスタリングと検索リンクの接続相手の選択
4.3 クエリ管理
拡散クエリ
検索クエリ
増殖しないクエリ
4.4 キー管理
キーの拡散
中継と拡散
キャッシュファイル
キャッシュブロック
キャッシュファイルの構造
キャッシュブロックの保有状況とキーの状態
キーの上書きルール
キーの寿命と削除
4.5 ファイルの転送
転送リンクの制御
同時ダウンロード数と同時アップロード数の制御
アップロード要求が集中したときのリンク切断
多重ダウンロード
ファイルIDとハッシュ値
4.6 タスク管理とWindowsスレッド
ダウンロードタスク
アップロードタスク
キャッシュファイル変換タスク
フォルダチェックタスク
ハッシュチェックタスク
4.7 自動ダウンロード機構
自動ダウンロードの仕組み
ダウンロード条件のチェック頻度を制限する
4.8 無視フィルタ機構
4.9 まとめ
5章 P2Pソフトの開発手法
5.1 P2Pアプリケーションのテスト
シミュレーションを利用する
P2Pネットワークの形成と維持
バージョンアップと旧ネットワークの廃棄
5.2 シミュレーションの活用と限界
設計時のシミュレーション
シミュレーションの限界
5.3 匿名性と転送効率の両立
5.4 Winnyと暗号技術
ノード間通信の暗号化
初期ノード情報の暗号化
キャッシュファイルの暗号化
プログラム本体の暗号化
5.5 システム妨害に対抗する
Winnyネットワークへの攻撃
Winnyプログラムへの攻撃
なぜWinnyはオープンシステムでなかったのか
5.6 長期的な設計における成功と失敗
長期的設計――クラスタリングの場合
クラスタリングの変遷
長期的設計――キャッシュシステムの場合
キャッシュシステムの変遷
長期的設計――ハッシュ値の場合
5.7 Winny 1開発のあとで
5.8 まとめ
6章 残された課題と可能性
6.1 BBS機能とアクセスコントロール
6.2 デジタル認証とアクセスコントロール
6.3 Winny 2とファイル共有機能
6.4 ファイル共有ソフトの応用を考える
あとがきに代えて
付録A キャッシュファイルヘッダ
付録B シミュレーション
付録C Winnyプロトコル詳細(2.0b7.1)
索引