• ベストアンサー

インターネットのHTTPの仕組みについて

ネットワークの勉強で困ってます。 ホームページを見るときには、サーバのIPと80番ポートで通信をするんだと思ってました。 そして、自分のパソコンにネットワーク監視ツールを入れて観察したところ 家からサーバには、サーバのIPと80番ポート指定でリクエストしている事がわかりました。 でも、こちらのパソコンの受け口ポートが80番では無く、1331番ポートなど様々なポートで来ます。 サーバが家のパソコンに送信する場合は、家のパソコンのIPと80番で返送するわけでなくて 家のパソコンが指定したポート番号で送信するのでしょうか? 今、家にはルータが動いているので、その為なのでしょうか? もしくは、普通に80番ポートで通信をしていてパソコン上だけが1331などのポートを使っているのでしょうか? どうか、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • N_Shima
  • ベストアンサー率62% (53/85)
回答No.3

私はネットワーク構築を仕事にしているものです。 一般的なWebサーバは80/tcpで待ち受けをしており、サーバ側のポートは常に固定されています。 #1でご回答の方はポートが動的であるような書かれ方をされていますが、私が普段触っているApache(UNIX/Linuxの著名Webサーバ)やIIS(Win2000やWinSv2003)で、通常設定のサーバがそのような動的動作をすることはありません。 一方クライアント側は、自分が使えるポートの中(1024番以降/tcp)で動的に開いているポートを使用して、Webサーバの80/tcpへ接続しています。 これは、TCP/IP上でサービスを受ける側としては一般的な手法の1つで(アプリによってクライアント側もポートを固定する場合もあります)、#2の方が書かれていますがNATを使用する場合でもしない場合でも同様の動作をします。 結果、 WebサーバIP:80 --- クライアントIP:1024以降で不定 という接続になっています。 なお、http通信では必ずクライアントが先にセッションを張るので、セッション確立の際にこちらの使用ポートをWebサーバに通知しています。なので、不定でもちゃんとセッションが確立します。

tetiteti
質問者

お礼

webサーバの待ちうけは80番で、クライアントが自分のポートを指定するわけですね。 そして、クライアントも固定する場合というと、両方がクライアントサーバの場合などですね。 とても、参考になりました。 どうも、今回は本当に有難うございました。

その他の回答 (2)

  • SGR
  • ベストアンサー率34% (42/122)
回答No.2

自宅の端末がクライアントで、インターネット上のWWWサーバにアクセスしにいってる状態ですよね?  だとしたら、御質問の現象はあなたの家にあるルータを経由しているからそうなるのです。恐らく、IPマスカレード(NAPT)を使う設定になっているのだと思います。[ルータを経由しているので、自宅のPCに割り当てられているアドレスはプライベートアドレス(192.168.×.×など)になってませんか?] IPマスカレードについては、googleあたりで検索すれば沢山説明がのっているので、ここでは書きませんが、簡単に言うと、1つのグローバルアドレスしか割り当てられないような接続形態の場合に、これをポート番号を使い分けることによって複数のPCやNW機器で共用するための技術です。

tetiteti
質問者

お礼

確かになってます。 ルータがポートを変えていたのですか。 まだまだ、勉強が足りない事を痛感いたしました。 今回は、どうも有難うございました。

回答No.1

あるサイトのWWWサーバは80番で待ち受けています。 そこへいろんな人が接続してきます。 ところが80番ポートは一つしかないから ここでずっと通信してると他の人は待たされて効率悪いです。 なので、サーバプログラムは接続した瞬間に別の空いているポートを用意して、ささっとすり替えてまた80番ポートは受け付け用に空けておくという手段をとっています。相手は80番で繋がっていると思っているでしょう(^^; アマチュア無線も同じですね。 144.0Mhzとかでまず相手を呼び出して 「じゃあ144.10Mhzに移動しましょうか」みたいな感じでそっちの周波数に切り替えます。 呼び出す周波数はXXXHzって決まってるからみんな迷わないんですよ。

tetiteti
質問者

お礼

サーバが、動的に振り分けるということ有るのですね。 とても、良い知識になりました。 今回は本当にありがとうございました

tetiteti
質問者

補足

すばやい回答いたみいります。 言われてるサーバへのアクセスをnegiesというソフトを使って、全てのパケットをモニタして見たのですが 通信でWWWサーバの受け口ポートは80番以外を使用してないようなのですが。 そもそも、調べ方がおかしいのでしょうか? 貴重な、お時間を裂いて頂いて申し訳ないのですが、 どうか、よろしくお願いいたします。

関連するQ&A