エフェメラルポート

読み:エフェメラルポート
外語:ephemeral port 英語
品詞:名詞

リモート(サーバーなど)宛にリクエストを投げる際に使われるポート。ephemeralは、短命、儚い、などの意。

目次

サーバーのポート番号は基本的に固定である。例えば、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

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club