ダウンロードメモ
ダウンロードに関するメモ。
@ ダウンロード手順
- 転送リンクでファイルを保持するノードへ接続する
- 接続テストされる
- ファイル要求コマンドを送信
- 応答(ファイル)を受信
2が変。
Winnyは接続してきたノードへ接続テストを行う。
接続テストの方法は転送リンクを張れるか試すこと。
接続テストを行うのは、検索リンク接続のみと思っていたのだけど、転送リンクでも接続テストをされるもよう。
これは無限ループになりそうだけど、なにか判定方法があるのだろうか。
現在のcore.exeは、転送リンクに対しては接続テストを行わない。
=> それだとダウンロードされ放題にならない?(俺A)
==> 接続テストしたからって、それは防げないでしょ。(俺B)
=> じゃあ、そのままでいいんじゃないの。(俺本体)
==> Winnyのコード見て分かるのならそれが一番いいので調べたらどう?(俺A)
=> …まあ、そうだけど(俺本体)
@ RC4暗号鍵
暗号鍵は、1ブロック目が固定鍵、それ以降はファイル全体ハッシュ値とブロックNoから鍵を求める。
@ 不正なコマンドへの反応
ここでの不正なコマンドとは、ファイルの範囲外を要求をした場合など。
Winnyはこのコマンドを無視する。
切断されたり、エラー応答が返ることはない。
範囲内〜範囲外の複数ブロックを要求した場合は、ファイルの範囲内の要求に対しては応答がある。