NATルータにポートが不足している可能性がありますか?

NATルータにポートが不足している可能性がありますか?

最も高い TCP ポート番号は 65535 です。 NAT を実行するルータが内部ネットワークのホストに代わってインターネットに接続するたびに一時ポートを使用する場合、これはルータのポートが不足している可能性があることを意味しますか?ルータにポートが足りない場合はどうなりますか?

ベストアンサー1

NAT を実行するルータが内部ネットワークのホストに代わってインターネットに接続するたびに一時ポートを使用する場合、これはルータのポートが不足している可能性があることを意味しますか?

理論的にはそうではありません。

NAT は (通常) タプル {ソース IP、宛先 IP、送信元ポート、宛先ポート} マッピングで動作します。ルータの場合、IPアドレスの1つはそれ自体であり、タプルの残りの3つのコンポーネントは通常、接続ごとに異なります。 (応答ではなく)発信パケットにNATを適用するとします。送信元 IP、宛先 IP、および宛先ポートが既知で固定されます。ソースポートは異なる場合があります。これは、同じホスト上の同じサービスに対して約65,000の同時接続を提供します。通常、複数のサービスが複数のサーバーにアクセスできるため、数字が実際にすばやく合計される可能性があります。

数百の同時接続のみを処理できる接続状態テーブルのスペースが不足する可能性があります。何千もの同時接続を処理できるとしても、今考えた数よりはるかに少ないです。

スペースが不足すると、次に何が起こるかは実装によって異なります。ルーターソフトウェアは追加の接続を拒否したり、最近使用された接続を削除したりできます。それにもかかわらず、その接続試行についてエラーメッセージを返すことも、返さないこともあります。

一つあるCloudFlareに関する素晴らしい記事接続トレースの Linux 実装に関するいくつかの情報について説明します。

おすすめ記事