DHCP:动态主机配置协议(Dynamic Host Configure Protocol)
在大型企业网络中,一般会有大量的主机等终端设备。每个终端都需要配置IP地址等网络参数才能接入网络。在小型网络中,终端数量很少,可以手动配置IP地址。但是在大中型网络中,终端数量很多,手动配置IP地址工作量大,而且配置时容易导致IP地址冲突等错误。
DHCP可以为网络终端动态分配IP地址,解决了手工配置IP地址时的各种问题。
成为DHCP服务器的条件
1.该设备必须拥有接口或者网卡位于想要下发IP地址的广播域内。
2.这个设备或者网卡必须先拥有一个合法的IP地址。
DHCP系统构成
客户端--中继器--服务器
客户端:需要动态获取IP地址的终端。
中续器:一般为路由或交换机等网络设备。
服务器:能提供DHCP服务的路由器等设备。
DHCP数据包结构
DHCP (华为)配置口令
先全局开启dhcp
dhcp enable 开启dhcp功能
进入相应的接口进行配置,进行接口关联:
dhcp select interface 关联接口和接口地址池
dhcp server dns-list 地址 配置接口地址池的DNS服务器地址
dhcp server lease 数字 配置接口地址池的租期,默认1天
dhcp server exculded-ip-address 地址 配置接口地址池的排除地址范围
dhcp server static-bind ip-address [x.x.x.x] mac-address [xxxx-xxxx-xxxx] 配置静态绑定
dhcp select global 关联接口和全局地址池
ip pool 名称 创建全局地址池
network 地址 配置全局地址池的网段地址
gateway-list 地址 配置全局地址池的网关地址
dns-list 地址 配置全局地址池的DNS服务器地址
lease 数字 配置全局地址池下的租期, 默认1天
excluded-ip-address 地址 配置全局地址池下的排除地址范围
display ip pool [interface 接口 all/used] /[name 全局地址池名] 查看接口地址池属性
ipconfig /release 释放租期
ipconfig /renew 重新获取
DHCP报文类型
DHCP用的是UDP的67(服务器) 68(客户端)端口
DHCP客户端初次接入网络时,会发送DHCP Disconver,用于查找和定位DHCP服务器。
DHCP服务器收到DHCP发现报文后,发送DHCP offer,此报文中包含IP地址等信息。
DHCP客户端收到服务器发送的DHCP提供报文后,发送DHCP Request ,另外在DHCP客户端获取IP地址并重启后,同样也会发送DHCP请求报文,用于确认分配的IP地址等配置信息。DHCP客户端获取的IP地址租期快要到期时,也发送DHCP请求报文向服务器申请延长IP地址租期。
收到DHCP客户端发送的DHCP请求报文后,DHCP服务器会回复DHCP ACK。客户端收到DHCP确认报文后,会将获取的IP地址等信息进行配置和使用。
如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租期记录,则发送DHCP-NAK报文作为应答,告知DHCP客户端无法分配合适IP地址。
DHCP客户端通过发送DHCP释放报文(DHCP Release)来释放IP地址,收到DHCP释放报文后,DHCP服务器可以把该IP地址分配给其他DHCP客户端。
DHCP Disconver | 客户端用于查找和定位DHCP服务器。 |
DHCP offer | DHCP服务器响应DHCP,此报文中包含IP地址等信息。 |
DHCP Request | 客户端请求配置确认,或续租期。 |
DHCP ACK | 服务器对 request报文的确认响应(NAK为拒绝)。 |
DHCP Release | 客户端要释放地址时通知服务器所用。 |
DHCP工作原理
1、客户端发送DHCP Discover包寻找DHCP服务器。(广播)
2、DHCP服务器收到1,发送offer包,里面包含IP地址等的信息。(单播/广播(不同厂商不同设定,华为用单播,思科广播)
3、客户端发送 Request包,告诉所选的DHCP已经有所选择(最快给下发IP地址的那边),告诉所有设备已经有所选择。(广播)可能当前区域不止一台DHCP设备,谁最快回复,客户端就用谁的DHCP。
4、服务器发送 ACK包,对Request包进行确认。
DHCP的租期
客户端申请到IP地址后,DHCP客户端中会保存三个定时器,分别用来控制租期更新,租期重绑定和租期失效。
DHCP服务器为DHCP客户端分配IP地址时会指定三个定时器的值。如果DHCP服务器没有指定定时器的值,DHCP客户端会使用缺省值,缺省租期为1天。
默认情况下,还剩下50%的租期时,DHCP客户端开始租约更新过程,DHCP客户端向分配IP地址的服务器发送DHCP请求报文来申请延长IP地址的租期。
还有一个·周期为剩下12.5%周期。
DHCP服务器向客户端发送DHCP确认报文,给予DHCP客户端一个新的租期。
重新绑定:
DHCP客户端发送Request包续租,如果没用收到服务器ACK包,默认在进入87.5%周期时超时,超时后会重复上述步骤。此时区域内所有的DHCP都可以进行应答
如若客户端收到ACK包,则重新进入绑定状态,租期重新刷新。如若收到NAK包,则客户端需要重新从寻找DHCP服务器开始去申请IP地址。(租期失效)