DHCP协议

1.DHCP的概念

定义:DHCP是一个局域网的网络协议,由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码等配置信息。存在于应用层
端口:常用的两个端口是67(DHCP server)和68(DHCP client)。其中68代表客户端;67代表服务端。


主要作用:自动给网络中的主机分配IP地址,包括IP地址、子网掩码、默认网关、DNS服务器地址等信息。用来为终端分配IP地址,并且对IP地址进行集中化管理的协议

优势:提高配置IP地址效率,减少配置工作量,减少IP地址冲突。

分配方式
自动分配:DHCP为客户端分配租期为永久的(实际上可能是一个很长的期限)的IP地址。
手工分配:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。
动态分配:DHCP给主机指定一个有时间限制的IP地址,到达使用期限后或主机明确表示放弃这个地址时,客户端需要重新申请地址。

1.2 DHCP报文格式

1.3 八种报文类型

DHCP的八种报文类型: 

Discove DHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是发现网络中的DHCP服务器,所有收到Discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此就可以知道网络中存在的DHCP服务器的位置。
 OfferDHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的ip地址,加上相应的租约期限和其他配置信息(网关,DNS服务器等),构造一个Offer报文,发送给客户,告知用户本服务器可以为其提供IP地址。(只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复)
Request DHCP客户端会收到很多Offer,所以必须在这些回应中选择一个。Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器,并回应一个广播Request报文,通告选择的服务器。
ACKDHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的续约记录,如果有则发送ACK报文作为回应,通知用户可以使用分配的ip地址。
NAK 如果DHCP服务器收到Request报文后,没有发现相应的租约记录或者由于某些原因无法正常分配ip地址,则发送ACK报文作为回应,通知用户无法分配合适的ip地址。
Release 当用户不在需要使用分配ip地址时,就会向DHCP服务器发送Release报文,告知服务器用户不再需要分配ip地址,DHCP服务器会释放被绑定的租约。
DeclineDHCP客户端收到DHCP服务器回应的ACK报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送Decline报文,通知服务器所分配的ip地址不可用。
Inform  DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则发送Inform报文向服务器进行请求,服务器收到该报文后,将根据租约进行查找,找到相应的配置信息后,发送ACK报文回应DHCP客户端(极少用到)。

 (IP地址租期----当PC申请下来IP地址后,会存在租期时间。能够合理使用该IP地址的时间 租期时间---24小时 当租期时间到达12小时(1/2的时间内),客户端就需要向服务器发起续租申请。 当第一次续租得到回复后,则客户端将租期时间刷新为24小时;若没有回复,则等待租期时间仅剩下3小 时。 此时发送第二次续租申请,此时使用discover报文广播发送申请。)

 地址泳池

1、配置IP
 [DHCP Server]interface GigabitEthernet 0/0/0
 [DHCP Server-GigabitEthernet0/0/0]ip address 192.168.1.100 24
 [DHCP Server]interface GigabitEthernet 0/0/1
 [DHCP Server-GigabitEthernet0/0/1]ip address 192.168.2.100 24
 2、启动DHCP服务
[DHCP Server]dhcp enable   ----启动DHCP服务
3、配置DHCP待分配的IP地址池塘
[DHCP Server]ip pool wangyu  ----创建一个叫做wangyu的IP地址池塘
[DHCP Server-ip-pool-wangyu]network 192.168.1.0 mask 24  ---给池塘中添加IP地址信息,
将192.168.1.0/24整个网段的IP地址都添加到池塘中。
[DHCP Server-ip-pool-wangyu]gateway-list 192.168.1.100  ---设置该池塘中所有IP的网关地
址
[DHCP Server-ip-pool-wangyu]dns-list 8.8.8.8  ----设置该池塘中所有IP的拥有者DNS服务器
的IP地址
4、将池塘与接口进行联动,目的是告诉路由器,该池塘的信息应该属于哪个接口所连接的广播域
[DHCP Server]interface GigabitEthernet 0/0/0
 [DHCP Server-GigabitEthernet0/0/0]dhcp select global   ----将DHCP服务在该接口激活
5、扩展配置---可选
[DHCP Server-ip-pool-wangyu]excluded-ip-address 192.168.1.254 192.168.1.254  --
在192.168.1.0/24这个地址池中,将192.168.1.254地址排除,后续服务器在分配IP地址时,将不会分配
192.168.1.254这个地址信息。------------起始IP、截止IP
 [DHCP Server-ip-pool-wangyu]lease day 0 hour 0 minute 1  ---修改租期时间
[DHCP Server]display ip pool name ?  ---查看具体某个地址池塘内容
STRING<1-64>  Pool name

### 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、付费专栏及课程。

余额充值