web-dev-qa-db-ja.com

NAT:2つのホストが同じ送信元PORTで同じIP:PORTへの接続を開始した場合、ルーターはそれをどのように処理しますか?

考えていたところ、その考えが思い浮かびました。

ローカルエリアネットワーク内にホストAとBがあるとします。インターネットにルーターとホストCがあります。接続を開始するときに送信元ポートがランダムに選択されることは知っていますが、同じHost:portを開始するときに2つのホストが同じものを選択した場合はどうなりますか?

A:10123 -> C:80
B:10123 -> C:80

ルーターはどのパケットがそれぞれに属しているかをどのように知るのでしょうか?

乾杯。

7
NullOrEmpty

ホストAとBがポート10123を選択したからといって、それがルーターが使用するポートであるとは限りません。ルータは、独自に選択した送信元ポートからホストCに接続します。したがって、接続は次のようになります。

                                  router
                          +--------------------+
A:(src:10123, dest:80) -> | A:10123 -> C:43775 | -> C:80
B:(src:10123, dest:80) -> | B:10123 -> C:43776 | -> C:80
                          +--------------------+
8
longneck

私はLaurentiuと一緒にいて、ルーターはAまたはBからのIPアドレスに基づいてパケットを送信します。応答パケットは次のようになります。

Source IP: C
Source Port: 80
Destination IP: A (or B)
Destination Port 10123

ルーターはパケットを適切なホストにルーティングします。

ルーターがPATで構成されている場合、ルーターは送信パケットにNAT/PATIPと新しいランダム送信元ポートを割り当てます。

1
user1008764

ルーターには、IPアドレスを持つルーティングテーブルがあります。特定のIPアドレスを記憶して、どのホストが要求を行ったかを見つけ、その応答パケットをその特定のホストにルーティングします。

0
Ketan Patel