在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。
简单来说就是:DHCP服务器自动分配IP地址,避免地址冲突,减少网络管理员的工作量。
DHCP
应用场景
DHCP服务器能够为大量主机分配IP地址,并能够集中管理。
一般而言,企业及家庭网络中都会使用DHCP,例如你手机连上wifi的时候就会自动给你分配地址。过程是:
- 主机向DHCP服务器请求ip地址
- DHCP服务器发送ip地址等相关参数给主机
报文类型
例
拓扑如下:
此时配置了全局地址池,配置如下:
服务器端:
#
dhcp enable //首先使能DHCP服务器
#
ip pool pool1 //创建地址池并且命名为pool1
gateway-list 1.1.1.1 // 设置网关
network 1.1.1.0 mask 255.255.255.0 //宣告网段
lease day 3 hour 0 minute 0 // 设置续约时间
dns-list 8.8.8.8 //设置dns地址
#
interface GigabitEthernet0/0/0
ip address 1.1.1.2 255.255.255.0 //进入接口进行IP配置
dhcp select global
主机端:
选择DHCP即可
抓取到的报文:
如上图所示
逐一分析:
- DISCOVER
discover报文中,源地址为本主机的mac地址,因为此时并未获取到ip地址,所以只包含本主机的mac地址。目标地址为广播地址,在本网络范围内查找DHCP服务器。 - OFFER
此时DHCP服务器接收到刚刚的广播报文,对客户端进行回复。图中目的地址和源地址已经标出,可与前面的DISCOVER报文进行对比。此时下发的是一个单播报文。
在OFFER报文中携带了各种信息。如此时标出的ip地址等等。此时DHCP服务器告诉客户端:你可以使用这个ip地址,我给你这些参数。
3. REQUEST
此时发送的依旧是个广播包。因为客户端不确定该网络中是否只有一个DHCP服务器,所以进行广播,防止多个DHCP服务器同时与主机端发送确认信息。
4. ACK
服务器端对主机端确认响应。此时DHCP通过四次握手完成ip地址的分发。
在主机端查看ip:
此时与报文分发的参数一致。
剩下的NAK没有进行抓包,但是感兴趣的话可以试试,原理一致的。(RELEASE在下面)
工作原理
工作原理与前面讲的一致,通过四次握手来完成ip地址的分发。
租期更新
IP租约期限到达50%时,DHCP客户端会请求更新IP地址租约。如此时我的配置是3天。那么每1.5天客户端都会向服务器请求更新租约。防止到期的时候临时更新造成网络的不稳定。
重绑定
DHCP客户端在租约期限到达87.5%时,还没收到服务器响应,会申请重绑定IP。
地址释放
如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址。
如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE报文,释放该IP地址。
主机端告诉服务器端,不再使用该地址。
服务器端配置
1. DHCP全局地址池配置(与上面是一样的)
#
dhcp enable //首先使能DHCP服务
#
ip pool pool1 //创建地址池并且命名为pool1
gateway-list 1.1.1.1 // 设置网关
network 1.1.1.0 mask 255.255.255.0 //宣告网段
lease day 3 hour 0 minute 0 // 设置续约时间
dns-list 8.8.8.8 //设置dns地址
#
interface GigabitEthernet0/0/0
ip address 1.1.1.2 255.255.255.0 //进入接口进行IP配置
dhcp select global
- 接口池配置
#
dhcp enable //使能DHCP服务
#
interface GigabitEthernet0/0/0 //进入接口
ip address 10.1.1.1 255.255.255.0 //配置接口ip
dhcp select interface //选择DHCP模式为接口模式
dhcp server excluded-ip-address 10.1.1.2 //除去ip地址池中不想给客户端分配的地址
dhcp server lease day 3 hour 0 minute 0 // 设置租约时间
dhcp server dns-list 10.1.1.2 // 设置dns服务器
【注】DHCP使用的是UDP协议(协议号17),端口号为67、68。
来源:CSDN
作者:起风了で
链接:https://blog.csdn.net/weixin_44064040/article/details/104745524