• ベストアンサー

教えてください。

アプリケーションプロトコルには、特定のポート番号が割り当てられているというのを本で見たのですが(例えば、HTTPなら80番って感じで)、どうしてその特定のポート番号じゃないといけないのでしょうか??

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

  • ベストアンサー
回答No.4

ポート番号は0-65535まで存在し、 h_hikitaさんがおっしゃってるように、 0-1023までがWELL KNOWN PORT 1024-49151がREGISTERED PORT 49152-65535がDYNAMIC AND/OR PRIVATE PORT となってます。 このうち、HTTPを含むWELL KNOWN PORTは世界共通のものとして決められており、 もし、110(POP3)にHTTPを設定すると、メールを受信使用と110番に接続しても(相手はPOP3は110番と思ってるわけですから)HTTPにつながってしまい、 混乱が起きてしまいます。 このように、特に混乱を招きやすいものはWELL KNOWN PORTとして割り当てられており、決して変えてはなりません。 本来自由に使用して良いのは49152-65535となっていますが、 実際には1024-65535は自由に使われているのが現状です。 この辺について詳しく知りたい場合は、 「マスタリングTCP/IP 入門編」をおすすめします。 これは僕が昨年ゼミで使用してたものです。

aprication
質問者

お礼

どうもありがとうございます。私はまだネットワークについてはまだまだ未熟者ですが、そんな私にもよくわかる説明でした。進めて下さった本は、私も持っているのでもう1度よく読みなおしてみたいと思います。

その他の回答 (4)

  • yamma
  • ベストアンサー率27% (29/107)
回答No.5

かなり出尽くした感じがあるので、別の切り口から。 ポート番号はアプリケーションが必要とします。 例えばメーラーやブラウザ、FTPといったもの達ですね。 さてインターネットの場合パソコンにはこれらのソフトが インストールされていて、TCP/IPでデータのやりとりを していますが、同時に使用する事もありますね。 例えばブラウザを使いながらメールを受信したり。 このような場合を想定すると、「一本のデータケーブル」で、 「どれも同じTCP/IP」でデータをやり取りする為には、 どのソフトとデータをやり取りしているか決めてあげないと 効率良く送受信できないのです。 メールのデータをブラウザが受け取ったらわけわかりませんしね。 それでポート番号を指定します。 パソコンを会社(のビル)、アプリケーションを各フロア (階毎で別れている人事部とか、営業とか)で考えてみると、 「同じ会社で入り口は一つなんだけど、採用関係は人事課だから、営業に行ってしまったら 困るから、80階だと覚えてからいくと効率がいいな」 という事になるかと思います。 ウェルノウンポートNo.というのは「人事課は普通は80階」と決めたという事です (そう言われると違和感があるかな) ウェルノウンポートNo.を前提に上の内容を訳すると 「同じ会社で入り口は一つなんだけど、採用関係は人事課だから、営業に行ってしまったら 困るから、ちゃんと最初から80階に行くよ」 です(わっけわからねー) あとは技術的には、入り口で受付嬢があたかも80階の如く別の階へ連れて行く、とか 秘密の課がある(笑)とかいろいろありますが、勉強してみてください。 しかしこんなのに「回答に対する自信」とか言われても、 無いに決まってるよなあ(笑)

aprication
質問者

お礼

適切なアドバイスをもらってどうもありがとうございます。おかげでよく参考になりました。

  • h_hikita
  • ベストアンサー率40% (104/257)
回答No.3

 別に違っても良いのですが、それだと違うサーバに接続する度に ポート番号を調べ設定する必要があり面倒です。  また、ポートの番号により利用するのに必要な特権も異なっています。 ポート番号の割り当ては、現在IANAによって割り当てられており Well Known Port, Registered Port, Dynamic and/or Private Ports の3種類に分類されます。 0-1023 Well Known Port IANAにより割り当てられておりほとんどのシステムでは システムもしくは特権ユーザの実行するプログラムに よってのみ利用可能です。 1024-49151 Registered Port IANAによってリストされ、ほとんどのシステムでは 一般のユーザまたは一般ユーザの実行するプログラム によって利用されます。これらのポートはコミュニティの 便宜をはかるために登録されています。 49152-65535 Dynamic and/or Private Ports 動的または、プライベートネットワークで使用するポート なお、ポート番号の割り当てはもはやRFCにて管理されておらず ianaのホームページ上に最新版が掲載されるようになっています。

