NWのことはあまり詳しくないので、フレンドリーにお願いします!


ファイル交換のようなPtoP通信を考えます。
例えば同じLAN内の2端末で通信するときはIPアドレスがわかっていれば通信できる(違っていたらごめんなさい)と思いますが、これがインターネット経由の2端末で通信するときって、何がどうなって通信が確立するのでしょうか?

超超フレンドリーにお願いします!

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答17件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント12pt

何でどうして 通信するのかが不明なので

とりあえず サンプル的に ソケット通信のソースなどあげてみました。

通信は、ソケット通信が一般的だと思います。

id:miku1973

質問の仕方が悪いかもしれないので、足りない条件は随時補わせてください。基本的にはWinnyのようなファイル交換のイメージがあって、端末と端末で通信を確立させることにおいて、その仕組みを理解しようとしています。サイトの紹介でもよいのですが、フレンドリーな言葉での説明でも嬉しいです。

2004/10/12 11:02:37
id:suzuki1972 No.2

回答回数14ベストアンサー獲得回数0

ポイント12pt

http://www.hatena.ne.jp/1097545244#

NWのことはあまり詳しくないので、フレンドリーにお願いします! ファイル交換のようなPtoP通信を考えます。 例えば同じLAN内の2端末で通信するときはIPアドレスがわかって.. - 人力検索はてな

URLはダミーです。

インターネット上もLAN上と同じです。基本的には相手のIPアドレスとポートを識別して通信しています。

ルーターなどが挟まっている場合の多くはNAT(内部IP/ポートと外部IP/ポートを変換する仕組み)などを使って、外と内とでうまくやりとりしています。

と、こんな風な説明で分かるでしょうか。

id:miku1973

インターネット経由の場合、相手の直接のIPアドレスはたぶんわからないですよね。いろいろな装置を経由していく中で、変換されながら、ということでしょうか?素人でごめんなさい。

2004/10/12 11:04:07
id:yoshinori No.3

回答回数15ベストアンサー獲得回数0

ポイント12pt

http://www.hatena.ne.jp/1097545244

NWのことはあまり詳しくないので、フレンドリーにお願いします! ファイル交換のようなPtoP通信を考えます。 例えば同じLAN内の2端末で通信するときはIPアドレスがわかって.. - 人力検索はてな

 URLはダミーです。

インターネットでも、IPアドレスがわからないと通信できません。

インターネットの場合、例として、www.hatena.ne.jpという名前を、IPアドレスの数字

xxx.yyy.zzz.aaaに変換します。

一般的に、その変換は全世界に公開されていますので、

インターネットでも通信できます。

説明でわからなかったら、0ポイントでいいですよ。

id:miku1973

ありがとう。いえいえ感謝です。

どこかのwebにアクセスするときはイメージできました。

ファイル交換の場合はどうなのでしょう?URLとか相手端末の

アドレスとかわからないですよね?

2004/10/12 11:08:35
id:tai-cho No.4

回答回数51ベストアンサー獲得回数0

ポイント12pt

urlダミーです。

初対面とフレンドリーは難しいのですが。

Internet でも同じですよ。最終的に到達するIP宛に送るのですから。winny のイメージで言うならば、といかnyの仕組みを知ってるなら簡単でそ?nyは初期ノード追加という行為で、適当に何人かお隣さんを設定して、ほしいFileを持っている宛先をお隣さんがお隣さんに、そのまたとなりに、どんどん聞いていきます。で、最終的に持っておる端末のIPを隣隣に教えていって、最初に聞いた人は、宛先IPを得ます。

nyの場合、ほかにもいろいろと工夫はされていますが、そんな感じです。

Serverがいるタイプのp2pだと、全員がまずServerにつながって、ServerでAddress一括管理です。

id:suzuki1972 No.5

回答回数14ベストアンサー獲得回数0

ポイント12pt

一般的にP2Pをするためにも相手のIPアドレスは必要になります。たとえばですが、メッセンジャーやIP電話も対話開始からはP2Pになります。

一般的な手法としては、

1.常設しているサーバーにIPアドレスを登録する仕掛けがあり、皆がそこに一度アクセスする

2.ある種のツールでは、掲示板にIPアドレスを暗号化した情報を登録し、そこを閲覧したときから相手を識別する

3.常設しているサーバーが複数ある場合もある。また、初回のアクセスのみ常設サーバーを用い、それ以後は内部で記憶しているIPアドレスを用いる場合もある。また、同じP2Pネットワーク内の他の端末の情報は、ネットワークに属している端末間で交換する仕組みも考えられる。

