ARP与RARP协议

ARP(Address Resolution Protocol),即地址解析协议。是根据IP地址获取物理地址

的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上

的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地

址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以

节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上

的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实

性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,

使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态

对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

解析过程:
1.若A要知道B的mac地址,先判断自己的rap缓冲区中是否有B的ip和mac的映射,如果有,则直接得到B的mac地址,若没有,则发送rap广播请求包给该网络上的所有主机
2.该网络上所有主机收到请求包后打开传给自己的上层----网络层,网络层判断是否是给自己的信息(判断数据包中的目的IP是否和自己的IP一样),若不是,则丢弃,若是(也就是B收到了),则将A的amc地址填充到自己的arp缓冲区中(方便下次使用),并将自己的mac地址填充到响应包中发送给A
3.A收到响应包后就知道了B的mac地址,然后将这个mac地址填充到自己的arp缓冲区中
此外,若该网络中不存在B,即地址不可达,则A会收到一个地址不可达的ICMP包。ICMP(Internet控制报文协议)工作在网络层,用于传递差错信息,时间,回显等控制数据。

ARP与RARP协议

2、RARP:Reverse Address Resolution Protocol。即反向地址转换协议。

允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器,此机器就会存储起来以便日后使用。 RARP 可以使用于以太网、光纤分布式数据接口及令牌环 LAN

地址解析协议APR:是将“IP地址”解析成为“物理地址”

在每个主机的APR高速缓存中,都有一个从IP地址到硬件地址的映射表,这个表是经常更新的。当主机A要向本局域网主机B发送数据时,就查自己的表有无目的主机IP地址,若有,就在APR高速缓存中查出硬件地址,再将硬件地址写入MAC帧完成传输

逆地址解析协议RAPR:就是将“物理地址”解析为“IP地址”
对于只知道自己硬件地址的主机可以通过RARP协议知道自己的IP地址