参考URL:
http://www.isi.edu/in-notes/iana/assignments/port-numbers
aprication
質問者

お礼

なるほど・・・・。どうもありがとうございました。wellknownポート番号のことはきいたことがありますが、ほかにもいろいろ決められそれぞれにちゃんとやくわりがあるのですね。納得させてもらいました。

noname#271
noname#271
回答No.2

mnabeさんもおっしゃってますが そういう規則です。 仮にあなたが、友人と待ちあわせをしているとします。 友人は、国道X号線で待つと言ってきました。 でもあなたは、県道X号線に行きました。 これでは、いくら待っても友人と合流することはできませんね! これと同じです。

aprication
質問者

お礼

適切なアドバイスをもらってどうもありがとうございます。おかげでよく参考になりました。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

 そういう取り決めだから...  例えば、HTTPが25番で提供されているサーバがあるとします。そのサーバに通常のブラウザ(標準設定80番)で接続しに行くとホームページを見る事が出来ません。  従って、規約(RFC)の中で、決められているのだと思います。  たまぁぁぁに、わざと違うポートでサービスを提供しているサーバを見かけますが、これはユーザを絞るのと共に、一般(一見さん)を排除する目的がある様です。  交通ルールと似ていますね。みんな破る方法は知っているが、一人破り出すと、無秩序になるから、皆が守っている(様にしている)。  だから、一般的なサービスとそては、同じポート番号を使用しているのだと思いますよぉ  この当りを調べるのには、RFCを読むのがベターですね(^^;

aprication
質問者

お礼

適切なアドバイスをもらってどうもありがとうございます。おかげでよく参考になりました。

関連するQ&A

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

    HTTPサーバの80番以外のポートなど ネットワーク関係の本を読んでいたところ、「よく使われるプロトコルには『ウェルノウンポート』という番号があらかじめ割り当てられている。有名なところでは、メールの送受信に使われるSMTPが25番、Webに使われるHTTPが80番といった具合である」 と書かれていました。 では、HTTPサーバの80番以外のポートやSMTPサーバの25番以外のポートは普段何をしているのでしょうか?? 他のポートを殆ど使わないなら、わざわざHTTPサーバに80個もポートを準備する必要はないんじゃないか?と素人的には思うのですが・・・ よろしくお願いします。

  • クライアント側のポート番号

    ネットワークの勉強を始めたばかりの者です。 ポート番号に関する本で、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/portsort.html このページにも、「クライアント側で使用するポート番号は各OSが動的に割り当てる」と書いてあります。 私がしている勘違いはなんでしょうか。

  • 異なるアプリで同一ポート番号は使用できますか?

    どなたかご教授下さい。 一般的にHTTPはポート番号は80番を使用していると思います。 今回ボイスチャットアプリケーションの使用を検討していますが、 ポート開放制限から新たなポート番号を空けることが出来ません。 既存の80番をボイスチャットアプリケーションに割り振ることは 可能でしょうか? 割り振ることが可能な場合、HTTP通信に不具合等は発生するのでしょうか?

  • 80番ポート(TCP,UDP)の意味

    パケットフィルタリングの設定のために、許可するプロトコル/ポートを調査しています。 Wikipedia「TCPやUDPにおけるポート番号の一覧」によると、「80/TCP,UDP」のようにTCPとUDP両方記載されているものがあります。 私は80番ポート(HTTP)はTCPのみ使用していると思っていましたが、この表記によるとUDPも使用していると解釈できます。 80番ポートに限らず、22(SSH)、25(SMTP)なども同じ表記となっていますが、これはどういう意味なのでしょうか? 個人的には以下の3パターンのいずれかに分類されるのではと考えています。 ■80(HTTP)を例にとったパターン 1.HTTP通信はTCP、UDPどちらのプロトコルでも使用可能 (ソフトウェアはどちらのプロトコルが来ても対応できる) 2.HTTP通信はTCP、UDPの両方を使用している (ソフトウェアが必要に応じてプロトコルを使い分けている) 3.HTTP通信をTCP、UDPのどちらで実装するかはソフトウェアによって異なる ポートによって上記パターンのいずれになるかは異なりと考えられますので、TCPとUDP両方記載されているものは、両方セットでフィルタに設定しようと考えていますが、その判断について基準などがあればご教示をお願いいたします。

  • 不要なポートをふさぐ方法

    不要なポートをふさぐ方法を教えてください。 HTTPなら80番とかあると思うのですが、 セキュリティの点から塞ぎたいと思っています。 PCごとに閉じたりできるのでしょうか? また、できるのであれば、具体的な方法を おしえていただきたいのですが・・・ もうひとつ、素人でよくわからないのですが、 ブロードキャストなどはポート番号は何番を 通ってくるのでしょうか? 閉じてはいけないポート番号などがあれば、 あわせてご教示いただきたいと思います。 ※ウインドウズXPです。 どなたかよろしくお願いします。

  • ポート番号

    こんにちは, httpプロトコルを使用する際にポート80番を使用すると聞きました. LANないのPCからポート80番へのパケットを送信した際に webサーバから帰ってくるポート番号が違うと伺いました. そう言ってた人に「では,何番でかってくるのでしょうか?」と問い合せたところ 「よくわからないけど,違うポートで帰ってくる」と言われました. 一体何番のポートが帰ってくるのでしょうか? よろしくおねがいします.

  • メールが送れません。

    メールが送れません。 ホスト 'HTTP' が見つかりません。 サーバー名が正しいことを確認してください。 アカウント : 'HTTP', サーバー : 'HTTP', プロトコル : SMTP, ポート : 25, セキュリティ (SSL) : なし, ソケット エラー : 11001, エラー番号 : 0x800CCC0D ってでます。 なにがおかしいんでしょう? 教えてください!!

  • HTTPとFTPの違い

    vectorなどのソフトをダウンロードするときHTTPダウンロードとFTPダウンロードを選んでダウンロードしますが、 HTTPダウンロードの場合はHTTPプロトコルでwwwサーバとやりとりをして、その後wwwサーバがデータベースサーバに問い合わせをして、目的のデータをwwwサーバーに返しクライアントに80番ポートで転送するのでしょうか? またFTPダウンロードの場合はFTPプロトコルでanonymous認証してからFTPサーバとやりとりをして、その後FTPサーバがデータベースサーバに問い合わせをして目的のデータをwwwサーバに返しクライアントに20番ポートでデータを転送してるのでしょうか? ちょっとわからなくなったので、間違えていたら教えて下さい。 よろしくお願いします。

  • Proxyサーバの提供するプロトコルについて

    【Proxyサーバの提供するプロトコルについて】 公開Proxyサーバのアドレスをネットでよく見るんですが、 ***.***.****.****:8080(←待ち受けポート)こんな風に書いてあります。 これはクライアントPCからの要求はFTPもHTTPもPOPなども全てこのProxyサーバは 8080の1つのポートで待ち受けるのでしょうか? それとも8080とだけ書かれているProxyサーバはHTTP(WEB)だけしかアプリケーションデータを 見ませんよって意味ですか? 勘違いしていたらすみません。ご教授のほどよろしくお願い致します。

  • Outlook Express の使い方(設定)の仕方を教えて下さい。

    1.Outlook Express の使い方が分からないので出来るだけ簡 単に教えて下さい。 2.それとこういうかんじのエラーの対処はどうすればいいんでしょうか? 「ホスト 'HTTP' が見つかりません。 サーバー名が正しいことを確認してください。 アカウント : 'HTTP', サーバー : 'HTTP', プロトコル : POP3, ポート : 110, セキュリティ (SSL): なし, ソケット エラー : 11001, エラー番号 : 0x800CCC0D」