エフェメラルポート

エフェメラルポート（）とは、インターネットプロトコル (IP) を用いた通信を行うため、TCP/IPプロトコルスタックが事前に定義されている範囲内から自動的に割り当てるポートである。日本語に直訳すると「短命なポート」「一時的なポート」という意味になる。Transmission Control Protocol (TCP)、User Datagram Protocol (UDP)、Stream Control Transmission Protocol (SCTP) は典型的に、クライアントサーバ型通信において、クライアント側の一時的なポート番号としてエフェメラルポートを使用する。サーバ側での通信セッション終了時に、ウェルノウンポートを使ってリッスンしているサービスと最初に接続したクライアントとの通信を継続するためにエフェメラルポートが使われることもある。

エフェメラルポートは接続している間だけ一時的に割り当てられる。通信セッション終了後、ポートは再び利用可能な状態になる。

範囲 
RFC 6056 では、エフェメラルポートとしてポート番号1024から65535までの範囲を使うよう提言している (3.2. Ephemeral Port Number Range)。それ以前は、IANAがポート番号49152から65535までを"DYNAMIC AND/OR PRIVATE PORTS"（動的・私用ポート）と定めていたため、この範囲をエフェメラルポートとして使うものと認識されていた (同 2.1. Traditional Ephemeral Port Range)。

FreeBSDはバージョン5.0-RELEASE以降でIANAの提言する範囲（49152から65535まで）をエフェメラルポートとして使っている。それよりも前のバージョンでは1024から5000までの範囲を使っていた。

多くのLinuxカーネルは32768から60999までの範囲をローカルポートとして使う。割り当て範囲は/proc/sys/net/ipv4/ip_local_port_rangeに書かれており、ここを書き換えることで変更可能である。

IBMのAIXでは、TCP/UDPともにデフォルトで32768から65535までの範囲をエフェメラルポートとして使う。

Microsoft Windowsの場合、Windows VistaとWindows Server 2008以降はIANAの提言する範囲（49152から65535まで）を動的ポートとして使用している。それよりも前のバージョン（Windows XPとWindows Server 2003以前）はデフォルト設定で1025から5000までの範囲を動的ポートとして使用していた。

脚注

関連項目 
 ポート (コンピュータネットワーク)
 TCPやUDPにおけるポート番号の一覧

参考文献

外部リンク 
 RFC 6056 Recommendations for Transport-Protocol Port Randomization
 The Ephemeral Port Range at NcFTP.com

インターネットのプロトコル
インターネット標準