p2pソフトを作りたいです

0cbb0341 白帽子 2010-02-22 13:16
なんか違った。memcachedそのまんまじゃだめだ。
Kai(つ分散Key/Valueストア,Kaiを使ってみよう!)とか、
Kumofs(つ分散Key-Valueストアkumofsが公開 | GeekChimps:)とかのほうがいいか。
e08b4c0b 白帽子 2010-02-22 13:54
スレを占有しかかってるけど。
もし開発するとなったら指針として↓を参考にするか
http://slashdot.jp/yro/10/02/01/093226.shtml
f6c84acd 白帽子 2010-02-22 14:43
ライブドア第九研究室だより
http://blog.livedoor.jp/koichiise/tag/DHT

こっちも面白い。
214d584b anonymous 2010-02-22 17:00
key-valueストアが注目されているのは、処理がやたら速いからなんだよ。
機能的にはすげー単純なの。キー付けてデータベースを呼べば、
値を返してくる。ただそれだけ。普通に情報管理やりたいなら、
単純なのはメモリに構造体を作ってサーチするとか、もっと複雑な場合は
RDBMS(リレーショナルデータベース)を使うというのがよく行われていた。
だいたい、pythonなんかデフォルトでsqlite取り込んでるから
いきなりスクリプトからSQLでの問い合わせ機能が使えるよ。

key-valueストアはクラウドコンピューティング上で機能を絞って
実用的に使えるレベルに達したという点で注目されてるだけなんだ。
8d0198ed anonymous 2010-02-22 20:19
常時接続環境なしでP2Pを開発するのは、ちょっと難しいんじゃないか?
いや、クラウドっぽいシステムが学校にあるとかいうケースなら、そっちのほうが
よほど開発が簡単かもしれないけどさ。

一般人に公開する前に動作を検証できる実験室があったほうがいいよ。
3台ぐらいのコンピュータをLANで結んだものがあれば、それなりに動作を検証できるし。
87b3fa82 anonymous 2010-02-22 20:34
100%中継すると謳っているP2Pファイル交換ソフトをLAN内のマシン4台で実験してみた

一時放流者に直接繋ぎに行った件ww
ce67f8d6 anonymous 2010-02-22 21:24
>>214d584b

複数のノードで処理を分散するということがやりやすい、ということもあるよね。

あと、valueには何でも格納できる。
61a7177d anonymous 2010-02-23 02:15
valueに何でも格納できるのなら、ぶっちゃけファイルのハッシュをキーにして
key-valueストアを呼べば、欲しいファイルがダウンロードできちゃうわけだ。
こりゃいいな。
b8e5ec7c 白帽子 2010-02-23 07:10
分散key-valueストアはChordのようなDHTに似ているようです。
このまま使えるかも。
まず分散Key-Valueストアを実装すればいいのか。
e5d66aca 白帽子 2010-02-23 08:21
peer-to-peer の方から来ました
http://www.shudo.net/publications/keyval-20090220/shudo-keyval-20090220.pdf

!?
c2ea2783 anonymous 2010-02-23 09:22
>>b8e5ec7c

Pythonは糊言語なので、既に存在する実装をつなぎ合わせるのに使えばいい。

key-valueストアには、Erlangで実装されたKaiが既に存在する。

http://gihyo.jp/dev/feature/01/kai/0001

