![](https://csdnimg.cn/release/download_crawler_static/4041234/bg3.jpg)
技术介绍
IPv4/IPv6 业务
ARP
2
ARP
地址解析过程
假设主机A和B在同一个网段,主机A要向主机B发送信息。如 图 2错误!未找到引
用源。所示,具体的地址解析过程如下:
(1) 主机 A 首先查看自己的 ARP 表,确定其中是否包含有主机 B 对应的 ARP 表
项。如果找到了对应的 MAC 地址,则主机 A 直接利用 ARP 表中的 MAC 地址,
对 IP 数据包进行帧封装,并将数据包发送给主机 B。
(2) 如果主机 A 在 ARP 表中找不到对应的 MAC 地址,则将缓存该数据报文,然
后以广播方式发送一个 ARP 请求报文。ARP 请求报文中的发送端 IP 地址和
发送端 MAC 地址为主机 A 的 IP 地址和 MAC 地址,目标 IP 地址和目标 MAC
地址为主机 B 的 IP 地址和全 0 的 MAC 地址。由于 ARP 请求报文以广播方式
发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主
机 B)会对该请求进行处理。
(3) 主机 B 比较自己的 IP 地址和 ARP 请求报文中的目标 IP 地址,当两者相同时
进行如下处理:将 ARP 请求报文中的发送端(即主机 A)的 IP 地址和 MAC
地址存入自己的 ARP 表中。之后以单播方式发送 ARP 响应报文给主机 A,其
中包含了自己的
MAC 地址。
(4) 主机 A 收到 ARP 响应报文后,将主机 B 的 MAC 地址加入到自己的 ARP 表中
以用于后续报文的转发,同时将 IP 数据包进行封装后发送出去。
Target IP
address
192.168.1.1
Target IP
address
192.168.1.2
Host A
192.168.1.1
0002-6779-0f4c
Host B
192.168.1.2
00a0-2470-febd
Target MAC
address
0000-0000-0000
Sender MAC
address
00a0-2470-febd
Target MAC
address
0002-6779-0f4c
Sender IP
address
192.168.1.1
Sender MAC
address
0002-6779-0f4c
Sender IP
address
192.168.1.2
图2 ARP 地址解析过程
当主机 A 和主机 B 不在同一网段时,主机 A 就会先向网关发出 ARP 请求,ARP 请
求报文中的目标 IP 地址为网关的 IP 地址。当主机 A 从收到的响应报文中获得网关
的 MAC 地址后,将报文封装并发给网关。如果网关没有主机 B 的 ARP 表项,网关
会广播 ARP 请求,目标 IP 地址为主机 B 的 IP 地址,当网关从收到的响应报文中获
得主机 B 的 MAC 地址后,就可以将报文发给主机 B;如果网关已经有主机 B 的 ARP
表项,网关直接把报文发给主机 B。