主机 IP 必须包含在路由器的子网中吗?

网络工程 路由 路由器 ip 子网 网关
2022-02-24 16:11:56

设置如下:

手动设置我的主机IP 10.0.1.6/24:,网关:10.0.0.138/24

他们都知道彼此的 MAC(arp -a显示列表)并且他们之间有直接的物理连接。

从跟踪中,我可以看到主机通过在帧中添加网关的 MAC 将数据发送到网关。

但是网关什么也没收到,ping也没有反应。

但是,当我将网关的子网掩码更改为 时255.255.254.0,一切正常,数据双向流动。

这让我很困惑:

  1. 主机 IP 是否必须包含在路由器的子网中才能进行通信?即使他们知道彼此的IP和MAC?

  2. 据我所知,路由器不必与下一跳在同一个子网中,只要它知道下一跳的IP和MAC,那么为什么我的主机无法通过我的路由器得到响应?

  3. 在我的情况下,以两种方式建立通信的正确做法是什么?添加静态路由条目?请指教,谢谢!

1个回答

但是网关什么也没收到,ping也没有反应。

这是可以预料的。10.0.1.6 不属于 10.0.0.138/24 的子网 10.0.0.0/24。数据包被发送到“其他地方”,可能使用路由器的默认路由(通常指向 WAN)。

当我将网关的子网掩码更改为 255.255.254.0 时,一切正常,数据双向流动。是的 - 现在 10.0.1.6确实属于 10.0.0.138/ 23的子网 10.0.0.0/23 (范围从 10.0.0.0 到 10.0.0.1.255)。

通常,只有同一子网内的节点(从彼此的角度来看)可以直接相互通信。为了使用网关,需要直接通信。

您需要通过更改其中一个地址或扩大子网将两个节点移动到同一子网中。