ARP、RARP、免费ARP、代理ARP

ARP协议:

ARP是已知对方IP地址,请求对方MAC地址的一种地址解释协议,其工作原理如下:

1.在封装数据包时如果ARP缓存表中没有找到目标IP地址,主机A就会在本地网络上发送一个ARP广播,在此广播包中,声明自己的MAC地址及源、目标IP地址,请求目标IP主机回复其MAC地址;

2.本地网络上其他主机收到后并不作ARP响应,目标主机B接收到该广播后,更新自己的ARP缓存,同时对主机A做ARP回应:“我的MAC地址是00-aa-00-62-c6-09”;

3.主机A收到主机B的ARP回应后更新自己的ARP缓存,就知道主机B的MAC地址了,它就可以向主机B发送信息了。ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

 

RARP(反向地址转换协议):

用于一种特殊情况,如果站点被初始化后,只有自己的物理网络地址而没有IP地址,则他可以通过RARP协议,并发出广播请求,征求自己的IP地址,而RARP服务器则没有负责回答。这样无IP的站点可以通过RARP协议取得自己的IP地址,这个地址在下一次系统重新开始以前都有效,不用连续广播请求。RARP广泛用于获取无盘工作站的IP地址。

RARP的工作原理:   

1. 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;   

2. 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;  

3. 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;   

4. 如果不存在,RARP服务器对此不做任何的响应;   

5. 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。   

6.如果在第1-3中被ARP病毒攻击,则服务器做出的反映就会被占用,源主机同样得不到RARP服务器的响应信息,此时并不是服务器没有响应而是服务器返回的源主机的IP被占用。

 

免费ARP:

    主要用于检测网络中IP地址是否冲突,它是一种功能而非协议。当设备重启或代理ARP功能开启时就会向本地网络主动发免费ARP以检测IP地址是否冲突。免费ARP是以源、目IP都是自己,源MAC也是自己,目标MAC是广播,即向自己所在网络请求自己的MAC地址,当网络中如果有其他主机使用了与自己相同的IP地址,他就会给主机一个ARP回复,此时如果发免费ARP的主机收到了回复就证明自己所用的IP地址有冲突,如果没有收到回复则说明没有IP地址冲突。

代理ARP:

   代理ARP是ARP协议的一个变种。 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个主机作为对另一个主机ARP进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个网段内的ARP增加,最重要的就是无法对网络拓扑进行网络概括。代理ARP的使用一般是使用在没有配置默认网关和路由策略的网络上的。

你可能感兴趣的:(TCP/IP协议)