动态主机配置协议( 二 )


有一些名词需要解释一下,DHCP客户和DHCP服务器已经在前面说过了,这里就不再说明了 。BOOTP转发代理或转发代理是一台Internet主机或路由器,它用于在DHCP客户和DHCP服务器间传送配置信息 。绑定是一些配置参数,它至少应该包括IP地址,绑定由DHCP服务器治理 。
DHCP的设计目标如下:
1.DHCP应该是一种机制而不是策略,它必须答应本地系统治理员控制配置参数,本地系统治理员应该能够对所希望治理的资源治理进行有效地治理 。
2.客户不需要进行手工配置,客户应该在不参与的情况下发现合适于本地机的配置参数,并利用这些参数加以配置 。
3.不需要对单个客户配置网络 。在通常情况下,网络治理员没有必须输入任何预先设计好的用户配置参数 。
4.DHCP不需要在每个子网上要一个服务器,为了经济的原因,它DHCP服务器必须可以和路由器和BOOTP转发代理一起工作 。
5.DHCP客户必须可能对多个DHCP服务器提供的服务作出响应 。出于网络稳定与安全的考虑,有时需要为网络加入多个DHCP服务器 。
6.DHCP必须静态配置,而且必须以现存的网络协议实现 。
7.DHCP必须能够和BOOTP转发代理互操作 。
8.DHCP必须能够为现有的BOOTP客户提供服务 。
下面几个设计目标是对于网络层参数的设计而言的,在网络层参数上,DHCP必须可以做到以下几点:
9.不答应有几个客户同时使用一个网络地址 。
10.在DHCP客户重新启动后仍然能够保留它原先的配置参数,假如可能,客户应该被指定为相同的配置参数 。
11.在DHCP服务器重新启动后仍然能够保留客户的配置参数,假如可能,即使DHCP机制重新启动,也应该能够为客户分配原有的配置参数 。
12.能够为新加入的客户自动提供配置参数 。
13.支持对特定客户永久固定分配网络地址 。
在下面我们看一下DHCP的具体问题 。从客户的观点来看,DHCP不过是BOOTP的扩展 。这样就可以使现有的BOOTP用户在不进行任何改动的情况下使用DHCP 。图一和表一描述了DHCP信息包的格式和信息包内每个字段的意义 。请注重括号内的数字,它表示此字段的大小 。我们老是提到BOOTP,它和DHCP的主要区别有两点,一点是DHCP对客户分配网络地址时不是无限期的,第二点是DHCP在提供网络地址时还提供了其它配置参数 。熟悉BOOTP协议的可以对比一下两个协议的不同点 。下图定义了DHCP消息格式:
DHCP定义了一个新的“客户标识”选项,它是用来显式地将客户标识传送给DHCP服务器的 。这个改变是针对BOOTP信息包中"chaddr"域即作为BOOTP转发信息的硬件地址又作为用户信息的情况而进行的 。这个标记对于DHCP服务器来说没有什么意义,它可以是硬件地址,也可以是什么别的东西,反正只要是对于这个DHCP服务器治理的每个子网段内的客户是唯一的就可以了 。客户一旦在一个信息包中使用了这个选项,以后的信息包内的这个选项必须和第一次使用时一致,这样DHCP服务器才可以正确地辨识客户 。

字节
描述
op
1
消息op代码/消息类型1 = BOOTREQUEST, 2 = BOOTREPLY
htype
1
硬件地址类型
hlen
1
硬件地址长度
hops
1
客户需要将这一项设置为零,当通过转发代理启动时可以供转发代理使用 。
xid
4
操作ID,这是一个随机数,用于客户和服务器之间同步消息和消息的响应 。
secs
2
由客户指定的时间,指的是开始地址获取和更新进行后的时间 。
flags
2
请参阅图2 。
ciaddr

推荐阅读