首页 理论教育ARP与RARP网络协议局域网组网技术

ARP与RARP网络协议局域网组网技术

【摘要】:地址解析协议和反向地址解析协议都是特定网络的标准协议。本节将对ARP和RARP的相关内容进行详细介绍。同一网络上的RARP服务器就会根据RARP请求中的物理地址为该工作站分配一个IP地址,生成一个RARP响应包发送回去。RARP数据包和ARP数据包格式几乎相同。在网络上有多个RARP服务器的情况下,RARP请求只使用它的广播RARP请求所接收到的第一个RARP应答,而丢弃所有其他应答。

地址解析协议(ARP)和反向地址解析协议(RARP)都是特定网络的标准协议。ARP协议负责把IP地址转换为物理地址,在RFC826中对它进行描述。而RARP协议则是把物理地址转换为IP地址,在RFC903中对它进行描述。本节将对ARP和RARP的相关内容进行详细介绍。

1.地址解析

在一个单独的物理网络上,通过物理硬件地址识别网络上的各个主机。IP地址以符号地址的形式对目的主机进行编址。当这样的一个协议想要把一个数据报发送到目的IP地址时,设备驱动程序将不能理解这个目的IP地址。因此,必须提供这样一个模块,它能将IP地址转换为目的主机的物理地址。通常将一台计算机的IP地址转换为物理地址的过程称为地址解析。

地址解析也叫地址之间的映射,它包括两个方面的内容:一种是从IP地址到物理地址的映射;另一种是从物理地址到IP地址的映射。关于这两种地址的映射,TCP/IP专门提供了两个协议:地址解析协议(ARP),用于从IP地址到物理地址的映射;反向地址解析协议(RARP),用于从物理地址到IP地址的映射。

2.ARP

实现从IP地址到物理地址的映射是非常重要的,任何一次从IP层以上(包括IP层)发起的数据传输都使用IP地址,一旦使用IP地址,必然涉及这种映射,否则物理网络不能识别地址信息,无法进行数据传输。

IP地址到物理地址的映射有表格方式和非表格方式两种方式。

表格方式是事先在各主机中建立一张IP地址、物理地址映射表。这种方法很简单,但是映射表需要人工建立及人工维护,由于人的速度太慢,因此该方式不适应大规模和长距离网络或映射关系变化频繁的网络。

非表格方式采用全自动技术,地址映射完全由机器自动完成。根据物理地址类型的不同,非表格方式又分为两种,即直接映射和动态联编。

(1)直接映射。

物理地址可以分为固定物理地址和可自由配置的物理地址两类,对于可自由配置的物理地址,经过特意配置后,可以将它编入IP地址码中,这样,物理地址的解析就变得非常简单,即将它从IP地址的主机号部分取出来便是,这种方式就是直接映射。直接映射直截了当,但适用范围有限,当IP地址中主机号部分容纳不下物理地址时,这种方式就会失去作用。另外,像以太网这样的物理网络,其物理地址是固定的,一旦网络接口更换,物理地址随之改变,采用直接映射也会有问题。

(2)动态联编。

像以太网这样的物理网络具备广播能力。针对这种具备广播能力、物理地址固定的网络,TCP/IP设计了一种巧妙的动态联编方式进行地址解析,并制定了相应标准,这就是ARP。动态联编ARP的原理是:在广播型网络上,一台计算机A欲解析另一台计算机B的IP地址BP,计算机A首先广播一个ARP请求报文,请求IP地址为BP的计算机回答其物理地址。网上所有主机都将收到该ARP请求,但只有B识别出自己的IP地址,并做出应答,向A发回一个ARP响应,回答自己的IP地址。这种解析方式就是动态联编。

为提高效率,ARP使用了高速缓存技术,在每台使用ARP的主机中,都保留了一个专用的内存区(即高速缓存),存放最近获得的IP地址——物理地址联编。一收到ARP应答,主机就将信宿机的IP地址和物理地址存入缓存。欲发送报文时,首先去缓存中查找相应联编,若找不到,再利用ARP进行地址解析。这样就不必每发一个报文都要事先进行动态联编。实验表明,由于多数网络通信都需要支持发送多个报文,所以高速缓存大大提高了ARP的效率。

3.RARP

RARP可以实现物理地址到IP地址的转换。无盘工作站在启动时,只知道自己的物理地址,而不知道自己的IP地址。它首先使用RARP得到自己的IP地址,然后才能和服务器通信。

一台无盘工作站启动时,首先以广播方式发出RARP请求。同一网络上的RARP服务器就会根据RARP请求中的物理地址为该工作站分配一个IP地址,生成一个RARP响应包发送回去。RARP数据包和ARP数据包格式几乎相同。唯一的差别在于RARP请求包是由发送者填好源端物理地址,而源端IP地址为空(需要查询)。在同一个子网上的RARP服务器接收到请求后,填入相应的IP地址,然后发送回源工作站。

RARP与ARP相比,有如下几个方面的改变:(www.chuimin.cn)

ARP只假定所有主机知道它们各自的硬件地址和协议地址之间的映射。RARP要求网络上的一个或者多个主机来维护硬件地址和协议地址间映射的数据,以便它们能够回答客户主机的请求。

由于受限于这个数据库能够采用的最大容量,服务器的部分功能通常在适配器的微代码处实现,在微代码中有选择地实现小型缓存。然后,微代码部分仅仅负责RARP帧的接收和传输,RARP映射本身由服务器软件处理,作为主机中的一个普通进程运行。

这个数据库的性质还需要用某些软件来人工建立和更新数据库。

在网络上有多个RARP服务器的情况下,RARP请求只使用它的广播RARP请求所接收到的第一个RARP应答,而丢弃所有其他应答。

习题1

一、填空题

1.IP地址192.1.1.2属于_____类地址,其默认子网掩码为_____。

2.当前使用的IP协议的版本是,_____按照这个版本,IP地址是,_____其中的C类网络最多可以有_____个主机。

3._____负责把IP地址转换为物理地址。

4._____是IP层中的协议,也被作为IP数据报的数据来封装,加上数据报的首部,组成IP数据报发送出去。

二、简答题

1.什么是IP地址?假设有一个IP地址:200.96.96.8,请说出各部分的含义。

2.IP地址分为几类?分别是哪几类?每一类IP地址的网络地址范围是什么?

3.某IP地址为129.192.252.64,子网掩码为255.255.255.192,求它的网络地址和主机地址。

4.某单位申请到网络地址196.88.88.0。该单位有5个部门,而拥有主机数量最多的部门有30台主机。请选择子网掩码,使得每个部门分配到一个子网地址,并写出每个部门的子网号、网络地址、第一个可用地址、最后一个可用地址、广播地址。

5.试比较无分类编址和分类IP地址的区别,并说明无分类编址带来的好处。

6.ARP高速缓存的功能是什么?