DHCP理论基础
一、 DHCP的引入
一个网络如果要正常地运行,则网络中的主机(Host)必需要知道某些重要的网络参数,如IP地址、网络掩码、网关地址、DNS服务器地址、网络打印机地址等等。显然,在每台主机上都采用手工方式来配置这些参数是非常困难的、或是根本不可能的。
在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。
如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突,具有相同IP地址的人,有且仅有一个人可以上网等问题。
为此,IETF于1993年发布了动态主机配置协议(DHCP:Dynamic Host Configuration Protocol)。DHCP的应用,实现了网络参数配置过程的自动化,使用动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。
二、 DHCP的概念
动态主机配置协议(Dynamic Host Configuration Protocol),基于请求和响应的C/S架构,是应用层协议并基于UDP协议端口 67及68。
bootps:(服务端端口号):67
bootpc:(客户端端口号):68
终端充当客户机请求IP地址,服务器分配IP地址。
三、 DHCP的实现方式
在具有路由功能的设备上开启DHCP功能,定义一个地址池。由管理员定义其范围,当收到客户机租用请求时就从IP池里随机分配一个未被占用的IP。
地址池:在网络管理员定义了 DHCP 范围及排除范围后,剩余的地址构成了一个地址池,地址池中的地址可以动态的分配给网络中的客户机使用。地址池仅对自动获取IP的方式有效,用户手动设置的IP只要符合规则可无视此项。
DHCP服务器:在现网中的一般的载体,具有路由功能的设备:路由器、三层交换机 能提供DHCP服务功能的服务器:Windows(收费) 、Linux(开源的,比较稳定、安全)。
1. DHCP的通信过程
169.254.x.x(PC本身没有IP地址,在手动获取IP地址之前,在PC启动之后,设备在触发DHCP的时候,如果它没有正常的获取到IP地址,这时候就用这个IP地址给它作填充):
如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Windows系统会为你分配这样一个地址。如果你发现你的主机IP地址是一个诸如此类的地址,很不幸,十有八九是你的网络不能正常运行了。