アプリ版:「スタンプのみでお礼する」機能のリリースについて

HTTPサーバの80番以外のポートなど


ネットワーク関係の本を読んでいたところ、「よく使われるプロトコルには『ウェルノウンポート』という番号があらかじめ割り当てられている。有名なところでは、メールの送受信に使われるSMTPが25番、Webに使われるHTTPが80番といった具合である」

と書かれていました。

では、HTTPサーバの80番以外のポートやSMTPサーバの25番以外のポートは普段何をしているのでしょうか??

他のポートを殆ど使わないなら、わざわざHTTPサーバに80個もポートを準備する必要はないんじゃないか?と素人的には思うのですが・・・


よろしくお願いします。

A 回答 (4件)

こんばんは



必要に応じてポートを用意するよりも、最初に余裕を持ってポートを用意しておいてそれを割り当てる方がコスト的に有利という考え方だと思います。

ポート番号は「担当者直通の内線番号」のようなものだと考えてください。
○○サーバー社の80番にかかってきた通信は担当HTTPが受け答えし、25番にかかってきた通信は担当SMTPが応答します。

>他のポートを殆ど使わないなら、わざわざHTTPサーバに80個もポートを準備する必要はない...
「サーバー」はハードウェア(装置・機械)+ソフトウェア(プログラム)で成り立っています。
あるハードウェアはHTTPサーバーだけを担当して別のハードウェアがSMTPサーバーだけを担当することもありますが、1つのハードウェアがHTTPサーバーとSMTPサーバーを兼任することも出来ます。
「専任なら内線番号なし、兼任なら内線番号あり」というルールを作るよりも「専任・兼任に関わらず内線番号を使う」とした方がルールが簡単になります。
    • good
    • 0

根本的な仕組みを勘違いしていますね。


ポートは一つのOSで複数のサーバーを提供するための基本機能で
HTTPサーバーがポートを持っているのではなく
サーバーマシンのOSがポートを持ち…
その80番をHTTPサーバーが使わせてもらっている構造になります。
HTTPサーバーの80番以外のポートなど存在しません。


telnetでport80とport25につないでみるとわかりますけど
外部から見ると、ポートは窓口=通信規格そのものなんです。
(内部的には違います。ポートはポートでしかありません)

世の中にはMail UserAgentアプリケーションがなくても…
telnet端末からPOPを喋ってメールを送信できる人がいます。
(実際には現在、気軽に行なえないサーバーが一般化しているはずです)

HTTPを喋って、送り返されたHTML文書を
脳内変換で読み解ける人もいます。

まぁよほど単純なHTML文書じゃないと無理ですが
たとえば404や403のエラー文書なら誰でも理解できるでしょう。

もっとも現在ではtelnetアクセスを実質的に蹴るサーバーも多いようです。
telnet okwave.jp 80を試みてもheadで得られるのは403です。


これは、そのポートへのアクセスに応えるサーバーソフトウェアが
何であるか?そして(RFCに基づく)どういった応対をするか?
そういった情報が分かっているからこそ可能なことです。

言い換えれば、異なるサーバーソフトウェアは
必ず異なるポート番号で動作しなければ(待ち受けていなければ)
利用上の混乱、クライアントソフトウェアの異常動作が生じます。


仮にTCP/IPにポートという概念が無ければ
どのサーバープロセスがアクセスに応えるべきかを判別できません。

自動認識の仕組みを作ることは可能でしょうが
それは簡易郵便局のような一つの窓口で複数の処理を行なう仕組みで…
大量アクセスを受ける、サーバーでは処理速度の問題をおこします。


逆にポートという仕組みは、特定目的の通信を制限することも可能で
それは同じポート番号に対して、外部への通信と外部からの通信を
別々に制限することもできます。

たとえばP2Pを使わせないための制限が可能ですし
マルウェアやスパイウェアなどの外部通信を防ぐために
必要であることが確認されているポート以外は
すべて通信禁止にすることが基本と言えます。

ですからHTTPサーバーというソフトウェアではなく
HTTPサーバーマシンの80番以外のポートがどうなっているかと言えば
ほとんどが閉じられていると言えます。
    • good
    • 0

>HTTPサーバの80番以外のポートやSMTPサーバの25番以外のポートは普段何をしているのでしょうか??



http://www.infraexpert.com/study/tea5.htm

一覧のサービスに使用されています。

>わざわざHTTPサーバに80個もポートを準備する必要はないんじゃないか?

ポートの80番を指定すると、World Wide Web HTTPのサービスを指定できる。

http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC% …

TCPだけでも0から65535まで、準備されています。

新しいサービスを作った時は、空きのポートを指定できる。

HTTPでも、個人的に使用する場合は、80番以外を使用することができる。
つまり、ホームページを作成して、プライベート用の49152を使用すれば、
そのホームページが、ポート49152番だと、知っている人しか、見ることができない。

誰でも、見ることができるようにするには、80番を使用する。
    • good
    • 0

>わざわざHTTPサーバに80個もポートを準備する必要は



違います。
80「番」のポートで待ち受けしている。
というだけです。
80「個」ではありません。

ちなみに、1つのIPアドレスには65536個のポートがあります。
そのうち、特定用途でよく使用されるもの…というだけでしかありません。
# ポート番号…でいくとTCPとUDPで区別されますが。
HTTPサーバ機能で1080番とか8080番とか使っている場合もあります。
# HTTPでのウェルノンポートの80番からの連想でしょう。

>では、HTTPサーバの80番以外のポートやSMTPサーバの25番以外のポートは普段何をしているのでしょうか??

他のサービスが起動していなければ、未使用のままでしょう。
とはいえ、HTTPサーバならデータを置くためにFTPサーバも動作しているでしょうし、
リモートで管理するためにTELNETかSSHくらいは動作しているかと。
FTPでなかったとしても、NFSのポートが開いているかもしれませんし。(まぁ、クライアントで十分かも知れませんが)
    • good
    • 0

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