网络技术基础(15)——DHCP简介与配置

简介: 【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记。

随着网络规模的不断扩大,网络复杂度不断提升,网络中的终端设备例如主机、手机、平板等,位置经常变化。终端设备访问网络时需要配置IP地址、网关地址、DNS服务器地址等。采用手工方式为终端配置这些参数非常低效且不够灵活。然后出现了DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。DHCP实现了网络参数配置的自动化,降低客户端的配置和维护成本。

一、DHCP概述

image.png

DHCP是一种用于集中对用户IP地址进行动态管理和配置的协议。DHCP采用C/S(Client/Server,客户端/服务器)通信模式,协议报文基于UDP的方式进行交互,采用67(DHCP服务器)和68(DHCP客户端)两个端口号:

  • 正常工作时由客户端向服务器提出配置申请。

  • 服务器返回为客户端分配的IP地址等相应的配置信息。

DHCP相对于手工配置有如下优点:

  • 效率高

  • 灵活性强

  • 易于管理

DHCP工作原理

DHCP的工作过程

image.png

1、发现阶段,即DHCP客户端发现DHCP服务器的阶段。

DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。DHCP DISCOVER报文中携带了客户端的MAC地址、需要请求的参数列表选项、广播标志位等信息。

2、提供阶段,即DHCP服务器提供网络配置信息的阶段。

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

3、选择阶段,即DHCP客户端选择IP地址的阶段。

如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。

4、确认阶段,即DHCP服务器确认所分配IP地址的阶段。

DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文,探测本网段是否有其他终端使用服务器分配的IP地址。

报文示例:

image.png

在确认阶段,两种情况可能出现IP地址的冲突:

DHCP服务器收到DHCP DISCOVER报文时,给客户端分配IP地址前会发送Ping探测,如果能Ping通则标识该地址不可用,并选择其他IP地址分配给客户端。
DHCP客户端获取IP地址成功后,会立即发送免费ARP报文,如果收到响应,则发送DHCP DECLINE报文通知DHCP服务器该IP地址冲突,DHCP服务器标识该地址不可用,客户端发送DHCP DISCOVER报文重新申请IP地址。

简单概括:客户端广播查找DHCP服务器,服务器接收到广播进行回应,客户端知道服务器信息然后请求分配IP地址,服务器先广播看下地址是否被使用,如果没有被使用则回复客户端使用该地址。

DHCP报文格式

image.png

重要字段说明:

1、Op(op code):表示报文的类型,取值为1或2,含义如下:

  • 客户端请求报。

  • 服务器响应报文。

2、Secs(seconds):由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数,缺省值为3600s。

3、Flags:客户端请求服务器发送响应报文的形式,只有最高位有意义,其余15位置0。

  • 最高位为0时请求发送单播响应

  • 最高位为1时请求发送广播响应。

4、Yiaddr(your client ip address):表示服务器分配给客户端的IP地址。当服务器进行DHCP响应时,将分配给客户端的IP地址填入此字段。

5、Siaddr(server ip address):DHCP服务器的IP地址。

6、Chaddr(client hardware address):客户端的MAC地址。

7、Options:DHCP通过此字段包含了服务器分配给终端的配置信息。 Options预定义选项字段介绍:

DHCP报文中Options字段为可变长度字段,最多为312Byte,此字段包含了DHCP报文类型,服务器分配给终端的配置信息,如网关IP地址,DNS服务器的IP地址,客户端可以使用IP地址的有效租期等信息。

Options字段由Type、Length和Value三部分组成。其中Type字段取值范围1~255。常见的Options如下表所示:

image.png

DHCP消息类型:通过options的Type=53指定消息类型。

image.png

image.png

DHCP地址续租

image.png

就像我们租房子一样,DHCP服务器分配时指定了一个租期时间,到期前需要客户端找服务器续约。如果服务器没有回应则要重新找房子。

DHCP服务器给每个分配给客户端的IP地址定义一个使用期限,该使用期限被称为租期。在租期到期前,DHCP客户端如果仍需要使用该IP地址,可以请求延长租期;如果不需要,可以主动释放该IP地址。在没有其他空闲地址可用的情况下,DHCP服务器会把客户端主动释放的IP地址分配给其他客户端。

DHCP客户端根据IP地址的剩余租期的不同而产生不同形式的续租请求:

  • 当租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功。

  • 当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功。

  • 如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。

DHCP客户端重用曾经使用过的地址

