一、DHCP技术背景
传统的手工配置网络参数需要每个用户都手动配置IP地址、掩码、网关、DNS等多个参数。
手动配置会存在一些问题:
人员素质要求高
容易出错
灵活性差
IP地址资源利用率低
工作量大
二、概念
动态主机配置协议
DHCP:dynamic host configuration protocol
C/S架构的 client Server
基于UDP的应用层协议 协议号 67(服务端) 68(客户端)
- 工作原理:
在Server上提供 地址池:提供一个/多个 范围的IP地址----地址池是管理员定义的
client 向server发起 请求IP地址的报文,当server收到后,向client 提供IP地址
- 工作过程:
1.client 先去寻找网络中 可用的DHCP Server的位置
2.Server 向clinet 回复 响应的信息
3.client 向server 发起请求IP地址的报文
4.Server 向client 提供IP地址、掩码、网关、DNS等相关配置的信息
client获取到这些信息,配置给自己的网卡 - 针对工作过程,存在四种报文
1、dhcp discover —>寻找网络中的Server
2、dhcp offer —>server 向 client 的响应、发送配置信息
3、dhcp request —>client 向 server请求IP地址等相关信息
4、dhcp ack —>server 向 client 发出回应
dhcp nak:服务器对request报文的拒绝响应
如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,
则发送DHCP-NAK报文作为应答,告知DHCP客户端无法分配合适IP地址。
dhcp release :客户端要释放地址时用来通知服务器
*DHCP客户端通过发送DHCP释放报文(DHCP Release)来释放IP地址。
收到DHCP释放报文后,DHCP服务器可以把该IP地址分配给其他DHCP客户端。
*
client:PC机、打印机、手机、摄像头等网络终端来充当
Server:服务器主机、具有路由功能的三层交换机、路由器
三、工作过程
阶段一:
1.client 发送 DHCP discover 报文: 客户端发送的 广播报文,用于寻找网络中的DHCP服务器
2.server 发送 DHCP offer :携带server的IP地址,同时还有分配出来的IP地址等信息
3.client 向server 发送 dhcp的request 报文,针对offer报文携带的IP地址等信息,向server发起是否可用的请求
4.DHCP ack 针对请求做出回应,client获取到了IP地址
5.client 获取到IP地址之后,向广播域内广播发送3个无故ARP/免费ARP,确认一下网络中是否已经存在这个IP地址,避免IP地址冲突
tips:
如果通过DHCP没有获取的IP地址,windows主机会自动分配一个IP地址 169.254.x.x,这个地址是不可用的
四、DHCP的配置(在路由器或三层交换机上配置)
DHCP在接口上进行配置(把地址池建立在了接口上)
1.全局开启dhcp功能
dhcp enable
2.给接口配置IP地址-------在接口上无形创建了一个和接口IP同网段的地址池
3.选择 地址池的模式为接口模式: dhcp select interface
4.指定dns服务器的地址
5.指定要排除的IP地址
6.指定租期
DHCP在全局上进行配置
1.全局开启DHCP服务功能
2.创建DHCP地址池—给地址池起个名字
3.指定地址池的大小
4.指定网关
5.指定DNS服务器
6.指定租期
7.在接口上选择dhcp为全局模式
五、DHCP租期更新
六、DHCP重绑定
七、DHCP优缺点
DHCP的优点:
1、 网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;
2、 DHCP不会同时租借相同的IP地址给两台主机;
3、 DHCP管理员可以约束特定的计算机使用特定的IP地址;
4、 可以为每个DHCP地址池设置很多选项;
5、 客户机在不同子网间移动时不需要重新设置IP地址
DHCP服务的缺点:
1、 DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;
2、 当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;
3、 DHCP服务器不能跨路由器与客户机通信,除非路由器允许DHCP转发.
DHCP协议基本上是一个单向驱动协议;SERVER完全是被动的,其动作行为基本完全由CLIENT的请求行为而激发。即SERVER端无法主动控制CLIENT端。