arp是什么,arp中文

arp是什么,arp中文 初识 ARP从网络分层上看,我们知道二层网络中,使用 MAC 地址进行传输,MAC 地址做为数据链路层的设备标识符。二层网络三层网络中,使用 IP 地址进行传输,IP 地址做为网络层的设备标

初识 ARP

从网络分层上看,我们知道二层网络中,使用 MAC 地址进行传输,MAC 地址做为数据链路层的设备标识符。

36 张图详解 ARP:网络世界没有我,你哪也别想去

二层网络

三层网络中,使用 IP 地址进行传输,IP 地址做为网络层的设备标识符。

36 张图详解 ARP:网络世界没有我,你哪也别想去

三层网络

我们还知道,容易记忆的域名,通过 DNS 解析成 IP 地址,有了 IP 地址就可以在网络上找到目的地。

36 张图详解 ARP:网络世界没有我,你哪也别想去

DNS

IP 地址通过 ARP ,获得 MAC 地址,有了 MAC 地址才能在物理网络上传输数据。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP

ARP 是什么呢?

ARP ,是地址解析协议。根据设备的 IP 地址来查询对应 MAC 地址的协议。主机通过 ARP 查询到 MAC 地址后,将在 ARP 缓存表中增加映射表项,即 IP 地址和 MAC 地址的映射表项。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP表

举个栗子:我想去腾讯总部( IP 地址),但不知道具体位置( MAC 地址),这时我就可以通过导航软件( ARP )找到腾讯大厦。

36 张图详解 ARP:网络世界没有我,你哪也别想去

腾讯大厦

ARP 原理

ARP 是如何知道 MAC 地址的呢?简单说,ARP 是通过 ARP 请求和 ARP 响应报文确定 MAC 地址的。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP报文

假如主机 A 向同一网段上的主机 B 发送数据。主机 A 的 IP 地址为 10.0.0.1 ,主机 B 的 IP 地址为 10.0.0.2 ,主机 C 的 IP 地址为 10.0.0.3 。它们都不知道对方的 MAC 地址。ARP 地址解析过程如下:

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP解析过程

  1. 主机 A 首先查看自己的 ARP 表(即 ARP 缓存表),确定是否有主机 B 的 IP 地址对应表项。如果有,则直接使用表项中的 MAC 地址进行封装,封装成帧后发送给主机 B 。

36 张图详解 ARP:网络世界没有我,你哪也别想去

主机A查看ARP表

  1. 如果主机 A 的 ARP 表没有对应的表项,就发送一个广播帧,源 IP 和源 MAC 地址是主机 A ,目的 IP 地址是主机 B ,目的 MAC 地址是广播 MAC 地址,即 FFFF-FFFF-FFFF 。这就是 ARP 请求报文。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP请求

  1. ARP 请求是广播报文,同一个网段的所有主机都能收到。只有主机 B 发现报文中的目的 IP 地址是自己,于是主机 B 发送响应报文给主机 A ,源 MAC 地址和源 IP 地址是主机 B ,目的 MAC 地址和目的 IP 地址是主机 A ,这个报文就叫 ARP 响应报文。同时,主机 B 的 ARP 表记录主机 A 的映射关系,即主机 A 的 IP 地址和 MAC 地址的对应关系。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP响应

  1. 主机 C 也收到了 ARP 请求报文,但目的 IP 地址不是自己,所以不会进行响应。于是主机 C 添加主机 A 的映射关系到 ARP 表,并丢弃 ARP 请求报文。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP表

  1. 主机 A 收到 ARP 响应报文后,添加主机 B 的映射关系,同时用主机 B 的 MAC 地址做为目的地址封装成帧,并发送给主机 B 。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP获取MAC地址

如果每发送一个 IP 报文就要进行一次 ARP 请求,来确定 MAC 地址,那将会造成不必要的网络流量,通常的做法是用 ARP 表记录 IP 地址和 MAC 地址的映射关系。主机发送报文时,首先会查看它的 ARP 表,目的是为了确定是否是已知的设备 MAC 地址。如果有,就直接使用;如果没有,就发起 ARP 请求获取。不过,缓存是有一定期限的。ARP 表项在老化时间( aging time )内是有效的,如果老化时间内未被使用,表项就会被删除。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP缓存

ARP 表项分为动态 ARP 表项和静态 ARP 表项:

  • 动态 ARP 表项由 ARP 动态获取,因此在网络通信中,无需事先知道 MAC 地址,只要有 IP 地址即可。如果老化时间内未被使用,表项就会被自动删除。
  • 静态 ARP 表项是手工配置,不会老化。静态 ARP 表项的优先级高于动态 ARP 表项,可以将相应的动态 ARP 表项覆盖。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP表项类型

代理 ARP

ARP 广播报文会被路由器隔离,没有默认网关、网段不同的主机相互通信时,连接这两个网络的路由器可以响应这个 ARP 请求,这个过程叫做代理 ARP( Proxy ARP )。

36 张图详解 ARP:网络世界没有我,你哪也别想去

代理ARP

主机 A 与另一个网段的主机 B 通信,主机 A 直接发送 ARP 请求,解析主机 B 的 MAC 地址。运行了代理 ARP 的路由器收到 ARP 请求后,代替主机 A 在 20.0.0.0网段发出 ARP 请求,解析主机 B 的地址。

