エフェメラルポート
エフェメラルポート(英: Ephemeral port、英語で短命なポートという意味)とは、インターネットプロトコル (IP)を用いた通信を行うため、TCP/IPプロトコルスタックが事前に定義されている範囲内から自動的に割り当てるポートである。Transmission Control Protocol (TCP)、User Datagram Protocol (UDP)、Stream Control Transmission Protocol (SCTP)などを使ったクライアントサーバ型通信で、クライアント側アプリケーションが特定のポートを割り当て (bind)なかったり、サーバ側アプリケーションがウェルノウンポートを使わずにクライアントと接続するときに使われる。ポートは接続している間だけ一時的に割り当てられる。通信セッション終了後、ポートは再び利用可能な状態になる。
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を使っている[1]。
多くのLinuxカーネルは32768から60999を使う。割り当て範囲は/proc/sys/net/ipv4/ip_local_port_range
に書かれている。
Microsoft WindowsはWindows XPとWindows Server 2003まではデフォルト設定で1025から5000をエフェメラルポートとして使用していた[2]。Windows VistaとWindows Server 2008以降はIANAの提言する範囲を使用している[2]。
関連項目編集
参考文献編集
この記事は2008年11月1日までGFDLバージョン1.3以降の再ライセンス規約に基づいていたFree On-line Dictionary of Computingにある項目の資料が元になっている。
- ^ “FreeBSD/i386 5.0-RELEASE Release Notes” (2003年1月14日). 2019年9月22日閲覧。
- ^ a b “Windows Vista および Windows Server 2008 以降、動的な TCP/IP の既定のポート範囲が変更されました。”. 2019年9月22日閲覧。
外部リンク編集
- RFC 6056 Recommendations for Transport-Protocol Port Randomization
- The Ephemeral Port Range at NcFTP.com