ARP表项的创建与更新

news/2025/3/16 12:53:30/

今天上课讲到ARP协议,但是对一些APR表项的更新有一些疑问,所以查询了有关资料。

依据ARP协议描述,几乎所有的以太网通信都以ARP开始,所以任何以太网主机设备都支持这个协议,而且IP地址到以太网MAC地址的解析主要也是动态生成,无须网络管理员手工处理。
一般实现中,如果收到的ARP报文满足以下条件中的任何一条,系统将创建或更新ARP表项:

ARP报文的源IP地址与入接口IP地址在同一网段,且不是广播地址,目的IP地址是本接口IP地址。ARP报文的源IP地址与入接口IP地址在同一网段,且不是广播地址,目的IP地址是本接口的VRRP(Virtual Router Redundancy Protocol)虚拟IP地址。
如果收到的ARP报文的源IP地址在入接口的ARP表中已经存在对应表项,也将对ARP表项进行更新。

文章出自ARP

有这么广泛流传的一段话,如果ARP报文的目的IP地址与本机的相同,则将报文中的IP地址和MAC地址添加到ARP缓存表项中,假如已经存在该IP的表项,则进行更新;然后,回复一个应答包。如果IP地址和本机的IP地址不符合,则丢弃报文。
那么问题来了,在IP地址和本机IP地址不符合的情况下,是否要进行ARP缓存表项的更新?
如果不进行更新,那么免费ARP(也是ARP请求,op字段为1)又怎么会实现他的作用呢,这里我们将免费ARP简单介绍一下。
免费ARP是一个目的IP地址是本机IP地址的ARP。发送一个免费ARP,我们可以判断局域网内是否有重复IP地址的主机(显然我们不希望有),我们也可以在更新mac地址(例如换网卡)后发送免费ARP来更新其他主机的ARP缓存表项,当其他电脑收到这个arp 广播时会和ARP缓存做对比,并更新ARP缓存,如果ARP缓存中没有这个IP的记录则直接忽视这个广播包。
现在我们可以假设,当ARP请求包的目的IP地址与本机IP地址不同时,本机会在ARP缓存表项中查找是否有该IP地址,如果有,则更新,如果没有,则不做动作,最后本机都会丢弃该数据包。

Created with Raphaël 2.2.0 开始 ARP请求包 目的IP和本机IP相同? 添加或更新该IP的缓存表项,返回一个请求包 ARP缓存表项中有该IP地址? 更新该IP地址的表项 丢弃该数据包 不做处理 yes no yes no

按照图中的步骤可以解释以上谈到的情况,如有错误,还请指出。
还有一种情况是:
当主机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。

总结:只要主机中有发送端IP的ARP表项,收到它的ARP数据包时就会对ARP表项进行更新。

附上一篇免费ARP的文章 免费ARP简析


http://www.ppmy.cn/news/813703.html

相关文章

关于arp表的网络问题

不同设备的ARP表老化时间不同 Windows2000/XP系统ARP表项的老化时间是2分钟,95/98以及NT系统是10分钟, 大部分Cisco交换机是5分钟, 华为的设备一般是20分钟, 这些时间可以通过系统注册表或者设备的相关命令进行设置&#xff0…

Linux中arp表的老化机制

转发网址:https://www.cnblogs.com/lsgxeva/p/13749751.html Linux内核网络协议栈中自动维护着一堆网络协议,这堆网络协议在内核中也是不同的存在,对于arp,Linux内核就提供了一种缓存机制来维护这张表。 实际的使用场景是&#…

ip切换及时刷新交换机的arp表方法

作者:吴业亮 博客:wuyeliang.blog.csdn.net arping -U -c 3 -w 5 -I eth0 192.168.8.10参数解释: # arping -h Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination -f : quit on first reply -q : be…

Windows7 arp表删除方法

Windows7 arp表删除方法 1 使用arp命令删除2 使用其他命令删除 Winsows7系统删除arp表有很多方法,这里介绍两种简单的方法,都是直接使用命令提示符应用(cmd)进行删除。 1 使用arp命令删除 1.打开cmd:直接在搜索中搜索…

arp表老化时间及其修改

ARP表包含ip地址、mac地址的映射关系 老化:arp表和mac表,当达到配置的表项老化时间后,根据探测次数每隔5s发送一个探测报文,如果一直没有收到应答消息则表项被删除。 默认 ARP表项的老化超时时间:缺省值是1200秒; MAC…

lwip---(七)ARP表查询

ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。在局域网中,ARP病毒收到广播的ARP 请求包,能够解析出其它节点的 (IP, MAC) 地址, 然后病毒伪装为目的主机,告诉源主机一个假MAC地址,这样…

获取ARP表

arpGet("ens33", "192.168.74.1"); 获取ens33网卡下192.168.74.1这一项&#xff0c;如果没有192.168.74.1&#xff0c;返回小于0. #include <stdio.h> #include<unistd.h>#include <sys/types.h> #include <sys/socket.h> #i…

Mac地址表、ARP表、路由表

一、Mac地址表。 Mac地址表记录了Mac地址和对应接口的关系&#xff0c;如图1-1所示。 图1-1 Mac地址表代表了交换机从某个接口学习到了它的Mac地址并记录下来&#xff0c;后续交换机如果要转发数据则可通过报文的Mac地址对应Mac地址表来转发数据。 二、ARP表。 ARP表记录着路…