要点は、ソフトによってやり方は様々ですが、必ず、最初にアクセスする場所があり、そこからあとは連鎖的に他のIPアドレスを取得可能ということですね。(もちろん、そういう仕組みを作ってあれば、の話ですが。)

id:siachan No.6

回答回数91ベストアンサー獲得回数23

ポイント12pt

http://www.hatena.ne.jp/1097545244?

NWのことはあまり詳しくないので、フレンドリーにお願いします! ファイル交換のようなPtoP通信を考えます。 例えば同じLAN内の2端末で通信するときはIPアドレスがわかって.. - 人力検索はてな

ただ起動しただけでは当然通信相手がどこにいるのかは分かりませんから

アドレスを知っているPCのアドレスを設定しないといけません。

一台、もしくは数台のPCでアドレスを集中管理する方式や、

交換ソフトを起動しているPCその物がその役割を持っている分散方式があります。

あとはそこに問い合わせて通信が始まるという感じでしょうか。

id:taknt No.7

回答回数13539ベストアンサー獲得回数1198

ポイント12pt

どのソフトでも IPアドレスが わからないと 通信できません。

やり方としてのパターン

その1

サーバーを設け、そこに接続したクライアント同士をサーバーが つなげる。

その2

登録したIPアドレスのリストを接続してきたパソコンに渡して、そのIPアドレスにそってそれぞれ接続する。

MSNメッセンジャーなどは その1のやり方。

Winnyとかいわれるソフトは その2のやり方。

id:hug-moon No.8

回答回数49ベストアンサー獲得回数0

ポイント12pt

http://www6.plala.or.jp/kozai/

P2P today ダブルスラッシュ

PtoPのことが知りたかったらここでどうでしょう?

Winnyとかがどうやって他所の見ず知らずの端末と繋がっているか知りたいってことでいいのかな?

id:hug-moon No.9

回答回数49ベストアンサー獲得回数0

ポイント12pt

 URLはダミーです。

どれがどのツールの通信方法とかは書かないけれど大きく分けて2つの接続方法があります。

1)ひとつはメインになるサーバがWebのどこかに存在していて、通信を行いたいみんなは一度そこに接続して他の現在アクセスしているコンピュータの情報を得て、PtoPを成立させる方法。

2)それとは別にうちのコンピュータはそのツールでPtoPを行っているよという情報が書かれたファイルを読み込んで、それを元に相手に繋ぎに行く方法とがあります。

この両方を組み合わせたものもあります。

PC-UNIXで最近よく使われるツールは配布元のサイトがアドレスを指定していて、そこに繋ぎに行くと他の通信をしているコンピュータがわかるようになっているものもあります。

id:toshi402 No.10

回答回数9ベストアンサー獲得回数0

ポイント12pt

http://www.amazon.co.jp/exec/obidos/ASIN/4798105163/qid=10975554...

Amazon.co.jp: TCP/IPの絵本 ネットワークっておもしろい!: 本: アンク

いちおうこんな本とか参考になります。

パソコンA----Aのプロバイダーのサーバー----Bのプロバイダーのサーバー----パソコンB

ってつながれているとします。

IPアドレスは、インターネット用とプロバイダー内用の2種類があって、

パソコンにはプロバイダー内用のIPアドレスのみ、

サーバーにはプロバイダー内用とインターネット用のIPアドレスがあります。

で、パソコンからサーバーにはプロバイダー内用のIPアドレス、

サーバー同士はインターネット用のIPアドレスで通信して、

パソコンAからパソコンBにつながっています。

id:palo No.11

回答回数124ベストアンサー獲得回数14

ポイント12pt

http://japan.internet.com/webtech/20040331/6.html

Japan.internet.com Webテクノロジー - P2P の誤解:分散性とサーバー不要論(1)

P2Pを有名にしたNapsterは、サーバに各ホストのインデックスを持っていたそうですね。

その後のサーバを用意しないP2Pネットワークでも、ホストから既存のネットワークに接続して、少なくとも一時的にはネットワークの1ノードとして登録してもらう手順になると思います。

id:BrainOfKeios No.12

回答回数27ベストアンサー獲得回数0

ポイント12pt

 URLはダミーです。

PtoPの場合は、大きく分けると二種類方法があって、

一つは、一元集中型

もう一つは、分散型で