DHCP服务器会有一个缓存记录曾经分配过的地址和MAC地址,如果缓存没有过期然后测试这个地址是否被使用,如果没有则继续分配重用。

image.png

DHCP分配IP地址顺序

简单来说就是手动配置绑定最优先,然后之前有申请过地址地址重用,如果都没有就从空闲地址随机分配,如果空闲地址都了则将过期的IP回收再分配,最后实在没有地址了再分配冲突的IP,但一般会提前规划,否则可能影响网络。华为设备默认从数字大的IP地址往前分配。

image.png

DHCP配置与应用

一般使用网关设备作为DHCP作为服务器,然后基于物理接口地址或者VLAN进行自动分配。

DHCP配置有两种方式:基于接口的地址池和基于全局的地址池。

1、基于接口的地址池:

进入三层接口配置,网关默认为接口地址,不能再配置网关地址,从该接口接入的终端可以获取该地址池。

2、基于全局的地址池:

全局生效,需要手动配置网关、掩码、DNS等,会自动匹配到该IP地址进行地址池创建和匹配。

配置示例:

image.png

接口DHCP配置:

# 全局开启DHCP
[AR1]dhcp enable

# 配置基于接口方式的地址池
[Huawei]interface interface-type interface-number [subinterface-number ]
[Huawei-GigabitEthernet0/0/1]ip address ip-address {
   
    mask | mask-length }

# 配置DHCP的类型(全局|接口|中继)
[AR1-GigabitEthernet0/0/0]dhcp select interface

# 配置为指定DHCP Client分配固定IP地址(静态绑定)
[Huawei-GigabitEthernet0/0/1]DHCP server static-bind ip-address ip-address mac-address mac-address [ description description ]

# 配置地址池中不参与自动分配的IP地址
[Huawei-GigabitEthernet0/0/1]DHCP server excluded-ip-address start-ip-address [ end-ip-address ]

# 配置地址池的地址租期
[Huawei-GigabitEthernet0/0/1]DHCP server lease {
   
    day day [ hour hour [ minute minute ] ] | unlimited }

# 配置DNS服务器列表
[Huawei-GigabitEthernet0/0/1]dhcp server dns-list 8.8.8.8 114.114.114.114

# 示例
interface GigabitEthernet0/0/0  # 进入接口
 ip address 192.168.1.254 255.255.255.0 # 配置接口地址
 dhcp select interface                  # 配置接口地址池 
 dhcp server static-bind ip-address 192.168.1.1 mac-address 5489-989d-74b3  # 静态地址绑定
 dhcp server excluded-ip-address 192.168.1.252  # 排除地址
 dhcp server lease day 0 hour 8 minute 0  # 地址租期
 dhcp server dns-list 8.8.8.8 114.114.114.114 # DNS服务器地址

全局DHCP配置

# 全局开启DHCP
[Huawei]dhcp enable

# 创建全局地址池
[Huawei]ip pool ip-pool-name

# 配置DHCP客户端的网关地址
[Huawei-ip-pool-HW]gateway-list ip-address

# 配置全局地址池可动态分配的IP地址范围
[Huawei-ip-pool-HW]network ip-address [ mask {
   
    mask | mask-length } ]

# 配置地址池中不参与自动分配的IP地址
[Huawei-ip-pool-HW]excluded-ip-address start-ip-address [ end-ip-address ] 

# 配置地址池的地址租期
[Huawei-ip-pool-HW] lease {
   
    day day [ hour hour [ minute minute ] ] | unlimited } 

# 配置为指定DHCP Client分配固定IP地址
[Huawei-ip-pool-HW] static-bind ip-address ip-address mac-address mac-address [ option-template template-name | description description ]

# 接入接口
# 配置DHCP的类型(全局|接口|中继)
[AR1-GigabitEthernet0/0/0]dhcp select global

# 示例
# 地址池配置
ip pool ippool
 gateway-list 192.168.1.254 
 network 192.168.1.0 mask 255.255.255.0 
 static-bind ip-address 192.168.1.1 mac-address 5489-989d-74b3 
 excluded-ip-address 192.168.1.253 
 lease day 0 hour 8 minute 0 
 dns-list 8.8.8.8 114.114.114.114 

# 接口配置,使用全局地址池
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0 
 dhcp select global

总结

