DHCP的工作原理
什么是dhcp?它是如何实现的?
DHCP称为动态主机配置协议。DHCP服务允许工作站连接到网络并且自动获取一个IP地址。配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址、子网掩码、缺省网关、一个WINS服务器的IP地址,以及一个DNS服务器的IP地址。
下面就对此做简单介绍:DHCP是一个基于广播的协议,它的操作可以归结为四个阶段,这些阶段是IP租用请求、IP租用提供、IP租用选择、IP租用确认。
1、IP租用请求:在任何时候,客户计算机如果设置为自动获取IP地址,那么在它开机时,就会检查自己当前是否租用了一个IP地址,如果没有,它就向DCHP请求一个租用,由于该客户计算机并不知道DHCP服务器的地址,所以会用255.255.255.255作为目标 地址即广播一下,源地址使用0.0.0.0,在网络上广播一个DHCPDISCOVER消息,消息包含客户计算机的媒体访问控制(MAC)地址(网卡上内建的硬件地址)以及它的NetBIOS名字。
2、IP租用提供:当DHCP服务器接收到一个来自客户的IP租用请求时,它会根据自己的作用域地址池为该客户保留一个IP地址并且在网络上广播一个来实现,该消息包含客户的MAC地址、服务器所能提供的IP地址、子网掩码、租用期限,以及提供该租用的 DHCP服务器本身的IP地址。
3、IP租用选择:如果子网还存在其它DHCP服务器,那么客户机在接受了某个DHCP服务器的DHCPOFFER消息后,它会广播一条包含提供租用的服务器的IP地址的DHCPREQUEST消息,在该子网中通告所有其它DHCP服务器它已经接受了一个地址的提供,其他 DHCP服务器在接收到这条消息后,就会撤销为该客户提供的租用。然后把为该客户分配的租用地址返回到地址池中,该地址将可以重新作为一个有效地址提供给别的计算机使用。
4、IP租用确认: DHCP服务器接收到来自客户的DHCPREQUEST消息,它就开始配置过程的最后一个阶段,这个确认阶段由DHCP服务器发送一个DHCPACK包给客户,该包包括一个租用期限和客户所请求的所有其它配置信息,至此,完成TCP/IP配置。
DHCP(Dynamic Host Configure Protocol,动态主机配置协议),用于向网络中的计算机分配IP地址及一些TCP/ip配置信息。DHCP提供了安全,可靠且简单的TCP/IP网络设置,避免了TCP/ip网络地址的冲突,同时大大降低了工作负担。
IP的租约更新:当客户机重启和租期到达50%时,就需要更新租约,直接想提供的服务器发送DHCP request包,要求更新租约。客户机无法和服务器取得联系时,继续使用现有IP,一直等到85%时,向所有的服务器发送广播DHCP request 包请求更新,如果仍然 无法联系,则客户机将开始新的ip租约过程DHCP discover包
IP的租约释放命令 :释放的ipconfig /release 获取是 :ipconfig /renew 。
配置DHCP服务的要求:服务器具有静态IP ;在域环境下需要使用活动目录服务授权DHCP服务;建立作用域。(如果在安装时建立则默认为6天,之后创建为8天,无线为2小时)
配置选项有服务器选项、作用域选项、保留选项。服务器选项:对所有作用域生效;作用与选项:对当前作用域生效;保留选项:对当前作用域中某台客户机生效。
DHCP服务器端相关配置:
#cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/
#mv /etc/dhcpd.conf.sample /etc/dhcpd.conf #命令详解
dns-update-style none; //动态DNS的更新方式,必须添加,否则服务器无法启动
option routers 192.168.1.1; //默认网关
option subnet-mask 255.255.255.255.; //子网掩码
option domain-name "domain.org"; //域名
option domain-name-servers 114.114.114.114; //DNS服务器
subnet 192.168.0.0 netmask 255.255.255.0{ //定义网段的服务范围,与服务器所在同一范围
range 192.168.0.2 192.168.0.99; //地址池范围,注意已经使用的固定地址要排除在外
default-lease-time ; //释放时间,单位s
max-lease-time ; //最长释放时间
DHCP的工作原理的更多相关文章
- DHCP、DHCP Snooping及DHCP relay工作原理入门及实践(转)
原文https://blog.51cto.com/5167020/2312718 序:DHCP服务相对简单,写本文的目的是为了讲一些DHCP安全方面的技术. 1.DHCP基础 DHCP 全称动态主机配 ...
- DHCP server工作原理
1.CLIENT首先发出广播的DHCPDISCOVER报文,广播的目的是让DHCP SERVER能够收到这个请求报文.在这个报文中,CLIENT可以在"选项"字段中加入" ...
- H3C DHCP中继工作原理
- DHCP及DHCP多作用域服务器工作原理
一.DHCP服务是什么 DHCP称为动态主机配置协议.DHCP服务允许工作站连接到网络并且自动获取一个IP地址.配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址.子网掩码.缺省网关.一个W ...
- CentOS6下DHCP服务(一)工作原理及安装配置说明
1.DHCP服务用途 DHCP是Dynamic Host Configuration Protocol的简写,DHCP服务器最主要的工作就是自动地将网络参数分配给网络中的每台计算机,让客户端的计算机在 ...
- DHCP工作原理
DHCP:Dynamic Host Configurtion Protocol DHCP的工作原理(UDP) 1.客户端:首先会发送给一个dhcp discovery(广播)报文,报文中的2层和3层都 ...
- DHCP的若干原理解释
转自:http://blog.chinaunix.net/uid-22287947-id-1775641.html 搜罗了几种关于dhcp的原理和过程解释 DHCP(Dynamic Host Conf ...
- DHCP 工作原理
DHCP 详解 DHCP 工作原理 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server), ...
- DHCP租约时间工作原理
问题: 很多用户在使用路由器的DHCP服务器过程中都有一个疑问,DHCP有个设置项目是设置DHCP地址的租约时间,如果设置的比较短,是否会出现租约时间到了以后会重新去获取ip地址,造成用户断网? ...
随机推荐
- C#引用非托管.dll
C#里调用非托管的Dll 今天花了一些精力来调查了一下C#里调用非托管的Dll,C#里调用非托管的Dll要使用P/Invoke平台调用技术, 这里先简单介绍一下P/Invoke平台调用技术. 由 ...
- Python生成随机数的方法
这篇文章主要介绍了Python生成随机数的方法,有需要的朋友可以参考一下 如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与 ...
- [译]Stairway to Integration Services Level 14 - 项目转换(SSIS 2008 ~ SSIS 2012)
介绍 本文中我们会用SSDT把第一个SSIS项目转换为 SSIS 2012, 为什么要升级到2012? 你可能想使用SSIS 2012新的特性. 又或者想使用 SSIS 2012 Catalog. 想 ...
- Jquery调用webService的四种方法 转载-记录
我总结几个关键点 1. 服务必须声明为ScriptService(否则会出现下面的问题) 2.服务的方法不需要任何更改,保持原状 3.客户端用jquery的.ajax方法来调用 3.1 type必须是 ...
- Python:爬取乌云厂商列表,使用BeautifulSoup解析
在SSS论坛看到有人写的Python爬取乌云厂商,想练一下手,就照着重新写了一遍 原帖:http://bbs.sssie.com/thread-965-1-1.html #coding:utf- im ...
- Nginx 之一:编译安装nginx 1.8.1 及配置
一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间 ...
- 转:sublime text快捷键 (很实用的东东)
一个好的编辑器,能大大提高编程的效率.如果能熟知软件的快捷键,那更能让你得心印手.这些内容都是我网上和自己实际使用过程中所收集而来的,在网络上应该也算比较全面的了吧.欢迎大家补充,我也会在以后慢慢添加 ...
- MFC自绘控件学习总结第二贴---转
首先感谢大家对第一帖的支持,应一些网友烈要求下面我在关于上一贴的一些补充和说明(老鸟可以无视)这一贴是实战+理论不知道第一帖的先看第一帖:http://topic.csdn.net/u/2011071 ...
- 高级爬虫工程师(Spider)-美团网-拉勾网-最专业的互联网招聘平台
高级爬虫工程师(Spider)-美团网-拉勾网-最专业的互联网招聘平台 高级爬虫工程师(Spider)
- nginx学习六 高级数据结构之双向链表ngx_queue_t
1 ngx_queue_t简单介绍 ngx_queue_t是nginx提供的一个轻量级的双向链表容器,它不负责存储数据,既不提供数据的内存分配.它仅仅有两个指针负责把数据链入链表.它跟stl提供的qu ...