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. UIScrollView出现位移问题

    啦啦啦啦啦~~~ UINavigationController和UIScrollView一起使用时会导致UIScrollView位置偏移 情况:UINavigationController的视图上的第 ...

  2. Android开发学习——SQLite数据库与单元测试

    SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper  public class Myopenhelper extends SQLiteOpenHelp ...

  3. python之路径导入

    问题: 最近在学习import的时候,发现不像import xxx,或者from xxx import ooo 这样简单.比如,看下面这个图: 要导入才能在te.py调用pre.tab.py?? 直接 ...

  4. php面向对象编程 设计模式

    面向对象编程的基本原则: 单一职责:一个类,只需要做好一件事 开放封闭:一个类,应该是可扩展的,而不是可修改的 依赖倒置:一个类,不应该强依赖另一个类.每个类对应另外一个类都是可替换的 配置化:尽可能 ...

  5. #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案

    郑昀 基于李丹和刘奎的文档 创建于2014/12/5 关键词:监控.dashboard.PHP.graphite.statsd.whisper.carbon.grafana.influxdb.Pyth ...

  6. mac系统及xcode使用的SVN客户端安装升级

    当前的SVN版本已经升级到1.8.x了,但mac系统自带的以及xcode使用的SVN客户端版本没有跟着升级,还是1.6.x的版本.为了解决隐藏目录.svn只在根目录下存在的情况,至少要升级到1.7.x ...

  7. 虚拟机备份克隆导致SQL SERVER 出现IO错误案例

      案例环境:   服务器配置: CPU: Intel E5-2690  RAM: 12G   虚拟机 操作系统  : Windows Server 2008 R2 Standard Edtion   ...

  8. WebForm(二)——控件和数据库连接方式

    一.简单控件 1.Label(作用:显示文字) Web中: <asp:Label ID="Label1" runat="server" Text=&quo ...

  9. MyEclipse编码设置及字体设置等

    原文: http://wenku.baidu.com/link?url=GTo5q8E1iVRYIYa-AiDP6_PJ4sQk7j1SPTr-CthVBw9hTGLPgR4TOeq9o8Sg0yEJ ...

  10. 如何创建一个GitLab Web Hooks?

    Git Hooks Git 能在特定的重要动作发生时触发自定义的脚本. 这些脚本都被存储在 Git 目录下的 hooks 子目录中(.git/hooks).当 git init 初始化一个仓库时,Gi ...