ARP和RARP

        IP地址是指在软件中使用的抽象地址。不论是局域网还是广域网,发送和接收信息时,都依靠的是硬件地址。所以协议软件发送信息包之前,必须把IP地址翻译成对应的物理地址,这个过程称为地址解析(address resolution)。

        地址解析要考虑两种情况:

        1. 在到达最后目的网络之前,要把IP目的地址翻译成下一跳路由器的物理地址;

        2. 信息传输的最后一步,要反IP目的地址翻译成目的计算机的物理地址。

 

        主机的IP地址并不能让内核发送一帧数据给主机,内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。

        ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地趣之间提供动态映射。

 

        假设在某网络内,主机A欲解析主机B的地址IB。A首先广播一个ARP请求报文,请求网间地址为IB的主机回答其物理地址PB。网上所有主机(包括B)都应该收到该ARP请求,但只有B识别出自己的IB地址,并向A发送一个ARP响应,回答自己的物理地址PB。

        这种地址解析方式就是所谓的的动态联编。

        为什么不广播数据本身呢?这涉及到传输开销,广播数据的开销远远高于直接传输数据的开销:每广播一个报文,网上所有的主机都要对它进行处理。

 

        ARP报文的格式如下所示:

ARP和RARP_第1张图片

        1. 硬件类型字段表示硬件地址的类型,它的值为1表示以太网地址;

        2. 协议类型字段表示要映射的协议地址类型,它的值为0x0800即表示IP地址,它的值与数据报的以太网数据帧中的类型字段的值相同;

        3. 硬件地址长度,硬件地址的长度;

        4. 协议地址长度,协议地址的长度;

        5. 操作字段指出四种操作类型,它们是ARP请求(值为1)、ARP回答(值为2)、RARP请求(值为3)、RARP回答(值为4);

        6. 发送端硬件地址,以太网地址;

        7. 发送端协议地址,IP地址;

        8. 目的端硬件地址;

        9. 目的端协议地址。

 

        地址解析采用的技术就是查表,查表地址解析技术,要求每一个物理网络都保存本网络中计算机IP地址与物理地址的对应表,通过查表就可以实现地址解析:

 

 

IP地址

网卡硬件编码

 

 
   

 

        RARP与ARP相反, RARP报文与ARP类似,区别在于协议类型的值为0x8035。

        对于ARP,请求以广播方式发送,而RARP一般是单播传送的。

 

你可能感兴趣的:(ARP,RARP)