DHCP

目录·适用性
·历史
·原理
·协议结构
·技术细节



动态主机设定协定(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:

给内联网或网络服务供应商自动分配IP地址给用户
给内联网管理员作为对所有电脑作中央管理的手段

适用性

DHCP用一台或一组DHCP服务器来管理网络参数的分配,这种方案具有容错性。即使在一个仅拥有少量机器的网络中,DHCP仍然是有用的,因为一台机器可以几乎不造成任何影响地被增加到本地网络中。

甚至对于那些很少改变地址的服务器来说,DHCP仍然被建议用来设置它们的地址。这样,如果服务器需要被重新分配地址(RFC2071)的时候,就可以在尽可能少的地方去做这些改动。对于一些设备,如路由器和防火墙,则不应使用DHCP。把TFTP或SSH服务器放在同一台运行DHCP的机器上也是有用的,目的是为了集中管理。

DHCP也可用于直接为服务器和桌面计算机分配地址,并且通过一个PPP代理,也可为拨号及宽带主机,以及住宅NAT网关和路由器分配地址。DHCP一般不适用于使用在无边际路由器和DNS服务器上。

历史

DHCP于1993年10月成为标准协议,其前身是BOOTP协议。当前的DHCP定义可以在RFC 2131中找到,而基于IPv6的建议标准(DHCPv6)可以在RFC 3315中找到。

原理

动态主机设定协定 (DHCP) 是一种使网络管理员能够集中管理和自动分配 IP 网络地址的通信协议。在 IP 网络中,每个连接 Internet 的设备都需要分配唯一的 IP 地址。 DHCP 使网络管理员能从中心结点监控和分配 IP 地址。当某台计算机移到网络中的其它位置时,能自动收到新的 IP 地址。

DHCP 使用了租约的概念,或称为计算机 IP 地址的有效期。租用时间是不定的,主要取决于用户在某地联接 Internet 需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通过较短的租期, DHCP 能够在一个计算机比可用 IP 地址多的环境中动态地重新配置网络。

DHCP 支持为计算机分配静态地址,如需要永久性 IP 地址的 Web 服务器。

DHCP 和另一个网络 IP 管理协议 BOOTP 类似。目前两种配置管理协议都得到了普遍使用,其中 DHCP 更为先进。 某些操作系统,如 Windows NT/2000, 都带有 DHCP 服务器。 DHCP 或 BOOTP 客户端是装在计算机中的一个程序,这样就可以对其进行配置操作。

协议结构

Op – 消息操作代码,既可以是引导请求(BOOTREQUEST)也可以是引导答复(BOOTREPLY)
Htype – 硬件地址类型
Hlen – 硬件地址长度
Xid –处理ID
Secs –客户机地址获取,进程恢复消耗的时刻
Flags –标记
Ciaddr –客户机 IP地址
Yiaddr –“你的”(客户机) IP 地址
Siaddr –在 bootstrap 中使用的下一台服务器的IP地址
Giaddr –用于导入的接替代理IP地址
Chaddr –客户机硬件
Sname –任意服务器主机名称,空终止符
File –DHCP 发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名
Options –可选参数字段。参考定义选择列表中的选择文件

技术细节

DHCP统一使用两个IANA分配的端口作为BOOTP:服务器端使用67/udp,客户端使用68/udp。

DHCP运行分为四个基本过程,分别为请求IP租约、提供IP租约、选择IP租约和确认IP租约。

客户在获得了一个IP地址以后,就可以发送一个ARP请求来避免由于DHCP服务器地址池重叠而引发的IP冲突。

DHCP发现

客户在物理子网上发送广播来寻找可用的服务器。网络管理员可以配置一个本地路由来转发DHCP包给另一个子网上的DHCP服务器。该客户实现生成一个目的地址为255.255.255.255或者一个子网广播地址的UDP包。

客户也可以申请它使用的最后一个IP地址(在下面的例子里为192.168.1.100)。如果该客户所在的网络中此IP仍然可用,服务器就可以准许该申请。否则,就要看该服务器是授权的还是非授权的。 授权服务器会拒绝请求,使得客户立刻申请一个新的IP。非授权服务器仅仅忽略掉请求,导致一个客户端请求的超时,于是客户端就会放弃此请求而去申请一个新的IP地址。

DHCP提供

当DHCP服务器收到一个来自客户的IP租约请求时,它会提供一个IP租约。DHCP为客户保留一个IP地址,然后通过网络发送一个DHCPOFFER消息给客户。该消息包含客户的MAC地址、服务器提供的IP地址、子网掩码、租期以及提供IP的DHCP服务器的IP。

服务器基于在CHADDR字段指定的客户硬件地址来检查配置。这里的服务器,192.168.1.1,将IP地址指定于YIADDR字段。

DHCP请求

当客户PC收到一个IP租约提供时,它必须告诉所有其他的DHCP服务器它已经接受了一个租约提供。因此,该客户会发送一个DHCPREQUEST消息,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回所有可能已提供给客户的租约。然后它们把曾经给客户保留的那个地址重新放回到可用地址池中,这样,它们就可以为其他计算机分配这个地址。任意数量的DHCP服务器都可以响应同一个IP租约请求,但是每一个客户网卡只能接受一个租约提供。

DHCP确认

当DHCP服务器收到来自客户的DHCPREQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括发送一个DHCPACK包给客户。这个包包含租期和客户可能请求的其他所有配置信息。这时候,TCP/IP配置过程就完成了。

该服务器响应请求并发送响应给客户。整个系统期望客户来根据选项来配置其网卡。


DHCP信息
The client sends a request to the DHCP server: either to request more information than the server sent with the original DHCPACK; or to repeat data for a particular application - for example, browsers use DHCP Inform to obtain web proxy settings via WPAD. Such queries do not cause the DHCP server to refresh the IP expiry time in its database.

DHCP释放
The client sends a request to the DHCP server to release the DHCP and the client unconfigures its IP address. As clients usually do not know when users may unplug them from the network, the protocol does not mandate the sending of DHCP Release.

客户配置参数
A DHCP server can provide optional configuration parameters to the client. RFC 2132 describes the available DHCP options defined by Internet Assigned Numbers Authority (IANA) - DHCP and BOOTP PARAMETERS.

Options
DHCP Option 60 is an option for specifying the Vendor Class Identifier.[1] Within the DHCP there is default route. Option60 is the Vendor ID. Based on this option, you can make special decisions on the CPE to treat the STB. The biggest benefit with using DHCP option 60 is that you do not need to define a port to be bridge or router. Bridging is based on the MAC address of the option 60 so a switch could be connected to the SE567 and have both PC''s and STB''s on a single interface.
Option 60 can be used by DHCP clients to identify the vendor and functionality of a DHCP client. The information is a variable length string of characters or octets which has a meaning specified by the vendor of the DHCP client. One method that a DHCP client can communicate that it is using a certain type of hardware or firmware, is to set a value in its DHCP requests called the Vendor Class Identifier (VCI) (Option 60). This method has a DHCP server differentiate between the two kinds of CMs and process the requests from the two types of modems appropriately. Some types of set-top boxes also set the VCI (Option 60) to inform the DHCP server about the hardware type and functionality of the device. The value that this option is set to gives the DHCP server a hint about any required extra information that this client needs in a DHCP response.

相关词条:
DHCPv4  DHCPv6  DHCPv6协议  DHCP Server  DHCP客户机  DHCP Relay  
 
自定义分类:
网络协议网际协议应用层网络协议
 
参考资料:
DHCP 协议详细资料
 
贡献者:
jxwnwhhr04579狂风暴雨woodnn
Copyright © 1999-2022 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4