DHCP的基本配置

实验目的:

         •了解DHCP协议和DHCP中继的应用场景

         •掌握DHCP服务器和DHCP中继的基本配置方法

         •掌握配置和检测DHCP客户端的方法

本次实验的拓扑图如下:

开启PC的DHCP

这时候我们查看pc的ip地址可以查看到电脑的ip如下所示,地址为0.0.0.0,说明并没有被分配ip地址。

配置全局

先通过命令“dhcp enable”开启dhcp。再创建一个名为net的IP池,并配置网段、网关、DNS等,这里的ip pool是用来配置Sub-VLAN的IP地址池。

配置端口

配置端口使用interface这个命令配置端口,这里我们把ip地址设置为192.168.1.1 24.这里的24是指我们的局域网是前24位,也就是我们的网络号。具体配置如下所示:

测试动态分配结果

可以通过ipconfig获取到分配的地址,这里可以发现分配给pc1的ip地址为192.168.1.253。

同样使用ipconfig这个命令查看剩余的两个pc的ip地址如下:

第二台pc ip地址

第三台pc ip地址

可以发现第二台ip的地址是192.168.1.252.第三台的ip地址是192.168.1.254.这就表明ip地址的分配是由大到小分配的,这个原因可能和我设置的网关地址有关。

抓包分析

DHCP抓包

为了动态获取并使用一个合法的IP地址,需要经历以下几个阶段:

(1) 发现阶段:即DHCP客户端寻找DHCP服务器的阶段。

(2) 提供阶段:即DHCP服务器提供IP地址的阶段。

(3)选择阶段:即DHCP客户端选择某台DHCP服务器提供的IP地址的阶段。

(4) 确认阶段:即DHCP服务器确认所提供的IP地址的阶段

发现阶段(客户端广播寻找DHCP服务器)

Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCPServer。

这里可以看到广播地址的Mac地址是ff:ff:ff:ff:ff:ff,使用udp协议的67和68号端口,这里的hops表示没有经过代理。同时还有客户端的ip地址是0.0.0.0,以及客户端的Mac地址(54:89:98: b2:79:1a)

提供阶段(DHCP服务器发送可用IP详细信息)

网络中接收到DHCP-DISCOVER报文的DHCP服务器,会选择一个合适的IP地址,连同IP地址租约期限和其他配置信息(如网关地址,域名服务器地址等)一同通过DHCP-OFFER报文发送给DHCP客户端。

DHCP服务器通过地址池保存可供分配的IP地址和其他配置信息。当DHCP服务器接收到DHCP请求报文后,将从IP地址池中取得空闲的IP地址及其他的参数,发送给DHCP客户端。

DHCP服务器为客户端分配IP地址的优先次序如下:

(1) 与客户端MAC地址或客户端ID静态绑定的IP地址;

(2) DHCP服务器记录的曾经分配给客户端的IP地址;

(3) 客户端发送的DHCP-DISCOVER报文中Option 50字段指定的IP地址;

(4) 在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址;

(5) 如果未找到可用的IP地址,则依次查询租约过期、曾经发生过冲突的IP地址,如果找到则进行分配,否则将不予处理。

DHCP服务器为客户端分配IP地址时,服务器首先需要确认所分配的IP没有被网络上的其他设备所使用。DHCP服务器通过发送ICMP Echo Request(ping)报文对分配的IP进行探测。如果在规定的时间内没有应答,那么服务器就会再次发送ping报文。到达规定的次数后,如果仍没有应答,则所分配的IP地址可用。否则将探测的IP地址记录为冲突地址,并重新选择IP地址进行分配。

这里端口号仍然是67和68。Messagetype是服务器发出的报文。这里的ipaddress就是服务器可以提供的的地址是192.168.1.252.下面的leasetime是地址租期,这里是一天。

选择阶段(选择IP并广播通告其他DHCP服务器)

如果有多台DHCP服务器向DHCP客户端回应DHCP-OFFER报文,DHCP Client只能处理其中的一个DHCP Offer报文,一般的原则是DHCP Client处理最先收到的DHCP Offer报文。 DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。该报文中包含Option 54(服务器标识选项),即它选择的DHCP服务器的IP地址信息。

以广播方式发送DHCP-REQUEST请求报文,是为了通知所有的DHCP服务器,它将选择Option 54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用曾提供的IP地址。

这里客户端使用的ip地址仍然是0.0.0.0,并没有使用可以使用的ip,目的端口是广播。告诉所有的服务器他选择的ip地址。这里的request(3)表明是选择选择阶段。下面的option就是表明客户端选择的ip。

确认阶段(广播ARP探测是否有其他主机使用该IP)

收到DHCP客户端发送的DHCP-REQUEST请求报文后,DHCP服务器根据DHCP-REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有,则发送DHCP-ACK报文作为应答,通知DHCP客户端可以使用分配的IP地址。

DHCP客户端收到DHCP服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,通知DHCP服务器该地址不可用,并重新申请IP地址。

如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,或者由于某些原因无法正常分配IP地址,则发送DHCP-NAK报文作为应答,通知DHCP客户端无法分配合适IP地址。DHCP客户端需要重新发送DHCP-DISCOVER报文来请求新的IP地址。

这里的message type ack(5),表示ack类型。可以看到这里的目的端口已经换成服务器给分配的地址了。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值