技术篇|地址解析协议(ARP )

为什么要用ARP?

主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

举个例子

你去找某个小区找人(赵某),但是你不知道他的住址,于是你便找人就问赵某是住在哪里,于是你花了很久的时间才找到,他家的地址也被你记在你的脑海里,那你下次来找是不是只要根据上次他家的地址就可以找到他,不需要再到处问人赵某住在哪里,节约了时间成本。

相似的道理

在一个广播域中主机A访问主机B,因为不知道主机B的mac地址所以进行广播,知道主机B收到之后才将mac地址告诉你,呢主机A下次访问主机B就不需要广播了,既节省时间,又节省带宽资源。

它具体是如何工作呢?

如上图

主机A的IP地址为172.20.1.1,MAC地址为0A-11-22-33-44-01;

主机B的IP地址为172.20.1.2,MAC地址为08-00-20-74-CE-EC;

步骤1

当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(172.20.1.2)解析成主机B的MAC地址,但是主机A在ARP缓存中没有找到映射,它将询问172.20.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

步骤2

主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。

步骤3

主机B将包含其MAC地址的ARP回复消息直接发送回主机A。

步骤4

当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。

它的工作媒介?

报文

关于报文里包含的内容大致介绍一下:

硬件类型:

发送者的硬件接口类型,以太网的值为1;

协议类型:

发送者的高层协议类型,IP为0800(16进制)

硬件地址长度和协议长度:

代表硬件地址和高层协议地址的长度,

操作类型:

代表报文的类型,

ARP请求为1

ARP响应为2

RARP请求为3

RARP响应为4

扩展

代理ARP

主机A需要向主机B发送数据包,但是它没有配置缺省网关信息,因而也就不知道如何到达路由器。这时它可以向主机B发送一个ARP请求;本地路由器收到这一请求,并且路由器知道如何到达主机B的 网络,因此路由器将回复以上请求,其中把自己的数据链路标识符作为 ARP 回复数据包。事实上,路由器欺骗了本地的主机,让主机A认为路由器的接口就是连接主机B的接口。最终所有发向主机B的数据包都被送往路由器。

无故ARP和反向ARP

无故 ARP 

也称免费ARP,主机使用自己的 IPv4 地址作为目标地址发送 ARP 请求。

作用: 

(1)检查重复地址(如果收到ARP响应表明存在重复地址)。

(2)用于通告一个新的数据链路标识。当一个设备收到一个ARP请求时,发现ARP缓冲区中已有发送者的IP地址,则更新IP地址的MAC地址条目。

反向ARP

反向ARP是用于把物理地址(MAC地址)转换到对应的 IP 地址

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值