ARP——地址解析协议

ARP——根据IP地址查询MAC地址

当一台设备需要发现另一台设备的数据链路标识符(MAC地址)时,建立一个ARP请求数据包,数据包中包括目标设备的IPv4地址以及请求设备的源点IPv4地址和数据链路标识符。ARP请求数据包封装在数据帧中,其中带有作为源的发送者的MAC地址和作为目标的广播地址。

特别注意:请求数据中的目标MAC地址为全0,二层帧头中的目的MAC地址为全1(广播地址)

数据链路上所有其他设备都可以收到这个ARP请求数据包,并且检测帧内封装的数据包,除了目标主机可以识别此数据包,其他所有设备都会丢弃此数据包。同时,目标主机将向源地址发送ARP响应数据包 。
在这里插入图片描述

ARP数据包格式 在这里插入图片描述

  • 硬件类型——Hardware Type
    指定硬件的类型
编号硬件类型
1以太网
3X.25
4Proteon ProNET Token Ring
6IEEE 802 网络
7ARCnet
11Apple LocalTalk
14SMDS
15帧中继
16异步传输模式(ATM)
17高速数据链路控制(HDLC)
18光纤信道
19异步传输模式(ATM)
20串行链路
  • 协议类型——Protocol Type
    指定发送者映射到数据链路标识符的网络层协议的类型
    IP对应0x0800
  • 硬件地址长度——Hardware Address Length
    指定数据链路标识符的长度
    单位为八位组(1Byte)
    MAC地址的长度为6
  • 协议地址长度——Protocol Address Length
    指定网络层地址的长度
    单位是八位组(1Byte)
    IPv4地址的长度为4
  • 操作——Operation
    指明数据包的用途
编号类型
1ARP请求
2ARP响应
3反向ARP请求
4反向ARP请求响应
8反转ARP请求
9反转ARP响应

代理ARP

也称为混杂ARP,代理ARP被路由器作为向主机表明自身可用的一种手段。

列如主机192.168.1.1/24需要向192.168.2.1/24发送数据包,但是没有配置缺省网关信息,故而不知道如何到达路由器。
此时向192.168.2.1发送一个ARP请求,本地路由器收到这一请求,并且本地路由器知道如何到达192.168.2.0网络,路由器讲话回复请求,把自己的数据链路标识作为ARP回复数据包中的硬件地址。
实际上,路由器欺骗了本地主机,让他认为路由器的接口就是192.168.2.1的接口,最终所有发向192.168.2.1的数据包都被发送到路由器。

另外一种情况——实现子网划分的透明性
在这里插入图片描述
这里特别关注地址的掩码,路由器配置的掩码是28位,主机配置的是标准的C类地址掩码(24位)
主机并不知道子网的存在,当主机192.168.20.66想发送数据包到192.168.20.20时,首先发送ARP请求,路由器识别出数据包的目的地址属于另外一个子网,因而向请求主机回复自己的硬件地址
这种代理ARP使得子网化网路拓扑结构相对主机透明。
在这里插入图片描述
当多个IPv4地址映射到单一MAC标识符时,说明正在是使用代理ARP

无敌ARP

主机偶尔会使用自己的IPv4地址作为目标地址发送ARP请求,这种ARP请求称为无敌ARP

  • 无敌ARP可以用于检测重复地址
    一台设备可以向自己的IPv4地址发送ARP请求,如果收到ARP相应则表明存在重复地址
  • 无敌ARP可以用于通告一个新的数据链路标识符
    当一台设备收到一个ARP请求,如果ARP高速缓存中已有发送者的IPv4地址,那么与此IPv4地址相对应的硬件地址将会被发送者新的硬件地址更新
  • 某个子网内运行热备份路由协议(HSRP协议)的路由器如果从其他路由器变成主路由器,通过发送一个无敌ARP来更新子网主机上的ARP缓存

现实中很多 情况不存在无敌ARP功能

反向ARP

实现IPv4地址到已知硬件地址的映射(根据MAC地址查IP地址)

RARP在很大程度上正在被动态主机配置协议(DHCP)和自举协议(BOOTP)的扩展协议所替代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vision狂想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值