开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DHCP服务的配置与管理(1)DHCP协议原理

简介:
+关注继续查看

DHCP动态主机配置协议,作用大家应该都知道,用DHCP可以自动为网络中的计算机分配IP地址及TCP/IP设置,优点是可以提高IP地址的利用率,减少IP地址的管理工作量。

网络中到底是否需要使用DHCP服务,需要的话怎样配置才更为合理,51cto论坛中近期正好有一个相关热帖,大家可以参考一下。http://bbs.51cto.com/viewthread.php?tid=1013632&extra=&page=1

 在开始学习如何配置DHCP服务之前,我们需要先来了解DHCP协议的工作原理。

DHCP是基于客户端/服务器模型设计的,DHCP协议使用端口UDP 67(服务器端)和UDP 68(客户端)进行通信,并且大部分DHCP协议通信以广播方式进行。
 
1. DHCP租约过程

DHCP客户端首次启动时,会自动执行初始化过程以便从DHCP服务器获得IP地址,获取IP地址的过程大致分为四个不同的阶段,分别如下:
(1)IP租用请求。当客户端计算机被设置为“自动获取IP地址”时,这样当它首次启动时会向网络中发送一个名为DHCPdiscover的广播消息,以寻找DHCP服务器。因为此时客户端计算机还不知道自己属于哪个网络,所以这个数据包的源地址为0.0.0.0,目标地址为255.255.255.255。
(2)IP租用提供。当DHCP服务器收到DHCPdiscover数据包后,会从地址池中找出第一个未被分配的IP地址利用广播的方式发送回客户端,这个数据包称为DHCPoffer数据包。由于DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通信:源IP地址为DHCP服务器的IP地址,目前IP地址为255.255.255.255。
(3)IP租用选择。如果网络中存在多台DHCP服务器,那客户机可能从不止一台DHCP服务器收到DHCPoffer消息。客户机只选择最先到达的DHCPoffer,并向这台DHCP服务器发送DHCPrequest消息。DHCPrequest消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,其它的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其它DHCP客户端使用。此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以DHCPrequest消息仍然是一个广播数据包,源IP地址为0.0.0.0,目的IP为广播地址255.255.255.255。
(4)IP租用确认。服务器接收到客户端发来的DHCPrequest消息后,首先将刚才所提供的IP地址标记为已租用,然后向客户机发送一个确认(DHCPack)广播信息,信息中包括之前发送的IP地址、子网掩码、默认网关、DNS服务器地址,以及一个IP地址的租约期限。

2. DHCP租约更新

客户机在获得IP地址的同时要与服务器之间签订一个租约,租约期限一般默认是8天,DHCP客户端必须在租约过期前对它进行更新。
客户端在租约期过了1/2时,就会向服务器发出DHCPRquest包请求更新当前租约,如果DHCP服务器应答则租约延期。如果服务器始终没有应答,则在租期过了7/8时,客户端将再次发出DHCPRquest包请求更新租约,如果仍然无法得到DHCP服务器的响应,那客户机将放弃当前的IP地址,并重新发送DHCPdiscover广播包,开始新一轮的申请过程。

3. DHCP服务器的授权

目前绝大多数的无线路由器都带有DHCP的功能,而且默认是自动开启的,只要将这样的无线路由器接入到网络中,那就相当于在网络中私自架设了一台DHCP服务器。如果任何用户都可以随意安装DHCP服务器,且其所租出的IP地址是随意设置的,则当有客户端在向DHCP服务器租用IP地址时,很可能就会由这台非法的DHCP服务器来提供IP地址给客户端,从而导致客户端使用了错误IP而无法连接网络,同时也会增加系统管理员的管理负担。
因此在Windows系统中提供了一种授权机制,以防止这种非法接入DHCP服务器的行为。所谓授权,也就是说当DHCP服务器安装好以后,并不能立刻就为客户端提供服务,它还必须经过一个“授权”的程序,未经授权的DHCP服务器不会将IP地址租出给DHCP客户端。
只有在域环境中DHCP服务器才可以被授权,也就是说DHCP服务器必须要加入域成为域的成员服务器。
不是域成员的DHCP独立服务器无法被授权,那这样的服务器是否可以正常启动并为客户端分配IP地址呢?这要视同一个子网内,是否存在任意一台已被授权的DHCP服务器而定。这台独立DHCP服务器在启动DHCP服务时,会检测子网内是否存在已被授权的DHCP服务器。如果有,那它就不会启动DHCP服务;如果没有,那它就可以正常启动DHCP服务,并为客户端提供IP地址。

本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1160049

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SNMP:简单网络管理协议
基于 TCP/IP 的网络管理包括两部分:网络管理站 (manager) 和被管理的网络单元(被管设备)。这些被管设备的共同点就是都运行 TCP/IP 协议。管理进程和代理进程之间的通信有两种方式,一种是管理进程向代理进程发出请求,询问参数值,另一种方式是代理进程主动向管理进程报告某些重要的事件。
1245 0
SNMP:简单网络管理协议
基于 TCP/IP 的网络管理包括两部分:网络管理站 (manager) 和被管理的网络单元(被管设备)。这些被管设备的共同点就是都运行 TCP/IP 协议。管理进程和代理进程之间的通信有两种方式,一种是管理进程向代理进程发出请求,询问参数值,另一种方式是代理进程主动向管理进程报告某些重要的事件。
941 0
SNMP 简单网络管理协议
SNMP 简单网络管理协议 网络管理系统:监控(监视并控制)网络中各种设备的运行状态。SNMP,Simple Network Management Protocol,简单网络管理协议,用于网络设备的管理。 SNMP是一组协议标准,包括三个部分——管理信息库(MIB)、管理信息结构(SMI)和管理通信协议(SNMP)。 管理信息库(MIB)给出了管理对象的具体定义。 SNMP发展过程
1016 0
并发管理器2——OPP的概念
输出提交处理程序的用途: Concurrent Processing now uses the Output Post Processor (OPP) to enforce post-processing(后加工) actions for concurrent requests.
1386 0
23703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载