动态主机配置协议(Dynamic Host Configuration,DHCP)允许主机自动获取一个IP地址。网络管理员能够配置DHCP,以使某给定主机每次与网络连接时能得到一个相同的IP地址,或者某主机将被分配一个临时的IP地址 ,该地址在每次与网络连接时也许是不同的。除了主机IP地址分配外,DHCP还允许一台主机得知其他信息,例如它的子网掩码、它的第一跳路由器地址(常称为默认网关)与它的本地 DNS服务器的地址。
DHCP使用场景
由于 DHCP具有自动将主机连接进一个网络的能力,故它又常被称为即插即用协议。这种能力对于网络管理员来说非常有吸引力,否则他将不得不手工执行这些任务! DHCP还广泛地使用于住宅因特网接入网与无线局域网中,其中的主机频繁地加入和离开网络。
例如,考虑一个学生带着便携机从宿舍到图书馆再到教室。很有可能在每个位置,这个学生将连接到一个新的子网,因此在每个位置都需要一个新的IP地址。DHCP在此情形下是最理想的方法,因为有许多用户来来往往,仅在有限的时间内需要地址。类似地,DHCP在住宅ISP接入网中是有用的。举一个例子,一个住宅区 ISP有2000个客户,但不会有超过400个客户同时在线。在这种情况下,动态地分配地址的DHCP服务器不需要一个含2048个地址的块,而仅需一个含512个地址的块(例如像形式为a.b.c.d/23的块)。当主机加入或离开时,DHCP服务器要更新其可用的IP地址表。每当一台主机加入时,DHCP服务器从其当前可用的地址池中分配一个任意的地址给它;每当一台主机离开时,其地址便被收回这个池中。
DHCP是一个客户-服务器协议。客户通常是新达到的主机,它要获得包括自身使用的IP地址在内的网络配置信息。在最简单场合下,每个子网将具有一台DHCP服务器。如果在某子网中没有服务器,则需要一个 DHCP中继代理(通常是一台路由器),这个代理知道用于该网络的DHCP服务器的地址。
上图显示了连接到子网223.1.2/24的一台 DHCP服务器,具有一台提供中继代理服务的路由器,它为连接到子网223.1. 1/24和223.1.3/24的到达客户提供 DHCP服务。
对于一台新到达的主机而言,针对上图所示的网络设置,DHCP 协议是一个4个步骤的过程,如下图DHCP客户-服务器交互所示:yiaddr(表示“你的因特网地址”之意)指示被分配给该新到达客户的地址。
这4个步骤是:
然而,从移动性角度看,DHCP确实有不足之处。因为每当结点连到一个新子网时,要从 DHCP得到一个新的IP地址,当一个移动结点在子网之间移动时,就不能维持与远程应用之间的TCP连接。移动IP技术就解决了这种问题。