DHCP:动态主机配置协议
DHCP:动态主机配置协议
背景:大量的终端需要接入网络
即设备需要上网参数接入网络(IP地址、网络掩码、网关、DNS等)
为了便于用户快捷接入网络,提升网络使用的体验感
使用DHCP为终端自动获取上网参数
手工配置 和 DHCP配置的参数对比:
手工:
1.配置量大,易出错
2.地址需提前规划,不能统一管理
3.在网络升级改造时,不能同步的进行地址更新
动态:
1.由服务器统一分配地址,不易出错
2.实现统一管理,可以实现地址资源的重复利用
3.根据网关的规划,可以由服务器同步切换网络段
DHCP的基本原理:
*DHCP是基于 C/S架构
1.客户端 广播 发送discover报文,用于发现广播域内的服务器
1.为什么要广播发送? 客户端没有服务器的具体信息,同时客户端本身不具备地址,所以SIP为0.0.0.0
2.discover报文用于向服务器请求可以使用的上网参数: 请求IP地址
3.因为是广播发送,所以广播域的所有服务器都会收到该报文
2.服务器收到discover报文后,会 单播 回复一个offer报文
1.所有服务器收到discover报文都会回复
2.offer报文携带了可以使用的上网参数:携带了IP地址
3.客户端收到offer报文后,会 广播 发送一个request报文
1.为什么要广播发送? 客户端会优选第一个收到的offer报文,对于没有使用的offer报文需要告知通告的服务器回收该地址
1.告知使用offer的服务器地址被使用了:这个IP我用了
2.告知没有使用offer的服务器地址需要回收:这个IP我没用
2.request报文用于向服务器确定使用上网参数
4.服务器收到request报文后,会 单播 回复一个ack报文
3.DHCP的主要参数
● 作用域:是网络上IP地址的完整连续范围。作用域通常定义为接受DHCP服务的网络上
的单个物理子网。
●排除范围:是指从DHCP作用域中排除出去的、有限的IP地址。使用排除范围,可以保
证服务器不将这些范围内的地址分配给DHCP客户机。
●地址池:在定义了作用域和排除范围后,剩余的、可用的地址就构成了“地址池”。服
务器可将地址池内的IP地址动态分配给DHCP客户机。
DHCP的配置:
1.基于接口的DHCP配置:把一个接口看作一个DHCP服务器
[AR1]dhcp enable 开启DHCP功能
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[AR1-GigabitEthernet0/0/0]dhcp select interface 开启接口DHCP功能
1.终端获取的地址在服务器接口的网段范围内
2.终端获取的掩码就是服务器接口的掩码
3.终端获取的网关就是服务器接口的地址信息
*地址分配的规律大部分是从大到小依次分配
[AR1-Gi0/0/0]dhcp server static-bind ip-ad 192.168.1.3 mac-ad 5489-983B-5BB0
通告MAC地址唯一分配对应的IP地址
[AR1-Gi0/0/0]dhcp server excluded-ip-address 192.168.1.200 192.168.1.253
在地址池中排除一段地址:只配置一个就是只排除一个
[AR1-GigabitEthernet0/0/0]dhcp server dns-list 8.8.8.8 114.114.114.114
配置可以使用的DNS参数信息
2.基于全局的DHCP配置:把一个路由器或者交换机当做DHCP服务器给每个接口分发
[AR2]dhcp enable
[AR2]interface GigabitEthernet0/0/0
[AR2-Gi0/0/0]ip address 192.168.1.254 255.255.255.0
[AR2-GigabitEthernet0/0/0]dhcp select global 接口使能全局DHCP功能
[AR2]interface GigabitEthernet0/0/1
[AR2-Gi0/0/1]ip address 192.168.2.254 255.255.255.0
[AR2-GigabitEthernet0/0/1]dhcp select global
[AR2]ip pool A 创建地址池名称为A
[AR2-ip-pool-A]gateway-list 192.168.1.254 设置分配的网关信息 一定要先配网关
[AR2-ip-pool-A]network 192.168.1.0 mask 24 设置分配地址的网段信息 不能先配网段再配网关会冲突,DHCP服务器会先分配网段给客户机
[AR2-ip-pool-A]static-bind ip-address 192.168.1.3 mac-address 5489-9833-3333 创建保留
[AR2-ip-pool-A]excluded-ip-address 192.168.1.100 192.168.1.200 创建排除
[AR2-ip-pool-A]dns-list 1.1.1.1 2.2.2.2
[AR2]ip pool A 创建地址池
[AR2-ip-pool-A]gateway-list 192.168.1.254 设置分配的网关信息
[AR2-ip-pool-A]network 192.168.1.0 mask 24 设置分配地址的网段信息
[AR2-ip-pool-A]static-bind ip-address 192.168.1.3 mac-address 5489-9833-3333
[AR2-ip-pool-A]excluded-ip-address 192.168.1.100 192.168.1.200
[AR2-ip-pool-A]dns-list 1.1.1.1 2.2.2.2
PC>ipconfig 查看设备的网络参数
PC>ipconfig /release 释放已获取的网络参数
PC>ipconfig /renew 重新获取网络参数
DHCP地址的重复利用:
服务器分配的地址都是临时的,在地址下发时会同时分配租期时间
在地址分配时,租期时间默认为1天(24h)
1.如果租期时间到达50%,客户端会单播发送一个request报文
1.服务器回复了ack,则租期时间自动刷新为24h
2.服务器没有回复,则继续使用等到租期时间为87.5%,客户端会广播发送一个request报文
1.原服务器回复了ack,则租期时间自动刷新为24h
2.原服务器没有回复,但有新服务器回复了ack,租期时间自动刷新为24h
3.没有任何服务器回复,则继续使用地址,知道租期时间为0,然后广播发送discover报文
DHCP中继
[AR3]dhcp enable
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]dhcp select relay 设置接口成为dhcp中继
[AR3-GigabitEthernet0/0/0]dhcp relay server-ip 10.1.56.6 指定DHCP服务器的地址 10.1为DHCP地址
因为客户端的报文经过中继设备转发 跨了网段,服务器如何识别不同网段的地址?
客户端到中继之间使用广播报文交互
中继到服务器之间使用单播报文交互