DHCP
二、DHCP
DHCP
服务在网络中也是常用的服务之一,作用是为用户配置IP协议参数。因此在网络工程师考试中,DHCP
协议的工作过程、租约的管理等是考查比较多的内容。
DHCP服务知识体系.png
1.工作过程
客户机可能从不止一台
DHCP
服务器收到DHCPOFFER
信息。 客户机选择最先到达的DHCPOFFER
,并发送DHCPREQUEST
消息包。
(1)各类报文
① DHCPDISCOVER
Ⅰ.初次请求
DHCP服务器
配置完成后,客户端启动时会向网络发出一个DHCPDISCOVER
包,来请求IP地址
,所以其源IP地址与目标IP地址均为0.0.0.0
。
② DHCPOFFER
DHCP客户端
可以接收多个DHCPOFFER
,通常从中选择最先到达的作为本机IP地址
。
③ DHCPACK
当客户端接收到
DHCPACK
报文后,才会使用报文中提供的地址。
④ DHCPNACK
当
DHCP服务器
拒绝客户端的IP地址
请求时会发送DHCPNACK
报文。
⑤ DHCPrequest
租约期满后,
DHCP客户端
可向DHCP服务器
发送一个DHCPrequest
报文来请求重新租用IP地址
。
⑥ DHCPDecline
当
DHCP客户端
发现分配的IP地址
已经被使用,客户端向服务器发出DHCPDecline
报文。
⑦ DHCP与帧中继
借助中继代理,DHCP客户端可以从外网段(即跨网段)获取IP地址。 DHCP可以服务于一个网段,也可通过DHCP中继服务多个子网,在一个网段中可以配置多台
DHCP服务器
。
(2)注意事项
① DHCP服务器未工作的可能
DHCP服务器设置IP代理池,该网段下某台安装Windows系统的工作站启动,获得的IP地址是169段的,这表明
DHCP服务器
没有工作。
2.租约
DHCP
租约周期是IP
地址的有效期。
(1)租约长度
租约周期可长可短,取决于用户的上网环境和工作性质:一般把移动用户划分到租约期较短的管理类,把固定用户划分到租约期较长的管理类,远程访问用户划分到默认路由类;对于服务器主机则要为其保留固定的
IP地址
,并且要把保留的IP地址
与服务器主机的MAC地址
进行绑定(简单来说,DHCP服务器需要有固定的IP地址
,便于和客户机之间通过DHCP
协议报文分配地址)。
① 默认租约期
DHCP分配的IP地址默认租约期为 8 天。
② 租约期限设置
在
DHCP服务器
的地址租约期限设置中,可依据可供分配IP地址
的多少,适当调整地址租约期限。
(2)续租过程
当使用时间达到租约期的
50%
时,DHCP客户端和DHCP服务器将更新租约。 当使用时间达到租约期的87.5%
时,DHCP客户端和DHCP服务器联系失败,将重新启动IP
租用过程。
3.DHCP相关命令
在 Windows 环境下,客户机可用命令
ipconfig/ release
释放IP地址
,用命令ipconfig/ renew
重新申请IP地址
。
注意
DHCP客户端可以从DHCP服务器获得:DHCP服务器IP地址、DNS服务器IP地址,默认网关的IP地址等,但不能获得Web服务器IP地址。
- 你真的会玩SQL吗?查询指定节点及其所有父节点的方法
- ASP.Net MVC框架配置与分析
- MVC利用MvcHtmlString在后台生成HTML
- ExtJs学习笔记(7)_获取GridPanel选中行的详细信息
- ExtJs学习笔记(5)_Ajax示例
- shell脚本之特殊符号总结性梳理
- Centos6.X 下安装并使用VNC的操作记录
- Linux系统是否被植入木马的排查流程梳理
- 添加php的memcached扩展模块
- Android TextView中显示图片
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
- 分享一个刷网页PV的python小脚本
- mysql完整备份时过滤掉某些库
- Jquery 结合Json控制Select下拉框
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Go内存管理之代码的逃逸分析
- MySQL读锁的区别和应用场景分析
- Apache NIFI 讲解(读完立即入门)
- 了解NiFi最大线程池和处理器并发任务设置
- 深入理解 Apache NIFI Connection
- 【Go语言探险】线上奇怪日志问题的排查
- 探索 Apache NIFI 集群的高可用
- 面试被问:Spring Boot中Tomcat是如何启动的?
- Spring Boot 实现定时任务的动态增删启停等管理!
- Apache NIFI ExecuteScript组件脚本使用教程
- Redis必会的性能监控指标汇总
- 带你体验Apache NIFI新建数据同步流程(NIFI入门)
- Spring JPA 存储库接口定义
- 如何给Apache开源项目贡献代码
- 深入解析Apache NIFI的调度策略