ネットワーク用語 > ポート番号
ポート番号 = port number
ポート番号(ポートばんごう)とは、コンピュータがデータ通信を行う際に通信先のプログラムを特定するための番号のことである。
概要
ネットワーク上でコンピュータ同士がデータを交換するプロトコルの一つであるTCP/IPにおいては、IPアドレスにより通信相手のコンピュータを指定するが(IP・ネットワーク層)、そのコンピュータ上で動いている複数のプログラムのうちの一つを通信相手として指定するために、ポート番号を用いる(TCPやUDP・トランスポート層)。
指定できる番号の範囲はTCPやUDPなどの通信の種類毎にそれぞれ 0 から 65535(16ビット符号無し整数)と定められている。
これらの番号と、TCPやUDPなどの通信プロトコルの指定の組み合わせで特定される、論理的な通信の口をポートと呼ぶ。
IPアドレスを建物の住所にたとえるなら、ポート番号は部屋番号に相当する。
ポート番号の種類
ポート番号は大別して 3 種類に分けられる。
種類 | 範囲 | 内容 |
WELL KNOWN PORT NUMBERS | 0番 - 1023番 | 一般的なポート番号 |
REGISTERED PORT NUMBERS | 1024番 - 49151番 | 登録済みポート番号 |
DYNAMIC AND/OR PRIVATE PORTS | 49152番 - 65535番 | 自由に使用できるポート番号 |
TCP/IPの実装するWELL KNOWN PORT NUMBERは、Internet Assigned Numbers Authority (IANA) が管理している。
REGISTERED PORT NUMBERSに関しては、IANAが利便性を考慮して公開している。
なお、クライアント側に割り当てられるポート番号など、ユーザが自由にポート番号を使用する場合は、49152番以降を使用する。
クライアントのポート番号は俗にエフェメラルポート(短命なポート)と呼ばれる。
1992年まではWELL KNOWNポート番号は1~255までだった。
256~1023はUNIX特有サービスを提供するポート番号だったため現在でも256~1023はUNIXのみに提供されており、他のOSでは使用できない(代表的なプロトコルにインターネット共通サービスのTelnetとUNIX特有サービスのrloginがある。rloginは1980年代始めにポート番号513番が当てられた)。
ただし、これはあくまで指針であり強制力はない。
これに従わず勝手なポート番号を用いて通信することも一応は可能であるが、混乱を招くであろう。
なお、UNIX系のOSでは、0~1023のポート番号を使用するには、root権限が必要である。
これは予約ポートと呼ばれいくつかのアプリーケーション(特にrlogin)で認証作業の一部として利用される。
ポートフォワード
一つのIPアドレスを複数のコンピュータで使い回すということが行われている。
この際、「電子メールの受信サービスを行うのはAというコンピュータ」「WWWのサービスを行うのはBというコンピュータ」というように、サービス毎に処理をするコンピュータが違うようにするためには、「ポート番号25番の通信はAへ」「ポート番号80番の通信はBへ」というようにポート番号毎に通信先を振り分ければよい。このポート番号による通信コンピュータの振り分けの機能を「ポートフォワード (port forward)」と呼ぶ。
一般に、ポートフォワードはNAPT(ルータによるIPアドレス/ポート変換)やパケットフィルタの機能の一部として実現される。
ポート番号 【port number】
読み :ポートばんごう
インターネット上の通信において、複数の相手と同時に接続を行うためにIPアドレスの下に設けられたサブ(補助)アドレス。
単にポートと略されることもある。
TCP/IPで通信を行うコンピュータはネットワーク内での住所にあたるIPアドレスを持っているが、複数のコンピュータと同時に通信するために、補助アドレスとして0から65535のポート番号を用いる。
IPアドレスとポート番号を組み合わせたネットワークアドレスを「ソケット」と呼び、実際にはデータの送受信はソケット単位で行われる。
実世界の住所で例えれば、マンションの所在地(「○○市××町4-2-1 コーポ△△」)がIPアドレスにあたり、部屋番号(「305号室」)がポート番号に対応する。
Lesson2:3回のやりとりで相手とつながる,アプリはポート番号で指定する - 図解で学ぶネットワークの基礎 TCP編:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070703/276587/