在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果采用手工配置,工作量大而且不好管理,如果有用户擅自修改网络参数,还有可能造成IP地址冲突等问题。使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)来分配IP地址等网络参数,可以减少管理的工作量,避免用户手工配置网络参数时造成的地址冲突。
DHCP报文类型
- DHCP Discover:客户端发送广播信息来寻找DHCP服务器。
- DHCP Offer:DHCP服务器用来响应DHCP Discover报文,此报文携带各种配置
- DHCP Request:客户端广播请求配置确认;或者单播请求续借租期(50%租期单播,87.5%广播)
- DHCP ACK:服务器对Request确认响应。
- DHCP NAK:服务器对Request拒绝响应。
- DHCP Release:客户端通知服务器释放地址
地址池
DHCP服务器的地址池是用来定义分配给主机的IP地址范围, 有两种形式。一种是,接口地址池,一种是,全局地址池。
接口地址池:
为连接到同一网段的主机分配IP地址,配置方法:[G0/0/0] dhcp select interface
全局地址池:
为所有连接到DHCP服务器的终端分配地址,配置方法:[G0/0/0] dhcp select global
接口地址池优先级高于全局地址池
HDCP工作原理
- DHCP客户端初次接入网络时,会发送DHCP发现报文(DHCP Discover),用于查找和定位DHCP服务器。
- DHCP服务器在收到 DHCP发现报文后, 发送 DHCP提供报文(DHCP Offer),此报文中包含IP地址等配置信息。
- 在DHCP客户端收到服务器发送的DHCP提供报文后, 会发送DHCP请求报文(DHCP Request) , 另外在DHCP客户端获取IP地址并重启后, 同样也会发送DHCP请求报文, 用于确认分配的IP地址等配置信息。 DHCP客户端获取的IP地址租期快要到期时, 也发送DHCP请求报文向服务器申请延长IP地址租期。
- 收到DHCP客户端发送的DHCP请求报文后, DHCP服务器会回复DHCP确认报文(DHCP ACK) 。 客户端收到DHCP确认报文后,会将获取的IP地址等信息进行配置和使用。
- 如果DHCP服务器收到DHCP-REQUEST报文后, 没有找到相应的租约记录, 则发送DHCP-NAK报文作为应答, 告知DHCP客户端无法分配合适IP地址。
- DHCP客户端通过发送DHCP释放报文(DHCP Release) 来释放IP地址。 收到DHCP释放报文后, DHCP服务器可以把该IP地址分配给其他DHCP客户端。
DHCP租期更新
50%租期
客户端发送DHCP Request(单播)请求续租
服务器回复DHCP ACK(单播)
如果服务器未响应,租期剩余12.5%继续请求
12.5%剩余
客户端发送DHCP Request(广播播)请求续租
服务器回应:
ACK 客户端刷新租期
NAK停止使用现有地址,重新申请
地址释放
如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP使用。
如果DHCP客户端不再使用分配的ip地址,也可以主动向DHCP服务器发送DHCP RELESASE报文,释放该IP地址。
DHCP接口地址池配置
dhcp enable命令用来使能DHCP功能,在配置DHCP服务器时, 必须先执行dhcp enable命令, 才能配置DHCP的其他功能并生效。
dhcp select interface命令用来关联接口和接口地址池, 为连接到接口的主机提供配置信息。 在本示例中, 接口GigabitEthernet 0/0/0被加入接口地址池中
dhcp server dns-list命令用来指定接口地址池下的DNS服务器地址
dhcp server excluded-ip-address命令用来配置接口地址池中不参与自动分配的IP地址范围。
dhcp server lease命令用来配置DHCP服务器接口地址池中IP地址的租用有效期限功能。 缺省情况下, 接口地址池中IP地址的租用有效期限为1天。
DHCP全局地址池配置
在本示例中, 配置了一个DHCP全局地址池。
- ip pool命令用来创建全局地址池。
- network命令用来配置全局地址池下可分配的网段地址。
- gateway-list命令用来配置DHCP服务器全局地址池的出口网关地址。
- lease命令用来配置DHCP全局地址池下的地址租期。 缺省情况下, IP地址租期是1天。
- dhcp select global命令用来使能接口的DHCP服务器功能。
总结