DHCP协议

目录

1、DHCP概念

2、DHCP分配方式

3、DHCP报文解释

4、DHCP工作过程

DHCP租期

5、DHCP中继

6、DHCP的思科配置


1、DHCP概念

DHCP是动态主机配置协议

诞生背景:是为了解决现在需要分配的IP越来越多,如果由管理员手工分配,就可能会造成配置困难、地址冲突、难管理等问题。

功能:即插即用、统一管理、动态分配

2、DHCP分配方式

(1)手工配置方式:通过网络管理员手工配置某台客户端特定的IP地址,当客户端请求分配时,DHCP服务器就将手动配置的IP地址分配给客户端。

(2)自动配置方式:当DHCP客户端第一次想服务端租用到第一个IP地址后,就将这个IP地址永久分配给客户端使用。

(2)动态配置方式:服务器暂时分配一个IP地址给客户端,根据租约到期或者续约租期的方式来管理分配的IP地址。

3、DHCP报文解释

DHCP在传输层使用UDP协议封装:客户端使用UDP端口号68、服务端使用UDP端口号67

DHCP Discover:发现报文,DHCP客户端用来寻找DHCP服务器,广播。

DHCP Offer:提供报文,DHCP服务器用来响应DHCP Discover报文,单播。

DHCP Request:请求报文,DHCP客户端请求配置确认,或者续借租期。广播。

DHCP Ack:确认报文,DHCP服务器对Request报文的确认响应,单播。

DHCP NAck:否认报文,DHCP服务器对Request报文的确认响应,广播。

DHCP Release:释放报文,DHCP客户端要释放地址时用来通知DHCP服务器,单播。

DHCP Decline:谢绝报文,客户端收到DHCP服务器的地址后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向DHCP服务器发送Decline请求报文;目的为通知服务器所分配的IP地址不可用,以期获得新的IP地址

DHCP Inform:请求更多信息报文,向DHCP服务器请求更为详细的配置信息;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文;目前基本不用。

4、DHCP工作过程

动态分配IP

一般分为四个阶段:发现阶段、提供阶段、请求阶段、确认阶段

(1)发现阶段:Client寻找Server,向周围广播发送一个Discover报文,等待Server回复。

(2)提供阶段:Server收到Discover报文后,会单播回复一个Offer报文,内部携带了地址池中的一个合适IP地址,加上相应的租约期限和其他配置信息(如GATEWAY,DNS SERVER等)。

(3)请求阶段:Client收到Offer报文后,一般会选择最先受到的Offer报文,并对该Server广播回复一个Request报文,告诉Server,我需要使用你这个IP,你同意或拒绝。

(4)确认阶段:Server收到Rquest报文后,会单播ACK报文会广播NAK报文,进行同意或拒绝Client使用该IP地址。

DHCP租期

在使用动态分配方式时,该IP会有一个租期,当租期过期后就不可再使用

(1)当租期到达50%时,Client会像Server单播一个Request报文,请求续租IP(如果同意则更新租约,不同意则等待)

(2)当租期到达87.5%时,Client若没有收到原先Server的回复,则向周围广播一个Request报文,请求新的租约(如果同意则更新租约,不同意则等待租期过期,IP不可使用)

5、DHCP中继

上面情况是DHCP Server与DHCP Client在同一网段的情况下,如果不在同一网段该如何使用呢?

如果不在同一网段,我们不可能为每个网段都配置DHCP Server,这样会消耗大量金钱,所以针对这种问题就诞生了DHCP中继。

因为DHCP工作中会产生广播报文,但是广播报文无法跨网段通信,所以DHCP中继会将广播报文转换为单播报文,方便后续通信。

6、DHCP的思科配置

Server配置

RT(config)# int g0/1
RT(config-if)# ip address 10.1.1.2 255.255.255.252    // 端口IP

RT(config)# service dhcp                       // 开启DHCP服务
RT(config)# ip dhcp pool hh                    // 配置DHCP地址池
RT(dhcp-config)# network 192.168.10.0 255.255.255.0     // 配置地址池范围
RT(dhcp-config)# default-router 192.168.10.254          // 配置地址网关
RT(dhcp-config)# dns-server 114.114.114.114             // 配置DNS地址
RT(config)# ip dhcp excluded-address 192.168.10.250 192.168.10.255  // 排除该范围的地址分配

RT(config)# ip route 192.168.10.0 255.255.255.0 10.1.1.1   // 配置到达Client的路由

中继配置

SW(config)# int g0/0
SW(config-if)# no switchport        // 开启三层转换口
SW(config-if)# ip address 10.1.1.1 255.255.255.252    // 端口IP
SW(config)# int g0/1
SW(config-if)# no switchport
SW(config-if)# ip address 192.168.10.254 255.255.255.0

SW(config)# service dhcp
SW(config)# int g0/1
SW(config-if)# ip helper-address 10.1.1.2        // 将该接口数据前转至服务器端口

SW(config)# ip route 0.0.0.0 0.0.0.0 10.1.1.2    // 配置到达Server的路由

Client获取IP

感谢大家浏览。

### DHCP协议详解 #### 协议概述 DHCP(Dynamic Host Configuration Protocol),即动态主机配置协议,用于简化网络设备的IP地址管理。该协议允许服务器自动向网络上的客户端提供并分配TCP/IP配置参数,包括但不限于IP地址、子网掩码以及默认网关等信息[^1]。 #### IP地址分配模式 支持多种类型的IP地址分配机制,其中最为常见的两种分别是静态分配与动态分配。前者指定了特定MAC地址对应的固定IP;后者则是从预设池子里随机选取可用地址给予请求者,在租约到期前有效。这种灵活性使得DHCP可以适应不同的应用场景需求[^2]。 #### 工作机制 对于复杂多变的大规模企业级网络环境而言,单一子网内的通信不足以满足实际需要。因此引入了DHCP中继代理的概念——一种特殊的路由器或交换机端口角色,用来帮助跨过传统广播域限制,让远距离之外甚至不同物理位置下的计算机也能顺利接收到必要的初始化设定数据流[^3]。 #### 配置要求 值得注意的是,作为Windows Server操作系统的一部分,为了启用这项服务,系统管理员需按照官方指南完成相应的软件安装流程,并根据具体业务情况调整各项设置选项以确保最佳性能表现[^4]。 #### 发现阶段详情 当一台新加入局域网的新机器启动时会发出一个名为`DHCP Discover`的数据包,其目的就是寻找周围存在的任何一台能为自己提供所需资源的信息源。这个过程中使用的特殊IPv4寻址方案表明发送方目前还没有被赋予正式的身份标识符[^5]。 ```python import socket def dhcp_discover(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) message = b'\x01' + ... # 构造DHCP DISCOVER报文 sock.sendto(message, ('255.255.255.255', 67)) dhcp_discover() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值