IPv4 で許容される最大の TCP/IP ネットワーク ポート番号は何ですか?
-
02-07-2019 - |
質問
使用できる最大のポート番号は何ですか?
解決
ポート番号は符号なし 16 ビット整数、つまり 65535 です。
他のヒント
最大のポート番号は、符号なしの短い 2^16-1 です。65535
登録済みポートは、Internet Corporation for Assigned Names and Numbers (ICANN) によって特定の用途に割り当てられたポートです。登録されている各ポートの範囲は 1024 ~ 49151 です。
2001 年 3 月 21 日以降、登録機関は ICANN になりました。それまではIANAでした。
登録されているポートよりも番号が小さいポートはウェルノウン ポートと呼ばれます。登録されているポートよりも大きな番号を持つポートは、ダイナミック ポートやプライベート ポートと呼ばれます。
私の理解では、49152 から 65535 までは予約されているため、49151 までのみを使用する必要があります。 一時的なポート
ただのフォローアップ 破壊行為さんの答え。一時的なポート範囲 (少なくとも Linux では、他の Unice でも同様だと思われます) は固定されていません。これは、に書き込むことで制御できます。/proc/sys/net/ipv4/ip_local_port_range
(IANA に関する限り) 唯一の制限は、1024 未満のポートがウェルノウン ポートとして指定されていることです。それ以上のポートは無料で使用できます。1024 未満のポートはスーパーユーザーのアクセスに制限されていることがよくありますが、これがまさに理由だと思います。
RFC 793 によれば、ポートは 16 ビット unsigned int です。
これは、範囲が 0 ~ 65535 であることを意味します。
ただし、その範囲内では、ポート 0 ~ 1023 は通常、特定の目的のために予約されています。一般的にと言ったのは、ポート 0 を除けば、通常、0-1023 の予約は強制されないためです。TCP/UDP 実装 通常、0 以外の予約は強制されません。必要に応じて、Web サーバーの TLS ポートを、標準の 443 ではなくポート 80、25、または 65535 で実行できます。同様に、SMTP サーバーはポート 25 で待機するのが標準ですが、80、443 などで実行することもできます。
ほとんど 実装 特定の目的、つまりランダムなポート割り当てのために 0 を予約します。したがって、ほとんどの場合 実装, 、「ポート 0 でリッスンする」というのは、実際には「使用するポートは気にしない、ランダムな未割り当てのポートをリッスンするように指定してください」という意味です。
したがって、0、一時予約範囲などを含む、0 ~ 65535 の範囲のポートの使用に関する制限は次のとおりです。 実装(すなわち、OS/ドライバー) 固有, ただし、RFC 793 では、0 を含むすべてが有効なポートです。
どの範囲について話しているのかによって異なりますが、ダイナミック レンジは 65535 または 2^16-1 (16 ビット) までになります。
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
65535 である必要があります。
ポートの有効な番号は次のとおりです。0 ~ 2^16-1 = 0 ~ 65535
これは、ポート番号が 16 ビット長であるためです。
ただし、ポートは次のように分割されます。
既知のポート:0 ~ 1023 (システム サービスに使用されます。HTTP、FTP、SSH、DHCP ...)
登録済み/ユーザーポート:1024 ~ 49151 (サーバーに使用できますが、有名なアプリケーションには注意してください:Microsoft SQL Server データベース管理システム (MSSQL) サーバーや Apache Derby ネットワーク サーバーなどは、すでにこの範囲から取得しています。MSSQL のポートをサーバーに割り当てることはお勧めできません。そうしないと、MSSQL が実行されている場合、ポートの競合によりサーバーが実行されなくなる可能性があります)。
動的/プライベートポート:49152~65535。(サーバーではなくクライアントに使用されます。NATingサービス内)
プログラミングでは、サーバーに 0 ~ 65535 の任意の数値を使用できますが、上記の範囲に固執する必要があります。そうしないと、ポートの競合により一部のシステム サービスや一部のアプリケーションが実行されなくなります。
ここでほとんどのポートのリストを確認してください。 https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers