DHCP详解

 

DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写﹐它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的﹕网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络﹐BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。

DHCP 可以说是 BOOTP 的增强版本﹐它分为两个部份﹕一个是服务器端﹐而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务器集中管理﹐并负责处理客户端的 DHCP 要求﹔而客户端则会使用从服务器分配下来的IP环境数据。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client 的需求。

DHCP 的分配形式

  首先﹐必须至少有一台 DHCP 工作在网络上面﹐它会监听网络的 DHCP 请求﹐并与客户端搓商 TCP/IP 的设定环境。它提供两种 IP 定位方式﹕

Automatic Allocation

  自动分配﹐其情形是﹕一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后﹐就永远使用这个地址。

Dynamic Allocation

  动态分配﹐当 DHCP 第一次从 HDCP 服务器端租用到 IP 地址之后﹐并非永久的使用该地址﹐只要租约到期﹐客户端就得释放(release)这个 IP 地址﹐以给其它工作站使用。当然﹐客户端可以比其它主机更优先的更新(renew)租约﹐或是租用其它的 IP 地址。

  动态分配显然比自动分配更加灵活﹐尤其是当您的实际 IP 地址不足的时候﹐例如﹕您是一家 ISP ﹐只能提供 200 个IP地址用 来给拨接客户﹐但并不意味着您的客户最多只能有 200 个。因为要知道﹐您的客户们不可能全部同一时间上网的﹐除了他们各自的行为习惯的不同﹐也有可能是电话线路的限制。这样﹐您就可以将这 200 个地址﹐轮流的租用给拨接上来的客户使用了。这也是为什么当您查看 IP 地址的时候﹐会因每次拨接而不同的原因了(除非您申请的是一个固定 IP ﹐通常的 ISP 都可以满足这样的要求﹐这或许要另外收费)。当然﹐ISP 不一定使用 DHCP 来分配地址﹐但这个概念和使用 IP Pool 的原理是一样的。

  DHCP 除了能动态的设定 IP 地址之外﹐还可以将一些 IP 保留下来给一些特殊用途的机器使用﹐它可以按照硬件地址来固定的分配 IP 地址﹐这样可以给您更大的设计空间。同时﹐DHCP 还可以帮客户端指定 router﹑netmask﹑DNS Server﹑WINS Server﹑等等项目﹐您在客户端上面﹐除了将 DHCP 选项打勾之外﹐几乎无需做任何的 IP 环境设定。

DHCP 的工作原理

  根据客户端是否第一次登录网络﹐DHCP 的工作形式会有所不同。

第一次登录的时候﹕

  寻找 Server。当 DHCP 客户端第一次登录网络的时候﹐也就是客户发现本机上没有任何 IP 数据设定﹐它会向网络发出一个 DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络﹐所以封包的来源地址会为 0.0.0.0 ﹐而目的地址则为 255.255.255.255 ﹐然后再附上 DHCP discover 的信息﹐向网络进行广播。

  在 Windows 的预设情形下,DHCP discover 的等待时间预设为 1 秒﹐也就是当客户端将第一个 DHCP discover 封包送出去之后,在 1 秒之内没有得到响应的话﹐就会进行第二次 DHCP discover 广播。若一直得不到响应的情况下﹐客户端一共会有四次 DHCP discover 广播(包括第一次在内)﹐除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9﹑13﹑16 秒。如果都没有得到 DHCP 服务器的响应﹐客户端则会显示错误信息﹐宣告 DHCP discover 的失败。之后,基于使用者的选择﹐系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程

  提供 IP 租用地址。当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后﹐它会从那些还没有租出的地址范围内﹐选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER 封包。

  由于客户端在开始的时候还没有 IP 地址﹐所以在其 DHCP discover 封包内会带有其 MAC 地址信息﹐并且有一个 XID 编号来辨别该封包﹐DHCP 服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定﹐DHCP offer 封包会包含一个租约期限的信息。

  接受 IP 租约。如果客户端收到网络上多台 DHCP 服务器的响应﹐只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个)﹐并且会向网络发送一个DHCP request广播封包﹐告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。

  同时﹐客户端还会向网络发送一个 ARP 封包﹐查询网络上面有没有其它机器使用该 IP 地址﹔如果发现该 IP 已经被占用﹐客户端则会送出一个 DHCPDECLINE 封包给 DHCP 服务器﹐拒绝接受其 DHCP offer ﹐并重新发送 DHCP discover 信息。

  事实上﹐并不是所有 DHCP 客户端都会无条件接受 DHCP 服务器的 offer ﹐尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择﹐而这些选择会以不同的号码填写在 DHCP Option Field 里面﹕

滚动鼠标滚轮进行缩放,按此在新窗口浏览图片 00001.jpg

换一句话说﹐在 DHCP 服务器上面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些 TCP/IP 设定。而主动权永远在客户端这边。

  租约确认。当 DHCP 服务器接收到客户端的 DHCP request 之后﹐会向客户端发出一个 DHCPACK 响应﹐以确认 IP 租约的正式生效﹐也就结束了一个完整的 DHCP 工作过程

如上的工作流程如下图:

