在同一网段中或不同网段中,ARP协议是怎样工作的!

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:21:34

ARP 是 TCP/IP 设计者利用乙太网的广播性质,设计出来的位址解释协定。它的主要特性和优点是它的位址对应关系是动态的,它以查询的方式来获得 IP 位址和实体位址的对应。它的工作原理非常简单:
1. 首先,每一台主机都会在 ARP 快取缓冲区 (ARP Cache)中建立一个 ARP 表格,用来记录 IP 位址和实体位址的对应关系。这个 Table 的每一笔资料会根据自身的存活时间递减而最终消失,以确保资料的真实性。
2. 当发送主机有一个封包要传送给目的主机的时候,并且获得目的主机的 IP 位址;那发送主机会先检查自己的 ARP 表格中有没有该 IP 位址的实体位址对应。如果有,就直接使用此位址来传送框包;如果没有,则向网路发出一个 ARP Request 广播封包,查询目的主机的实体位址。这个封包会包含发送端的 IP 位址和实体位址资料。
3. 这时,网路上所有的主机都会收到这个广播封包,会检查封包的 IP 栏位是否和自己的 IP 位址一致。如果不是则忽略;如果是则会先将发送端的实体位址和 IP 资料更新到自己的 ARP 表格去,如果已经有该 IP 的对应,则用新资料覆盖原来的;然后再回应一个 ARP Reply 封包给对方,告知发送主机关于自己的实体位址;
4. 当发送端接到 ARP Reply 之后,也会更新自己的 ARP 表格;然后就可以用此纪录进行传送了。
5. 如果发送端没有得到 ARP Reply ,则宣告查询失败。
ARP 的查询过程
前面说的 ARP 表格,只有在 TCP/IP 协定被载入核心之后才会建立,如果 TCP/IP 协定被卸载或关闭机器,那么表格就会被清空;到下次协定载入或开机的时候再重新建立,而同时会向网路发出一个 ARP 广播,告诉其它机器它的目前位址是什么,以便所有机器都能保持最正确的资料。
然而,ARP cache 的大小是有所限制的,如果超过了界限,那么越长时间没被使用过渡资料就必须清理掉,以腾出空间来储存更新的资料。所以,当机器收到 ARP equest 封包时,如果查询对象不是自己,则不会根据发送端位址资料来更新自己的 ARP 表格,而是完全忽略该封包。同时,每笔存在 cache 中的资料,都不是永久保存的:每笔资料再