` RDBMSで用いられる関係データモデルと異なり,Key/Valueストアのデータモデルは非常
` に簡単です。あらゆるデータ(ビット列に変換されていれば,数値や文字列だけでなく,
` シリアライズされたオブジェクトであってもかまわない)を,正規化などなしにそのま
` ま保存します。

使う側から見れば、key-valueストアはkeyに文字列型、valueにオブジェクト型を持つ連想
配列のようなもの。
1ecc988b 白帽子 2010-02-23 19:05
PythonからErlangプログラムを呼び出せるのか?
出来るんならErlangコード読めるようになって移植する手間が当然省けるな。

その前にプログラミングに使う時間が欲しいな。
ちょっと忙しくってねえ。
あえて開発開始宣言はしないことにする。
かなり時間かかるけど出来次第アップロードしとくから。
0d215429 anonymous 2010-02-23 21:04
>>1ecc988b

http://gihyo.jp/dev/feature/01/kai/0001

` Kaiのクライアントはmemcache APIによってデータを操作します。つまり,
` memcacheクライアントを利用できます。ご存じのように,memcachedは非常に
` 多くのWebサイトで利用されているKey/Valueストアで,多くのクライアント実
` 装が存在します。たとえば,Perl,Ruby,Python,PHP,Java,C#,C/C++,そ
` してErlangなどがあります。テキストベースのプロトコルなので,telnetから
` 操作することもできます。

Pythonから呼び出せるようだ。
efd32ce6 白帽子 2010-02-24 07:10
>>0d215429
一から実装してみたいんだが。Kaiに任せるべきか?
そういえばProfesの作者と名前が同じ。
4d61d835 anonymous 2010-02-24 08:59
>>efd32ce6

Pythonで一から実装してP2Pとして使い物になるのは、データ量が少なく、匿名
性も弱い新月みたいな掲示板くらいだろう。
ce059d84 白帽子 2010-02-24 19:30
じゃあio言語かなんかの方がいいの?
2abd690b anonymous 2010-02-24 21:14
Pythonを内部で使うのは悪くないアイデアだ。
.NETのライブラリを使えるPythonもあるしね。
c45f093c anonymous 2010-02-25 08:32
>>ce059d84

一から実装するということなら、定番はC++、Java、C#あたりになる。

しかし、ことプログラミングにおいては、「一から実装する」という発想は必ず
しも美徳とはいえない。
1f4766ba anonymous 2010-02-25 12:52
いまんところ、今後の逃げ道は、
(1)Freenet0.8+Frost
Freenet0.8+Thaw

(2)StealthNet
http://hideyoshi.2ch.net/test/read.cgi/download/1265293153/

(3)I2P+iMule
I2P+BitTorrent
I2P+アメーバ

この3腫ってことかな。
ff8872ae 白帽子 2010-02-25 18:58
>>1f4766ba
Freenet新バージョン出てたんだ。0.8か、了解。
04342392 anonymous 2010-02-26 06:04
>>ff8872ae
0.7ですよっ
e19952ee 白帽子 2010-02-26 12:34
プログラミングスキル向上のため、Pythonで
Brainfuckの処理系
ROT13、EX-ORによる暗号化
に挑戦してみることにする。
d2cf6dd2 anonymous 2010-02-26 14:37
どんどん違う方向に進むという不思議
1b20f842 白帽子 2010-03-01 13:45
P2Pネットワークで使うハッシュ関数は何がいいのだろうか?
Tiger Tree Hash(TTH、参考:THEX)
SHA-512/384
SHA-1
2f2d3135 白帽子 2010-03-01 18:21
そういえば朔も参考になりそうだな。
ソースコードと技術情報をまとめて取得しとくか。
ad453d3c anonymous 2010-03-01 20:06
>>1b20f842
MD4みたいに既知の方法で衝突する組み合わせが簡単に作れるのでなきゃ
なんでもいいと思うよ。計算機として負荷がどうかとかは考えないといかんけど。
不安なら複数の方法でチェックするとか。ハッシュ関数には幾つかあるから。

SHA-1は既に以前のように強力なハッシュアルゴリズムではないよね。
http://itpro.nikkeibp.co.jp/free/ITPro/Security/20050401/158327/
ブルートフォースアタックで2^80回アタックが必要だったものが、
現在は2^69ぐらいに減って、かなり強度は落ちている。
1ffe47cd anonymous 2010-03-01 20:15
http://packages.debian.org/ja/lenny/jacksum
いろいろ詰め合わセットになってるから手元に置いておくと便利かもね。
Jacksum supports 58 popular algorithms (Adler32, BSD sum, Bzip2's CRC-32, POSIX cksum, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST R 34.11-94, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2's CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1, Whirlpool and xor8). 
989c77b4 白帽子 2010-03-02 07:24
>>1ffe47cd
ありがとう。

ところでBrainfuckの処理系を昨日書いてみたのだが、
ダメダメだった。
Pythonの勉強が足りん。
9ea729da anonymous 2010-03-02 07:24
>>989c77b4
お、俺もBrainfuckもどきを書いてるよ
色々と命令を追加してみたり
9d1c9c45 白帽子 2010-03-02 18:21
>>9ea729da
ソースコードを見せてくれないか?
書き直してみるから。
32a73d2a 白帽子 2010-03-03 19:20
1の人の報告ないかな

 08ddca5a : [名無し]さん(bin+cue).rar 2006-01-20 17:46
 p2pソフトを作りたいと思います。
 何からはじめればいいですか?
http://p2p.k-server.org/
f4acfce4 白帽子 2010-03-04 16:33
シェルスクリプトで果たしてP2Pは作れるのか!?
389fd408 anonymous 2010-03-04 18:01
>>f4acfce4
そりゃ無理だろう。どこまでをシェルスクリプトとみなすかによるけど。
28dae5d0 anonymous 2010-03-04 21:09
UNIXコマンド使い放題なら作れるんじゃねーかと思う。
ただ、UNIX環境が前提というなら凶悪な手段が幾らでも沸いてくるから、
あんまり参考にならんだろうな。

# 自分ならシェルスクリプトでgccに食わせるソースコードをまずダンプすることから始める。
b9619906 白帽子 2010-03-09 20:16
みんなでP2Pを研究してみるわけだが、
成果物ができた場合、どんな名前にすべきだろうか。

bushblood.ki
五芒星
Happy Fucking!!
DataWalker
LunaNet
LunaticNet
ねこさがし
SeaEcho

上のは今思い付いた名前ww
変な名前ばかりでスマンw
2531a685 anonymous 2010-03-09 22:14
>>b9619906

Incest
dcf0806e anonymous 2010-03-09 22:35
>>b9619906
「兄貴 ~地上最強の漢~」
359cc0ac anonymous 2010-03-09 23:15
>>dcf0806e
超兄貴だと版権にひっかかるんだな。
907f776c 白帽子 2010-03-12 07:51
>>2531a685
「近親相姦」かよwwwwwwwwwwww
8fbd38e4 anonymous 2010-03-12 08:04
>>b9619906
M@D
d4568051 anonymous 2010-03-12 08:12
>>907f776c

同じソフト同士で乱交パーティーを行うから。
2afa23f2 anonymous 2010-03-12 08:16
>>d4568051
児ポ共有専用のプログラムですね、分かります
e55b9faa 白帽子 2010-03-12 13:54
で、簡単に違法ファイルを捜索して削除できる仕様にしたい。
荒らされて、ネットワークからファイルが激減しそうだが(笑)
af3096c3 anonymous 2010-03-12 14:47
共有領域に関しては責任を問わないほうがいいだろう。
「削除」すると、自分の検索から見えなくなるだけで十分だと思うよ。
20e41b0c anonymous 2010-03-12 15:53
>>af3096c3
なんという新月・・・
ca9c4380 白帽子 2010-03-12 18:35
>>af3096c3
そのフィルター方式をとってもいいな。
削除操作でフィルターに登録したら、検索結果から該当項目を除外し、
さらに該当するメタ情報を他ノードに転送するのを禁止すれば、
そのうちメタ情報の有効期限が切れて、検索ネットワークから消える可能性が上がるわけだ。
いや、メタ情報の流通を妨害しちゃいかんかな。

あと、ピュアP2Pかスーパーノード型ハイブリッドP2Pにするか迷うな。
e08ff74d anonymous 2010-03-13 22:42
新月レベルの小規模ネットワークならスーパーノードは不要。
100とか1000とかのオーダーになってからバージョンアップすればいいのでは。
96013644 白帽子 2010-03-14 07:59
インデックスノード
リレーノード
ハブノード
クライアントノード
ポート0ノード
ES(外部サービス)ノード

ってな感じに分けて、インデックスノードが
DiNIDBという分散データベースネットワークを
形成したり、
中継に利用されることを許可したリレーノードや
ノード群を束ねて全体を一つのノードに見せかけるハブノードを考えていた。
ファイル共有以外にも使えるようESノードを置いたり。

インデックスノードが形成するDiNIDBを中心とした、
ウニの断面みたいなネットワークにしたらどうだろうか、
いや反P2P団体のインデックスノードが入って来たら、
どうしようかとか、
Freenetのように単純な分散ファイルシステムにして汎用性を上げるほうがいいのか、
XMLRPCで実装して通信させればいいのかとか。

まだまだわからないことが多すぎる。
73a938a8 anonymous 2010-03-14 23:40
>>b9619906
Abduction
cffeb8d1 anonymous 2010-03-15 10:33
>>96013644

Key-Valueストアに丸投げで良し。Kaiなどはファイルそのものまでをい格納できるんだか
ら。

Top of this page. | <<last <<new 0 1 2 3 4 5 old>>

limit: 1536KB

(p2pソフトを作りたいです/254/0.0MB)

Powered by shinGETsu.