このページの本文へ

前へ 1 2 次へ

ネットワークの常識・非常識 ― 第4回

ポートの役割を理解しよう

Webサーバは80番ポート以外使ってはいけないの?

2009年09月14日 06時00分更新

文● 遠藤 哲

  • この記事をはてなブックマークに追加
  • 本文印刷

Q. なぜWebサーバは80番ポート以外使ってはいけないの?

A. 80番以外のポート番号を使えないわけではないが、とても不便になります。

アプリケーションを特定するには?

 インターネットで電子メールやWeb閲覧をしているとき、ユーザーのPCとサーバと呼ばれるコンピュータが「TCP/IP」と呼ばれるプロトコル群を使って一対一の通信を行なっている。

 しかし、IPアドレスだけでは利用したいサービス(アプリケーション)を識別できない。サービスを識別するため、サーバ側ではアプリケーションプロトコルごとに固定的に割り当てられたポート番号が用意されている。以下、具体的に見ていこう。

 よく耳にする「IPアドレス」は、ネットワークにつながっているコンピュータを識別する番号だ。自分のPCにも通信先のサーバにも、固有のIPアドレスが割り当てられる。

 ただし、通常はIPアドレスに対応付けられた「名前」を使っているため、10桁にもおよぶ番号をあえて意識することはない。

 ところが、インターネットで使うURLやアドレスなどの名前はおもにIPアドレスと対応づけられたものであるため、IPアドレスだけではWebサイトを閲覧するための通信なのか、電子メールの通信なのか見分けがつかない。

 つまり自分のPCと通信先サーバのサービス(アプリケーション)を対応付ける「何か」が必要となる。それはIPアドレスによるコンピュータ同士の接続の先にある、コンピュータ上で動いているアプリケーションを表わすものでなければならない。

 そして、このアプリケーションを識別する仕組みが、「ポート番号」と呼ばれるアプリケーションの識別番号である。

あらかじめ決められているポート番号

 インターネットでよく使われている電子メールやWebサイトの閲覧は、ユーザーがサーバにアクセスする「クライアント/サーバ型」のシステムである。ユーザーはクライアントとしてサーバに要求を発信し、サーバはクライアントからの要求に対して応答するというシステムである。

 そのため、通信のスタートは要求を出すクライアント側であり、逆にサーバは待ち受け状態にある。つまりクライアント側からサーバへ何らかの要求を送信するには、あらかじめサーバのIPアドレスのほかに、電子メールやWebなどのサーバアプリケーションを識別するためのポート番号がわかっていなければならない。

 Webサーバなど各種サーバは、ソフトウェアの仕組みとして任意のポート番号を割り当てることができる。しかしながら、WebサーバのHTTPならポート番号は80、メール受信プロトコルPOP3ならポート番号110、メール送信はポート番号25と固定的に割り当てるのが一般的である(図1)。

図1 TCP/IPのポート番号の役割

 なぜなら、任意のポート番号を割り当てた場合、そのポート番号をクライアント側に周知しなければならないし、またそのポート番号を知っているクライアントしか利用できないためである。

 たとえばWebサーバのポート番号を1234と設定したWebサイトがあったとしよう。普通であれば「http://www.nmag.jp」などのURLを入力すればWebサイトのページが表示される。これはWebサーバのポート番号が80番であるという前提のURLである。ところが、ポート番号を1234とすると、「http://www.nmag.jp:1234/」というようにサーバ名の後ろにコロン(:)とポート番号を加えたURLを指定しなければならない。ポート番号を任意に設定すると、その利用者にサーバ名のほかにポート番号も合わせて通知しなければならないし、利用者もURLにポート番号を指定しなければならない。

 特に電子メールやWebサイトは、不特定多数の人々とのコミュニケーションが見込まれる。そのため、サーバのポートを設定できるからといって任意の番号を設定してクライアントへの周知に苦労するよりも、利便性を考え使用すべきポート番号を固定したほうがクライアントも混乱せずに済む。そこで、電子メールやWebなど代表的なサーバアプリケーション(プロトコル)については、インターネット標準としてポート番号が割り当てられているのである。

 特に、ポート番号0~1023番はインターネット標準として予約されており、「ウェルノウンポート」と呼ばれている。

(次ページ、「ポート番号の分類」に続く)


 

前へ 1 2 次へ

この連載の記事
ピックアップ