2022-09-01 网工进阶(二十九) DHCP-概述、工作原理、报文格式、分配IP地址顺序、地址租期与续租、中继(relay)、Snooping

概述

IETF于1993年发布了DHCP(Dynamic Host Configuration Protocol动态主机配置协议)。DHCP实现了网络参数配置的自动化,降低客户端的配置和维护成本。

DHCP采用C/S(Client/Server,客户端/服务器)通信模式,协议报文基于UDP的方式进行交互,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。

相关命令

开启DHCP功能

[R1]dhcp enable 

创建全局DHCP地址池        

[R1]ip pool dhcp1

配置全局DHCP地址池范围

[R1-ip-pool-dhcp1]network 192.168.1.0 mask 24

配置全局DHCP网关

[R1-ip-pool-dhcp1]gateway-list 192.168.1.254 

配置全局DHCP地址池中不参与分配的地址范围

[R1-ip-pool-dhcp1]excluded-ip-address 192.168.1.1 192.168.1.99
[R1-ip-pool-dhcp1]excluded-ip-address 192.168.1.201 192.168.1.253

配置全局DHCP可分配地址范围中为指定客户端分配固定IP地址

[R1-ip-pool-dhcp1]static-bind ip-address 192.168.1.101 mac-address 5489-987d-4e8f

在接口下应用全局DHCP配置

[R1-GigabitEthernet0/0/0]dhcp select global 

在接口下启用接口的DHCP配置

[R1-GigabitEthernet0/0/1]dhcp select interface 

配置接口DHCP地址池范围和网关

[R1-GigabitEthernet0/0/1]ip address 192.168.1.254 24

配置接口DHCP地址池中不参与分配的地址范围

[R1-GigabitEthernet0/0/1]dhcp server excluded-ip-address 192.168.1.1 192.168.1.99

配置接口DHCP可分配地址范围中为指定客户端分配固定IP地址

[R1-GigabitEthernet0/0/1]dhcp server static-bind ip-address 192.168.1.101 mac-address 5489-987d-4e8f 

DHCP客户端首次接入网络的工作原理

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

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


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

服务器接收到DHCP DISCOVER报文后,选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址(给客户端分配IP地址前会发送Ping探测,如果能Ping通则标识该地址不可用,并选择其他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地址(如果收到响应,则发送DHCP DECLINE报文通知DHCP服务器该IP地址冲突,DHCP服务器标识该地址不可用,客户端发送DHCP DISCOVER报文重新申请IP地址)。 

用找工作比喻DHCP工作原理

笔者发现可以用找工作来比喻DHCP的工作原理。

1 发现阶段

求职者海投简历给所有用人单位,简历中包含了个人信息和期望就职的职能范围。

2 提供阶段

用人单位确认相应职能的岗位有空缺,需要招人,于是发送offer给求职者,offer中包含了可提供的岗位信息。

3 选择阶段

求职者选择了第一个收到的offer中的期望岗位,选择其中的期望岗位并发送信息给用人单位。

4 确认阶段

用人单位给求职者发送确认需求的信息,求职者到用人单位后确认该岗位是否真的空缺,如果有人、就重新开始投简历。

预知两个术语概念

DHCP Relay

DHCP Relay指DHCP中继。当DHCP服务器和客户端在不同的三层网络中时,报文无法通过广播到达,此时就需要有设备作为DHCP中继,确保DHCP服务器和客户端之间的正常通信

DHCP Snooping

DHCP Snooping是在DHCP协议的安全机制。用于在DHCP服务器和客户端之间建立一道防火墙,以抵御网络中针对DHCP的各种攻击。例如当网络中出现另一个DHCP服务器,会造成客户端频繁切换网关地址等现象,导致客户端的网络瘫痪,如果启用了DHCP Snooping,就可以避免发生这种情况。

DHCP报文格式

Op(op code):表示报文的类型,取值为1(客户端请求报)或者2(服务器响应报文)

Htype (hardware type): 表示硬件地址的类型。

Hlen(hardware length): 表示硬件地址的长度。

Hops(hops): 表示当前DHCP报文经过的DHCP Relay数目。该字段由客户端设置为0,每经过一个DHCP Relay时,该字段加1。此字段的作用是限制DHCP报文所经过的DHCP Relay数目。服务器和客户端之间的DHCP中继数目不能超过16个,也就是Hops值不能大于16,否则DHCP报文将被丢弃。

Xid:表示DHCP客户端选取的随机数,使DHCP服务器的回复与DHCP客户端的报文相关联。

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

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

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

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

Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段。DHCP服务器会根据此字段来判断出客户

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鹅一只

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

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

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

打赏作者

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

抵扣说明:

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

余额充值