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. 3D Banner(jQuery)

    1.这是用面向对象的思想去动态生成banner的简易流程,用到一个javaScript框架jQuer: 2.将代码黏贴成html文件,直接用浏览器打开即可: 3.layer属于弹窗提示类插件,可能需要 ...

  2. IOS开发基础知识--碎片45

    1:iOS SEL的简单总结 SEL就是对方法的一种包装.包装的SEL类型数据它对应相应的方法地址,找到方法地址就可以调用方法 a.方法的存储位置 在内存中每个类的方法都存储在类对象中 每个方法都有一 ...

  3. ListView控件

      打气筒工具:将R.layout.item_listview布局添加到相应的view控件里面 View view=LayoutInflater.from(ScondPro.this).inflate ...

  4. 2-C程序结构

    一.代码分析 打开项目中的main.c文件(C程序的源文件拓展名为.c),可以发现它是第一个C程序中的唯一一个源文件,代码如下: #include <stdio.h> #include & ...

  5. [转]完美洗牌(Perfect Shuffle)问题

    [转]原博文地址:https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/02.09.md ...

  6. regsvr32命令

    regsvr32是Windows操作系统命令,用来注册及反注册DLL文件和ActiveX文件. 1.  使用示例 regsvr32  foo.dll    // 注册foo.dll文件到Windows ...

  7. 深度解析mysql登录原理

    使用mysql数据库的第一步必然是建立连接登录,然后在上面执行SQL命令.无论是通过mysql的客户端,还是通过C-API,JDBC标准接口连接数据库,这个过程一定少不了.今天我们聊一聊mysql登陆 ...

  8. WinForm:DataGridView新增加行

    1.不显示最下面的新行 通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * ).如果不想让用户新追加行即不想显示该新行,可以将 DataGridView 对象的 AllowUs ...

  9. 使用Java实现简单串口通信

    最近一门课要求编写一个上位机串口通信工具,我基于Java编写了一个带有图形界面的简单串口通信工具,下面详述一下过程,供大家参考 ^_^ 一: 首先,你需要下载一个额外的支持Java串口通信操作的jar ...

  10. 【转载】Markdown使用笔记

    献给写作者的 Markdown 新手指南 http://www.jianshu.com/p/q81RER 「简书」作为一款「写作软件」在诞生之初就支持了 Markdown,Markdown 是一种「电 ...