连接两个不同networking的问题

我有两个networking:192.168.13.0/24(蓝色)和192.168.15.0/24(绿色)。
计算机A只连接到13网。 计算机B有两个接口,每个networking都有一个接口。
有第三台电脑,像一个路由器,连接13网到15网(只在这个方向)。

替代文字

现在,我想ping 192.168.15.100从计算机A到B.不幸的是,从来没有答复。 但是,当我使用集线器,而不是交换机,它的工作原理。

在我看来,ping数据包通过交换机到达路由器(这是A的默认路由/网关)。 路由器将数据包发送回交换机B.可能B在15个networking接口上接收数据包,但回答是第15个接口? 这可能吗?
问题是,B可能只有一个网关192.168.13.50 – 但我不确定它(B是一个embedded式系统configuration可能性有限)。

任何人都可以解释发生了什么? 谢谢!

在这两种情况下,ping通过arp开始请求获取路由器的MAC地址。 然后,ping消息被封装在一个第2层数据包中,并带有目标路由器。

会发生什么当您使用hub

  • ping被广播给所有客户端(B x 2和路由器),
  • B.13.100接口丢弃数据包,
  • 但它的15.100接口得到它,可能在混杂模式(忽略MAC目标),
  • 因此B在其13.100接口上直接回复A.

使用switch

  • B不直接获取数据包。 交换机知道 A数据包被引导到路由器(感谢它的目的地MAC地址)并且不涉及其他端口。
  • 路由器通常应该在13.50接口上获得数据包,
  • 并应通过其15.50接口转发给B
  • B应该在15.100接口上得到它,并从13.100接口回复
  • A应该直接得到它,它不。

路由器可能有问题。
从A使用交换机尝试一个traceroute命令。

你可能看到的是这样的:

  1. 数据包走出A(13.10)
  2. 获取路由到B通过路由器(15.100通过路由器)
  3. 获得B(15.100)
  4. B去回答说:“哦,嘿,我在同一个networking上!”
  5. 数据包出B( 13.100
  6. 获得A(13.10)
  7. 一个说的我不期望从13.100滴包

您可以通过在发送ping命令的同时在A&B上运行数据包追踪来确认这一点,查看标题并检查源地址和目标地址。

解决这个问题的唯一真正的方法是在主机B上添加一个/ 32路由条目来强制15.100的数据包,但是不能很好地扩展。

a)做一个从计算机A到计算机B的tracert ,它应该揭示它正在采取什么措施
b)计算机B上设置的默认网关是什么?
c)它是什么types的开关? 第2层,第3层?
d)您是否可以尝试完全禁用计算机B上的13.100 NIC,然后重新启动该计算机并ping它以查看是否有效?