From:
<ken...@ya...> - 2006-10-07 04:20:52
|
うん 阿部誠 <abe...@gm...> wrote: こんな感じ? http://p2p-sim.sourceforge.net/sitedev2/index.php?P2P-Sim%2F%E6%9C%AA%E8%A7%A3%E6%B1%BA%E5%95%8F%E9%A1%8C 06/10/07 に 松永 健太郎 さんは書きました: > 松永です。 > > 開発サイトに話したことの概要書き込む領域作ってそこに色々書き込もうよ。 > ついでにmailの履歴とかも。 > > > > 阿部誠 wrote: > でも・・全員に展開しないと・・・。 > > 06/10/06 に 松永 健太郎 さんは書きました: > > 松永です。 > > > > 書くのめんどくさいんで、直接話します。 > > めんどくさすぎる... > > > > > > > 松永 健太郎 wrote: > > > > 松永です。 > > > > えー、UDPホール・パンチングについては松永の解釈に誤解があったようです。ごめんなさい。 > > > > > ****************************************************************************************************************************** > > > > [UDPホール・パンチングとは] > > > > ×(以前の松永の解釈) ... A→BとUDPパケットを投げた時に、ルータによってB→Aエントリが作成される。← > > ルータの機能でCone NATと言うらしい。全てのルータがサポートしているわけではない。 > > > > ○(本当の意味) ... A、B共にルータの内側に居る場合でも、Cone > > NAT機能を利用してUDPの通信を可能にするためのテクニック。 > > > (Skypeの例では、スーパーノードを経由して互いの情報を交換して、その情報を元にA→B、B→AとUDPパケットを投げて、双方向のエントリを作成する) > > > > ということなので、これまでの松永の書込みの「UDPホール・パンチング」は全て、Cone > > NATに置き換えて解釈して下さい。ごめんなさい。 > > また、「Cone NATをサポートしていたら片方がポート開けてればOK」は厳密には間違いで、 > > プラスαでUDPホール・パンチングをやればどっちもポート開けてなくてもOKになるね。 > > > > で、ルータがCone > > > NATをサポートしていないことが、ルータの内側に居るノードの通信の障壁になるわけで、プロバイダは技術的にブロックできないよ。 > > > (プロバイダが加入者とその通信相手のローカルネットワークのルータのエントリについて知ってるわけないし。ルータ使ってるって事も普通に考えて意識しないだろうし。) > > > > あと、西村君の家のCone > > NATサポート状況を調べたければ、Skypeで通話して、外部からUDPパケットが届いているか調べれば確実。 > > ただし、UDPパケットが届かずにTCP接続で通話していたからといって、Cone > > NATサポートしていないとは言い切れない(Skypeのプロトコル次第)。 > > この場合は、実際にパケット投げて確かめないと判らないね。 > > > > ちょっと議論の本質からは離れてしまいました。 > > > > > ****************************************************************************************************************************** > > > > [ポート開けられないユーザについて] > > > > 阿部君がものすごくやりたそうなので、もう止めはしませんが、阿部君案でいくつか気になる所があります。 > > > > 昼休みが終わりそうなので、内容については後で。 > > > > > > > > 阿部誠 wrote: > > さらに補足です。 > > ノードFはポート空けノードです。 > > もしポート未明けノードだったら、ノードPへのダウンロード要求時に失敗応答を返すとします。 > > > > > > 06/10/06 に 阿部誠 さんは書きました: > > > ごめん言い忘れてたけど、前提としてキーサーバはポート空けノードしかなれない > > > (システム管理サーバも同様(今回は関係ないけど)) > > > > > > 06/10/06 に 阿部誠 さんは書きました: > > > > お疲れです。阿部です。 > > > > > > > > スカイプのサイトは見てみたよ。 > > > > もしかしたら間違ってるかもしれないけど、そのときはすいませn。 > > > > > > > > どうも松永君の記載を見ていると「UDPホール・パンチング」を間違えてないかと > > > > > > > > <前提> > > > > ノードA:グローバルIP保持 > > > > ノードB:ローカルIP(ルータ越し) > > > > > > > > 「ノードBからノードAへUDPパケットを送る場合はノードBルータにA→Bエントリが形成され > > > > ノードAからノードBへの返信UDPパケットはそのエントリを元にルータを通過し、ノードBへ届く」 > > > > > > > 上記はUDP通信として本来想定している動作であり、そのエントリ生成機能を規定外利用しているのが「UDPホール・パンチング」機能だよね? > > > > > > > > したがって上記例では対応していないルータはないはずだよ。 > > > > > > > 意図的にUDPを許可していない可能性はあるかもしれないけど、そんなプロバイダはないとおもう。そしてレオネットが対応しているかどうかはリアルタイム性を要求するネットげーを > > > > 試してみればわかるんじゃないかな?>西村君 > > > > > > > > んで、提案させてもらうと > > > > 基本的には(1)案なんだけど、 > > > > 将来的に機能拡張という形で搭載と言う方向性を考えて(1)変則案を提示します。 > > > > > > > > ・新たなノード種別として「プロクシノード」を定義する。 > > > > 対象ノードはポートが空けてある一般ノードすべて > > > > > > > > ポート未空ノード(以降「ノードA」)はプロキシノード(以降「ノードP」)に対し定期的に > > > > ファイルキーを登録。(キーサーバには送信しない) > > > > ノードPは自身のファイルキーと同時に自分のファイルキーとして > > > > ノードAのファイルキーをキーサーバーに代理登録。 > > > > > > > > ノードAのファイルがほしいノード(以降「ノードF」)はまずキーサーバから > > > > 持ち主がノードPと認識し、ノードPへダウンロード要求を送信します。 > > > > > > > > ノードPは自分の持っているファイルキーではないと判断すると、 > > > > ノードFに対して、TCPポートを空けて待機するように指示を出します。 > > > > > > > > ノードAは定期的にファイルキー登録要求をノードPに送信しているため、 > > > > ノードPはそのファイル登録キー登録要求の応答にあわせて、 > > > > アップロード指示をノードAに出します。(UDPとしての通常の手順) > > > > > > > > ノードAは」指示をうけるとノードFへファイル転送コネクションをとります。 > > > > これでノードA→ノードFへのファイル転送が行われます。 > > > > > > > > 補足として、ノードPが扱うポート未空けノードは1台or2台くらい > > > > プロキシノードの探し方はキーサーバからランダムに検出 > > > > > > > > ・一般ノード間のやりとりだけの変更になるため、後からでも対応可能? > > > > ・一般ノードのファイルキー登録処理周辺が複雑化しそう > > > > 等ありますが、やはりほしい機能です。 > > > > > > > > ご考慮ください > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 06/10/05 に 松永 健太郎 さんは書きました: > > > > > 松永です。 > > > > > > > > > > 少し情報が足りないので内容を追加します。 > > > > > > > > > > 3番の案はルータがUDPホール・パンチングに対応している場合のみ可能。 > > > > > > > > > > 松永 健太郎 wrote: > > > > > > > > > > 松永です。 > > > > > > > > > > >それって西村君とかレオネットユーザーを見捨てると言うこと? > > > > > > > > > > そうなりますね。 > > > > > 西村君の名前を出されるとかなり心苦しいところではあるけど。 > > > > > 見捨てる方向のほうが楽できると思う。 > > > > > ちょっと前に阿部君とそういう話しなかったけ? > > > > > > > > > > UDPホール・パンチングってどんなものか見てみた? > > > > > > > > > > この仕組みで、ポート開けているノードと同じような通信を > > > > > ポート開けていないノードにやらせようとすると、結構つらいことになるよ。 > > > > > > > > > > UDPホール・パンチングの何がつらいかっていうと、 > > > > > > > > UDPホール・パンチングではルータの外側Aから内側Bに対して通信するために、まず内側Bから外側Aにパケットを投げて道を作る必要があるけど、つまり、外側から勝手に通信を始めることが出来ない。 > > > > > > > > > > > > > これじゃ一般ノードにしても、ファイルアップロード時には、外側から要求が来るわけだから、外側から要求を受け付けるには、以下のどれかの選択に迫られるね。 > > > > > > > > > > > > > 1.外部からの要求を受け付ける代理ノード(もちろんポートが開いている)を定義して、内側のノードは外側からの通信を受け付けるために、代理ノードはUDPホール・パンチングでコネクションを確保する。内側のノードにパケットを投げたい時には、代理ノードにパケットを投げる。代理ノードはパケットを転送する。 > > > > > > > > > > 代理ノードの候補としてはキーサーバーが考えられる。 > > > > > ファイルキーを登録する全てのキーサーバに代理登録をしておく。 > > > > > > > > > > > > > ただし、ルータがUDPホール・パンチングに対応していなかったら、(1)の方法をとっても、外側からUDPのパケットを届けるのは不可能。 > > > > > 例えばレオネットのルータがUDPホール・パンチングに対応しているかはかなり怪しい。 > > > > > > > > > > 2. (1)と同じ MWNN$@$,!"DL?.$rTCPにする。これなら確実に通信可能。 > > > > > > > > > > 3.諦めて、ポートの内側はダウンロードオンリーする。 > > > > > > > > > > > > > > > 他にも方法は考え付くけど、上の案よりひどいので省略。 > > > > > > > > > > > > > > > 個人的な意見を言わせてもらえば、 > > > > > > > > > > 1は面倒だし、ルータが対応していないと破綻するので嫌。 > > > > > > > > > > 2は面倒な上に、普段はUDPなのに、特別ケースでTCPの通信も考えなくちゃいけないので嫌。 > > > > > > > > > > 3は内側のノードがシステムに一切貢献しないから嫌。 > > > > > < DIV>よって、ポート開けられないユーザは見捨てたい。 > > > > > 対応するとしても、ずっと後がいいです。 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > それとも、もっと簡単な実現方法考え付いてる? > > > > > 又は、上記の案のどれかと似たような仕組みを考え付いていて、それを受け入れている? > > > > > > > > > > > > > > > 阿部誠 wrote: > > > > > 阿部です。 > > > > > > 今回のファイル共有システムでは、システム参加者全員がUDPポートを空ける方向で行きましょう。 > > > > > それって西村君とかレオネットユーザーを見捨てると言うこと? > > > > > > > > > > それはないと思うので、 > > > > > 少なくても一般ノード(キャッシュサーバ)はポート空けなしで参加可能と言うことにしましょう。 > > > > > システム管理サーバ、キーサーバはポート空け必須と言うことにしましょう。 > > > > > > > > > > 問題は、大多数がポート空けなしになる可能性だけど > > > > > ファイル交換時はノード空けなしだと接続対象が大幅に減るので問題ないと思います。 > > > > > > > > > > > > > > > 06/10/04 に 松永 健太郎 さんは書きました: > > > > > > 松永です。 > > > > > > > > > > > > >プライベートIPでの参加ノードはどう取り扱いますか? > > > > > > > > > > > > > > アプリケーションのプロトコルで、自分のグローバルIPをネットワーク越しのノードに問い合わせる制御を入れましょう。 > > > > > > で、通信相手に自分のIPを伝える時には、問い合わせたIPを使う。 > > > > > > 他に良さげな方法ある? > > > > > > たしか『Winnyの技術』でここらへんの内容に触れてるよ。(無くしたんだっけ?) > > > > > > > > > > > > >UDP通信ってポートを空けずに双方向通信ってできるの? > > > > > > > > > > > > > > UDPホール・パンチング(下記URL参照)が使えるなら、TCPと同じで片方のポートが開いてればOKです。 > > > > > > 使えないなら、両方空けている必要があるね。 > > > > > > > > > > > > 今回のファイル共有システムでは、システム参加者全員がUDPポートを空ける方向で行きましょう。 > > > > > > > > > > > > > > > > > > > > http://www.atmarkit.co.jp/fwin2k/experiments/skype02/skype02_03.html > > > > > > > > > > > > > > http://www.atmarkit.co.jp/fwin2k/experiments/skype02/skype02_04.html > > > > > > > > > > > > > > > > > > 関係ないけど、下のページ少し参考になるよ? > > > > > > SkypeとかGnutellaのプロトコルについて少し解説してるし。 > > > > > > > > > > > > > > http://www.atmarkit.co.jp/fwin2k/experiments/indexpage/index.html > > > > > > > > > > > > 阿部誠 wrote: > > > > > > 阿部です。 > > > > > > > > > > > > プライベートIPでの参加ノードはどう取り扱いますか? > > > > > > UDP通信ってポートを空けずに双方向通信ってできるの? > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share > > > > > > your > > > > > > opinions on IT & business topics through brief surveys -- and > earn > > cash > > > > > > > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > _______________________________________________ > > > > > > P2p-sim-develop mailing list > > > > > > P2p...@li... > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > [10th Anniversary] special auction campaign now! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share > > > > > your > > > > > > opinions on IT & business topics through brief surveys -- and > earn > > cash > > > > > > > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > > > > _______________________________________________ > > > > > > P2p-sim-develop mailing list > > > > > > P2p...@li... > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share > > > > > your > > > > > opinions on IT & business topics through brief surveys -- and earn > > cash > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > _______________________________________________ > > > > > P2p-sim-develop mailing list > > > > > P2p...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > [10th Anniversary] special auction campaign now! > > > > > > > > ------------------------------------------------------------------------- > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share > > > > > your > > > > > opinions on IT & business topics through brief surveys -- and earn > > cash > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________ > > > > > P2p-sim-develop mailing list > > > > > P2p...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > [10th Anniversary] special auction campaign now! > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share your > > > > > opinions on IT & business topics through brief surveys -- and earn > > cash > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > > _______________________________________________ > > > > > P2p-sim-develop mailing list > > > > > P2p...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > > your > > opinions on IT & business topics through brief surveys -- and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > P2p-sim-develop mailing list > > P2p...@li... > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > ________________________________ > > [10th Anniversary] special auction campaign now! > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > > your > > opinions on IT & business topics through brief surveys -- and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________ > > P2p-sim-develop mailing list > > P2p...@li... > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > > > ________________________________ > > [10th Anniversary] special auction campaign now! > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys -- and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > P2p-sim-develop mailing list > > P2p...@li... > > > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > P2p-sim-develop mailing list > P2p...@li... > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > > > > ________________________________ > [10th Anniversary] special auction campaign now! > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > P2p-sim-develop mailing list > P2p...@li... > https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop > > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ P2p-sim-develop mailing list P2p...@li... https://lists.sourceforge.net/lists/listinfo/p2p-sim-develop --------------------------------- [10th Anniversary] special auction campaign now! |