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服务器在客户端计算机启动后才联机上线。

 

APIPA(Automatic Private IP Addressing,自动专用IP寻址)的更多相关文章

  1. linux ip地址自动获取,ip地址…

    linux ip地址自动获取,ip地址手动设置(图文解释) 2011-04-19 16:19:31| 分类: 服务器(appache/n | 标签: |字号大中小 订阅 linux ip地址自动获取( ...

  2. 使用TaskManager爬取2万条代理IP实现自动投票功能

    话说某天心血来潮想到一个问题,朋友圈里面经常有人发投票链接,让帮忙给XX投票,以前呢会很自觉打开链接帮忙投一票.可是这种事做多了就会考虑能不能使用工具来进行投票呢,身为一名程序猿决定研究解决这个问题. ...

  3. 自动更改IP地址反爬虫封锁,支持多线程(转)

    8年多爬虫经验的人告诉你,国内ADSL是王道,多申请些线路,分布在多个不同的电信机房,能跨省跨市更好,我这里写好的断线重拨组件,你可以直接使用. ADSL拨号上网使用动态IP地址,每一次拨号得到的IP ...

  4. IP Addressing

    IP Addressing(处理) Each host on Internet has unique 32 bit IP address Each address has two parts: net ...

  5. C# 设置IP地址及设置自动获取IP

    原文:C# 设置IP地址及设置自动获取IP </pre><pre name="code" class="csharp">1.添加引用&q ...

  6. 自动填充IP地址

    在windows下的DOS窗口中 要利用Netsh命令,进入到DOS下的网络配置状态,就能实现各种网络配置. 进入IP设置模式 在DOS环境中,设置网络参数之前,必须先进入IP设置模式才可以.先打开系 ...

  7. Windows 无法自动将 IP 协议堆栈绑定到网络适配器。解

    Windows 无法自动将 IP 协议堆栈绑定到网络适配器.解  昨天断网了,所以把珍藏已久的无线网卡拿出来蹭网.我系统是Windows 7 但是装上去东显示已启用,就是用不了,用windows诊断是 ...

  8. windows自动修改ip的bat文件

    @echo off title --IP自动设置 -- MODE con: COLS=80 lines=30 color 0a :main cls echo 按提示操作 echo. echo 设置为无 ...

  9. #在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat

    #在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat子网和主机网络是同一网络,网络管理员要注 ...

随机推荐

  1. [C#6] 3-null 条件运算符

    0. 目录 C#6 新增特性目录 1. 老版本的代码 namespace csharp6 { internal class Person { public string Name { get; set ...

  2. sql 判断 函数 存储过程是否存在的方法

    下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sys ...

  3. MongoDB安装及配置成服务

    最近接收了个新项目,这个项目用到了很多之前没用过的(MongoDB.Redis.MVC5+EF6 等等),以前只是看过别人用,自己从未尝试,唯独用了MVC2+EF4,可能是我落伍了,不扯了,进入正题. ...

  4. YourSQLDba备份失败案例锦集

    使用YourSQLDba做备份.维护.管理时,偶尔会收到一些备份失败的邮件.导致YourSQLDba备份失败的情况比价多,打算在此篇中对YourSQLDba备份失败的案例做一些总结.整理. 1:You ...

  5. js获取浏览器内核、类型、版本以及系统类型

    正则表达式: var rsys = /\b(windows|win32|macintosh|mac os x|adobeair|linux|unix)\b/; var rkn = /\b(opera| ...

  6. 【转】理解Java Integer的缓存策略

    本文将介绍 Java 中 Integer 缓存的相关知识.这是 Java 5 中引入的一个有助于节省内存.提高性能的特性.首先看一个使用 Integer 的示例代码,展示了 Integer 的缓存行为 ...

  7. CSS补充与JavaScript基础

    一.CSS补充 position 1.fiexd 固定在页面的某个位置; 示例将顶部菜单始终固定在页面顶部 position: fixed; 将标签固定在某个位置 right: 0; 距离右边0像素 ...

  8. Service 广播 到Fragment

    //Fragment public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Sys ...

  9. J2EE基础之Servlet

    J2EE基础之Servlet 1.  什么是Servlet? Servlet即Java服务小程序,是使用应用程序设计接口以及相关类和方法的Java程序.它可以作为一种插件,像Applet程序一样嵌入到 ...

  10. Caffe源码解析7:Pooling_Layer

    转载请注明出处,楼燚(yì)航的blog,http://home.cnblogs.com/louyihang-loves-baiyan/ Pooling 层一般在网络中是跟在Conv卷积层之后,做采样 ...