DHCP协议在现代网络环境中扮演着至关重要的角色。它通过自动配置机制解决了在网络规模扩大、终端设备频繁变动场景下手动配置网络参数繁琐且低效的问题。通过采用C/S架构以及UDP通信方式,DHCP服务器能高效地为客户端分配动态IP地址及相关的网络参数,并确保资源的有效利用和管理。

整个DHCP工作流程严谨而灵活,包括发现阶段的客户端广播查找服务器,提供阶段服务器响应并分配IP地址,选择阶段客户端确认接受并广播ARP以检测地址冲突,以及确认阶段服务器最终确认分配的IP有效。此外,DHCP还支持地址续租机制,确保了IP地址的合理回收与再分配,避免了地址浪费。

DHCP报文格式中包含多种关键字段,如Op代码定义报文类型,Yiaddr指示分配给客户端的IP地址,Options字段则承载了丰富的配置信息。同时,DHCP也支持静态绑定、地址排除、租期设定等功能,进一步增强了其在实际应用中的适应性和可管理性。

总的来说,DHCP协议极大地简化了网络管理和维护的工作,提升了网络部署效率,降低了出错概率,并确保了网络资源的动态优化利用,在各类局域网环境乃至大型企业网络中得到了广泛应用。通过合理的DHCP配置策略,管理员能够轻松应对不断变化的网络环境需求,实现对网络资源的集中、自动化和精细化管理。

相关文章
|
4月前
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
134 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
16天前
|
网络协议
配置DHCP Snooping的攻击防范功能示例
本文介绍了通过配置DHCP Snooping功能来防范DHCP攻击的组网需求与实现方法。网络中存在多种针对DHCP的攻击,如仿冒DHCP Server、报文泛洪、仿冒报文及服务拒绝等,这些攻击可能严重影响网络正常运行。为保障DHCP用户服务质量,需在DHCP Relay上配置DHCP Snooping功能。具体包括:配置DHCP转发、启用基本防护功能、限制报文速率、绑定表匹配检查及接入用户数限制等步骤。最后通过命令验证配置结果,确保功能正常运行。
配置DHCP Snooping的攻击防范功能示例
|
1月前
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
58 4
|
3月前
|
域名解析 网络协议 Linux
网络基础知识与配置
本文介绍了网络基础知识,涵盖网络概念、协议、拓扑结构及IP地址等内容。网络是由计算机设备通过通信线路连接而成的系统,用于资源共享与信息传递。文中详细解析了TCP/IP协议族(如IP、TCP、UDP)、常见应用层协议(如HTTP、FTP、SMTP、DNS)的功能与应用场景。同时,阐述了多种网络拓扑结构(总线型、星型、环型、树型、网状)的特点与优缺点。此外,还讲解了IP地址分类、子网掩码的作用,以及如何在Windows和Linux系统中配置网络接口、测试连通性(Ping、Traceroute)和查看默认网关与路由表的方法。这些内容为理解和管理计算机网络提供了全面的基础知识。
211 6
|
4月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
125 13
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
|
4月前
|
机器学习/深度学习 编解码 数据可视化
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
245 11
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
|
3月前
|
监控 安全 网络协议
Hyper V上网实战:多虚拟机网络环境配置
在Hyper-V环境中配置多虚拟机网络以实现上网功能,需完成以下步骤:1. 确认Hyper-V安装与物理网络连接正常;2. 配置虚拟交换机(外部、内部或专用)以支持不同网络需求;3. 设置虚拟机网络适配器并关联对应虚拟交换机;4. 验证虚拟机网络连接状态;5. 根据场景需求优化多虚拟机网络环境。此外,还需注意网络隔离、性能监控及数据备份等事项,确保网络安全稳定运行。
|
4月前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
361 27
|
3月前
|
安全 网络协议 网络安全
当虚拟机出现网络连接问题时,应该先检查Hyper-V的网卡连接配置
当虚拟机出现网络连接问题时,应首先检查Hyper-V的网卡配置。具体步骤包括:确认虚拟机运行状态、检查虚拟交换机类型和物理网卡连接、确保虚拟机网络适配器正确连接到虚拟交换机,并验证网络配置(IP地址等)。常见问题如虚拟交换机配置错误、网络适配器未连接或防火墙阻止连接,可通过重新配置或调整设置解决。必要时重启虚拟机和宿主机,查看事件日志或联系技术支持以进一步排查问题。
|
4月前
|
机器学习/深度学习 移动开发 测试技术
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
198 13
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤

热门文章

最新文章