每日一个计算机小知识: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,然后双方就可以直接通信了。

相关推荐
AI绘画哇哒哒3 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
唐青枫4 小时前
一个值多种形态:Zig union、Tagged Union 与内存布局实战
后端
卷无止境4 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
Nturmoils4 小时前
备份完不算完,先还原到临时库验一遍
后端
Csvn5 小时前
📊 SQL 入门 Day 22:视图与物化视图
后端·sql
Csvn5 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
2601_953720826 小时前
【计算机毕业设计】基于Vue与Spring Boot的高校兼职信息服务平台设计与实现
spring boot·后端·课程设计
再吃一根胡萝卜7 小时前
用 Rust 写一个桌面悬浮图标:为什么它比 Python 更适合 AI 桌面工具?
后端
IT_陈寒7 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端
evans在进步8 小时前
Spring Boot 核心机制详解:可执行 JAR、CORS、静态资源与配置绑定
spring boot·后端·jar