ARP 地址解析协议

目录

ARP(Address Resolution Protocol)

地址解析协议 ARP 的作用

ARP 高速缓存 (ARP cache)

ARP 工作过程

ARP 查找 IP 地址对应的 MAC地址

ARP 高速缓存的作用

不在同一局域网的两个主机运行ARP协议

使用 ARP 的四种典型情况

为什么要使用两种地址:IP 地址和 MAC 地址?

ARP报文格式

ARP请求包

ARP响应包

反向ARP

免费ARP

代理ARP


ARP(Address Resolution Protocol)

实现 IP 通信时使用了两个地址:

        IP 地址(网络层地址)和 MAC 地址(数据链路层地址)

ARP 地址解析协议_第1张图片

地址解析协议 ARP 的作用

ARP (Address Resolution Protocol ) 作用: 从 IP 地址解析出 MAC 地址

即从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址。

ARP 地址解析协议_第2张图片

ARP 高速缓存 (ARP cache)

·存放 IP 地址到 MAC 地址的映射表。

·映射表动态更新(新增或超时删除)。

映射表:

ARP 地址解析协议_第3张图片

超过生存时间的项目都从高速缓存中删除,以适应网络适配器变化。

ARP 工作过程

当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。

        ·如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。

        ·如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。

ARP 地址解析协议_第4张图片

ARP 查找 IP 地址对应的 MAC地址

地址解析协议 ARP 要点

·本局域网上广播发送 ARP 请求(路由器不转发 ARP 请求)。

·ARP 请求分组:包含发送方硬件地址 / 发送方 IP 地址 / 目标方硬件地址(未知时填 0) / 目标方 IP 地址。

·单播 ARP 响应分组:包含发送方硬件地址 / 发送方 IP地址 / 目标方硬件地址 / 目标方 IP 地址。

·ARP 分组封装在以太网帧中传输

ARP 地址解析协议_第5张图片

ARP 高速缓存的作用

·存放最近获得的 IP 地址到 MAC 地址的绑定。

·减少 ARP 广播的通信量。

·为进一步减少 ARP 通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入 ARP 请求分组。

·当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的 IP 地址及其对应的 MAC 地址映射写入主机 B 自己的 ARP 高速缓存中。不必在发送 ARP 请求。

不在同一局域网的两个主机运行ARP协议

ARP 用于解决同一个局域网上的主机或路由器的 IP 地址和 MAC 地址的映射问题。

ARP 地址解析协议_第6张图片

通信的路径:A → 经过 R1 转发 → B。

因此主机 A 必须知道路由器 R1 的 IP 地址,解析出其 MAC 地址。然后把 IP 数据报传送到路由器 R1。

ARP 地址解析协议_第7张图片

ARP 地址解析协议_第8张图片

ARP 地址解析协议_第9张图片

ARP 地址解析协议_第10张图片

使用 ARP 的四种典型情况

ARP 地址解析协议_第11张图片

1.发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。

2.发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

3.发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。

4.发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。

为什么要使用两种地址:IP 地址和 MAC 地址?

·不同使用不同的 MAC 地址。MAC 地址之间的转换非常复杂。

·对以太网 MAC 地址进行寻址也是极其困难的。

·IP 编址把这个复杂问题解决了。

        ·连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP 来找到 MAC 地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。

·因此,在虚拟的 IP 网络上用 IP 地址进行通信非常方便。

ARP报文格式

ARP 地址解析协议_第12张图片

ARP 地址解析协议_第13张图片

ARP 地址解析协议_第14张图片

ARP请求包

ARP 地址解析协议_第15张图片

ARP响应包

ARP 地址解析协议_第16张图片

反向ARP

·根据MAC学习IP。

免费ARP

(1)免费ARP指主机发送ARP查找自己的IP地址。
(2)通常发生在系统引导期间进行接口配置时。
(3)与标准ARP的区别就是免费ARP分组的目的IP地址字段封装的是自己的IP地址
    (即向所在网络请求自己的MAC地址)。
(4)免费ARP可以用来探测IP地址是否冲突:

ARP 地址解析协议_第17张图片

ARP 地址解析协议_第18张图片

代理ARP

代理ARP就是通过使用一个主机(通常为router),来作为指定的设备使用自己的 MAC 地址来对另一设备的ARP请求作出应答。

·位于不同网络的网络的网络设备在不同配置网关情况下,能够通过ARP代理实现相互通信。

ARP 地址解析协议_第19张图片

ARP 地址解析协议_第20张图片

欢迎一起学习~

你可能感兴趣的:(计算机网络,网络,服务器,运维)