DHCP(网络地址池)3种分配方式及原理
一、DHCP基本原理
1、dhcp及动态主机配置协议、属于局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。担任DHCP服务器的计算机需要安装TCP/IP协议并具备静态IP地址、子网掩码、默认网关等内容。
DHCP是由IETF(internet 工作任务小组)开发设计的,于1993年10月成为标准协议,其前身是BOOTP协议。
二、产生的原因及解决的问题。
1、大家都知道不管是在内网状态下还是互联网中、只要涉及到网络通信都离不开IP地址的产生、就像每个人使用手机都要具有手机号才能与其他人建立联系、互联网上的设备也是如此、互联网上的电脑相互之间通信,必须有各自的IP地址,由于IP地址资源有限,宽带接入运营商不能做到给每个用户都能分配一个固定的IP地址、那将会浪费很多IP地址。
为了解决这一问题Internet小组提出了DHCP这样一个协议来解决、为每个用户配置固定IP的烦恼、采用DHCP(动态获取IP)方式对上网的用户进行临时分配上网IP。也就是你的电脑连上网,DHCP服务器才从地址池里临时分配一个IP地址给你,但是这个地址只是临时使用而不是长期固定给到你。他是有租约时间的。
当你不在使用电脑或在关机状态下,DHCP服务器就会把这个地址收回到服务器地址池中、并分配给其他上网的用户。这样就实现了有效节约IP地址,既保证了网络通信,又提高了IP地址的使用率。这种网络服务有利于对校园、公司内网、网络中的客户机IP地址进行有效管理,而不需要一个一个手动指定IP地址。
三、DHCP分配方式
1、自动分配(Automatic allocation)
自动分配是当DHCP客户端第一次成功的从DHCP服务器获取一个IP地址后,就永久的使用这个IP地址默认是不会有变化的。
2、 手动分配
手动分配是由DHCP服务器指定分配的IP地址
3、动态分配(Dynamic Allocation)。
动态分配是当客户端第一次从DHCP服务器获取到IP地址后,所获取的IP并非永久使用该地址,而是每次使用完后,DHCP客户端就会释放这个IP,供其他客户端使用。
而在各大公司及学校网络中多数会采用动态分配的方式配置dhcp功能。
四、租约过程
1、请求阶段:
当主机用户首次连接到网络或其他用户IP地址过期时,它会发送一个DHCP Discover广播请求报文,询问可用的IP地址。
2、响应阶段:
DHCP服务器收到请求后,如果有一个可用的IP地址,会发送一个DHCP Offer,提供网络配置信息和一个预设的租约期限。
3、确认阶段:
客户端接收到Offer后,如果满意配置,发送DHCP Request确认,并开始使用分配的IP地址。
4、租约阶段:
客户端开始使用分配的IP地址,这段时间被称为租约期,通常为几小时至几天不等,取决于服务器配置。
5、续租尝试:
在租约快到期前,客户端会定期发送DHCP Request来尝试续租,即使IP地址未改变也进行此操作。
6、续租响应:
如果服务器同意续租,会发送DHCP ACK;如果不响应,可能是因为租约已过期或不再可用。
五、续约过程:
1、定时续订
客户端会在租约剩余时间内的某个点尝试自动续约,通常使用“重绑定”过程。
2、到期续订
如果租约期满但客户端仍在线,它会在租约过期后立即尝试重新获取IP地址。
3、超时后续订
如果服务器在几个重试后仍未响应,客户端可能会认为网络不可达并放弃当前地址,然后重新开始整个DHCP流程。
六、DHCP配置案列
1、静态DHCP(基于接口配置案列)
1、命令详解
[R1N]dhcp enable 开启dhcp功能(默认关闭状态) Info: The operation may take a few seconds. Please wait for a moment.done. [R1N]interface GigabitEthernet 0/0/0 进入内网接入口 [R1N-GigabitEthernet0/0/0]dhcp select interface 配置dhcp模式为接口模式 [R1N-GigabitEthernet0/0/0]dhcp server lease day 1 配置DHCP用户租用IP使用时间 [R1N-GigabitEthernet0/0/0]dhcp server dns-list 1.1.1.1 配置DHCP指定的DNS的地址 [R1N
验证:PC机使用dhcp自动获取IP可以看到以获取到相应的IP地址、网关地址、DNS地址
PC1可以正常ping通PC2
通过抓包工具分析我们可以看到主机向路由器申请IP地址建立的过程
2、基于全局配置
配置命令详解
配置接口IP略
[R1N]interface LoopBack 1 [R1N-LoopBack1]ip add 114.114.114.114 24 配置本地回环地址模拟外网 [R1N]dhcp enable 开启dhcp功能 [R1N]interface g0/0/0 [R1N-GigabitEthernet0/0/0]dhcp select global 在内网接口下应用dhcp全局配置 [R1N]ip pool 1 创建dhcp名称为1 Info: It's successful to create an IP address pool. [R1N-ip-pool-1]network 192.168.20.0 mask 24 宣告dhcp可使用网段 [R1N-ip-pool-1]gateway-list 192.168.20.254 指定网关地址 [R1N-ip-pool-1]dns-list 20.20.20.20 指定DNS地址
验证配置PC机可以获取IP地址能够与外网通信
DHCP中继配置
配置命令诠释:
三层交换机配置
dhcp neable 开启dhcp功能
[SW1N]vlan batch 10 20 30 三层交换机上创建vlan
interface GigabitEthernet0/0/1 把创建的vlan应用到接口
port link-type access
port default vlan 30
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
interface Vlanif10 进入vlanID
ip address 192.168.10.254 255.255.255.0 配置vlanIP
dhcp select relay 开启dhcp中继
dhcp relay server-ip 12.12.12.2 DHCP指向dhcp服务器地址
#
interface Vlanif20
ip address 192.168.20.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 12.12.12.2
#
interface Vlanif30
ip address 12.12.12.1 255.255.255.0
DHCP路由器配置
[R1N]interface GigabitEthernet 0/0/0
[R1N-GigabitEthernet0/0/0]ip add 12.12.12.2 24
[R1N]dhcp enable 开启DHCP功能
[R1N-GigabitEthernet0/0/0]ip pool vlan10 在vlan10下配置dhcp策略
Info: It's successful to create an IP address pool.
[R1N-ip-pool-vlan10]network 192.168.10.0 mask 24 宣告自动获取IP的网段
[R1N-ip-pool-vlan10]gateway-list 192.168.10.254 指定默认网关地址
[R1N-ip-pool-vlan10]dns-list 114.114.114.114 指定DNS地址
[R1N-ip-pool-vlan10]excluded-ip-address 192.168.10 100 192.168.10.200 排除不分配的IP地址
[R1N]ip pool vlan20
Info: It's successful to create an IP address pool.
[R1N-ip-pool-vlan20]network 192.168.20.0 mas
[R1N-ip-pool-vlan20]network 192.168.20.0 mask 24
[R1N-ip-pool-vlan20]gateway-list 192.168.20.254
[R1N-ip-pool-vlan20]dns-list 114.114.114.144
[R1N-ip-pool-vlan20]excluded-ip-address 192.168.20.100 192.168.20.200
[R1N]ip route-static 0.0.0.0 0.0.0.0 12.12.12.1