zoukankan      html  css  js  c++  java
  • ARP及RARP简介

    1、概念

    ARP(Address Resolution Protocol) 地址解析协议

    RARP(Reverse Address Resolution Protocol) 反向地址解析协议

    2、ARP包结构(RARP包结构和ARP包结构相同)

     

    包结构解释:

    硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1;

    协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制);
    硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;

    操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;

    发送方的硬件地址(0-3字节):源主机硬件地址的前4个字节;

    发送方的硬件地址(4-5字节):源主机硬件地址的后2个字节;

    源IP地址(0-1字节):源主机IP的前2个字节;

    源IP地址(2-3字节):源主机IP的后2个字节;

    目标硬件地址(0-1字节):目标硬件地址的前2个字节;

    目标硬件地址(2-5字节):目标硬件地址的后4个字节;

    目标IP地址(0-3字节):目标主机的IP地址。

     

    3、ARP及RARP工作原理

    ARP的工作原理如下:

    1. 首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。

    2. 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

    3. 网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址; 

    4.源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

     

    RARP的工作原理:

    1. 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;

    2. 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;

    3. 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;

    4. 如果不存在,RARP服务器对此不做任何的响应;

    5. 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/Evil-Rebe/p/5049654.html
Copyright © 2011-2022 走看看