DHCP
DHCP技术
手工配置网络
传统的手工配置网络参数需要每个用户都手动配置IP地址、掩码、网关、DNS等多个参数。
这样就会存在一些问题:
- 人员素质要求高
- 容易出错
- 灵活性差
- IP地址资源利用率低
- 工作量大
DHCP动态配置
一个网络如果要正常地运行,则网络中的主机(Host)必需要知道某些重要的网络参数,如IP地址、网络掩码、网关地址、DNS服务器地址、网络打印机地址等等。显然,在每台主机上都采用手工方式来配置这些参数是非常困难的、或是根本不可能的。
随着用户规模的扩大及用户位置的不固定性,传统的静态手工配置方式已经无法满足需求,为了实现网络可以动态合理地分配IP地址给主机使用,需要用到动态主机配置协议DHCP。
DHCP相对于静态手工配置有如下优点:
- 效率高
- 灵活性强
- 易于管理
主要作用:动态分配IP地址
名称:动态主机配置协议/DHCP(dynamic host configuration protocol)
DHCP基本工作过程
获取IP的过程
DHCP采用了Client/Server模型;DHCP Client需要从DHCP Server那里获得各种网络配置参数,这个过程是通过DHCP Client与DHCP Server之间交互各种DHCP消息来实现的。DHCP消息是封装在UDP报文中的,DHCP Server使用端口号67来接收DHCP消息,DHCP Client使用端口号68来接收DHCP消息。
Client通过DHCP来申请获取自己的IP地址的基本过程,这一过程包含了四个阶段:
-
发现阶段
发现阶段也就是PC上的DHCP Client寻找DHCP Server的阶段。PC上的DHCP Client开始运行后,会以广播的方式发送一个DHCP Discover消息。
需要说明的是,图中所示的二层广播域中除了路由器R上运行了DHCP Server外,可能还有其它设备也运行了DHCP Server。如果是这样,那么所有这些DHCP Server都会接收到PC发送的DHCP Discover消息,也都会对所收到的DHCP Discover消息做出回应。
-
提供阶段
提供阶段也就是DHCP Server向DHCP Client提供IP地址的阶段,每一个接收到DHCP Discover消息的DHCP Server(包括路由器R上运行的DHCP Server)都会从自己维护的地址池中选择一个合适的IP地址,并通过DHCP Offer消息将这个IP地址发送给DHCP Client。DHCP Server是以单播的方式来发送DHCP Offer消息的。
-
请求阶段
在请求阶段中,PC上的DHCP Client会在若干个收到的Offer(即若干个收到的DHCP Offer消息)中根据某种原则来确定出自己将要接受哪一个Offer。通常情况下,DHCP Client会接受它所收到的第一个Offer(即最先收到的那个DHCP Offer消息)。图中,假设PC最先收到的DHCP Offer消息是