- PR -

ポートが異なっていても通信できる仕組み

1
投稿者投稿内容
yasuda
会議室デビュー日: 2008/01/27
投稿数: 2
投稿日時: 2008-01-27 18:49
ネットワーク上にあるアプリケーションと通信するには
IPアドレスとアプリケーションを認識するためにポート号が必要ですが
(言っていることは、合っていますよね・・・(汗)

Winnyなど一部のアプリケーションはポート番号は任意に付けても
お互い通信できますよね。

IPアドレス+ポート番号のほかに通信の仕組みはあるのでしょうか。
Googleで情報を探しましたが見つけられませんでした。

なぜこのような質問をしたかというと
Skypeの入っているPCにApatchをインストールしたら
ポート番号がお互いに80を使っていたので問題が起きました。
Skypeのほうをかえ回避したのですが他のSkypeにつながりました。
今回はSkypeを変えたのですがApatchを変えても同様な結果となっていたのでしょうか?

同様の結果になっていたのならポート番号はいらないのではないのだろうか。
というのが疑問です。

もしも内部的に使っているのであれば、隠蔽して意識させないようにしてしまえばいいのではとも思います。

[ メッセージ編集済み 編集者: yasuda 編集日時 2008-01-27 18:54 ]

[ メッセージ編集済み 編集者: yasuda 編集日時 2008-01-27 18:56 ]

[ メッセージ編集済み 編集者: yasuda 編集日時 2008-01-27 19:09 ]
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2008-01-27 19:58
httpは基本的にポート80と決まっているので、変更するとWEBブラウザからアクセスできません(IEとかでポート番号も決め打てば別ですが)。
winnyやskypeは動的に決めたポート番号をノード間で伝え合う独自の仕組みがあるので、適当に決めたポートでも通信可能となります。TCP/IPやインターネットにはこうした仕組みはそもそも備わっていません。こういった仕組みはかなり独自の実装によるもので大掛かりといえます。
yasuda
会議室デビュー日: 2008/01/27
投稿数: 2
投稿日時: 2008-01-27 21:00
ありがとうございます。
アプリケーション同士でポートを伝え合う独自の仕組みをもっているのですね。

では基本的にポート80と決まっているHTTPは、独自の仕組みを持っていないということでしょうか?
仕組みが大掛かりになるからというのが理由ですか?

引用:

Anthyhimeさんの書き込み (2008-01-27 19:58) より:
httpは基本的にポート80と決まっているので、変更するとWEBブラウザからアクセスできません(IEとかでポート番号も決め打てば別ですが)。
winnyやskypeは動的に決めたポート番号をノード間で伝え合う独自の仕組みがあるので、適当に決めたポートでも通信可能となります。TCP/IPやインターネットにはこうした仕組みはそもそも備わっていません。こういった仕組みはかなり独自の実装によるもので大掛かりといえます。

Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2008-01-27 21:27
引用:

では基本的にポート80と決まっているHTTPは、独自の仕組みを持っていないということでしょうか?


そうです。
引用:

仕組みが大掛かりになるからというのが理由ですか?


というよりはサーバーはポートを固定しているのが基本です。
そうでないとクライアントがつなぐポートがわからず、つなげないからです。

SkypeやWinnyはクライアント同士が通信しあいます。これらのサービスは大量のノードによるグリッドネットワークの存在がサービスの核になります。
こうしたノードとなりサービス受けるのは誰でも簡単にできる必要があるので、設定なしにファイアーウォールを突破しなければなりません。
なので、ファイアーウォールの内側からオープン可能な動的なクライアントポートで通信する仕組みがあるわけです。
ポートが固定だとしたらこららのサービスの利用者はだいぶ少なかっただろうと思います。
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2008-01-28 09:42
こんにちは。(休日は見てませんw)

引用:
yasudaさんの書き込み (2008-01-27 18:49) より:

IPアドレス+ポート番号のほかに通信の仕組みはあるのでしょうか。
Googleで情報を探しましたが見つけられませんでした。

なぜこのような質問をしたかというと
Skypeの入っているPCにApatchをインストールしたら
ポート番号がお互いに80を使っていたので問題が起きました。
Skypeのほうをかえ回避したのですが他のSkypeにつながりました。
今回はSkypeを変えたのですがApatchを変えても同様な結果となっていたのでしょうか?

同様の結果になっていたのならポート番号はいらないのではないのだろうか。
というのが疑問です。


TCP/IPプロトコルの通信は基本的にはポート番号依存であるのはご存知の通りです。
WELL KNOWN PORT など一度は確認されていらっしゃるかと思います。

SkypeはP2Pの通信技術を利用した仕組みでファイヤウォールの内側から特別なポートを
開放せずに通信するための仕組みなので、他の通信アプリケーションとは異なっている
と考えて下さい。

利用に関しては最低限、この辺りの情報には目を通された方が宜しいでしょう。

1

スキルアップ/キャリアアップ(JOB@IT)