想象一下你有一些这样configuration的networking
+-----+ +------+ +------+ +-----+ |comp.|---|bridge|---|router|---|comp.| | A |---| B |---| C |---| D | +-----+ +------+ ^ +------+ +-----+ | -- Here!
如果计算机A发送以太网数据包到计算机D …
我想我把它缩小到两种可能性:
哪一个 – 如果有的话 – 是正确的?
谢谢你的时间?
PS:我希望在我的ASCII艺术技能上受到赞扬。 请务必在下面留言。
源MAC = A
目的地MAC = C
为什么:当A需要将数据发送到另一个主机时,它首先确定该定位主机是否在本地networking上。 在确定目的地不在本地时,A将数据发送到其configuration的默认网关,即C
为什么不是B? 由于在第2层操作时交换机(网桥)不会修改源或目标MAC地址。 另一方面,路由器会修改源MAC地址,用原来的MAC地址replace原来的源MAC地址。
为什么不D? 因为A知道D不在本地networking,并且不能直接访问。 A知道它需要将数据发送给DG,并且将ARP作为DG,而不是ARP。
一般来说,在你的图表中:
源MAC: A–由于网桥和交换机通常不会重写任何东西,所以这个不会改变。
目标MAC:我相信这是C ,因为计算机会故意将数据包发送到默认网关,因为它知道(来自IP和子网掩码)计算机不在其网段上。
如果源MAC 不是 C,它将永远不会到达那里,因为桥不知道该把它发送到哪里。 桥接器不会知道路由器之外的任何MAC地址。
编辑:我没有手来检查,但思科Packet Tracer是这种问题很好,因为它会告诉你的数据包一步我的步骤。
顺便说一句,我会忘记桥梁,只是坚持切换术语。 他们基本上是一样的,我现在不存在任何桥梁。
可能性2.源MAC-A没有被桥改变。 如果两台计算机都在同一个广播域中,则目标MAC为D.