NAT 路由器会尝试直接与其子网上的设备通信还是仅通过其网关通信?

NAT 路由器会尝试直接与其子网上的设备通信还是仅通过其网关通信?

我知道这很模糊,因为许多因素都会影响流量的路由方式,但是当 NATed 网络上的客户端尝试将数据包发送到其子网之外但在路由器的 wan 子网上的地址时,路由器会尝试直接与该地址通信,这是预期的行为吗?还是数据包会被发送到网关,然后返回交换机,最后到达目的地?

我有这样的设置:

路由器的网关设置为10.1.1.1

NATed 客户端(有几个)正在向 10.1.1.X 发送流量,它们是如何到达那里的?

                all devices have a netmask 255.255.255.0

                    |modem internal address:10.1.1.1|
                               |
                               |
                           |switch|
                               |
                              / \
                             /   \
                            /     \
  |server address: 10.1.1.x|       |router external address: 10.1.1.Y|
                                   |    internal address: 10.1.2.1   |
                                                    |
                                                    |
                                         |client address 10.1.2.X|


背景:

当我在 10.1.1.0 网络上生成大量内部流量时,我遇到了一些速度问题(dsl/到世界),我怀疑如果所有内部流量都通过调制解调器发送,调制解调器(不具备处理此类流量的功能)可能是造成瓶颈的根源。我没有太多网络方面的实际经验,所以不知道路由器是否应该有这样的表现。

答案1

无论是否使用 NAT,您都有不同的子网,并且子网内和子网外的流量路由方式与 IPv4 相同。如果您在 10.1.2.0/24 上,并且将流量发送到 10.1.2.0/24 上的其他任何位置,则路由器不会处理您的流量。设备看到目的地位于同一网络上,并将使用 ARP 获取目的地的硬件地址,路由器的交换机部分将根据其 ARP 表将数据包路由到正确的设备。

如果您在 10.1.2.0/24 上,并且想要访问 10.1.1.0/24 上的任何内容,客户端将看到目标不在同一网络上,并将它发送到适当的网关(在大多数情况下,除非您有更复杂的路由方案,否则默认网关,但无论如何,网关)。网关将查看目标,看看它是否在自己的网络上,或者是否需要传输。如果它在同一个网络上,它会查阅其 ARP 表和 ARP(如果需要),以将数据包发送到其网络上的正确设备。由于您的路由器的外部地址为 10.1.1.Y,10.1.1.0/24 上的某些内容将在其网络上,因此它只会将数据包发送到硬件地址。在这种情况下,调制解调器永远不会看到流量。

如果它需要去其他地方(例如调制解调器另一端的地址),它就会转到适当的网关 - 即 10.1.1.1,该网关也会执行相同的操作,并将其传递给最适合目的地的网关,该模式持续到到达目的地。

您这里说的流量是多少?调制解调器下面的交换机是什么类型的?查看主干网规格,确保它能够处理您通过的流量。该设备听起来像是您描述的场景中最可能的瓶颈。

相关内容