作用:在局域网内部动态分配IP地址,DHCP前身 Bootstrap,BOOTP只能静态分配IP地址,主要使用在无盘工作站环境中。
DHCP分为客户端,服务器,中继器。
客户端使用的端口号68,服务器的端口号67。
DHCP使用UDP协议承载。
租期:一定时间内供某一个PC使用某一个地址。
DHCP分配地址方式分3种:
1.静态
2.手工分配
3.动态分配
DHCP分配地址的流程:
1.客户端向广播域内发送Discover报文,寻找DHCP的服务器。
2.DHCP服务器广播回应OFFER报文,并提供一个IP地址。
*如果存在多个DHCP服务器话,客户端以第一个回应的为准。
3.客户端广播发送Request报文,请求使用服务器提供的这个IP地址。
4.服务器如果同意分配,广播回应ACK报文,不同意回应NAK报文。
DHCP客户端在接收ACK过后,客户端发送免费ARP报文(目标IP是本机IP)。如果有人使用,回复一个Decline报文,重新请求。
*Release报文,用来释放IP地址。
租期在经过1/2的时候,客户端会再次请求能否继续使用。如果被拒绝,在租期经过7/8的时候,客户端再次请求能否继续使用。如果再被拒绝,重新开始申请。
DHCP配置
Router(config)#no ip dhcp conflict logging 关闭冲突提示信息
Router(config)#ip dhcp pool cisco 启用DHCP功能,起个名字
Router(dhcp-config)#network 192.168.1.0 255.255.255.0 地址池
Router(dhcp-config)#default-router 192.168.1.1 配置网关
Router(dhcp-config)#dns-server 202.96.128.68 配置DNS
Router(dhcp-config)#lease 10 修改租期为10天
Router(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.10 保留这十个地址,不下放,给其它固定设备用。
Debug ip dhcp server packet
Show ip dhcp binding 查看ip地址和mac地址的绑定
在client端:
Router(config-if)#ip address dhcp
show dhcp lease 显示学习到的地址
show dhcp server 显示学习到的其它信息
在一台路由器上可以同时配很多个DHCP服务,取不同的名,接口根据自己的IP地址来决定下发哪一个DHCP服务
不同网段实现DHCP:
如果PC(1.0)和dhcp server(2.0)不在同一个网段,要借助helper功能
在路由器的接口下(与PC所在网段相连的接口)
Ip helper-address 192.168.2.1 这个地址是DHCP服务器的地址
在DHCP服务器上,要通告的网段必须是PC所在的网段
Router(dhcp-config)#network 192.168.1.0 255.255.255.0
在DHCP服务器上还必须有去PC所在网段的路由
DHCP的配置的实例:
DHCP SERVER的配置:
ip dhcp excluded-address 192.168.1.1 192.168.1.10
ip dhcp excluded-address 192.168.1.254
ip dhcp excluded-address 192.168.2.254(保留的地址,不能被下放出去)
ip dhcp pool mapo(定义一个地址池)
network 192.168.1.0 255.255.255.0(这个地址池中的网段)
default-router 192.168.1.254(默认分配的网关是多少)
dns-server 200.200.200.200(dns服务器)
ip dhcp pool xzz(又定义了一个地址池)
network 192.168.2.0 255.255.255.0
default-router 192.168.2.254
dns-server 200.200.200.200
DHCP 中继:
interface FastEthernet0/1(要分发网段的路由器上)
ip address 192.168.2.254 255.255.255.0
ip helper-address 12.12.12.1(必须是服务器的地址)