DHCP基本背景
1.1前言
- 在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果需要采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。使用动态主机配置协议DHCP(Dynamic Host Configuraton Protocol)来分配ID地址等网络参数,可以减少员工的工作量,避免用户手工配置网络参数造成的地址冲突。
- 在相同局域网下,不能存在相同的IP
2.DHCP协议
2.1DHCP的介绍
- DHCP:Dynamic Host Configuraton Protoco,动态主机配置协议
- 从BOOTP(bootstrap Protocol)协议发展而来:引导程序协议,它可以让无盘工作站从一个中心服务器获得IP地址,为局域网中的无盘工作站分配动态IP地址。并不需要每个用户去设置静态IP地址
- UDP:封装,服务器=67,客户端=68
- UDP数据报协议
- 动态分配TCP/IP信息(IP地址、子网掩码、默认网关、DNS服务器等)
- 配合其他服务,实现集成化管理功能
- 分配出去的信息是有租约的
- DHCP缺点:
- 当网络上有多个服务器时,一个DHCP服务器不能查出已被其他服务器租出去的IP地址
- DHCP服务器不能跨路由器与客户端通信,除非路由器允许BOOTP协议转发
2.2 DHCP系统组成
- DHCP Client(客户端):通过DHCP协议请求获取IP地址等网络参数设备
- DHCP sever(服务器):能提供DHCP功能的服务器或网络设备
- DHCP Relay(中继):负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP服务器向DHCP客户端动态分配网络参数的设备
2.3 DHCP报文类型
- DHCP Discover:客户端用来寻找DHCP服务器
- DHCP Offer:DHCP服务器向来响应DHCP Discover报文,此报文携带了各种配置信息
- DHCP Request:客户端请求配置确认,或者续借租期
- DHCP Ack:服务器对Request报文的确认相应
- DHCP Nck:服务器对Request报文的拒绝相应
- DHCP Release:客户端要释放地址时用来通知服务器
2.4 工作流程
2.5 DHCP更新
2.5.2租期更新
-
当租期达到50%(T1)时,DHCP客户端会自动以单播的形式向DHCP服务器发送DHCP Request报文请求更新的IP地址租期
-
如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算)
-
如果收到DHCP服务器回应的DHCP NAK报文,则重新发送DHCP Discover报文请求新的IP地址
2.5.3 租期重绑定
-
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送 DHCP Request报文请求新的IP地址租期
-
如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算)
-
如果收到DHCP服务器回应的DHCP NAK报文,则重新发送DHCP Discover报文请求新的IP地址
2.5.4 租期到期
- 如果租期时间到时都没收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP
2.5.5 租期设置建议
- 设置较短
- 增加网络负担
- 使用客户端较多
- 流动场所(机场、火车站、酒店、KTV、购物中心)
- 设置较长
- 减轻网络负担
- 等待较长
- 固定场所(家庭、企业)
2.6DHCP扩展
2.6.1地址释放
- 客户端在租期时间到之前,如果用户不想使用分配的IP地址(例如客户端网络位置需要变更),会触发DHCP客户端向DHCP服务器发送DHCP Release报文,通知DHCP服务器释放IP地址的租期
- DHCP服务器会保留这个DHCP客户端的配置信息,将IP地址列为曾经分配过的IP地址,以便后续重新分配给该客户端或其他客户端
- 客户端可以发送给DHCP Inform报文向服务器请求更新配置信息
2.6.2 地址重新使用
- DHCP客户端非首次接入网络时,可以重用曾经使用过的IP地址
)
- 客户端发送包含前一次分配的IP地址的DHCP Request报文,报文中Option50(请求的IP地址选项)字段填入曾经使用过的IP地址
- DHCP服务器接收到DHCP Request报文后,根据DHCP Request报文携带的MAC地址来查找有没有相应的租约记录,如果有则返回DHCP Ack,通知DHCP客户端继续使用这个IP地址。否则保持沉默,等待DHCP客户端重新发送DHCP Discover报文请求新的IP地址
2.6.3DHCP地址池
- 所分配地址的集合
- 接口地址池的优先级比全局地址池高
- 全局地址池可以指定ip地址做网关地址
- 接口地址池用接口ip地址做网关地址,但不可以指定其他IP地址做网关
2.7配置命令
2.7.1 配置命令