开发者社区> 科技小能手> 正文

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

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

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29572 0
PPP 配置协议
更新时间:2005-11-03 17:21关 键 词:协议  配置阅读提示:PPP(Point-to-Point Protocol)是SLIP(Serial Line IP protocol)的继承者,它提供了跨过同步和异步电路实现路由器到路由器(router-to-router)和主机到网络(host-to-network)的连接。
987 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20910 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23610 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载