Skip to main content

TCP / UDPポート0の目的は何ですか?

【Minecraft】ポート開放のやり方 (かもしれません 2025)

【Minecraft】ポート開放のやり方 (かもしれません 2025)
Anonim

ほとんどのポート番号とは異なり、ポート0はTCP / IPネットワーキングの予約済みポートです。つまり、TCPまたはUDPメッセージでは使用しないでください。

ポート0は、特に、システムが割り当てた動的ポートを要求するためにポートが使用されるソケットプログラミングに関して、ネットワークプログラミング、特にUnix OSにおいて特別な意味を持ちます。ポート0は、システムに適切なポート番号を見つけるように指示するワイルドカード・ポートに似ています。

TCPおよびUDPのネットワークポートは、0から65535までの範囲です。0〜1023の範囲のポート番号は、システムポートまたはよく知られているポートとして定義されています。 IANA(Internet Assigned Numbers Authority)は、インターネット上のこれらのポート番号の意図された使用法の公式リストを維持し、システムポート0は使用されない。

ネットワークプログラミングでポート0がどのように機能するか

新しいネットワークソケット接続を設定するには、送信元と宛先の両方に1つのポート番号を割り当てる必要があります。送信元(送信元)が送信したTCPまたはUDPメッセージには両方のポート番号が含まれているため、メッセージ受信者(宛先)は正しいプロトコルエンドポイントに応答メッセージを発行できます。

IANAは、Webサーバー(ポート80)のような基本的なインターネットアプリケーション用の指定されたシステムポートを事前に割り当てていますが、多くのTCPおよびUDPネットワークアプリケーションは独自のシステムポートを持たず、起動するたびにデバイスのオペレーティングシステムから取得する必要があります。

ソースポート番号を割り当てるために、アプリケーションはbind()のようなTCP / IPネットワーク関数を呼び出して要求します。特定の番号を要求したい場合、アプリケーションはbind()に固定(ハードコード)された番号を提供できますが、システム上で実行されている他のアプリケーションが現在その番号を使用している可能性があります。

代わりに、接続パラメータとしてbind()にポート0を提供することもできます。これにより、オペレーティングシステムはTCP / IP動的ポート番号範囲内の適切な使用可能ポートを自動的に検索して返すようになります。

アプリケーションは実際にはポート0ではなく、他のダイナミックポートとして許可されることに注意してください。このプログラミング規約の利点は効率です。各アプリケーションは、有効なポートを取得するまで複数のポートを試すためのコードを実装して実行する必要はありませんが、アプリケーションはオペレーティングシステムを使用してそのようにすることができます。

Unix、Windows、およびその他のオペレーティングシステムはポート0の処理方法が多少異なりますが、同じ一般的な規則が適用されます。

ポート0とネットワークセキュリティ

ポート0でリッスンしているホストにインターネット経由で送信されたネットワークトラフィックは、ネットワーク攻撃者から生成されるか、間違ってプログラムされたアプリケーションによって誤って生成される可能性があります。ホストがポート0トラフィックに応答して生成する応答メッセージは、攻撃者がこれらのデバイスの動作や潜在的なネットワーク脆弱性についてより多くの情報を得るのに役立ちます。

多くのインターネットサービスプロバイダ(ISP)は、これらの悪用を防ぐために、ポート0(受信メッセージと送信メッセージの両方)のトラフィックをブロックします。