了解
dhcp------->应用层---->动态主机配置协议—>Dynamic host configuration protocol
dhcp服务器:专门给局域网里的电脑分配ip
无线路由器:有分配dhcp的功能 --->就是一台dhcp服务器
负责为客户机动态分配TCP/IP信息
> ip地址
子网掩码
默认网关
首选dns服务器
DHCP工作原理
网上找的:
DHCP(动态主机配置协议)工作原理如下:
-
DHCP发现:当设备连接到网络时,它会广播一个DHCP发现消息,该消息被发送到网络上的所有设备。该消息的目的是寻找可用的DHCP服务器。
-
DHCP提供:DHCP服务器收到DHCP发现消息后,会向设备发送一个DHCP提供消息。该消息包含了分配给设备的IP地址和其他网络配置信息。DHCP服务器可能有多个可用的IP地址,它将其中一个分配给设备。
-
DHCP请求:设备收到DHCP提供消息后,如果接受了其中的IP地址分配,它会向DHCP服务器发送一个DHCP请求消息,确认接受该IP地址。
-
DHCP确认:DHCP服务器收到DHCP请求消息后,会发送一个DHCP确认消息给设备。该消息确认了设备的IP地址分配,并包含了其他网络配置信息。
-
IP地址租约:设备在收到DHCP确认消息后,可以开始使用分配的IP地址和其他网络配置信息。DHCP服务器还会为每个设备分配一个租约时间,设备在租约到期前需要向DHCP服务器申请续租或获取新的IP地址。
-
IP地址释放:如果设备不再需要分配的IP地址,例如设备从网络断开或关机,它会发送一个DHCP释放消息给DHCP服务器,以释放该IP地址供其他设备使用。
总结来说,DHCP工作原理是设备通过广播消息寻找可用的DHCP服务器,DHCP服务器为设备分配IP地址和其他网络配置信息,并确保设备可以使用分配的地址一段时间。这种自动化的过程简化了网络管理,减少了手动配置的工作量,并提供了动态和灵活的IP地址分配机制。
抛出问题
dhcp服务器是如何知道哪些ip地址分配出去了,哪些没有分配?分配的时候是否会检查ip是否冲突?
地址池—>DHCP服务器维护一个称为地址池的IP地址范围,这些地址是可供分配的。当设备连接到网络并请求IP地址时,DHCP服务器从地址池中选择一个可用的IP地址分配给设备。它会检查地址池中哪些IP地址已经分配出去,并标记为已使用。这样,DHCP服务器就知道哪些IP地址已经分配出去了,哪些还没有分配。
一个局域网里有1个dhcp服务器就可以了
dhcp服务器会记录哪些ip地址分配出去了,他有一个文件记录。(就像是房东嘛,催钱)
在分ip地址之前,会先检查一下这个ip有没有使用(就是先ping一下你要给的ip地址) 如果有回应就知道有人用了,没回应就没人用
dhcp的底层原理
先记住—>Discover包是广播包
1.此时客户机没有ip地址。
2.客户机他在喊(DHCPDiscover)—>谁有ip地址,谁给我分一个
3.然后dhcp服务器回他单播:我有,我有,你来我这拿。给对方发个offer(DHCPOffer)
4.回复dhcp说我想要xxx这个包,DHCPRequest—>广播
5.dhcp服务器回复客户机,DHCPAck确认:你要这个xxx对吧,给你
总之—>客户机发出的都是广播包,dhcp服务器回的是单播
dhcp 使用 udp 客户端的端口是67 服务器是68
Linux搭建dhcp服务器
前置知识
dhclient -r 释放ip地址
dhclient —>让网卡重新获得ip地址
ifdown ens33
ifup ens33
这样也可以
两种不同的方式!!!👆
详细步骤
第一步:yum install dhcp -y
第二步:进入 cd /etc/dhcp/
第三步::cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
第四步:更改配置文件
第五步:把服务器和客户端都改为仅主机模式
第六步:在 /etc/sysconfig/network- ~~~ 把ens33那个改成 dhcp(动态获得)
第七步:在客户端上—>dhclient -r dhclient
最后的效果: