- 什么是DHCPDynamic Host Configuration Protoco
l
- 为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数
- DHCP协议报文采用UDP方式封装,DHCP服务器所侦听的端口号是67,客户端的端口号是68。
- DHCP怎么用?
- DHCP端口
- DHCP统一使用两个分配的端口:服务器端使用67,客户端使用68
- DHCP客户端向DHCP服务器发送报文时采用67端口号,DHCP服务器向DHCP客户端发送报文时采用68端口号。
- DHCP原理步骤
- 第一步:客户端通过广播发送DHCP Discover报文寻找服务器端 (广播)
- 第二步:服务器端通过单播发送DHCP Offer报文向客户端提供IP地址等网络信息 (单播)
- 第三步:客户端通过广播DHCP Request报文告知服务器端本地选择使用哪个IP地址 (广播)
- 第四步:服务器通过DHCP Ack报文告知客户端IP地址是合法可用的 (单播)
- DHCP的报文类型
- DHCP Discover 由客户端来查找可用的服务器
- DHCP offer 服务器用来响应客户端的DHCP Discover报文,并指定相应的配置参数
- DHCP Request 由客户端发送给服务器来请求配置参数或者请求配置确认或者续借租期
- DHCP ACK 由服务器到客户端,含有配置参数包括IP地址
- DHCP Decline 当客户端发现地址已经被使用时,用来通知服务器
- DHCP Inform 客户端已经有IP地址时用它来向服务器请求其他的配置参数
- DHCP NAK 由服务器发送给客户端来报名客户端的地址请求不正确或者租期已过期
- DHCP Release 客户端要释放地址时用来通知服务器
- DHCP用在哪里?
- DHCP协议报文封装格式
- OP 消息操作码:可以是引导请求也可以是引导答复,1为请求报文,2为响应报文
- Htype 硬件地址类型 1byte 表示client硬件地址的类型,1表示以太网类型
- Hlen 硬件地址长度 1byte 以太网的硬件地址长度为6bytes
- DHCP角色
- 通告DHCP协议请求获取IP地址等网络参数的设备,如IP电话、PC、手机等
- 概念性的知识点
- DHCP租约过程
- 1发现阶段 DHCP客户端发现DHCP服务器的阶段
- DHCP客户端发送DHCP discover报文来发现DHCP服务器,并表示自己需要一个IP地址
- 广播方式(目的IP地址为255.255.255.255 源IP为0.0.0.0)
- 2 提供阶段 DHCP服务器提供网络配置信息的阶段
- 所有同网段的DHCP服务器都会接收到DHCP discover报文,从地址池中选择一个可用的IP地址,通告DHCP offer报文发送给DHCP客户端
- DHCP offer 报文里面携带了希望分配的地址及其租期等配置参数
- 3 请求阶段 DHCP客户端选择IP地址的阶段(客户端选择接受)
- DHCP discover报文是广播发送的,所以如果同一网段内存在多个DHCP服务器都会回应DHCP OFFER报文。
- DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和分配给客户端IP地址
- 4 确认阶段 DHCP服务器确认所分配IP地址的阶段 (服务器确认)
- DHCP服务器收到DHCP客户端发送的DHCP request 报文后,服务器回应DHCP ACK报文,表示DHCP request 报文中请求的IP地址,分配给客户端使用
- DHCP续租过程
- 1.DHCP服务器采用动态分配机制给客户端分配IP地址时,分配出去的IP地址有租期限制。客户端向服务器申请地址时可以携带期望租期,服务器在分配租期时把客户端期望租期和地址池中租期配置比较,分配其中一个较短的租期给客户端
- 2.租约到期后服务器会收回该IP地址,收回的IP地址可以继续分配给其他客户端使用。
- DHCP续租过程
- 当租期达到50%(T1)时
- DHCP客户端会自动以单播的方式向DHCP服务器发送DHCPREQUEST报文,请求更新IP地址租期。
- 如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从O开始计算);
- 如果收到DHCPNAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。
- 当租期达到87.5%(T2)时
- 如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCPREQUEST报文,请求更新IP地址租期。
- 如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);
- 如果收到DHCP NAK报文,则重新发送DHCP DISCovER报文请求新的IP地址。
- 如果租期时间到时都没有收到服务器的回应
- 客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。
- 客户端在租期时间到之前,用户不想使用分配的IP地址(例如客户端网络位置需要变更),会触发DHCP客户端向DHCP服务器发送DHCP RELEASE报文,通知DHCP服务器释放IP地址的租期。
- DHCP客户机重新使用的过程
- 客户端广播发送包含前一次分配的IP地址的DHCP REQUEST报文
- 服务器收到DHCPREQUEST报文后,根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录,如果有则返回DHCP ACK报文,通知DHCP客户端可以继续使用这个IP地址。
- 否则,保持沉默,等待客户端重新发送DHCP DISCOVER报文请求新的IP地址
- DHCP优缺点
- 优点
- 1.提供安全而可靠的配置。 DHCP避免了由于需要手动在每个计算机上键入值而引起的配置错误。 DHCP有助于防止由于在网络上配置新的计算机时重用以前指派的IP地址而引起的 地址冲突。
- 2.可以减少配置管理。 使用DHCP服务器可以大大降低用于配置和重新配置网上计算机的时间。
- 缺点
- 1.DHCP不能发现网络上非DHCP客户端已经在使用的IP地址。
- 2.DHCP服务器对于用户的接入没有限制,任何一台电脑只要连接到网络上,就能够通过DHCP服务器获得正确的网络配置,从而访问网络。
- 3.一个DHCP服务器不能查出已被其它服务器租出去的IP地址,将会给网络造成混乱。
- DHCP中继
- 客户端以广播发送DHCP DISCOVER报文,同一网段内所有DHCP服务器或中继都能收到。
- 如果服务器和客户端不在同一个网段且中间存在多个DHCP中继,当客户端发出DHCP请求时,第一个DHCP中继会把自己的IP地址填入此字段,后面的DHCP中继不修改此字段内容。
- DHCP服务器会根据此字段来判断出客户端所在的网段地址,从而为客户端分配该网段的IP地址。
- 将DHCP报文的目的IP地址改为DHCP服务器或下一跳中继的IP地址,源地址改为中继连接客户端的接口地址,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。
- 服务器接收到DHCP DISCOVER报文后,选择与报文字段为同一网段的地址池,并为客户端分配IP地址;然后向标识的DHCP中继单播发送DHCP OFFER报文。
- 配置命令 思科
- 启用DHCP功能
- Router(config)#service dhcp
- 配置DHCP地址池YJS
- Router(config)#ip dhcp pool YJS
- 配置DHCP地址池范围
- Router(dhcp-config)#network 192.168.1.0 255.255.255.0
- 客户端的默认网关
- Router(dhcp-config)#default-router 192.168.1.1
- 客户端的DNS服务器
- Router(dhcp-config)#dns-server 114.114.114.114
- 排除DHCP分配的地址192.168.1.1到192.168.1.100
- (config)#ip dhcp excluded-address 192.168.1.1 192.168.1.100
- 配置DHCP中继地址。进入接口,将192.168.2.0子网内的DHCP请求包转发到10.254.10.1
- Router(config-if)#ip helper-address 10.254.10.1
- 查看DHCP地址池信息
- 查看DHCP地址绑定情况
- Router#show ip dhcp binding
- 查看DHCP数据库(真机)
- Router#show ip dhcp datebase
- 动态查看DHCP服务器事件(真机)
- Debug ip dhcp server events
- lease
- 命令:lease{ days [hours][minutes]| infinite}
- no lease
- 功能:配置地址池中地址的租用期限;本命令的no操作为恢复缺省值。
- 参数:days为天数,取值范围为0~365; hours为小时数,取值范围为0~23; minutes为分数,取值范围为0~59: infinite为永久的使用。缺省情况:缺省的租期设置为1天。
- router(dchp-config)#lease 3 12 30 (3为使用3天的租用期限 12小时 30分钟)
- 配置命令 华为
- 配置接口的IP地址
- 开启DHCP服务
- 设置从接口DHCP地址池获取地址
- [R1-GigabitEthernet9/0/0]dhcp select interface
- 设置从全局DHCP地址池获取地址
- [R1-GigabitEthernet0/0/0]dhcp select global
- 设置dns服务器地址
- [Rl-GigabitEthernet9/0/0]dhcp server dns-list 223.5.5.5
- 设置保留IP地址 192.168.1.1-192.168.1.50
- [R1-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.1.1 192.168.1.50
- 设置租约时间 5天
- [R1-GigabitEthernet9/0/0]dhcp server lease day 5
- 配置命令
- 开启DHCP服务
- 设置全局地址池 yjs
- 设置动态分配的IP网段
- [R1-.ie-pool-xis]network 192.168.1.0 mask 255.255.255.0·
- 设置默认网关
- [R.1-jp-pool-yis]gateway-list 192.168.1.254
- 设置dns服务器地址
- [R1-jp-pool-yis]dns.-list 223.5.5.5
- 设置租约时间
- [R.1-ip-pool-yis]lease day 5
- 华为DHCP中继
- 开启中继
- 指定dhcp 服务器192.168.1.2
- dhcp relay server-ip 192.168.1.2
|