DHCP协议---动态主机配置协议
什么是DHCP
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
DHCP协议---用来为终端分配IP地址,并且对IP地址进行集中化管理的协议
应用层协议;
传输层使用UDP协议进行数据封装,端口号67/68,其中68代表客户端;67代表服务端。
**报文类型 -----八种--6种 **
discover报文-----发现报文,用来发现网络中的DHCP服务器
offer报文--------由服务器进行回复,当收到discover报文后,并且服务器本地存在可用IP地址,则回 复信息
request报文------正式向服务器请求IP地址
ack报文----------服务器同意使用该IP地址
decline报文------当客户端检测到IP地址冲突时,发送给服务器,用以告知服务器,IP不可用
nak报文----服务器拒绝客户端使用该IP地址----一般看不到
release报文-----客户端主动释放IP地址。
IP地址租期----当PC申请下来IP地址后,会存在租期时间。能够合理使用该IP地址的时间
租期时间---24小时
当租期时间到达12小时,客户端就需要向服务器发起续租申请。
当第一次续租得到回复后,则客户端将租期时间刷新为24小时;若没有回复,则等待租期时间仅剩下3小
时。
此时发送第二次续租申请,此时使用discover报文广播发送申请。

DHCP工作过程
- 地址自动分配过程
1.发现阶段
2. 提供阶段
3.选择阶段
4.确认阶段
- 地址续约过程
- 释放过程

DHCP客户机首先进行广播寻找DHCP服务器(DHCP DISCOVER),源地址为本机0.0.0.0,目的地址为广播地址255.255.255.255
DHCP服务器收到后,返回DHCP OFFER消息,其中包含提供给DHCP客户机的IP地址(使用ARP确保所选IP地址未被网络中其他主机占用)和相关配置信息。源地址为DHCP服务器地址,目的地址为广播地址(因为此时目的客户机还没有IP地址)
客户机可能会收到多个DHCP提供消息,一般以收到的第一个为准。此时客户机知道DHCP服务器可以给它分配地址,因此发送DHCP REQUEST报文来请求分配IP地址,报文的源地址为0.0.0.0,目的地址为255.255.255.255
DHCP收到请求信息后,查看其中事务ID是否相符,若不符则丢弃;符合则从地址池中取得一个IP地址,并通过ARP协议确认此地址未被使用后,将其封装进DHCP ACK信息中,报文源地址为DHCP服务器地址,目的地址为广播地址
客户机收到DHCP确认信息后,查看其中事务ID是否相符,不符则丢弃;符合则再次使用ARP确认IP地址没有被使用
若被占用:给DHCP服务器发送DHCP DECLINE报文撤销IP地址租约,并重新发送DHCP DISCOVER报文;
若未被占用:可以使用租约中的IP地址与网络中其他主机通信了。
当IP地址租约达到0.5倍时间时,客户机会再次向DHCP服务器发送请求信息更新租用期。源地址为租用的IP地址,目的地址为DHCP服务器地址。此时DHCP服务器会出现以下三种情况:
收到请求后,返回确认报文(DHCP ACK),其中有新的IP地址租期,重新设置计时器。
收到请求后,返回否认报文(DHCP NACK),则客户机收到后立刻停止使用IP地址并重新发送DHCP DISCOVER报文
不响应。则在租期达到0.875倍时,DHCP客户必须重新发送DHCP REQUEST报文,继续等待DHCP服务器可能做出的反应。若依然无反应,则租用期到后,客户机必须立刻停止使用当前IP地址,并重新发送DHCP DISCOVER报文来重新申请IP地址。
客户端可随时终止DHCP服务器提供的租用期,这时只需要向DHCP服务器发送DHCP RELEASE即可。源地址0.0.0.0,目的地址255.255.255.255
DHCP配置

1、配置IP
[DHCP Server]interface GigabitEthernet 0/0/0
[DHCP Server-GigabitEthernet0/0/0]ip address 192.168.1.100 24
[DHCP Server]interface GigabitEthernet 0/0/1
[DHCP Server-GigabitEthernet0/0/1]ip address 192.168.2.100 24
2、启动DHCP服务
[DHCP Server]dhcp enable ----启动DHCP服务
3、配置DHCP待分配的IP地址池塘
[DHCP Server]ip pool wmy ----创建一个叫做wmy的IP地址池塘
[DHCP Server-ip-pool-wmy]network 192.168.1.0 mask 24 ---给池塘中添加IP地址信息,
将192.168.1.0/24整个网段的IP地址都添加到池塘中。
[DHCP Server-ip-pool-wmy]gateway-list 192.168.1.100 ---设置该池塘中所有IP的网关地
址
[DHCP Server-ip-pool-wmy]dns-list 8.8.8.8 ----设置该池塘中所有IP的拥有者DNS服务器
的IP地址
4、将池塘与接口进行联动,目的是告诉路由器,该池塘的信息应该属于哪个接口所连接的广播域
[DHCP Server]interface GigabitEthernet 0/0/0
[DHCP Server-GigabitEthernet0/0/0]dhcp select global ----将DHCP服务在该接口激活
5、扩展配置---可选
[DHCP Server-ip-pool-wmy]excluded-ip-address 192.168.1.254 192.168.1.254 ---
在192.168.1.0/24这个地址池中,将192.168.1.254地址排除,后续服务器在分配IP地址时,将不会分配
192.168.1.254这个地址信息。------------起始IP、截止IP
[DHCP Server-ip-pool-wmy]lease day 0 hour 0 minute 1 ---修改租期时间[DHCP Server]display ip pool name ? ---查看具体某个地址池塘内容
STRING<1-64> Pool name
