22

HTTP 要求が行われると、パケットは一見ランダムに見えるクライアントの大きな番号のポート (4575 など) からサーバーのポート 80 に送信されることを知っています。次に、サーバーは同じ大きな番号のポートに応答を送信し、ルーターはそれをクライアント コンピューターにルーティングすることを認識し、すべてが完了します。

私の質問は次のとおりです。戻りポート (この例では 4575) はどのように決定されますか? ランダムですか?もしそうなら、どの範囲内ですか?制約はありますか?たとえば、LAN 内の 2 台のコンピューターが同じソース ポートを使用して HTTP 要求を同じ Web サイトに送信するとどうなりますか? ルーターは、どのルーターをどのコンピューターにルーティングするかをどのように認識しますか? それとも、この状況は非常にまれであり、誰もそれに対して防御しようとしなかったのでしょうか?

4

2 に答える 2

19

NAT は、独自の内部手段を介して、NAT 接続/セッションの送信ポートを決定/決定しようとしています。つまり、NAT の実装によって異なります。これは、応答が同じ送信ポートに返されることを意味します。

あなたの質問について:

たとえば、LAN 内の 2 台のコンピューターが同じソース ポートを使用して HTTP 要求を同じ Web サイトに送信するとどうなりますか?

それぞれに異なる送信ポートが割り当てられます。したがって、受信した応答で 2 つを区別できます。NAT は、変換されたポートのマッピングを作成/維持し、新しいセッションの新しい送信ポート番号を作成します。したがって、2 つの異なるマシンから同じポート番号に 2 つの異なる「内部」セッションがあったとしても、発信側の 2 つの異なるポート番号にマップされます。したがって、パケットがそれぞれのポートに戻ってくると、パケットを内部 LAN の正しいアドレス/ポートに変換する方法がわかります。

図:

ここに画像の説明を入力

于 2013-03-29T18:01:04.220 に答える