APIPA(Automatic Private IP Addressing,自动专用IP寻址)
APIPA
APIPA(Automatic Private IP Addressing,自动专用IP寻址),是一个DHCP故障转移机制。当DHCP服务器出故障时, APIPA在169.254.0.1到 169.254.255.254的私有空间内分配地址,所有设备使用默认的网络掩码255.255.0.0。客户机调整它们的地址使用它们在使用ARP的局域网中是唯一的。APIPA可以为没有DHCP服务器的单网段网络提供自动配置TCP/IP协议的功能。
默认情况下,运行Windows
98/Me/2000/XP的计算机首先尝试与网络中的DHCP服务器进行联系,以便从DHCP服务器上获得自己的IP地址等信息,并对TCP/IP协议进行配置。如果无法建立与DHCP服务器的连接,客户端与本地
DHCP服务器通讯失败,无法更新它的租约,则计算机改为使用APIPA自动寻址方式,并自动配置TCP/IP协议。它将使用 APIPA分配的地址,以后每隔5分钟尝试与外界的DHCP服务器联系一次,直到它可以与 DHCP 服务器通讯为止。当这个DHCP服务器再次能为请求服务时,客户机将自动更新他们的地址。apipa存在于所有流行的各种版本的windows系统中。
功能描述
对于Windows2000,如果DHCP服务器不可用,则DHCP客户机在启动时自动配置IP地址和子网掩码。称之为“IP自动配置”的功能对于小型专用网络(如小型商用办公室或家用网络环境)上的客户机可能非常有用。
如果客户机被配置为使用DHCP服务器(而非使用IP地址和其他参数手动配置),则DHCP客户服务在计算机每次启动时应答。对于Windows2000,DHCP客户服务通过两个步骤的过程用IP地址和其他配置信息配置客户机:
DHCP客户机尝试定位DHCP服务器并从中获得配置。
如果找不到DHCP服务器,则DHCP客户机使用从Microsoft保留的B类网络(地址类型为169.254.0.0,子网掩码为255.255.0.0)中选择的地址自动配置其IP地址和子网掩码。
DHCP客户机通过使用免费ARP测试地址冲突,以确保它选择的IP地址未在网络上使用。如果发现冲突,则客户机会选择试用另一IP地址。对于每个地址冲突,客户机将重试最多10个地址的自动配置。
DHCP客户机在未使用的169.254.0.0网络范围中成功选择了地址后,将配置与该地址的接口。
客户机继续在后台每隔5分钟检查一次DHCP服务器。如果随后发现DHCP服务器,则客户机放弃它的自动配置信息。DHCP客户机然后使用由DHCP服务器提供的地址(以及它提供的任何其他DHCP选项信息)来更新其IP配置设置。
如果DHCP客户机以前从DHCP服务器获得租约,则事件按照下列修改的顺序出现:
如果客户机租约在启动时仍有效(未过期),客户机将尝试通过DHCP服务器续订其租约。
如果在续订尝试期间,客户机不能找到任何DHCP服务器,则它会尝试用Ping命令检测在租约中列出的默认网关。DHCP客户机根据Ping失败还是成功进行如下工作:
如果默认网关的Ping操作成功,则DHCP客户机假定它仍然位于获得当前租约的相同网络上,并继续使用租约。
在默认情况下,当50%的指派租约时间期满时,客户机随后在后台尝试续订其租约。
如果默认网关的Ping请求失败,则客户机认为它已移动到不能使用DHCP服务的网络,如家庭网络。
客户机然后如前面所述自动配置其IP地址。自动配置客户机之后,它会继续在后台每隔5分钟定位DHCP服务器并获得租约。
如果运行Microsoft Windows 98或更新Windows版本的计算机没有配置静态IP地址,并且也无法从动态主机配置协议(DHCP)服务器获取IP地址,那么它将使用自动专用IP地址(APIPA)随机分配的一个范围在169.254.1.0到169.254.254.255的链路本地地址。APIPA描述在RFC 3330(http://tools.ietf.org/html/rfc3330)和RFC 3927(http://tools.ietf.org/html/rfc3927)中,亦称作IPv4链路本地(IPv4 LL)、零配置网络或Zeroconf。
APIPA使得在ad-hoc(对等)无线网络这样的局域网上的计算机可以互相通信而不需要配置DHCP服务器或静态IP地址。如果在提供有DHCP服务器的网络上计算机的IP地址是APIPA地址,就意味着该计算机无法联系上DHCP服务器。该计算机可能没有正确接入网络或是DHCP服务器掉线。
注意APIPA地址永远不会有默认网关,因为APIPA设计为只在单一子网上工作。
使用APIPA IP地址的计算机会定期尝试与DHCP服务器联系,以免DHCP服务器在客户端计算机启动后才联机上线。
如果这篇文章帮助到了你,你可以请作者喝一杯咖啡
![](https://img2020.cnblogs.com/blog/938105/202010/938105-20201013171833350-276632012.png)