ARP

一、原理   

  IP数据包常通过以太网发送。以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议,通常ARP被称为2.5层协议。

    ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,以一个含有该IP和以太网地址对的数据包作为单播应答。发送者将这个地址对存放在ARP解析表中。

    


图1 以太网上的ARP报文格式 

     图1是一个用作IP到以太网地址转换的ARP报文的例子。在图中每一行为32位,也就是4个八位组表示。

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

协议类型字段指明了发送方提供的高层协议类型,IP为0806(16进制)。

硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。

操作字段用来表示这个报文的目的,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。

     当发出ARP请求时,发送方填好发送方首部和发送方IP地址,还要填写目标IP地址。当目标机器收到这个ARP广播包时,就会在响应报文中填上自己的48位主机地址。

    如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上, ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。


清默网络CCIE Team   技术群:137962123          

电话0551-5436206

二、 ARP使用举例

   

在win7下,主机的arp表

 

路由器的arp表:

 

R1

Ping  2.2.2.2  source  1.1.1.1

 

Arp广播请求报文的具体内容:

Arp单播回应报文

 

在GNS中,路由器loopback口是没有mac地址的,但接口自动开启arp代理,因此icmp包中2.2.2.2对应的mac地址是12.12.12.2的mac地址,

 

 清默网络CCIE Team              技术群:137962123          

 电话0551-5436206