ARP:地址解析协议
当一台主机把以太网数据帧发给同一局域网的另外一台主机时,是根据48bit的以太网地址来确定目的接口,而不会检查IP地址。所以ARP为从IP地址到对应的硬件地址之间提供了动态映射。也就是说ARP是逻辑IP地址和对应物理硬件地址之间的翻译。
ARP高速缓存
每个主机都有一个ARP高速缓存,存放了最近IP地址到硬件地址之间的映射记录。可以通过arp命令来查看ARP高速缓存。
ARP的分组格式
屏幕快照 2019-05-12 下午6.20.59.png- 目的地址全为1的特殊地址是广播地址,电缆上所有以太网接口都要接受广播的数据帧。
ARP代理
如果ARP请求从一个网络的主机发往另一个网络的主机,那么连接这两个网络的路由器就可以回答该请求,这就是ARP代理。
免费ARP
指主机发送ARP查找自己的IP地址。可以有两个方面的作用:
-
一台主机可以通过免费ARP来确定同一个网络下的别的主机是否设置了相同的IP地址。因为如果收到别的主机的回答,就会在终点日志上产生错误消息。
-
通过免费ARP来使其他主机高速缓存中的发送ARP主机的旧硬件硬件地址进行更新。在ARP协议中,如果主机收到某个IP地址的ARP请求,而且它已经在高速缓存中了,那么就要用ARP请求中的发送端硬件地址来对高速缓存中的内容进行更新。
(应用实例:可以通过发送含有备份硬件地址和故障服务器IP地址的免费ARP请求,使备份文件服务器可以顺利地接替故障服务器进行工作。这需要所有不同类型的客户端都要有正确的ARP协议实现。)
RARP:逆地址解析协议
RARP协议是许多无盘系统在引导时用来获取IP地址的。
具有磁盘的系统引导的时候,是从磁盘上的配置文件里读取IP地址的。而无磁盘的系统是从接口卡上读取这个唯一的硬件地址,然后发送一帧广播的RARP请求数据,等待某个主机相应该无盘系统的IP地址。
RARP服务器的设计
-
服务器要为多个主机提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中,由于内核一般不读取和分析磁盘文件。因此RARP服务器的功能就得由用户进程来提供。
-
RARP请求是作为一个特殊类型的以太网数据帧来传送的。所以RARP服务器必须能支持发送和接受这些类型的以太网数据帧。而且发送和接受这些数据帧和系统有关,因此RARP服务器的实现是和系统绑定在一起的。并不是所有的TCP/IP实现都提供RARP服务器。
-
RARP请求是在硬件层上进行的广播。一般会在一个网络中提供多个RARP服务器,让无盘系统在RARP服务器关机的时候也能引导。但当服务器增加,每个服务器都对每个RARP请求发送应答,那么网络流量也随之增加。发送请求的系统一般采用最先收到的RARP应答。但也有可能每个RARP服务器同时应答,这样可能会发生以太网冲突。
网友评论