DHCP笔记

DHCP协议理解
定义:DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,是一个应用在局域网中的网络协议,它使用UDP协议工作。

理解:DHCP协议就是一个基于UDP协议工作在局域网内的网络协议,其最终的目的就是获取响应的IP地址,其中这过程中有多种分配方式,以及发送报文的格式要求等。

作用:动态分配IP地址,过程自动化,终端无需一一手工配置,配置信息统一管理(DNS,网关),IP地址有限、需要大量配置IP地址、经常移动终端。

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

报文类型-----八种--6种 (常用)
Discover报文-----发现报文,用来发现网络中的DHCP服务器。

Offer报文--------由服务器进行回复,当收到discover报文后并且服务器本地存在可用IP地址,则回 复信息 。

Request报文------正式向服务器请求IP地址。

ACK报文----------服务器同意使用该IP地址 。

decline报文------当客户端检测到IP地址冲突时,发送给服务器,用以告知服务器,IP不可用 。

nak报文----服务器拒绝客户端使用该IP地址----一般看不到 release报文-----客户端主动释放IP地址。

DHCP工作过程
发现阶段:即 DHCP 客户端寻找 DHCP 服务器的阶段。

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

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

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

发现阶段:

DHCP客户端通过发送DISCOVER报文来寻找DHCP服务器。

由于服务器的IP地址对于客户端来说是未知的,所以客户端以广播方式发送DISCOVER报文。所有收到DISCOVER报文的服务器都会发送回应报文,客户端据此可以知道网络中存在的DHCP服务器的位置。

提供阶段:

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

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

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

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

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

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

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

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

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

选择阶段:

如果有多台DHCP服务器向DHCP客户端回应OFFER报文,则DHCP客户端只接受第一个收到的DHCP-OFFER报文。然后以广播方式发送REQUEST请求报文,该报文中包含Option 54(服务器标识选项),即它选择的DHCP服务器的IP地址信息。

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

确认阶段:

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

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

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

DHCP常用报文解释
1.DHCP Release报文

DHCP客户端向服务器发送DHCP Release数据包,以释放IPv4地址并取消所有剩余的租约。

2.DHCP Discover报文

客户端使用0.0.0.0发送单播数据包,目的地址是255.255.255.255,向DHCP服务器请求分配192.168.123.112这个IP地址。

3.DHCP Offer报文

DHCP服务器以单播的形式,往客户端发送DHCP Offer,告诉客户端192.168.123.112地址可用,并给出IP的子网掩码、广播地址。也可以看到IP地址的租期是24个小时,租期的1/2是12小时,租期的7/8是21个半小时。

当拥有时长达到租赁时长一半的时候,机器将发送一个续约包给dhcp服务器,dhcp服务器将发送一个ack确认包,如果未收到,机器将在3/4租赁时长再次发送续约包

4.DHCP Request报文

客户端在得到DHCP服务器回复IP地址可用后,即请求分配192.168.123.112地址。 不过,客户端还没有获取到合法的IP地址,依然只能以0.0.0.0发送单播数据包,目的地址255.255.255.255。

5.DHCP ACK报文

DHCP服务器收到客户端请求后,用ACK数据包回应,正式确认192.168.123.112分配给该客户端。

代码:

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 xxxx ----创建一个叫做xxxx的IP地址池塘

[DHCP Server-ip-pool-xxxx]network 192.168.1.0 mask 24 ---给池塘中添加IP地址信息, 将192.168.1.0/24整个网段的IP地址都添加到池塘中。

[DHCP Server-ip-pool-xxxx]gateway-list 192.168.1.100 ---设置该池塘中所有IP的网关地 址

[DHCP Server-ip-pool-xxxx]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-xxxx]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-xxxx]lease day 0 hour 0 minute 1 ---修改租期时间

[DHCP Server]display ip pool name ? ---查看具体某个地址池塘内容 STRING<1-64> Pool name

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值