在上周的帖子中,我比较了两个样题——一个简单的,一个更适合考试的。更现实的问题需要对主题(ARP)有更深入的了解,并且需要熟悉几个相关的主题。我只是在说明一个观点,但我确实列出了一个民意调查,这样人们就可以选择他们的答案——错误答案的比例很高。这似乎值得我们快速跟进,尤其是为了解释答案。
看到森林
你看到一个问题。你认为“ARP”。你知道ARP,一台主机发送一个ARP广播,希望了解另一台主机的MAC,然后另一台主机回复。很简单。
在准备CCNA考试时,如果您在一个月前在书籍中阅读ARP的快速1页,并且从那时起尚未想到它,您可能无法准备好自信地分析ARP与其所有的地方相关概念。这些概念可能与您在各种设备上的命令中所看到的内容有关(在主机上显示IP ARP,ARP -A)。它可能是何时使用ARP的决定,并且当不需要ARP时。ARP在与数据包转发过程相同的上下文中的重要事项,以及路由器如何在路由数据包时丢弃并添加数据链接标题/拖车。
如何获得那种知识,并舒服?更详细的主要研究来源,审查比“ARP代表为什么”,讨论的问题CLN等等,但鉴于我的样本问题转变为类似于知识的经典案例与应用程序的东西,我不想错过算命点的机会。无论你用什么准备考试,确保你花了一些时间考虑更大的画面,以及如何互相相关。足够的哈平 - 关于这个问题。
上周的问题在这里,如果你还没读过的话。它的答案是缩进的A - e,我重复了这个数字作为参考,但问题归结为:如果所有的ARP缓存都是空的,主机A向主机C发送一个数据包,会发生什么?
主机如何思考,默认网关
这个问题假设主机(A、B和C)有工作IP地址、掩码和默认网关设置。(一位读者提到了没有默认网关的不同逻辑,这是有效的,所以我为那些在回答时考虑没有默认网关的人道歉。)但我将直接回答今天的问题,并坚持所有主机都有IP地址、掩码和网关设置这一事实。
主机基于一个简单的决定来决定如何转发数据包:目的IP地址是否与我在同一子网中,或者不是。主机使用它自己的IP地址和掩码来计算子网ID和IP地址范围,这是我们在CCNA准备中所知道和喜爱的。主机不咨询同一子网上的其他设备。如果主机A正在发送数据包,这是主机A基于主机A的IP地址/掩码(而不是其他人的)对子网中地址范围的看法。这就是为什么基本的网络故障排除要求您确保应该在同一子网中的所有主机确实在同一子网中。
发送—相同子网
如果目的地在同一子网中,则主机可以将数据包封装在以太网帧中,直接转发给目的地主机。以太网帧的目的MAC地址必须是目的主机的MAC地址。发送主机在它的ARP缓存中查找,如果没有目的IP地址的条目,它就使用ARP来查找目的MAC地址。
使用ARP时,需要发送IP报文的主机会发送ARP请求。ARP请求会问一个简单的问题“如果你的IP地址是X,请告诉我你的MAC地址”。IP地址为X的主机应该回复一个ARP reply消息,其中列出了它的IP地址和MAC地址。
发送 - 不同的子网,网关设置
如果目标位于不同的子网中,就像在此示例问题中的情况一样,主机具有默认网关设置,主机将数据包发送到默认网关(路由器)。为此,发送主机在以太网帧中封装IP数据包,网关的MAC地址作为目标MAC。该帧通过LAN,路由器可以浮动,删除IP数据包,并将其路由到它的快速方式。(我在YouTube上有一个关于这个的新的非正式视频,www.youtube.com/certskills。)
如果发送主机没有网关的IP/MAC地址的ARP表项,则发送主机的ARP表项,在ARP请求中列出网关的IP地址,并要求了解网关的MAC地址。路由器应该返回一个ARP应答。
Hosts从ARP请求中学习Macs
ARP进程的明显部分是ARP回复回答问题,列出了主机的MAC地址。例如,如果主机A发送ARP请求,查找路由器R1的MAC,并且R1向ARP回复发送ARP回复,请基于该ARP回复主机学习R1的MAC。什么是不明显的是R1还学习来自该原始ARP请求的托管A的MAC。
ARP请求消息本身列出了此讨论的四个关键字段:发件人的IP地址,发件人的MAC地址,寻求主机的IP地址,以及目的地MAC地址的字段。当然,目的地的MAC地址在该点未知,但无论如何,该消息都包括该字段。当目标主机收到ARP请求时,它不仅发送回复ARP回复,而且它将了解发送主机的IP / MAC。在这里查找ARP RFC如果你想了解更多关于ARP消息的内容。(另一个关于这些细节的新非正式视频在www.youtube.com/certskills。)
ARP请求的另一个很好的副作用是它是一个局域网广播,发送到目的MAC地址FFFF.FFFF.FFFF。因此,交换器将泛洪此帧,同一子网中的所有主机都将收到ARP请求,子网中的所有主机将学习到一个新的ARP表项。
对这个问题!
问题中的干扰因素(错误答案)旨在了解您是否知道以下两个关键点:
1)当主机接收ARP请求时,它不需要转动并发送寻找原始主机的ARP请求,因为原始ARP请求列出了IP地址/ MAC地址值。
2)一个子网中的主机不会对另一个子网中的主机进行ARP,而是对它们的默认网关进行ARP。
在这种情况下,应答A不正确,因为它指出主机A将发送寻找主机C的MAC的ARP请求。
答案B和C对于相同的基本原因不正确:主机C和路由器R1都已接收到ARP请求,因此它们不需要发送ARP请求。主机A发送寻找R1的Mac的ARP请求,R1学习主机A的MAC,因此R1不需要发送寻找主机A的Mac的ARP请求。同样,当R2向右侧的局域网传输到右侧的IP数据包时,目的地为主机C,路由器R2将发送寻找主机C的MAC的ARP请求。主机C将获得Router R2的Mac,因此主机C不需要发送和ARP请求查找R2的MAC。
对于答案E,它是错误的,因为路由器不转发ARP消息。左侧子网内的主机只学习同一子网内主机的ARP表项。因为主机C位于不同的子网,R1、主机a和主机B都不会学到主机C的ARP表项。
就是这样。有问题尽管问吧