设备的arp表是只在收到来自先前发送的arp请求的答复时才更新,还是在设备接收到帧/数据包时更新?
向B发送arp请求
B向A发送arp回复
A的arp表被更新。
或
C向A发送一个数据包(假设C在其arp表中已经有A的IP/MAC )
A的arp表由于某种原因没有C的条目
A立即用C的IP/MAC更新其arp表
发布于 2015-10-01 18:25:17
RFC不处理您的第二个场景。原因是主机C发送到主机A的网络可能与主机A不同。在这种情况下,具有ARP缓存项的主机A没有意义,因为主机A永远不会在其ARP缓存中查找主机C。主机A总是知道主机C不在它的网络上,所以当它想发送到主机C时,它总是在它的ARP缓存中寻找它自己的网关的条目。
有些实现可以按照您所描述的那样执行,但标准并没有对其进行处理,而且它似乎浪费了ARP缓存内存。
发布于 2015-10-01 18:37:08
我会试着逐一回答你们的问题。但是前提是,只有在看到arp响应时,ARP条目才会在主机上生成。主机通常不做mac-从所有帧学习。开关起这个作用。
的arp表
所有这些都假设它们位于同一个子网上。否则,网关就会进入画面。请看罗恩的回答。
发布于 2015-10-02 06:25:00
解释arp请求的图表:
首先,在这个例子中,Poste1希望向poste4发送一个数据包,但是它没有poste 4的@MAC,所以它发送了一个广播ARP。在这个请求中,poste 1会问:“192.168.0.44 IP地址的MAC地址是什么?”

邮政B只回答邮政1,“我是192.168.0.44,mys @MAC是9c-d2-1e-31-19-44”

最后,Poste1用poste 4的新值更新他的MAC表。这个条目将在操作系统决定的时期内保留在这个表中。
https://networkengineering.stackexchange.com/questions/22980
复制相似问题