一、配置信息

  • 概念:为了使用TCP/IP协议族,每台主机和路由器需要一定的配置信息
  • 配置信息用于为系统指定本地名称,以及为接口指定标识符(例如IP地址)。它还用于提供或使用备种网络服务,例如域名系统(DNS)和移动IP家乡代理

为了使一台Internet主机拥有这些基本配置信息,可以通过以下的方式获取:

  • 动态主机配置协议(DHCP)
  • IPv4和IPv6中的无状态地址自动配置

二、DHCP简介

  • 功能:​DHCP是一种流行的客户机/服务器协议,它用于为主机(有时也为路由器)指定配置信息
  • DHCP为设备提供IP地址、子网掩码、 路由器的IP地址、 DNS服务器的IP地址。其他服务的相关信息(例如使用VoIP的SIP服务器)也可通过DHCP传输
  • DHCP只供IPv4使用
  • DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。

DHCP具有以下功能:

  • 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用
  • DHCP应当可以给用户分配永久固定的IP地址
  • DHCP应当可以同用其他方法获得IP地址的​​主机​​共存(如手工配置IP地址的主机)
  • DHCP​​服务器​​​应当向现有的BOOTP​​客户端​​提供服务


应用场景:

  • DHCP在企业和家庭网络中广泛使用,甚至最基础的家庭路由器设备都支持嵌人式DHCP服务器
  • 几乎所有常用的客户端操作系统和大量的嵌人式设备(例如网络打印机和VoIP电话)都支持DHCP客户机



DHCPv6:

  • 由于DHCP的最初设想是供IPv4使用
  • IPv6使用的DHCP版本是DHCPv6。但IPv6还支持自已的自动程序来确定配置信息, 在一种混合配置模式中,IPv6自动配置和DHCPv6可结合使用


三、DHCP协议的实现(对BOOTP协议的扩展)

  • DHCP的设计基于一种早期协议一称为​Internet引导程序协议( BOOTP) ,​BOOTP目前已过时
  • 过时的BOOTP为客户提供有限的配置信息,并且没有提供一种机制来支持改变已提供的信息
  • DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给主机的67号端口


租用的概念:

  • DHCP使用租用的概念来扩展BOOTP模型,并且可提供主机操作所需的所有信息
  • 租用允许客户机使用一个商定的时间来配置信息。客户机可向DHCP服务器请求续订租约,并继续操作


  • DHCP与BOOTP协议的兼容性:​BOOTP和DHCP是向后兼容的,纯BOOTP客户端可使用DHCP服务器,DHCP客户端也可使用纯BOOTP服务器。因此,BOOTP和DHCP同样使用UDP/IP 。客户机使用端口68,服务器使用端口67

四、DHCP客户端、服务端、中继代理

DHCP客户端:

在支持DHCP功能的网络设备上将指定的端口作为DHCP Client,通过DHCP协议从DHCP Server动态获取IP地址等信息,来实现设备的集中管理。一般应用于网络设备的网络管理接口上

DHCP客户端可以带来如下好处:

  • 降低了配置和部署设备时间。

  • 降低了发生配置错误的可能性。

  • 可以集中化管理设备的IP地址分配

DHCP服务端:

  • DHCP服务器指的是由​​服务器​​​控制一段IP地址范围,客户端登录服务器时就可以自动获得服务器分配的IP地址和​​子网掩码​

DHCP中继代理:

  • ​DHCP​​Relay(DHCPR)DHCP中继 也叫做DHCP中继代理。DHCP中继代理,就是在DHCP服务器和客户端之间转发DHCP数据包。当DHCP客户端与服务器不在同一个子网上,就必须有DHCP中继代理来转发DHCP请求和应答消息。DHCP中继代理的数据转发,与通常路由转发是不同的,通常的路由转发相对来说是透明传输的,设备一般不会修改IP包内容。而DHCP中继代理接收到DHCP消息后,重新生成一个DHCP消息,然后转发出去。
  • 在DHCP客户端看来,DHCP中继代理就像DHCP服务器;在DHCP服务器看来,DHCP中继代理就像DHCP客户端

TCP/IP卷一:31---DHCP之(动态主机配置协议(DHCP)简介)_服务器

五、DHCP分配地址的3种方式

三者之间的差异是地址分配是否基于客户机的身份,以及该地址是否可撤销或变更

  • 自动分配:​DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。该地不可撤销
  • 动态分配:​(最常用)DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用
  • 手动分配:​客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。地址对于请求的客户机是不变的(即它不是由服务器维护的可分配池的一部分)。在这种模式下,DHCP的作用如同BOOTP

六、DHCP动态分配

  • 地址池:​在动态分配中,DHCP客户机请求分配一个IP地址。服务器从可用的地址池中选择一 个地址作为响应。在通常情况下,这个池是专门为DHCP用途而分配的一个连续的IP地址 范围
  • 租用期:​分配给客户机的地址只在一段特定时间内有效,这段时间称为租用期
  • 租用期的延长:​当租用期到期之后,客户机可以提出延长租用期的要求并续订租约


租用期概念扩展:

  • 租用期是DHCP服务器的一个重要配置参数
  • 租用期范围可从几分钟到几天或更长时间 ( “无限”是可能的,但不推荐这样做,除非是简单的网络)
  • 性能:确定租用期的最佳数值需要对预期客户数、地址池大小和地址稳定性等因素加以权衡。较长的租用期通常会较快耗尽可用 的地址池,但能提供更稳定的地址和减小网络开销(因为续租请求较少)。较短的租用期可为其他客户提供可用性更高的地址池,随之而来的是稳定性减小和网络流量负荷增大
  • 常见的默认值包括12 - 24小时,取决于使用的DHCP服务器。例如,微软建议较小的网络采用8天,较大的网络采用16 - 24天。客户机在租用期过半时开始尝试续订租约



动态分配的过程:

  • 当发送DHCP请求时,客户机需要向服务器提供信息。这些信息可包括客户机名称、请求的租用期、已使用或最后使用过的地址副本和其他参数
  • 当服务器接收到这个请求时, 可利用客户机提供的信息(包括MAC地址请求),结合其他从外部获得的信息(例如一天的时间、接收请求的接口),决定在响应中提供的地址和配置信息
  • 当服务器向客户机提供租用期时,服务器将租用信息保存在持久性存储器中,通常是非易失性内存或磁盘中。如果DHCP服务器重新启动并且运行良好,租约将保持完好