36 张图详解 ARP:网络世界没有我,你哪也别想去

代理ARP请求

主机 B 收到路由器发出的 ARP 请求,发出 ARP 响应报文,告知自己的 MAC 地址是 2222-2222-2222 。路由器收到 ARP 响应后,也向主机 A 发送 ARP 响应,但目的 MAC 地址是与 10.0.0.0 网段连接的端口 MAC 地址是 1010-1010-1010 。主机 A 收到报文后,在 ARP 表中添加 IP 地址是 20.0.0.1 和 MAC 地址是 1010-1010-1010 的映射表项。

36 张图详解 ARP:网络世界没有我,你哪也别想去

代理ARP响应

因此主机 A 会将所有要发送给主机 B 的数据发送给路由器,路由器再将其转发给主机 B 。反之亦然。

代理 ARP 功能屏蔽了分离的网络,主机不用修改 IP地址和子网掩码就可以和现有的网络互通。让用户使用起来,跟在同一个网络上一样。代理 ARP 使用在主机没有默认网络,或没有任何路由的网络上,通常是那些不支持设定子网掩码的老设备。但代理 ARP 会转发 ARP 广播报文,造成网络效率低,不适合用于大规模网络。

36 张图详解 ARP:网络世界没有我,你哪也别想去

代理ARP

RARP

RARP 是将 ARP 反过来,从设备 MAC 地址获取 IP 地址的一种协议。通常是打印机等小型嵌入式设备接入网络时会用得到。

36 张图详解 ARP:网络世界没有我,你哪也别想去

RARP

RARP 原理

使用 RARP 需要搭建一台 RARP 服务器,在服务器上注册设备的 MAC 地址及 IP 地址。

  1. 设备插电启动后,广播发送一个请求报文,希望获得 IP 地址应答。目的 MAC 地址是广播地址,源 MAC 地址是自己的物理地址。

36 张图详解 ARP:网络世界没有我,你哪也别想去

RARP请求

  1. RARP 服务器收到 IP 地址请求后,给设备分配一个 IP 地址,并通过响应报文发送给设备。设备收到响应报文后,把 RARP 服务器分配的 IP 地址设置成自己的 IP 地址。

36 张图详解 ARP:网络世界没有我,你哪也别想去

RARP响应

免费 ARP

免费 ARP 是一种特殊的 ARP 请求,它并非通过 IP 找到对应的 MAC 地址,而是当主机启动的时候,发送一个免费 ARP 请求,即请求自己的 IP 地址的 MAC 地址。

36 张图详解 ARP:网络世界没有我,你哪也别想去

免费ARP

与普通 ARP 请求报文的区别在于报文中的目标 IP 地址。普通 ARP 报文中的目标 IP 地址是其它主机的 IP 地址;而免费 ARP 的请求报文中,目标 IP 地址是自己的 IP 地址。

36 张图详解 ARP:网络世界没有我,你哪也别想去

广播免费ARP

免费 ARP 的作用:

  • 起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其它主机自己的 IP 地址和 MAC 地址。
  • 可用于检测 IP 地址冲突。当一台主机发送了免费 ARP 请求报文后,如果收到了 ARP 响应报文,则说明网络内已经存在使用该 IP 地址的主机。
  • 可用于更新其它主机的 ARP 缓存表。如果该主机更换了网卡,而其它主机的 ARP 缓存表仍然保留着原来的 MAC 地址。这时,通过免费的 ARP 数据包,更新其它主机的 ARP 缓存表。

ARP 报文

ARP 报文分为 ARP 请求报文和 ARP 应答报文,它们的报文格式相同,但是各个字段的取值不同。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP报文格式

ARP 报文中各个字段的含义如下。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ARP报文字段含义

网络实战

ARP 可以动态地进行地址解析,因此网络中的设备无需配置,只要有 IP 地址就可以自动获得 MAC 地址。但是静态 ARP 和代理 ARP 等是需要单独配置。下面我们代理 ARP 的实验。

代理 ARP

网络拓扑

36 张图详解 ARP:网络世界没有我,你哪也别想去

网络拓扑

实验要求

  • PC1 和 PC2 只配置 IP 地址和子网掩码;
  • RT(路由器)配置代理 ARP 功能,PC1 可以 ping 通 PC2 。

操作步骤

  1. PC1 、PC2 分别配置 IP 地址。

36 张图详解 ARP:网络世界没有我,你哪也别想去

PC配置

  1. RT 配置 IP 地址和代理 ARP 功能。

36 张图详解 ARP:网络世界没有我,你哪也别想去

RT配置

功能验证

配置完成后,下面就要进行验证,检查功能是否生效、配置是否正确。在 PC1 上 ping PC2 的 IP 地址,进行连通性测试。

36 张图详解 ARP:网络世界没有我,你哪也别想去

ping测试验证

还可以抓包查看完整的报文交互过程,同时验证下理论知识是否正确。

36 张图详解 ARP:网络世界没有我,你哪也别想去

抓包

原文链接:https://mp.weixin.qq.com/s/yh912ZVbnR_jmmPKL4hrxA

作者:Fox

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/60499.html

(0)

相关推荐