ポート番号とは、インターネット上で、サーバーで動作しているアプリケーション(サービス)を識別するための番号のことです。
ポート番号は16ビットの整数であり、 0番~65535番まであります。
TCP/IP通信においては、 IPアドレスがあればネットワーク上のコンピュータを一意に識別することができますが、 該当コンピュータのどのプログラムに通信パケットを届けるかは、 IPアドレスだけでは決定できません。
どのプログラムに通信パケットを渡すのかを決定するために、 ポート番号を使用します。
例えば、クライアントがHTTPを使って通信する際は、 該当サーバのIPアドレスとポート番号80番を指定してパケットを送ります。
ここで、ポート番号80番を指定するのは、HTTPのサーバは、 80番ポートでパケットを待っているためです。
サーバ側では、80番ポートが宛先となっているパケットが届くと、 事前に指定しておいたそのポート宛のパケットを処理するプログラム(ApacheやIISなど)が動き、 パケットの中身を処理します。
上記のような仕組みにより、クライアントからのパケットを受け取ったサーバは、 宛先のポート番号が80番であることからWebサービスを提供すれば良いことがわかり、 適切なプログラムで処理を行うことができます。
また、サーバがクライアント端末にパケットを返す時にも、 そのクライアント端末のIPアドレスとポート番号を指定して通信を行います。
このように、TCP/IPネットワーク上でコンピュータ同士が通信を行う際には、 IPアドレスとポート番号をセットで用いて通信を行います。
IPアドレスを建物の住所にたとえるなら、ポート番号は部屋番号に相当します。
このように、インターネットでよく利用されるWebサーバーやFTPサーバーといったアプリケーションには、0~1023番の「ウェルノウンポート」として利用するポート番号があらかじめ決められている。
また、クライアント側の待ち受けポートは1024~49151番の「ユーザーポート」が利用されている。
残りの49152~65535番は「プライベートポート」と呼ばれ、独自に開発したサービスなどの待ち受けポートとして利用されている。