有默认网关的网络能否成功ping 另一个没有网关的网络中的PC?

网络工程 路由 路由器
2021-07-30 15:54:21

请先看图。

让某人从 PC1 ping 到 PC2(没有默认网关)。是否有可能ping成功到达PC2然后以图片中提到的方式返回?

由于 NAT,我想到了这个问题。我认为可以成功 ping PC2,因为路由器会将 ping 转发到 PC2,而 PC2 会假设 192.168.2.1(在其网络中)已 ping 它,因此现在它会回复 192.168.2.1,这将然后将该回复发送回 PC1。

我是对的,还是我处于完全黑暗中?

你能告诉我在这种情况下会发生什么吗?

在此处输入图片说明

3个回答

从路由的角度来看,数据包上有源和目的IP(第3层)地址,但没有任何中间跳(路由器)地址。在 LAN 上传送帧的是第 2 层(路由器只是 LAN 上的主机)。主机将使用第 2 层帧封装第 3 层数据包。如果目标第 3 层地址位于不同的网络上,则主机将使用其配置的网关的第 2 层地址作为第 2 层目标。如果它没有配置网关,则它无法将数据包发送到不同的 LAN。

NAT 确实与路由无关。NAT可以在路由器以外的设备上使用,路由器不需要使用NAT。在您的图表中,PC2 无法向 PC1 发送任何内容(甚至是对 ICMP 回显请求的回复),因为它不知道如何从其 LAN 发送流量。LAN 上的网关只是 LAN 上的主机,它知道如何到达其他 LAN,但 PC2 没有网关,没有网关就无法到达其他 LAN。

好吧,我想它没有网关,但只有在您有真正发生在路由器上的网络地址转换时才有效。 但是,第 1 段上的地址详细信息不正确。 (第一个 ping 数据包将 ping 路由器并获得直接答复。)

  1. PC1 将 src=192.168.1.2 dst=192.168.2.2 发送到 seg1 上的 routerether1
  2. 路由器将 src=192.168.2.1 dst=192.168.2.2 发送到 seg2 上的 PC2ether
  3. PC2 收到它并回复 src=192.168.2.2 dst=192.168.2.1 到 seg2 上的 routerether2,因为它是本地的
  4. 路由器将 src=192.168.2.2 dst=192.168.1.2 发送到 seg1 上的 pc1ether

NAT 需要相当大的复杂性并记住很多东西,以便记住哪个连接应该去哪里;用于 ping 的 NAT 在维护映射表方面尤其复杂。

NAT 在国内路由器和 4g 网络等内部可能非常常见,但在理解 NAT 之前,您确实必须非常清楚基本情况。

希望有所帮助,

乔纳森。

不 !将PC2网关配置为0.0.0.0是不可行的

因此 PC2 和 PC1 网络都是直接连接的网络。PC2 和 PC1 应该互相 ping 通。但是将 PC2 默认网关地址从 0.0.0.0 更改为 192.168.2.1

一旦流量从 PC2 启动到 PC1。ANDing 过程将在PC2 中触发,发现源和目标在不同的网络中。并决定在网关上转发的数据包。. 所以现在数据包被转发到路由器 ARP 表中的路由器根据 ARP 表数据包被转发到目的地。