新华三H3CNE网络工程师认证—DHCP基本原理

DHCP报文交互一共有四个报文,分别是Discover、Offer、Request和Ack。DHCP Discover是客户端连入网络之后(配的自动获取),会对外发送Discover,其实这个报文的作用可以理解为网络当中谁是服务器,用广播去发,服务器给我个地址,我要租地址;服务器收到之后会通过Offer报文来告诉你分配的地址,把参数一起给你;这个时候你会再去发送一个DHCP Request,告诉我要使用这个地址了,这个时候你记得接收一下。(服务器回一个Offer报文时单波的,一个网络当中多台DHCP服务器很正常,可靠性更高)

一、DHCP简介

DHCP(动态主机配置协议)是一种用于集中管理和分配用户IP地址的技术。它有效简化了手动配置IP地址的繁琐操作,即便在小规模网络环境中,DHCP也能够使新增设备的IP地址配置过程更加简便高效。

1、DHCP的作用

DHCP用一块IP地址区间分配IP给所有的终端,实现对IP地址动态统一的管理和配置。

2、DHCP的应用场景

DHCP(动态主机配置协议)采用客户端/服务器(C/S)架构,主要应用于局域网中。它位于OSI参考模型的应用层,并通过UDP协议进行通信。

3、租期

DHCP服务器为每个客户端分配的IP地址都有一个使用期限,这个期限称为租期。在租期到期前,若客户端仍需继续使用该IP地址,可以向服务器请求延长租期;若不再需要,则可主动释放该IP地址。当没有其他空闲地址时,服务器会将主动释放的IP地址分配给其他客户端。

DHCP服务器动态分配的IP地址都受租期限制,不同的服务器租期配置可能不同。而静态分配的IP地址则没有租期限制,可以永久使用。

为避免租期到期后IP地址被回收并重新分配给其他客户端,DHCP客户端会在租期结束前提前申请续期,以保证继续使用相同的IP地址。
在这里插入图片描述

4、地址池

地址池是指DHCP服务器可用于分配给客户端的所有IP地址的集合。除了IP地址,地址池中还可以包含租期、子网掩码、默认网关等网络参数。在DHCP服务器为客户端分配IP地址时,这些网络参数也会同时分配给客户端。

5、DHCP的报文介绍

名称类型
Op表示报文的类型,取值为1或2,1为客户端请求报文,2为服务器响应报文
Htype表示硬件类型。不同的硬件类型取值不同,最常见的值是1,表示以太网(10Mb)
Hlen表示硬件地址长度,以太网的值为6
Hops表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。此字段的作用是限制DHCP报文所经过的DHCP中继数目。服务器和客户端之间的DHCP中继数目不能超过16个,也就是Hops值不能大于16,否则DHCP报文将被丢弃。
Xid表示DHCP客户端选取的随机数,使DHCP服务器的回复与DHCP客户端的报文相关联
Secs表示客户端从开始获取地址或地址续租更新后所用的时间。单位是秒
Flags表示标志字段。
Ciaddr表示客户端的IP地址。可以是服务器分配给客户端的IP地址或者客户端已有的IP地址。客户端在初始化状态时没有IP地址,此字段为0.0.0.0
Yiaddr表示服务器分配给客户端的IP地址。当服务器进行DHCP响应时,将分配给客户端的IP地址填入此字段。
SiaddrDHCP客户端获得启动配置信息的服务器的IP地址。
Giaddr表示第一个DHCP中继的IP地址。
Chaddr表示客户端的MAC地址。
Sname表示客户端获取配置信息的服务器名字。
File表示客户端需要获取的启动配置文件名。
Options表示DHCP的选项字段,最多为312字节。

二、DHCP的工作流程和原理描述

1、DHCP客户端接入服务器的过程。

如下图描述一般场景时DHCP的工作流程。主要分为四步。
在这里插入图片描述

(1)发现阶段

首次接入网络的DHCP客户端并不清楚DHCP服务器的IP地址,为了得到DHCP服务器的IP地址,DHCP客户端以广播方式发送DHCP DISCOVER报文。(DHCP DISCOVER报文中携带了客户端的MAC地址、请求参数表项、广播标志位等信息)。

(2)提供阶段

与DHCP客户端位于同意网段的DHCP服务器都会收到DHCP DISCOVER报文,DHCP服务器选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。

(3)请求阶段

如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,DHCP客户端一般只接收第一个收到的DHCP OFFER报文。在收到DHCP OFFER报文之后,DHCP 客户端以广播方式发送DHCP REQUEST报文,DHCP REQUEST报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
DHCP客户端广播发送DHCP REQUEST报文通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他的DHCP服务器则会将分配给该DHCP客户端的IP地址分配给其他DHCP客户端。

(4)确认阶段

当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址,分配给客户端使用。

2、在有中继场景时DHCP客户端接入服务器的过程

DHCP中继在DHCP服务器和DHCP客户端之间转发DHCP报文,以保证DHCP服务器和DHCP客户端可以正常交互。下面仅针对DHCP中继的工作原理进行介绍。这种情况出现在DHCP客户端无法直接连接到DHCP服务器,需要通过中继进行沟通。
在有中继场景时DHCP客户端接入网络实例如下图所示。

在有中继的场景下,第一步的发现阶段和第二部的选择阶段会出现一些小小的变动。具体如下。

(1)发现阶段

DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后。
①首先检查DHCP报文中的hops(表示当前的DHCP报文经过的DHCP中继的数目)字段,如果大于16,则丢弃DHCP报文。否则,将hops字段加1;
②检查DHCP报文中的giaddr(表示第一个DHCP中继的IP地址。)字段,如果是0,将giaddr字段设置为接收DHCP DISCOVER报文的接口IP地址。如果不是0,则不修改该字段。
③将DHCP报文的目的IP地址改为DHCP服务器或下一跳中继的IP地址,源地址改为中继连接客户端的接口地址,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。

(2)选择阶段

DHCP服务器接收到DHCP DISCOVER报文后,选择与报文中giaddr(表示第一个DHCP中继的IP地址。)字段为同一网段的地址池,并为客户端分配IP地址等参数,然后向giaddr字段标识的DHCP中继单播发送DHCP OFFER报文。
DHCP中继收到DHCP OFFER报文后,会进行如下处理:
1.检查报文中的giaddr字段,如果不是接口的地址,则丢弃该报文;
2.DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP OFFER报文广播发送给DHCP客户端;否则将DHCP OFFER报文单播发送给DHCP客户端。

(3)请求阶段

如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,DHCP客户端一般只接收第一个收到的DHCP OFFER报文。在收到DHCP OFFER报文之后,DHCP 客户端以广播方式发送DHCP REQUEST报文,DHCP REQUEST报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
DHCP客户端广播发送DHCP REQUEST报文通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他的DHCP服务器则会将分配给该DHCP客户端的IP地址分配给其他DHCP客户端。

(4)确认阶段

当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址,分配给客户端使用。

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值