逆向地址解析协议(Inverse ARP)的主要功能是求解每条虚电路连接的对端设备的IP地址。
如果知道了某条虚电路连接的对端设备的协议地址,在本地就可以生成对端IP地址与DLCI的映射(MAP),从而避免手工配置地址映射。
它的基本过程是:
1. 每当发现一条新的虚电路时,如果本地接口上已配置了协议地址,Inverse ARP就在该虚电路上发送Inverse ARP请求报文给对端。该请求报文包含有本地的协议地址。对端设备收到该请求时,可以获得本地的协议地址,从而生成地址映射,并发送Inverse ARP响应报文进行响应,这样本地同样生成地址映射。
2. 如果已经手工配置了静态MAP或已经建立了动态MAP,则无论该静态MAP中的对端地址正确与否,都不会在该虚电路上发送Inverse ARP请求报文给对端,只有在没有MAP的情况下才会向对端发送Inverse ARP请求报文。
3. 如果在Inverse ARP请求报文的接收端发现,对端的协议地址与本地配置的MAP中的协议地址相同,则不会生成该动态MAP。
Inverse ARP报文的格式与标准的ARP报文格式相同,如表1所示,其中不包含帧中继帧头。
|
表1 InverseARP报文格式 |
||
|
序号 |
Type |
Length |
|
1 |
Hardware type |
16bits |
|
2 |
Protocol type |
16bits |
|
3 |
Byte length of each hardware address (n) |
8bits |
|
4 |
Byte length of each Protocol address (m) |
8bits |
|
5 |
Operation code |
16bits |
|
6 |
source hardware address |
n Bytes |
|
7 |
source Protocol address |
m Bytes |
|
8 |
target hardware address |
n Bytes |
|
9 |
target Protocol address |
m Bytes |
Hardware type分配给帧中继的值为0x000f;Protocol type取决于请求哪种协议类型的协议地址,IP为0x0800(在没有配置TCP/IP头压缩的情况下),IPX为0x8137。
Operation code指出消息的类型,请求(REQUEST)还是响应(REPLY)。如果是INARP REQUEST,则Operation code值为0x08; 如果是INARP REPLY ,则Operation code值为0x09。
Hardware address和Protocol address的长度取决于INARP运行的环境。在帧中继上,hardware address的长度在2到4之间(Q.922地址),Protocol address的长度为4。





