ポートタイプの違い

ポートタイプの違い

3 つのポート タイプ (Well-known、Registered、Dynamic) の違いは何ですか? つまり、各カテゴリに関連付けられている使用法とポート番号の違いです。

現在、各カテゴリのポート範囲は次のようになっていると理解しています:
既知: 最大 1023。
登録済み: 1024 から 49151 の間。
動的: 49152 から最大 65535 の間。

答え1

実用的な違いと慣習的な違いがいくつかあります。

実用的:

  • UnixおよびUnix系システムでは、スーパーユーザーのみがポート1024未満にサービスをバインドできます。これらのポートは、国際電気通信連合[1] (IANAは[2] これらはIETFによって割り当てられており、IETFは[1] これらはIANAによって割り当てられるとされているが、IETF示唆する割り当ては IANA が管理し、信頼できるリストは IANA が保持します。

従来の:

  • ポート1024~49151は、以下のサイトで登録できます。国際アナより一般的な目的のために、通常のユーザーがバインドできるようになっています。これが、たとえばゲーム サーバーに使用される理由です。登録は、ポートの衝突を回避するための取り組みです (誰もが登録する価値があるとは思っていないため、いずれにせよ衝突は発生します)。
  • ポート49152~65535は明示的にない登録可能 [2]。これにより、どのアプリケーションでも使用できるようになります。すでに使用されていないことを確認した後1024 ~ 49151 の範囲を登録できるため、アプリケーションがその範囲内で最初に使用可能なポートを取得すると、登録されたアプリケーションが後で起動したときに衝突が発生する可能性があります。同様に、特定のポートが特定のサービスに対応することを「確実に」 (理論上) できることにも利点があります。

これらすべての違いは、[2] ですが、実際には、前述したように、登録されたポート割り当てをすべての人が順守しているわけではありません。一般的なゲーム サーバー ポート (例: Counter-strike の場合は 27015、Starcraft の場合は 6889) はほとんどリストに載っておらず、実際には、登録されていない従来のシステム ポート (Direct Connect の場合は 411) もあります。ポート <1024 でのスーパーユーザー バインディング要件も、OS の制限に過ぎません。

IANAはポート番号の割り当てに関する権威あるリストを保有している[2]。

関連情報