每日一个计算机小知识:ARP协议

每日分享一个有趣的计算机小知识,今日话题:ARP协议

ARP 是 Address Resolution Protocol 的缩写,地址解析协议,在网络通信中主要用于将网络层的逻辑地址(IP地址),映射为数据链路层的物理地址(MAC地址)的网络协议。

1982年,由互联网工程任务组IETF在RFC 826中正式定义,设计初衷是为了解决局域网内通信的地址解析问题,仅用于同一局域网内,不能跨网段使用。

ARP缓存表:在网络中每台支持TCP/IP协议的计算机或路由器里都会有一张ARP缓存表,它是储存在设备本地的一张IP地址和MAC地址映射关系的临时表,主要作用就是避免重复发送ARP广播请求,提升局域网内的通信效率。

缓存表里储存的内容包含4个部分:IP地址、MAC地址、类型(动态、静态)、生存时间(仅动态类型,配置的时间超时后会自动删除)。动态类型设备通信后会自动添加到缓存表中,过期了会重发ARP广播请求然后更新数据,静态类型需要手动修改或删除,windows上查看缓存表命令为 arp -a,Linux/MacOS上查看命令为 arp -n 或 ip neigh。

这里举一个直观点的例子给大家演示ARP协议的工作流程:当前局域网内的主机A想要发送数据给主机B,需要同时知道对方的IP地址和MAC地址才能完成数据传输,IP地址作为逻辑地址本身是网络提前分配好的,也就可以通过配置或网络协议提前获取到。 现在主机A只知道主机B的IP地址,那就还需要通过IP地址去找到主机B的MAC地址了,这时主机A就会先在自己本地的ARP缓存表中查找有没有主机B对应的MAC地址,如果有就可以直接通信了。

如果没有则主机A会向同一局域网里的所有设备发送ARP广播请求:我的IP地址是192.168.1.100,MAC地址是02:1A:2B:3C:4D:5E,你们谁的IP地址是192.168.1.101呀,发我下你的MAC地址。当主机B收到请求后就会单播回复主机A:是我是我,我的MAC地址是02:1A:2B:3C:4D:5F,然后双方就可以直接通信了。

相关推荐
子兮曰1 小时前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
全栈弄潮儿4 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
wdfk_prog4 小时前
LWIP教程 09:从 `tcp_slowtmr()` 到 Fast Retransmit——TCP 超时重传与重复 ACK
服务器·网络·数据库·网络协议·tcp/ip
Zooproxy全球IP代理4 小时前
住宅IP在AI行业中的技术应用:数据采集基础设施的工程实践
人工智能·网络协议·tcp/ip
深蓝电商API4 小时前
HTTP/2 协议逆向:从 Fiddler 抓不到包说起
爬虫·网络协议·http·fiddler
盛世宏博智慧档案5 小时前
一文读懂 PoE+Modbus TCP 温湿度传感器布线规范与故障排查
网络·网络协议·tcp/ip
码事漫谈5 小时前
五道题,测测你有没有真的入门 AI
后端
蜗牛互联网5 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端