一、概述
随着网络规模的不断扩大,网络复杂度不断提升,网络中的终端设备例如主机、手机、平板等,位置经常变化。终端设备访问网络时需要配置IP地址、网关地址、DNS服务器地址等。采用手工方式为终端配置这些参数非常低效且不够灵活。IETF于1993年发布了DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。DHCP实现了网络参数配置的自动化,降低客户端的配置和维护成本。
基本概念:
- DHCP是一种用于集中对用户IP地址进行动态管理和配置的协议。
- DHCP采用C/S(Client/Server,客户端/服务器)通信模式,协议报文基于UDP的方式进行交互,采用67(DHCP服务器)和68(DHCP客户端)两个端口号:
正常工作时由客户端向服务器提出配置申请。
服务器返回为客户端分配的IP地址等相应的配置信息
优点:
- 效率高
- 灵活性强
- 易于管理
二、原理
- DHCP客户端首次接入网络的工作原理
- 发现阶段,即DHCP客户端发现DHCP服务器的阶段。
DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。DHCP DISCOVER报文中携带了客户端的MAC地址、需要请求的参数列表选项、广播标志位等信息。
- 提供阶段,即DHCP服务器提供网络配置信息的阶段。
服务器接收到DHCP DISCOVER报文后,选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。
- 选择阶段,即DHCP客户端选择IP地址的阶段。
如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
- 确认阶段,即DHCP服务器确认所分配IP地址的阶段。
DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文,探测本网段是否有其他终端使用服务器分配的IP地址。
2.DHCP中继
DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端。
1)DHCP Relay报文格式与DHCP报文的区别
- Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。
- Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段。
2)有中继场景时DHCP客户端首次接入网络的工作原理
- 发现阶段:DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。
- 提供阶段:DHCP服务器根据DHCP DISCOVER报文中的Giaddr字段选择地址池为客户端分配相关网络参数,DHCP中继收到DHCP OFFER报文后,以单播或广播方式发送给DHCP Client。
- 选择阶段:中继接收到来自客户端的DHCP REQUEST报文的处理过程同“发现阶段”。
- 确认阶段:中继接收到来自服务器的DHCP ACK报文的处理过程同“提供阶段”。
三、基础配置
基于全局:
基于接口:
中继:
想了解关于网络工程师的更多学习内容,可以评论留言。
同时,关于网络工程师的核心知识学习,已经给大家做了详细整理,包含视频,实验,思维导图,笔记等,可直接下方领取:
↓ 关注+点赞后,私信联系我领取 ↓