> この5000番は,Webの80番と同じように,相手側は知っている...
TCPを直接たたいてプログラミングするとき, クライアント側は,サーバ側で待ち受けているポート番号を指定して, 接続動作を行うようプログラミングしますから, サーバ側のポート番号を知らないとサーバに接続できません。 なので,クライアント側がポート番号を知っているはず, ということになりますね。
そのため,広く世間で使われるアプリケーションについては, 皆がポート番号を分かる状態にするため,ポート番号は公開されています。 下記を見ればそれが分かります。
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
社内アプリケーションなどの場合は,広く世間に公開する必要は無いので, 身内の人に分かるようにしておけばよいでしょう。
いずれにしても,TCPプロトコルが作られた頃は, サーバ側とクライアント側の両者がサーバ側のポート番号を知っているはず, という前提が設けられたんだと思います。 というか,そんなに深く考えていなかったのかもしれません。 今と違って,インターネットは研究者の仲間内のネットワークでしたから。
ただ,後になって, ポート番号を自動的に調べる仕組みが出てきましたから, そういった仕組みを使う場合は, クライアント側はポート番号を知らなくてもかまいません。 まあ,その辺はTCPの話から外れて, ネットワークプログラミングの話題になっちゃいますね。
More information about text formats
クライアントはサーバのポート番号を知っているはず
> この5000番は,Webの80番と同じように,相手側は知っている...
TCPを直接たたいてプログラミングするとき,
クライアント側は,サーバ側で待ち受けているポート番号を指定して,
接続動作を行うようプログラミングしますから,
サーバ側のポート番号を知らないとサーバに接続できません。
なので,クライアント側がポート番号を知っているはず,
ということになりますね。
そのため,広く世間で使われるアプリケーションについては,
皆がポート番号を分かる状態にするため,ポート番号は公開されています。
下記を見ればそれが分かります。
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
社内アプリケーションなどの場合は,広く世間に公開する必要は無いので,
身内の人に分かるようにしておけばよいでしょう。
いずれにしても,TCPプロトコルが作られた頃は,
サーバ側とクライアント側の両者がサーバ側のポート番号を知っているはず,
という前提が設けられたんだと思います。
というか,そんなに深く考えていなかったのかもしれません。
今と違って,インターネットは研究者の仲間内のネットワークでしたから。
ただ,後になって,
ポート番号を自動的に調べる仕組みが出てきましたから,
そういった仕組みを使う場合は,
クライアント側はポート番号を知らなくてもかまいません。
まあ,その辺はTCPの話から外れて,
ネットワークプログラミングの話題になっちゃいますね。