ARP 与 MAC 地址解析:局域网通信的第一步

网络 通信技术
在局域网中,不论你是访问打印机还是浏览网页,第一步其实都是“问路”——而这个问路的过程,靠的就是 ARP 协议。它负责把我们知道的 IP 地址翻译成真正用于通信的 MAC 地址。

在局域网中,不论你是访问打印机还是浏览网页,第一步其实都是“问路”——而这个问路的过程,靠的就是 ARP 协议。它负责把我们知道的 IP 地址翻译成真正用于通信的 MAC 地址。

一. 什么是 ARP?

ARP(Address Resolution Protocol)是地址解析协议。它的作用很简单:

已知对方 IP 地址,向局域网请求它的 MAC 地址。

这个解析过程发生在二层网络(数据链路层)和三层网络(网络层)之间,是 TCP/IP 协议栈中不可缺少的一环。

如下ARP工作流程图: PC1 想与 PC2 通信(知道 IP,不知道 MAC)

ARP 的关键行为:

  • ARP 请求是 广播,即发给局域网中所有主机(目的 MAC 是 FF:FF:FF:FF:FF:FF)
  • ARP 响应是 单播,即只有目标主机回应请求者
  • 每台主机有一个 ARP 缓存表,记录已知的 IP-MAC 映射,避免频繁广播

ARP 在通信中的作用: 我们发送的数据帧,都需要一个目标 MAC。IP 地址只是逻辑地址,真正让网卡能发出去的数据,得靠 MAC 地址。ARP 就是 IP 到 MAC 的“翻译官”。没有 MAC 地址,局域网通信就没法进行。

二. 上手实践

神唱一直都觉得光看原理不实践等于白看,那么接下来以 eNSP 为例去看看他是如何运作的:

首先我们查看PC1的arp:

可以看到此时的ARP表都是空的,然后我们使用PC1去请求 PC2:

通过抓包可以发现,刚开始请求的时候回去ARP询问 谁是192.168.1.20,告诉192.168.1.10, 然后第二条回应的就是 192.169.1.20对应的MAC地址是 54-89-98-F5-2F-D4。

现在我们再来看看PC1和交换机的ARP表:

可以发现PC1有了PC2的地址和MAC的对应信息了。

小知识:动态的ARP都是有生存时间的,也就是过段时间后这条记录就没有了。

三、ARP 欺骗

ARP 也有“软肋”——因为它信任任何响应,没有验证机制。攻击者可以伪造 ARP 响应,把自己冒充成网关,形成中间人攻击(Man-in-the-Middle)。

防范方法:

  • 使用静态 ARP 表;
  • 开启 ARP 防攻击机制;
  • 在三层交换或安全设备上设置 IP-MAC 绑定。

四、小结

  • ARP 是连接 IP 与 MAC 的桥梁;
  • 每次局域网通信,第一步都是先找 MAC 地址;
  • ARP 请求是广播,响应是单播;
  • 交换机只转发,不解析;
  • 安全环境下建议配合静态 ARP 或防攻击设置。
责任编辑:赵宁宁 来源: 神的孩子都在歌唱
相关推荐

2021-01-15 18:17:06

网络协议分层

2015-06-02 11:42:00

Cloud FoundAzure

2009-01-18 08:49:04

Java入门JDK

2019-11-20 10:54:46

无密码身份验证网络安全

2024-07-12 13:37:25

2012-07-11 16:43:14

飞视美

2013-01-15 09:17:11

2019-09-10 13:16:23

ARP地址解析协议局域网

2011-07-25 14:17:46

BSMIT运维北塔

2010-07-01 13:44:12

2018-02-10 11:24:39

Python数据程序

2021-08-24 05:07:25

React

2012-08-30 11:14:11

云计算虚拟化

2020-07-22 22:10:34

互联网物联网IOT

2020-11-17 14:55:36

亚马逊云科技迁移

2020-11-11 07:09:05

隔离直播系统

2013-04-03 09:22:14

虚拟化网络虚拟化

2024-02-26 10:08:01

2017-09-19 09:36:55

思科服务

2010-11-05 10:32:50

云应用程序规划
点赞
收藏

51CTO技术栈公众号