arp是什么 ,一文告诉你arp的含义


地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源(来自百度百科)。

(注意:ARP是以太网技术,其他类型网络可不用ARP)

上面的ARP介绍对于网络小白来说可能还会有难度,这样比喻吧:你给你的同学寄快递,你知道他的姓名,但你现在还不知道他的地址。你在QQ或者微信群里问:XX你地址是多少?XX就会回复你他的地址是哪。你把他的姓名和地址记录在你的便笺上,等下就根据记录的信息给他寄快递。

这里的收件人姓名相当于IP地址,收件人地址相当于MAC地址。记录信息的便笺相当于ARP缓存。ARP工作的原理就像这个过程:知道姓名,询问收件地址,根据记录的信息发邮件。很容易理解吧。(只是大致比喻,不要叫真)

从上面的介绍就已经暴露出了一个很严重的问题,如果我冒充你同学告诉你地址,你会不会把东西寄我这里?这个问题今天先不讨论,下次再说。

「协议」ARP工作原理的简单介绍

网络拓扑

如上图所示,3台路由器在一个局域网里,都开启debug arp,此时如果R1给R2发数据包(Ping),我们抓包观察。

「协议」ARP工作原理的简单介绍

R1的debug信息

「协议」ARP工作原理的简单介绍

R2的debug信息

「协议」ARP工作原理的简单介绍

R3的debug信息

「协议」ARP工作原理的简单介绍

R1上debug显示,自己发送的源IP是1.1.1.1,MAC是cc01.227c.0000,目的IP是1.1.1.2,但目是0000.0000.0000。之后收到回复:回复的源IP是1.1.1.2,MAC地址是cc02.02ec.0000。此时在R1上查看ARP缓存:

R1的ARP缓存

R2上debug显示为收到请求并做出回复。R3上debug显示仅仅收到请求,未作出任何回复。

再来观察wireshark抓包情况:直接在Filter中输入arp,因为我们只关注arp协议的包:

「协议」ARP工作原理的简单介绍

抓包

上图显示了arp请求使用了广播发送,问谁有1.1.1.2的mac地址,告诉我(1.1.1.1),1.1.1.2则使用了单播进行回复。

「协议」ARP工作原理的简单介绍

展开看:

ARP广播请求

「协议」ARP工作原理的简单介绍

ARP单播应答

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论