重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ネットワークの勉強を始めたばかりの者です。


ポート番号に関する本で、HTTPポートに関して次のように書いてありました。

「HTTPポートは、WebブラウザでWebページを閲覧するときに使用される「HTTPプロトコル」を用いて通信を行う際にデータが通過するポートです。
HTTPプロトコルでは、通信の際だけ80番のHTTPポートを開き、通信が完了するとポートは閉じます。
例えば、あるWebページをWebブラウザに表示するにあたり、表示されるまでは、そのWebページのデータを受信している状態なので80番ポートは開いていますが、Webページデータを完全に受信し終わり、Webブラウザに表示されたら80番ポートは閉じます。
つまり、一回の通信毎に80番ポートを開けたり閉じたりを繰り返しています。」

私は、変だと思いました。
私は、クライアント側のポート番号は、その場で適当な番号が割り当てられるものだと思っているからです。
上の引用の中で、80番というWell-Knownポートで受信しているという話は解せなのです。

どう読んでも、上記の引用部分はクライアント側の話なのです。
(サーバ側はクライアント側(ブラウザ)からいつ要求されるかわからないから、「開けたり閉じたり」ということはないと思うのです。)


http://www.mm-labo.com/computer/tcpip/ipaddress/ …
このページにも、「クライアント側で使用するポート番号は各OSが動的に割り当てる」と書いてあります。

私がしている勘違いはなんでしょうか。

A 回答 (4件)

>私がしている勘違いはなんでしょうか。



本に書いてあることはすべて正しいと思っていること。

もちろんクライアント側はランダムポートです。
    • good
    • 0

下のアドレスを参照。



参考URL:http://www.atmarkit.co.jp/fnetwork/netcom/netsta …
    • good
    • 0
この回答へのお礼

締め切り後のお礼

今回の質問の件については、出版社に手紙で問い合わせました。
そうしたら、著者からの回答が載った返事が来ました。

著者の回答の要約
「クライアント側のポート番号が動的に割り当てられると記述すると説明が不明確になってしまうので、固定的に説明しました。
補足の説明を付け加えるべきでしたが、執筆時の配慮が足りませんでした。
お詫びして、訂正します。」

お礼日時:2004/04/02 23:05

#1です。


すいません、押し間違いです(^^;
私の環境では、
PORT  Local Address  Foreigin Address ・・・
TCP   127.0.0.1:80   127.0.0.1:4202  ・・・
となっていることから、内部ポートはウェルノウンポート80で外部ポートはOSが勝手に決めた4202ではないかと思います。
    • good
    • 0

憶測で申し訳ないのですが、ポートには外部へのポートと内部ポートがあったとおもいます。



コマンドプロントでnetstatと入力・実行していただければ確認できると思います。

この回答への補足

ご回答ありがとうございます。

#「どんな人:専門家」の方が「自信: なし 」で「憶測」ですか?
#難しいことを質問してしまったのでしょうか?
#同じような回答でもよいので、別の方の回答もお待ちしたいです。

>コマンドプロントでnetstatと入力・実行していただければ確認できると思います。

私のPCはWindows2000です。
コマンドプロンプトで
C:\>netstat -an
を行いますと、


Active Connections
Proto Local Address Foreign Address State
TCP  0.0.0.0:7   0.0.0.0:0  LISTENING
UDP  0.0.0.0:7    *:*

などと(20か30行くらい?)表示されます。(上記は抜粹)

"Local Address"が「内部ポート」で、"Foreign Address"が「外部へのポート」ということですか?
"Local Address"というのも"Foreign Address"のも、このPCのAddressですか?
(私は Foreign Addressというのは、例えばWebサーバなど、私のPCとは別のところのアドレスだと思っていました。)

補足日時:2004/03/17 06:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!