0

我在CCNA考试中遇到了一个我错了的问题,即使我在不​​同的网站上找到了它并提供了一些解释,我仍然对此感到困惑。

问题是在成功 ping 到不同路由器上的另一台主机后,arp主机在其表中会有什么条目。arp现在,通过我迄今为止的所有 CCNA 研究,我一直被告知,在路由过程中,IP 源地址和目标地址在数据包中不会发生变化,而只有 MAC 源地址和目标地址会发生变化。但是,正确的答案是网关的和IP存在于发送主机的表中,并且没有主机 B 的迹象。MAC addressesarp

这让我很困惑。如果是这种情况,默认网关路由器如何知道另一台主机的目标 IP?这可能只是一个棘手的问题,但仍然......对此有任何明确的想法吗?

4

2 回答 2

2

The ARP is resolved only for the directly connected hosts. In case where you are pinging a host through a router/default-gateway, your target is not directly connected (in terms of IP reachability. When I say directly connected I mean, both are in same subnet). So how are you able to ping your target, the source will do a route lookup and it will get to know that the host/target will be reachable through say this router. Now, the source has to send the pkt to that router as the next hop. For that the ARP/adjacency for that router has to be resolved, if it is not resolved already. Now the ARP resolution is done for your router and then the packet is routed through that router. Now, what ARP entry you see in the source? it is of first-hop router/default-gateway.

Now I would reiterate my first sentence, The ARP is resolved only for the directly connected hosts. Clear?

于 2013-10-06T07:52:31.420 回答
2

乔所说的一切都是正确的。

我自己刚刚完成了对班级的教学。让我把它放在我在那堂课中使用的术语中。

您的问题说您在两个子网上有两台主机。让我们调用远程主机、服务器和您的本地主机,让我们坚持使用本地主机。

您的本地主机有一个 IP 地址、一个子网掩码和一个默认网关。

当您 ping 服务器时,您的本地主机使用它的 IP 地址和子网掩码来查看被 ping 的地址是本地的还是远程的。在这种情况下,您的服务器的远程。知道了这一点,它就知道它必须将 ping 发送到默认网关。为此,它必须解析默认网关的地址。这会在 arp 表中为您的默认网关留下条目,它是 mac 地址。

您认为然后将本地主机发送到服务器的数据包具有默认网关的 MAC 地址,但是服务器的 IP 地址是正确的,但这不会影响 arp 表中的内容。

请记住,arp 数据包会询问“谁拥有?” 并提供 IP 地址。在您描述的网络中,您的默认网关只会响应它自己的 IP,而不是它可以路由到的所有 IP 地址。

现在我可能会在这里告诉你这会以不同方式工作的网络配置,但我认为这不会有帮助。

然而,值得知道的是,在现实世界中,有时您会发现事情并非如此。(我在看你的 NAT 和代理 arp)。

我不确定这是否比乔写的更清楚,但有时只是听到一些不同的解释有助于点击。

希望这可以帮助,

亚历克斯

于 2013-10-08T12:47:58.603 回答