一元集約型は、一台の大本になるサーバが

すべての通信先のアドレスとファイルの

台帳を持っていて、

何々のファイルってどこにあるのって

聞かれれば、どこどこのマシンにあるよ

っておしえてくれてそれから通信を始め

るってやり方で、

分散型は、みんなで何々のファイルを

持ってるのは誰って台帳をみんなで

回し見しながら書き込んでいって

ほしいファイルがあればその台帳

を見てファイルを持っているマシンを

探すってやり方になります。

分散型でも、いろいろあって、

台帳を暗号化してたり、

直接通信せずに、誰々のマシンなら

知ってるよって程度の台帳にしておいて

通信の秘匿性をあげているのもあります。

id:miku1973

フレンドリーでうれしいです!

2004/10/13 09:05:40
id:OkadaHiroshi No.13

回答回数10ベストアンサー獲得回数0

ポイント12pt

http://homepage3.nifty.com/toremoro/p2p/im.html

インスタントメッセンジャーの仕組み

このページの説明ではどうでしょうか?

id:moonvoid No.14

回答回数2ベストアンサー獲得回数0

ポイント11pt

http://dyndns.org/

DynDNS -- Dynamic DNS, E-Mail Delivery and Other Services

・アドレスの解決に↑を利用します。

・ダイナミックDNSサービスと言います。

・公開する側のパソコンから↑のアドレスを閲覧に行きます。

・そうすると、自分がISPから借りている世界でたった一つのIPアドレスがわかります。

・クライアント側から、先ほどのアドレスに対して接続をすると、PtoPの接続になります。

・が!ここで問題があります。

 ※ISPからはいつも同じアドレスを貸し出してくれない。

※Routerを利用していると、RouterのIPセキュリティツールが作用して、サーバーに接続できない。

アドレス解決に関してはdyndnsでぐぐってると

IPマスカレードについての説明をしています。

id:foral No.15

回答回数63ベストアンサー獲得回数0

ポイント11pt

http://www.atmarkit.co.jp/fwin2k/experiments/gnutella_for_admin/...

ネットワーク管理者のためのGnutella入門 − @IT

gnutellaというP2Pソフトの説明がわかりやすく書いてあります。

インターネットでもIPアドレスを知らないと通信できないので

Winnyなどの分散型の場合伝言ゲーム状態で相手を見つけ情報を得ます。

逆にWinMXのようなのはサーバがあり、その情報が情報を知らせてくれます。

id:masters No.16

回答回数38ベストアンサー獲得回数1

ポイント11pt

ソフトによってもちろん動作は違いますが、Aさんが持ってるファイルの名前の一覧表をある特定のサーバー上で公開して、Bさんは欲しいファイルの名前をサーバー上で探して、サーバーにリクエストを投げるとAさんのIPアドレスがサーバーから送り返されて後は1対1の交換をします。

id:r315 No.17

回答回数20ベストアンサー獲得回数0

ポイント11pt

通信にはIPアドレスとポートが必須の情報になります。で、通信するにはその情報が必要になるわけですが、上記に具体的にアプリ単位で説明があります。

http://www.nynode.info/

winny node auto insurance online at nynode.info

WINNYの場合、一番最初の起動においてはどこかのIPアドレス(ノード)を登録しておかなければ通信相手を見つけることは出来ません。

そこで、このようなページからノードを拾って接続できるようにします。

そして、誰かとP2Pを成立させることができると、その人のノード情報からほかのノードへの情報が得られることとなるので接続が芋づる式に広がっていきます。

id:miku1973

皆様ありがとうございました!かなり理解できました!途中からコメント全然できなくてごめんなさい!

2004/10/13 09:08:15
  • id:Hiro-kun
    超フレンドリー♪

     (・∀・)人(・∀・;)HEY!(( ´・∀・`)人(´・ω・`;)) ヘイヘイ♪♪(((    )人(   ;))) ヘイヘイHEYッ!!d(≧∇≦)人(゜∀゜o)ノHE━━━━Yっ!!!!www





    |ω・`)…w
  • id:x2pop
    IPアドレスの取得方法

    以前、とあるソフト(1対1のみ)が IPアドレスが変化しても、大抵最後だけということで、
    200.000.000.150 だったら、
    200.000.000.0〜255 〜ポートスキャンして探すというのがありました。
    もちろん、調べるのはそのソフトが使用しているポートだけですが、今考えればよく問題にならなかった物です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません