mac地址厂商查询_二、地址解析协议(ARP)

49be5ee7f915cd5992d35415d1f3cad3.png

ARP

沿独立的数据链路传送数据包时,需要把数据包封装在帧里面,并且使用数据链路标识(类似于MAC地址)让帧可以从链路的源点到达目的地。那么问题来了,数据链路上的设备需要一种方法发现邻居的数据链路标识,以便将数据帧传送到正确的目的地。

这种方法就是地址解析协议(Adress Resolution Protocol),简称ARP,它是运作在IPv4上面的,它的工作原理是:当A设备需要得到B设备的数据链路标识(MAC地址)的时候,这台A设备会发送一个ARP请求的数据包,这个数据包里面包括了:源IP:A设备的IPv4地址;目的IP:B设备的IPv4地址;源MAC:A设备的数据链路标识符(MAC地址);目的MAC:作为目标的广播地址(MAC地址为全F的广播地址)。然后ARP请求数据包被封装在数据帧中。在这个数据链路上的所有设备都将接收到该帧,发现此数据包的目的IP地址为B后,除了B以外的设备都将丢弃此数据包,B设备将自己的MAC地址存入ARP请求的数据包中,然后发送一个ARP回复数据包,这个数据包里面包括了:源IP:B设备的IPv4地址;目的IP:A设备的IPv4地址;源MAC:B设备的MAC地址;目的MAC:A设备的MAC地址。最后,A设备得到了B设备的数据链路标识(MAC地址)。

94f9d018ecd5396abe9494c6ca043f4e.png
ARP数据包格式

硬件类型(Hardware Type):指定了硬件的类型,详情请见RFC 1700,不过这里面的算是很老的数据了,现在如果需要查询的话,在http://www.iana.org中能够查询的到。

协议类型(Protocol Type):指定了发送者映射到数据链路标识符的网络层协议的类型;IP对应的是0x8000。

硬件地址长度(Hardware Adress Length):指定了数据链路标识符的长度,单位是八位组。MAC地址的长度为6。

协议地址长度(Protocol Adress Length):指定了网络层地址的长度,单位是八位组。IPv4地址的长度为4。

操作(Operating):指明了一个数据包是ARP请求(1)还是ARP相应(2)。这里还可以发现有其他的值表明ARP数据包的其他用途。如反向ARP请求(3)、反向ARP响应(4)、反转ARP请求(8)、反转ARP相应(9)。

最后20个八位组就是我上面原理所提及到的发送者和目标机的数据链路标识符(MAC地址)和IPv4地址。

代理ARP(Proxy ARP)

代理ARP是一种技术,通过该技术,给定网络上的代理设备应答不在该网络上的IP地址的ARP查询。代理知道流量目的地的位置,并提供自己的MAC地址作为(表面上是最终的)目的地。然后,指向代理地址的流量通常由代理通过另一个接口或通过隧道路由到预期目的地。

接下来,我给大家举一个例子,方便大家加深对代理ARP的理解,主机192.168.1.1/24需要向主机192.168.2.2/24发送数据包,但是它没有配置缺省网关信息,因此也就不知道如何到达路由器。这时它可以向192.168.2.2/24发送一个ARP请求;本地路由器收到这一请求,并且路由器知道如何到达网络192.168.2.0,因此路由器将回复以上请求,其中把自己的数据链路标识符作为ARP回复数据包中的硬件地址。事实上,路由器欺骗了本地主机,让它以为路由器的接口就是192.168.2.2的接口。最终所有发向192.168.2.2的数据包都被送往路由器。

反向ARP(Reverse Address Resolution Protocol

虽然说反向ARP越来越被替代了,动态主机配置协议(DHCP)以及自举协议(BOOTP)的扩展协议所替代,这两种协议都可以提供IPv4地址以外的更多信息,而且还可以跨越本地数据链路。但是,我们还是要了解一下反向ARP的原理。

反向ARP(RARP)可以实现IPv4地址到已知硬件地址的映射。某些设备,如无盘工作站在启动时可能不知道自己启动时的IPv4地址。嵌入这些设备固件中的RARP程序可以允许他们发送ARP请求,其中硬件地址为设备的编入地址。RARP服务器将会向这些设备回复相应的IPv4地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值