上帝观
DHCP出现
或者电脑、手机需要IP地址才能上网。大刘有两台电脑和两部手机,小美有一台笔记本电脑、一台平板电脑和两部手机,老王、阿里和敏敏也有几台终端设备。如果手动为每个设备配置IP地址,会非常繁琐,根本不方便。尤其是手机、笔记本、平板等设备,每次搬到新的地方,接入不同的网络,都要重新设置IP地址,太麻烦了。
手动配置
然后是DHCP协议,它会自动配置设备的网络参数,包括IP地址、子网掩码、网关地址、DNS服务器等。,而不是手动配置。还可以统一IP地址分配,方便网络管理。
动态DHCP获取
DHCP简介
DHCP协议是由BOOTP协议发展而来的。但是BOOTP运行在一个相对静态的环境中,每台设备都配有一个专门的BOOTP参数文件,长期不变。DHCP从以下两个方面扩展BOOTP:
DHCP允许设备动态获取IP地址,而不是静态指定每个主机地址。DHCP可以分配其他的配置参数,客户端只需要一条消息就可以获得所有需要的配置信息。
动态分配
使用DHCP功能后,刘的设备只要连上网络,就可以用TCP/IP进行通信。对于路由器和交换机,IP地址等参数通常是手动配置的。
DHCP是客户端/服务器模式的网络协议。DHCP客户端向DHCP服务器申请配置,DHCP服务器返回为DHCP客户端分配的配置信息。这里的客户端和服务器是可以在计算机、服务器、路由器和其他设备上运行的应用程序。
DHCP应用程序
举个栗子:
刘的电脑开机后自动运行DHCP客户端,客户端主动请求其他设备上的DHCP服务器。DHCP服务器根据预先配置的策略返回相应的IP配置信息,DHCP客户端使用获取的IP配置信息与其他设备进行通信。
给我一个栗子
DHCP分配机制
DHCP提供了两种地址分配机制,可以根据网络需求为不同的客户端选择不同的分配策略。
动态分配机制:通过DHCP为客户端分配一个有生命周期的IP地址。如果客户未能及时续约,该地址可能会在到期后被其他客户使用。大多数客户端使用这种动态分配地址。静态分配机制:通过DHCP将固定的IP地址分配给特定的客户端。固定的IP地址可以永久使用。客户端通常是打印机、服务器和其他设备。
以及动态和静态分配。
在实践中,我们发现DHCP客户端重启后也能获得相同的IP地址。当DHCP服务器为DHCP客户端分配IP地址时,它采用以下顺序:
IP地址静态绑定到DHCP服务器中DHCP客户端的MAC地址;DHCP客户端曾经使用过的IP地址;找到第一个可用的IP地址。如果找不到可用的IP地址,可以依次查询出已过期和冲突的IP地址。如果你找到他们,你可以分配他们。否则,您可以报告错误。
IP地址分配序列
DHCP系统组成
DHCP系统由DHCP服务器、DHCP客户端、DHCP中继等组成。
DHCP系统组成
DHCP服务器DHCP服务器向DHCP客户端提供网络参数,通常是提供DHCP服务功能的服务器或网络设备。比如:家里用的无线路由器。
DHCP服务器
DHCP客户端DHCP客户端通过DHCP服务器(通常是主机或网络设备)获取网络参数。比如:大刘的电脑,小美的手机。
DHCP客户端
DHCP中继一般采用广播方式实现消息交互,DHCP服务只能在本地网段使用。如果需要跨网段实现DHCP,那么就使用DHCP中继技术来实现。在DHCP服务器和DHCP客户端之间跨网段转发DHCP消息的设备,通常是三层网络设备。
DHCP中继
DHCP基本流程
DHCP报文采用UDP封装,DHCP服务器端口号为67元,DHCP客户端端口号为68元。DHCP设备通过从UDP 67元和UPD 68元端口发送和接收消息来交换协议。DHCP的基本工作流程分为4վ֮ս阶段,即发现阶段、提供阶段、请求阶段和确认阶段。我们假设大刘的PC是新电脑。下面将描述PC最初是如何通过DHCP获得IP地址的。
PC机首次获得地址的过程
为了描述方便,DHCP服务器缩写为小S,DHCP客户端缩写为小c。
1元,发现阶段
c在本地网段广播一个DHCP Discover消息,以便找到一个可以分配IP地址的小S。
发现消息
密室逃脱:冠军联赛,提供舞台
本地网段的小s收到DHCP Discover消息后,响应DHCP Offer消息。DHCP Offer消息包含可用的IP地址和其他网络参数。
报价信息
c .通过比较Discover报文和Offer报文中的xid字段是否相同,判断Offer报文是否发给自己。
侏罗纪世界3,请求阶段
c会收到s发来的DHCP Offer消息,如果有多个小s,那么每个小s都会响应DHCP Offer消息。通常情况下,小C会选择最先收到的Offer消息,并广播DHCP Request消息,表示选中了哪个小s,剩下的小s就凉了。
请求消息
如果小C在一段时间后没有收到DHCP Offer消息,它将重新发送DHCP Discover消息。
4վ֮ս,确认阶段
S收到DHCP请求广播消息后,发送DHCP Ack消息作为响应,其中包含c的网络参数,DHCP Ack消息的参数和之前的DHCP Offer消息不能冲突,否则小s会响应一个DHCP Nak消息。
Ack消息
当小C收到DHCP Ack报文时,会发送一条免费的ARP报文进行探测,目的地址就是获取的IP地址。如果检测到这个地址没有被使用,那么小C就会使用这个地址,完成配置。
DHCP租约
从DHCP协议来看,小s拥有ip地址的所有权,而小C只有IP地址的使用权。小s每给小C分配一个IP地址,都会约定一个IP地址的租期,一般是24元小时。在租期内,小C可以使用相应的IP地址。租期到了,小C就不能继续使用这个IP地址了。当然,在租期未满的情况下,小C可以申请续租IP地址。
T1是租期达到一半时,T2是租期达到87.5%时。T1时,小C会向小S单播一条DHCP请求消息,请求更新IP地址。如果小C收到了DHCP Ack响应消息,说明租约更新成功。
如果小C在T2之前没有收到DHCP Ack响应消息,它将广播并发送一个DHCP请求消息,继续请求更新IP地址。如果小C收到了DHCP Ack响应消息,说明租约更新成功。
如果小C在租约到期前没有收到DHCP Ack响应消息,它必须停止使用原来的IP地址。c将从发现阶段开始,再次申请IP地址。
租约续签流程
DHCP中继
在获取动态IP地址的过程中,消息是广播的,所以DHCP只适用于小C和小s在同一个子网的情况。如果每个网段都配置一个小s,显然太浪费了。
其实还有DHCP中继的作用。c通过DHCP中继与S跨网段通信,获取IP地址。这样,多个子网上的小C可以使用同一个小S,既节约了成本,也便于集中管理。
DHCP中继
DHCP中继的工作原理如下:
c发送DHCP Discover或DHCP Request广播消息,具有DHCP中继功能的网络设备收到后,根据配置将该消息单播给指定的小s;s分配IP地址,通过单播发送给DHCP Relay,DHCP Relay将配置信息广播给C,完成C的动态配置。
继电器的工作原理
DHCP协议消息
在之前的内容中提到了DHCP的一些消息类型。现在来说说8元DHCP的主要报文类型。һѪ5Ѫ中常见的消息类型有:DHCP Discover、DHCP Offer、DHCP Request、DHCP Ack和DHCP Release,而《侏罗纪世界3》中少有的消息类型有:DHCP Nak、DHCP decrypt和DHCP Inform。
DHCP Discover消息是DHCP客户端第一次接入网络时DHCP交互的第一条消息,用于查找DHCP服务器的请求消息。DHCP服务器使用DHCP Offer消息来响应DHCP Discover消息,该消息携带网络参数,包括IP地址、子网掩码、默认网关、DNS服务器等。DHCP Request报文是DHCP客户端发送的报文,有三种使用场景:根据策略选择对应的DHCP服务器,响应DHCP Offer报文;当DHCP客户端不是第一次接入网络时,直接发送DHCP请求消息,申请之前使用的IP地址等参数;当IP地址的租期到期时,发送DHCP请求来更新租期。DHCP Ack消息是DHCP服务器对DHCP请求消息的响应消息,最终被确认。DHCP收到此消息后,就可以获得IP地址和相应的网络参数。DHCP Nak消息也是DHCP服务器对DHCP请求消息的响应消息。当DHCP请求消息中的所有参数都正确时,它将响应DHCP Ack消息,否则,它将响应DHCP Nak消息,并告诉DHCP客户端禁止使用获得的IP地址。DHCP拒绝消息当DHCP客户端收到DHCP Ack消息时,它还会发送一条免费ARP消息,以确认所申请的IP地址是否已在网络上使用。如果IP地址已经被其他客户端使用,DHCP客户端会发送DHCP拒绝消息,拒绝分配的IP地址,并再次向DHCP服务器申请地址。DHCP释放消息当DHCP客户端想要释放获取的IP地址时,它向DHCP服务器发送DHCP释放消息。DHCP服务器收到消息后,可以将IP地址分配给其他客户端。DHCP Inform报文当DHCP客户端手动获取IP地址后,想要从DHCP服务器获取更多的网络参数,如默认网关地址和DNS服务器地址时,DHCP客户端向DHCP服务器发送DHCP Inform报文进行申请。如果把不同功能的8元报文串在一起,就是整个DHCP协议交互过程。上面提到的4վ֮ս阶段不能完全显示,这需要使用DHCP协议的状态机。指出状态下一步使用的消息类型。状态转换是通过消息的接收、发送或超时来实现的。下面是客户端的状态机。
客户端状态机
DHCP发现消息是从客户端初始化状态广播的。当状态被选择时,它接收DHCP Offer消息并决定使用哪个地址和服务器。做出选择后,通过DHCP请求消息进入请求状态。如果分配的地址与之前使用的地址不一致,则响应DHCP Nak消息拒绝它,返回INIT状态;如果分配的地址已经被占用,它将响应DHCP拒绝消息以拒绝它并返回到初始状态。通常,您会收到一个必需的地址,响应DHCP Ack消息,获得租用超时值T1和T2,然后进入绑定状态。此时,您可以使用此地址,直到租约到期。T1到期,进入续费状态,申请续费。如果续租成功,可以收到DHCP Ack消息,返回绑定状态;如果续租不成功,将在T2到期时再次提出续租申请。如果租期最终到期,客户端将禁止使用租用的地址,并返回到初始状态。
DHCP网络战斗
DHCP协议是为了解决网络问题而诞生的。现在,让我们模拟实际环境,手动操作来验证DHCP的功能。
DHCP服务器的示例
网络拓扑结构
网络拓扑图
实验要求
配置RT DHCP服务器和PC动态获取IP地址等网络参数的操作步骤
配置思路:
在RT上开启DHCP功能,创建地址池,配置地址池的相关参数,在RT的接口下引用地址池,实现DHCP服务器功能。配置命令:
在使用DHCP功能之前,请打开DHCP功能。在系统视图下,使用dhcp enable命令启动dhcp功能。
要动态分配IP地址,您需要有多个可分配的IP地址。使用IP pool IP Kramp-karren Bauer pool Kramp-karren Bauer name命令创建全局地址池,IP Kramp-karren Bauer pool Kramp-karren Bauer name表示地址池的名称。
在全局地址池视图下,配置可以通过命令网络IP Kramp-Karrenbauer地址Kim Hye Yoon mask { mask | mask Kramp-karren Bauer length }曹政奭来分配的IP地址段。mask { mask | mask Kramp-karren Bauer length }代表子网掩码,掩码长度通常根据设备数量来确定。
有了IP地址和子网掩码以及默认网关,终端设备就可以相互通信。在全局地址池视图下,使用命令gateway Kramp-karren Bauer listip Kramp-karren Bauer address配置gateway-listip-address。
网络互通,但网站无法正常访问。需要为域名解析配置DNS服务器。在全局地址池视图下,使用DNS Kramp-karren Bauer list IP Kramp-karren Bauer的地址配置DNS服务器的IP地址。
在地址池配置中,常用的可选命令如下,可以根据需要有选择地设置。
租期{Day Day Kim Hye Yoon Hour小时Kim Hye Yoon分钟曹政奭曹政奭|无限}:配置IP地址的租期,默认租期为1元天。
排除的Kramp-karren Bauer IP Kramp-karren Bauer地址Start Kramp-karren Bauer IP Kramp-karren Bauer地址Kim Hye Yoon End Kramp-karren Bauer IP Kramp-karren Bauer地址曹政奭:在可分配的地址池中,设置未分配的IP地址。比如地址池是192.168,100元,0元/24元,可以设置为192.168,100元,1元,Kramp-Karrenbauer,192.168,100元,10元,不参与地址分配。
静态Kramp-karren Bauer BinDIP Kramp-karren Bauer Address IP Kramp-karren Bauer Address MAC Kramp-karren Bauer Address MAC Kramp-karren Bauer Address:为客户端分配一个IP地址。
地址池配置完成后,需要引用,DHCP服务器功能可以正常使用。在RT的接口下配置引用,命令是dhcp select global。
部署
功能验证
配置完成后,理论上DHCP功能正常工作。在实际情况下,您可以通过命令Display IP pool name pool Kramp-karren Bauer name used来检查地址池的配置和地址分配。
检查RT上的DHCP服务器地址分配状态。
检查RT的DHCP服务器状态。
同时在PC上检查动态地址采集,进行双向验证。
检查电脑的IP配置。
包捕获还可以看到DHCP报文交互的详细过程,也可以检查理论知识是否正确。
数据包捕获验证
这里,我们发现数据包捕获看到了DHCP Offer单播消息,而DHCP Offer是广播消息。实际上,DHCP Offer消息可以是单播,也可以是广播。DHCP消息的标志字段中有一个广播位。如果客户端支持接收Offer单播报文,客户端会将发送报文中的广播位设置为0元,否则为1元。