为直接连接的网络路由数据包

网络工程 路由 路由器
2022-02-21 14:26:28

我们的网络产品有一个第 3 方路由器代码。我是一名新手网络开发人员,对路由没有太多想法。然而,我们正面临一个我们寻求解决方案的场景。

只要我们不断在连接到具有不同子网的路由器的网络中添加设备,该问题就不会发生。但是,当我们在同一网络/主机中定义 2 个或更多 IP 时 - 发往一个设备的数据包会到达另一个设备,反之亦然。

初步调试导致从路由器发现数据包的路由不正确。它只是根据网络标识符路由 - 因此主机目的地是错误的

由于我不是网络专家,我从逻辑上理解如下 -

如果不是针对同一网络或未针对目标网络配置,远程路由器将发送到下一个“跃点”

具有直接连接到自身的设备/网络的路由器应根据 IP(在同一网络/子网内)识别目的地

请确认我的理解,然后需要如何设置路由表以促进内部网络路由?是否有任何与设置相关的 RFC?

1个回答

IP 地址是逻辑地址——它们需要分组到子网中,并且子网的所有成员共享相同的前缀,例如 192.168.5.0/42 用于所有主机 192.168.5.1 到 192.168.5.254。

通常,您的子网会 1:1 映射到您的第 2 层分段。您可以在同一个第 2 层网段中运行多个子网,但您需要一个路由器路由器需要了解这种情况(“发夹”),并需要其本地接口上每个子网的 IP 地址。例如,如果您在同一 L2 网段中有 10.0.5.0/24 和 192.168.5.0/24,则路由器可以使用 10.0.5.1 和 192.168.5.1。

您不能使用路由表来建立通信。本地子网会自动添加到路由器的表中,因此无需执行任何操作。

您绝对不能在多个 L2 网段中使用来自一个子网的 IP 地址 - 如果您尝试,不同网段中的节点将无法通信(没有认真和精心设计的解决方法)。

由于您将图层混合在一起:

  • 物理层(L1) 负责将位从一个端口移动到另一个端口它是一种点对点协议(除非它是古老的 10BASE2/5 或者您使用过时的中继器)。可视化电缆。
  • 数据链路层(L2) 基于其 MAC 地址传输帧所有节点都需要共享一个公共的 L2 段(广播域)。L2 使用 L1 进行物理传输。可视化交换机或 VLAN。
  • 网络层(L3)根据IP 地址在全球范围内路由数据包。L3 使用 L2 进行本地网络传输。可视化路由器。