HCIA-ICT实战基础-DHCP原理与配置
目录
DHCP产生背景
DHCP工作原理与配置
DHCP Relay工作原理与配置
1 DHCP产生背景
1.1 手工配置网络参数存在一下问题:
- 灵活性差
- 容易出错
- IP地址资源利用率低
- 工作量大
- 人员素质要求高
1.2 DHCP的基本概念
DHCP是一种用于集中对用户IP地址进行动态管理和配置的协议.
DHCP采用C/S(Clinet/Server, 客户端/服务器)通信模式, 属于应用层协议, 协议报文基于传输层的UDP的方式进行交互, 采用67(DHCP服务器)和68(DHCP客户端)两个端口号: 1.正常工作是由客户向服务器提出配置申请; 2.服务器返回为客户端分配的IP地址等相应配置信息.
DHCP相对于手工配置有以下优点: 效率高、灵活性强、易于管理.
注: 通常称采用两个端口号的协议为双端口协议, 比如FTP之类的.
2 DHCP工作原理与配置
2.1 工作原理
- 发现阶段, 即DHCP客户端发现DHCP服务器的阶段. DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器. DHCPDISCOVER报文携带了客户端的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地址.
注: 免费ARP是在网络中检测IP地址冲突的一种ARP机制, 通过ARP请求并检测是否有回复的方法确认是否有其他设备在使用需要检测的IP地址.
2.2 DHCP报文格式
重要字段说明:
- Op (op code): 表示报文类型, 取值为1或2, 1为客户端请求报, 2为服务器相应报文;
- Secs (seconds): 有客户端填充, 表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数, 缺省值为3600s;
- Flags: 客户端请求服务器发送响应报文的形式, 只有最高位有意义, 其余15位置0. 最高位为0时请求发送单播响应, 最高位为1是请求发送广播响应.
- Yiaddr: 服务器分配给客户端的IP地址
- Siaddr: DHCP服务器的IP地址
- Ciaddr: 客户端ip地址
- Chaddr: 客户端的mac地址;
- Option(variable): DHCP通过此字段包含了服务器分配给终端的配置信息.
其他字段简单提一下:
Htype: 硬件类型, 一般指mac地址
Hien: 硬件长度, 一般为mac地址的长度(48bit)
Xid: 随机数
Sname: 服务器的名称
File: DHCP的配置文件
还有几个没讲到的是后面的内容, 接着往下看.
2.3 常见的Options预定义选项字段介绍
DHCP报文中Options字段为可变长度字段, 最多为312Byte(2496bit), 此字段包含了DHCP报文类型, 服务器分配给终端的配置信息, 如网关IP地址, DNS服务器的IP地址, 客户端可以使用的IP地址的有效租期(一般为24h)等信息, 这种可拓展的字段结构称为TLV结构.
Options字段由Type、Length和Value三部分组成, 其中Type字段取值范围为1~255.
常见Options如下表:
2.4 DHCP的消息类型
DHCP报文通过Options选项中的Type=53来表示DHCP的报文类型, 如下图所示, 当Type=53, Length=1, Value取值从01到08分别表示不同类型的DHCP报文类型
2.5 Options自定义选项字段介绍
出来标准协议中规定的字段选项外, 还有部分选项内容没有统一规定, 统称为用户自定义选项, 例如Option 82(中继代理信息选项)和Option 43(厂商特定信息选项).
2.6 DHCP地址续租
当租期达到50%(T1)时, DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文, 请求更新IP地址租期. 如果收到DHCP服务器回应的DHCP ACK报文, 则租期更新成功.
当租期达到87.5%(T2)时, 如果仍未收到DHCP服务器的应答, DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文, 请求更新DHCP ACK报文**, 如果收到DHCP服务器回应的DHCP ACK报文, 则租期更新成功.
如果租期时间到时都没有收到服务器的回应, 客户端停止使用此IP地址, 重新发送DHCP DISCOVER报文请求新的IP地址.
2.7 DHCP客户端重用曾经使用过的地址
DHCP客户端非首次接入网络时, 可以重用曾经使用过的地址, 并跳过发现阶段和提供阶段. 例如, 网络的主机作为DHCP的客户端, 在关机再开机的过程中, 需要重新获取相关的网络参数, 则可以请求分配曾经使用过的IP地址.
-
选择阶段
客户端广播发送包含前一次分配的兄弟之的DHCP REQUEST报文, 报文中的Option 50(请求的IP地址选项) 字段填入曾经使用过的IP地址.
-
确认阶段
DHCP服务器收到DHCP REQUEST报文后, 根据DHCP REQUEST报文所携带的mac地址来查找有没有相应的租约记录, 如果有则返回DHCP ACK报文, 通知DHCP客户端可以继续使用这个IP地址, 如果没有租约记录, 则不响应.
2.8 DHCP分配IP地址顺序
DHCP服务器按照下图顺序为客户端选择IP地址
华为路由器一般是从后往前分配ip地址
以上检查完都没有可选择的IP地址, 服务器就向客户端报告错误, 不过一般情况下不会出现, 除非遇到像DHCP地址池攻击之类的网络攻击.
2.9 DHCP配置命令介绍
1.打开DHCP功能
[Huawei]dhcp enable
全局配置模式:
1.创建全局地址池
[Huawei] ip pool ip-pool-name
2.配置DHCP客户端的网关地址
[Huawei-ip-pool-HW]gateway-list ip-address
3.配置全局地址池可动态分配的IP地址范围
[Huawei-ip-pool-HW]network ip-address [mask{mask-length}]
4.配置地址池中不参与自动分配的IP地址
[Huawei-ip-pool-HW]excluded-ip-address start-ip-address [end-ip-address]
5.配置地址池的地址租期
[Huawei-ip-pool-HW]lease {day day[hour hour[minute minute]] | unlimited}
6.配置为指定DHCP Client分配固定IP地址
[Huawei-ip-pool-HW]static-bind ip-address ip-address mac-address [option-template template-name | description description]
7.在接口上调用全局地址池
[Huawei-GE0/0/0]dhcp select global
不用指定地址池的名称, 全局DHCP下会根据接口所处网段自动选择地址池
接口配置模式
8.配置基于接口方式的地址池
[Huawei]int g0/0/1
[Huawei-GE0/0/1]ip address ip-address {mask | masklength}
[Huawei-GE0/0/1]dhcp select interface
接口地址所属的IP地址网段即为接口地址池. 并且接口地址的掩码不能配置为31, 否则会导致接口地址池配置失败
9.设置DHCP服务器的DNS
[Huawei-GE0/0/1]dhcp server dns-list [dns]
10.配置接口地址池的网关IP地址
[Huawei-GE0/0/1]dhcp server gateway-list ip-address
二层DHCP
11.配置为指定DHCP Clinet分配固定IP地址
[Huawei-GE0/0/1]dhcp server static-bind ip-address ip-address mac-address mac-address [description description]
注: 这里mac地址要修改为三段形式, 如54-89-98-4F-41-C3变为5489-984F-41C3
12.配置地址池中不参与自动分配的IP地址
[Huawei-GE0/0/1]DHCP server excluded-ip-address start-ip-address [end-ip-address]
13.配置地址池的地址租期
[Huawei-GE0/0/1]DHCP server lease {day day [hour hour [minute minute]] | unlimited}
14.查看地址池
[Huawei]display ip pool
3 DHCP Relay(中继)工作原理与配置
3.1 概念
随着网络规模的不断扩大, 网络设备不断增多, 企业内不同的用户肯分布在不同的网段, 一个DHCP如果想满足多个网段的地址分配需求, 进行跨网段分配IP地址, 即需要跨网段发送DHCP报文, 就需要依赖DHCP Relay(DHCP中继).
3.2 DHCP Relay报文格式
Hops: 表示当前DHCP报文进过的DHCP中继数目, 该字段有客户端或服务器设置为0, 每经过一个DHCP中继时, 该字段+1; 通常情况下, 客户端和服务器中间不能超过15台中继.
Giaddr(gateway ip address): 表示第一个DHCP中继的IP地址. 当客户端发出DHCP请求时, 第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时, 会把自己的IP地址填入此字段.
3.3 DHCP Relay工作原理
-
发现阶段: DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后, 通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继;
-
提供阶段: DHCP服务器根据DHCP DISCOVER报文中的Giaddr字段选择地址池为客户端分配相关网络参数, DHCP中继收到DHCP OFFER 报文后, 以单播或组播的方式发送给DHCP Client;
-
选择阶段: 中继接收到来自客户端的DHCP REQUEST报文的处理过程同"发现阶段";
-
确认阶段: 中继收到来自服务器的DHCP ACK报文处理过程同"提供阶段".
3.4 DHCP Relay配置命令介绍
1.使能接口的DHCP中继功能
[Huawei-GE0/0/1]DHCP select relay
2.在接口视图下配置DHCP服务器的IP地址
[Huawei-GE0/0/1]DHCP relay server-ip ip-address
3.创建DHCP服务器组
[Huawei]DHCP server group group-name
4.在DHCP服务器组中配置DHCP服务器成员
[Huawei-DHCP-server-group-HW]DHCP-server ip-address [ip-address-index]
5.配置接口应用的DHCP服务器组
[Huawei-GE0/0/1]DHCP relay server-select group-name
6.开启接口下的DHCP Client功能
[Huawei-GE0/0/1]ip address DHCP-alloc
标签:04,ip,报文,HCIA,服务器,IP地址,DHCP,客户端
From: https://www.cnblogs.com/konjac-wjh/p/16840692.html