滚动鼠标滚轮进行缩放,按此在新窗口浏览图片 00002.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IPv6 DHCP池是用于IPv6网络中分配IPv6地址和其他配置参数的资源池。DHCP是动态主机配置协议,它允许设备在加入网络时自动获取各种网络配置。 IPv6 DHCP池包含了一组可用的IPv6地址和其他配置参数,比如网关、DNS服务器和域名等。当设备加入网络时,它可以向DHCP服务器发送一个请求,从这个池中获取一个可用的IPv6地址和其他配置参数。 IPv6 DHCP池的详解包括以下内容: 1. IPv6地址分配:DHCP服务器从IPv6地址池中选择一个可用的IPv6地址分配给设备。IPv6地址池通常包含一系列连续的IPv6地址,DHCP服务器按顺序从中选择一个地址分配给设备。 2. 其他配置参数:除了IPv6地址之外,DHCP服务器还可以为设备提供其他配置参数。这些参数可以包括默认网关、DNS服务器、域名、MTU和其他自定义选项等。设备可以使用这些配置参数来正确配置自己的网络连接。 3. 地址回收和再分配:当设备离开网络或释放IPv6地址时,该地址将会被收回并重新加入IPv6地址池中。这样,当新设备加入网络时,它可以获取到一个之前被释放的地址,提高了地址资源的利用率。 4. 配置控制:DHCP服务器可以通过控制IPv6地址池中可用地址的数量来限制网络中设备的数量。通过配置控制,管理员可以确保网络资源的合理分配和管理。 可以说,IPv6 DHCP池为IPv6网络中设备的自动配置提供了一种简单而有效的方法。管理员可以通过配置和管理IPv6 DHCP池来确保设备能够获得正确的网络配置,并提高IP地址资源的利用率。 ### 回答2: IPv6 DHCP池是一种IPv6地址分配管理工具,它允许网络管理员为使用IPv6协议的设备动态分配全局唯一的IPv6地址。 IPv6 DHCP池包含一系列IP地址,这些地址可以被DHCP服务器分配给设备。DHCP服务器首先为设备分配一个IPv6地址,然后为其分配其他网络配置信息,例如子网掩码、默认网关和DNS服务器地址等。 IPv6 DHCP池的详解包括以下几个方面: 1. 子网和地址范围:管理员需要指定一个包含IPv6地址的子网,并为其中的地址范围设置起始地址和结束地址。DHCP服务器将从此范围内为设备动态分配IPv6地址。 2. 端口配置:DHCP服务器需要配置网络接口,以便接收和发送IPv6 DHCP消息。通常,服务器的端口将与需要进行地址分配的子网进行绑定。 3. 地址分配策略:管理员可以根据实际需求设置不同的分配策略。例如,管理员可以选择按照设备的MAC地址、设备类型或其他标识符来分配IPv6地址。 4. 地址池选项:管理员可以配置其他选项,如掩码长度、地址预留、地址重用等。这些选项可以根据网络需求进行调整。 5. 协议支持:IPv6 DHCP池通常支持各种IPv6协议,如SLAAC(Stateless Address Autoconfiguration)和DHCPv6(Dynamic Host Configuration Protocol for IPv6)。DHCPv6提供了更灵活的地址分配和配置选项。 总之,IPv6 DHCP池是一种用于动态分配IPv6地址和配置信息的工具,可以方便地为使用IPv6的设备提供网络连接。通过合理配置不同的参数和选项,管理员可以根据网络需求实现灵活和高效的IPv6地址分配。 ### 回答3: IPv6 DHCP池是用于分配IPv6地址的一组地址范围。DHCP代表动态主机配置协议,它是一种网络协议,允许设备自动获得IP地址和其他网络配置信息,而无需手动配置。IPv6是下一代互联网协议,提供了更大的地址空间和更好的网络性能。 当IPv6 DHCP服务配置为DHCP池模式时,它会将一组IPv6地址范围分配给设备。池中的每个地址范围都可以包含多个可用的IPv6地址。当设备连接到网络时,它会向DHCP服务器发送一个地址请求,DHCP服务器会从池中选择一个可用的IPv6地址并将其分配给设备。这个过程使得网络管理员能够轻松地管理和分配IPv6地址,而无需手动为每个设备配置地址。 IPv6 DHCP池的一些常见配置选项包括: - IPv6地址范围:指定用于分配的IPv6地址范围。这个范围可以是连续的地址段,也可以是多个不连续的地址段。 - 地址租期:指定分配给设备的IPv6地址的有效期。设备在租期到期之前必须续约或重新请求地址。 - DNS服务器:指定分配给设备的DNS服务器的IPv6地址。这样设备就可以解析域名和访问互联网。 - 默认网关:指定设备的IPv6默认网关的地址。默认网关用于将设备的数据发送到其他网络。 - 附加选项:可以添加其他自定义配置选项,例如IPv6前缀长度或其他网络参数。 使用IPv6 DHCP池可以简化IPv6地址分配过程,提高网络管理效率。它允许网络管理员集中管理大量设备的IPv6地址,并自动分配这些地址给设备。此外,IPv6 DHCP池还可以通过指定其他网络配置选项,如DNS服务器和默认网关,为设备提供更好的网络连接和互联网访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值