エフェメラルポート
読み:エフェメラルポート
外語:ephemeral port
リモート(
サーバー
など)宛にリクエストを投げる際に使われる
ポート
。ephemeralは、短命、儚い、などの意。
目次
概要
特徴
ポート範囲
Windows
FreeBSD
概要
サーバーの
ポート番号
は基本的に固定である。例えば、
Webサーバー
であれば概ね80番である。
対して、クライアント側は何番でも構わないため、他のプロセスと重複しないように自由に番号が決められる。この時のポートをエフェメラルポートという。
特徴
ポート範囲
TCP
は状態遷移があるため、ポートが一つのみだと一回使用したら長期間使えなくなる。そこで、一定の範囲内で番号を振ることになる。
どの範囲の番号を使うかは、
オペレーティングシステム
(OS)、より具体的には
ソケット
の実装による。
現在
IANA
は、49152-65535の範囲を推奨しており、実装は随時この範囲内に設計を変更するようになっている。
AIX
: 32768-65535
BSD/OS
: 49152-65535
FreeBSD
(〜4.x): 1024-5000
FreeBSD (5.0〜): 49152-65535
IRIX
: 1024-65535
Linux
(2.2): 1024-4999
Linux (2.4〜): 32768-61000
Windows (〜2003、XP): 1024-5000
Windows (Vista〜): 49152-65535
サーバーを稼働させる場合は、このエフェメラルポートを避けてポート番号を設定することになる。サーバーを設計する場合、1024-5000のポートを待ち受けに使うとエフェメラルポートと競合する可能性が高くなるので注意が必要である。
Windows
Microsoft Windows
では、一般に次の範囲が使われる。
1024〜5000
この仕様は、古いBSDソケットの実装仕様を引き継いだものである。
なお、
Windows Vista
以降では、IANAの推奨通り49152〜65535に
仕様変更
されている。
FreeBSD
FreeBSDでは、FreeBSD 5.0からIANAの推奨通りに仕様変更が行なわれた。次の範囲が使われる。
49152〜65535
従来(1024〜5000)と比較して、並列に出ていくことができる接続/ストリームの数が大幅に増加した。
なお、この範囲は/etc/rc.confにおいて、変更することが可能である。
ip_portrange_first=49152
ip_portrange_last=65535
再検索