一.作用与功能
- 作用:集中的管理,分配IP地址,使client动态的获得IP地址,Gateway地址,DNS服务器地址等信息。
- 功能:(1) 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用
(2)DHCP应当可以给用户分配永久固定的IP地址
(3)DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)
(4) DHCP服务器应当向现有的BOOTP客户端提供服务
二.DHCP报文格式
-
DHCP报文
-
DHCP协议包组成成分:
(1)htype:DHCP客户端的MAC地址类型。MAC地址类型其实是指明网络类型。htype值为1时表示为最常见的以太网MAC地址类型。
(2)hlen:DHCP客户端的MAC地址长度。以太网MAC地址长度为6个字节,即以太网时hlen值为6。
(2)hops:DHCP报文经过的DHCP中继的数目,默认为0。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。
没有经过DHCP中继时值为0。
(3)Xid :随机生成的一段字符串,两个数据报拥有相同的表明它们属于一次会话
(4)Ciaddr:客户端的IP地址
(5)Yiaddr:服务器想分配给客户端的IP地址
(6)Siaddr:服务器的IP地址(或者多次中转中的一个路由IP地址)
(7)Chaddr:客户端的MAC地址
(8)Sname:服务器主域名
(9)Options:用于存放客服端->服务器之间的应答信息(可自由添加)
(10)op:报文操作类型,可分为请求报文和应答报文。
-
DHCP报文操作类型
(1) NAK(0x06)表示服务器拒绝了客户端请求
(2) RELEASE (0x07)使其DHCP服务器释放出发出此报文的客户端IP地址
(3) INFROM (0x04) 客户端向服务器发出请求一些信息的报文
(4) DECLINE (0x08)当客户端发现服务器分配的IP地址无法使用,eg IP地址冲突时,将向服务器发出此报文,
通知服务器禁止使用该IP地址。
(5)DISCOVER(0x01)客户端->服务器 找寻请求
(6)OFFER(0x02) 服务器->客户端 答复以及给与客户端IP,MAC等信息
(7)REQUEST(0x03) 客户端->服务器 客户端的答复:请求使用信息内容
(8)ACK(0x05) 服务器->客户端 确认信息,允许使用
三.工作原理
-
工作流程:
(1)客服端广播DHCP DISCOVER(0x01)消息,客户端开始DHCP过程发送的包。
(2)服务器提供地址租约DHCP OFFER(0x02),服务器收到DHCP DISCOVER之后做出答复,给与客户端的IP地址,
MAC地址,租约过期时间,服务器的识别符号以及其他信息。
(3)客户端选择并请求地址租用DHCP REQUEST(0x03),客服端对DHCP OFFER的响应,在续租期间的时候同样会
使用。
(4)服务器确认将地址租用给客户端DHCP ACK(0x05),服务器在接收到DHCP REQUEST后发出的成功确认的报文。
在建立连接时,客户端在接受到这个报文后,才会确认分配的一系列IP,MAC地址等可以被服务器允许使用。 -
DHCP服务器工作逻辑
(1)DHCP SERVER原则上是一直处于被动接受请求的状态。
(2)当有客户端请求时,服务器会读取获得客户端当前所在的状态以及客户端的信息,并在静态租约表和动态租约表中进行检索找到相应的表项,再根据客户端的状态执行不同的回复。
(3)当收到客户端的首次请求时,DHCP服务器先查找静态租约表;若存在请求的表现,返回这个客户端的静态IP地址;不然的话,从IP地址池中选择可用的IP分配给客户,并添加信息到动态数据库中。此外,服务器将会周期性的刷新租约表写入文件存档,在这个过程中会顺便对动态租约表进行租期检查。