动态主机配置协议DHCP

2016-07-06 1839 1 编辑:深色多郎 来源:互联网书籍

为了把协议软件做成通用的和便于移植,协议软件的编写者不会把所有的细节都固定在源代码中。相反,他们把协议软件参数化。这就使得在很多台计算机上有可能使用同一个经过编译的二进制代码。一台计算机和另一台计算机的许多区别,都可以通过一些不同的参数来体现。在协议软件运行之前,必须给每一个参数赋值。

在协议软件中给这些参数赋值的动作叫做协议配置。一个协议软件在使用之前必须是已正确配置的。具体的配置信息有哪些则取决于协议栈。例如,连接到因特网的计算机的协议软件需要配置的项目包括:

(1)IP地址;

(2)子网掩码;

(3)默认路由器的IP地址;

(4)域名服务器的IP地址。

为了省去给计算机配置IP地址的麻烦,我们能否在计算机的生产过程中,事先给每一台计算机配置好一个唯一的IP地址呢(如同每一个以太网适配器拥有一个唯一的硬件地址)?这显然是不行的。这是因为IP地址不仅包括了主机号,而且还包括了网络号。一个IP地址指出了一台计算机连接在哪一个网络上。当计算机还在生产时,无法知道它在出厂后将被连接到哪一个网络上。因此,需要连接到因特网的计算机,必须对IP地址等项目进行协议配置。

用人工进行协议配置很不方便,而且容易出错。因此,应当采用自动协议配置的方法。现在广泛使用是动态主机配置协议DHCP(Dynamic Host Configuration Protocol),它提供了一种机制,称为即插即用连网((plug-and-play networking)。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。DHCP最新的RFC文档是1997年的RFC 2131和RFC 2132,目前还是因特网草案标准。最近几年陆续公布了一些对RFC 2131更新的RFC文档(如RFC 3396,RFC 3442等),但没有把RFC 2131划归陈旧的。

DHCP对运行客户软件和服务器软件的计算机都适用。当运行客户软件的计算机移至一个新的网络时,就可使用DHCP获取其配置信息而不需要手工千预。DHCP给运行服务器软件而位置固定的计算机指派一个永久地址,而当这计算机重新启动时其地址不改变。

DHCP使用客户一服务器方式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER)(将目的IP地址置为全1,即255.255.255.255,这时该主机就成为DHCP客户。发送广播报文是因为现在还不知道DHCP服务器在什么地方,因此要发现(DISCOVER) DHCP服务器的IP地址。这个主机目前还没有自己的IP地址,因此它将IP数据报的源IP地址设为全0。这样,在本地网络上的所有主机都能够收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池(address pool)中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER),表示“提供”了IP地址等配置信息。


本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
关注深正互联