DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)

一、DHCP介绍

       DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。

“先到先得”

 二、DHCP应用配置及报文分析

 1、接口模式配置 

 接口地址配置以忽略

(1)当前配置

R1无配置

R2

(2)全局使能dhcp服务

(3)配置接口地址池

以当前接口网段为地址池地址,接口地址为网关。 

配置租约为1小时,主dns为8.8.8.8   辅dns为8.8.4.4   网关为10.1.100.2/24 

(4)增加R1配置使得自动获取地址(R1需开启全局DHCP服务)

地址获取到以后,R1会自动发送免费arp报文进行DAD检测,不清楚该过程的同学请学习ping通原理文章,在此不多赘述。 

 (5)查看R2地址池的使用

得知当前使用地址为一个, 

截至现在基于接口模式的DHCP动态主机配置协议已配置完成。

2、全局模式配置 

拓扑如上

(1)配置详情

R1:无配置(等待动态分配)

R2:配置基本互联地址

DHCP Srvice:

(2)分别全局使能dhcp service服务(以R2为例)

(3)配置地址池

(4)配置中继服务器

(5)增加路由信息

 (6)DHCP Service接口配置本地服务器

(7)R1获取地址

3、接口模式下抓包分析

(1)DHCP Discover报文(R1发出的广播报文)

DHCP报文经过四次交互成功建立(如仅有一个DHCP service理论上仅需两次报文交互即可建立链接)

根据Discover得知,该报文二层以太帧帧头IG=1可确定为广播或组播报文

根据报文得知该报文基于UDP传输,且sip为0.0.0.0为未分配地址,dip为255.255.255.255

观察报文可得知,Discover报文需请求Option的一些内容

(2)DHCP Offer报文(由R2回复给R1的单播报文)

 观察以太帧帧头可得知IG=0 该报文为单播报文

三层sipR2g0/0/0口的网关地址    dip为分配给R1的ip地址

 根据offce报文可得知分配给R1接口的地址为10.1.100.254/24

其他option信息均为DHCP Discover报文中option请求的信息,一并给予回复。

(3)DHCP REQUEST(由R1发出的广播报文)

该报文主要用于发送广播的DHCP REQUEST报文来回应服务器的DHCP OFFER报文

并且宣告其DHCP Service端该接口已有地址,无需自动配发。

(4)DHCP ACK(由R2回复给R1 的单播报文)

客户端的DHCP REQUEST报文的确认响应报文,客户端收到此报文后,才真正获得了IPv4地址和相关的配置信息。

至此四次报文交互过后DHCP协议完成,地址成功分配。

4、特殊情况

(1)租约到期地址进行续约

正常续约:(2次报文交互)

两次自动续约时间点:

第一次:实际租约时间的50%

第二次:实际租约时间的87.5%

DHCP REQUEST 报文

发送单播报文来向DHCP Service服务器重新确定租约

DHCP ACK

重新确定新的租约时间

(2)DHCP REQUEST 租约协商不成功

续约失败,即R2未查询到R1ip地址的到期时间,则回复DHCP NAK报文

未得到回复当前IP地址租期到期后,重新发送DHCP Discover报文进行四次报文交互,获取新的地址。

(3)地址冲突(DHCP DECLINE)

当客户端发现服务器分配给它的IPv4地址发生冲突时会通过发送此报文来通知服务器,并且会重新向服务器申请地址。

(4)地址释放(DHCP RELEASE)

(5)额外信息(DHCP INFORM)

DHCPv4客户端获取IPv4地址后,如果需要向DHCPv4服务器获取更为详细的配置信息(网关地址、DNS服务器地址),则向DHCPv4服务器发送DHCP INFORM请求报文。

该报文模拟器未抓到,有抓到的同学可以评论区探讨下。

 

5、DHCPv4定义了如下八种类型的报文

具体抓包详细内容见上文内容。 

DHCP DISCOVER

DHCPv4客户端首次登录网络时进行DHCP交互过程发送的第一个报文,用来寻找DHCPv4服务器。

DHCP OFFER

DHCPv4服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。

DHCP REQUEST

此报文用于以下三种用途。

  • 客户端初始化后,发送广播的DHCP REQUEST报文来回应服务器的DHCP OFFER报文。
  • 客户端重启后,发送广播的DHCP REQUEST报文来确认先前被分配的IPv4地址等配置信息。
  • 当客户端已经和某个IPv4地址绑定后,发送DHCP REQUEST单播或广播报文来更新IPv4地址的租约。

DHCP ACK

服务器对客户端的DHCP REQUEST报文的确认响应报文,客户端收到此报文后,才真正获得了IPv4地址和相关的配置信息。

DHCP NAK

服务器对客户端的DHCP REQUEST报文的拒绝响应报文,例如DHCPv4服务器收到DHCP REQUEST报文后,没有找到相应的租约记录,则发送DHCP NAK报文作为应答,告知DHCPv4客户端无法分配合适IPv4地址。

DHCP DECLINE

当客户端发现服务器分配给它的IPv4地址发生冲突时会通过发送此报文来通知服务器,并且会重新向服务器申请地址。

DHCP RELEASE

客户端可通过发送此报文主动释放服务器分配给它的IPv4地址,当服务器收到此报文后,可将这个IPv4地址分配给其他的客户端。

DHCP INFORM

DHCPv4客户端获取IPv4地址后,如果需要向DHCPv4服务器获取更为详细的配置信息(网关地址、DNS服务器地址),则向DHCPv4服务器发送DHCP INFORM请求报文。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值