DHCP基本工作过程

DHCP是什么,指的是Dynamic Host Configuration Protocol,他的前生叫bootp,就是boot Protocol。bootp是什么?很简单的道理,各位有没有听说过叫无盘工作站的。像早期的计算机网络中的主机,是有一台服务器在这工作着,服务器上有一个硬盘,这个硬盘空间可能稍微会比较大一点,然后讷,有很多客户机,像早期网吧都是这样子,这每一台客户机都有CPU内存键盘鼠标显示器还有主板等等就是没有硬盘,注意他没硬盘,没硬盘的话操作系统装哪儿去啊,没有操作系统我们不可能开机真正用的对不对,所以对用户来讲操作系统是一个人机交互的非常重要的通用软件层,但现在我们没有硬盘,怎么装操作系统?你不能告诉我装U盘对吧,内核U盘什么概念还搞不清讷,怎么办?但是硬盘还是非常昂贵的资源,所以不可能在每一个主机上配一个硬盘,而且也没必要,当时的计算机性能还很差,玩的游戏恐怕都是你现在看到那种很小很小的游戏,模拟器上的游戏,那由此就意味着,每一个主机的操作系统都是装在服务器的硬盘当中的,那现在的问题是,那这就意味着有一个问题了,主机要想启动起来要想加载操作系统,就必要要能更我们的服务器通信,并且把自己所需要的文件都读进来对不对,那在通信之前要干什么,双方要想通信,要能够建立通信我们说过很多次现在用的tcp/ip协议,那就意味着双方是不是得有ip地址啊,但是我们知道你的ip地址配在哪了?ip地址是不是配置在操作系统上的,那你操作系统又没装怎么办,你看我们要想跟对方通信得有ip地址,IP地址是通过操作系统配置的,操作系统又没有硬盘装,你说怎么办

于是在这种主机上我们需要一种独特的网卡,注意 需要一种独特的网卡,这个网卡在启动的时候,网卡自身他有ROM,这不需要装操作系统网卡自身就有一些控制芯片,这个芯片中有些指令,这个指令就能够完成一些独立的操作能理解这意思吧,好 这个芯片是干什么,启动的时候他就向网络发送广播通告,说 我自己有一个MAC地址,现在比较穷又没有操作系统,谁能够给我一个ip地址先拿来用用啊~。大概就是这个意思。这儿我们有一个服务器他讷能够接受这种请求并且他有一堆地址可以用,理解吧,也就是有个地址列表,这个地址列表通常我们把他称作地址池,于是讷我们的服务器就从这个地址列表当中找一个空闲列表分配给他使用了,既然给他了那就不能再给其它主机了是不是,还有要注意的是,这个地址一旦分配给这个主机以后,就永远的属于这个主机了,在刚开始的时候 主机开机的时候请求时动态的,但一旦他开机以后这个地址就永远属于他,怎么永远的讷,一关机他是不是任然没有了。永远指的时我们的服务器会标记这个地址,以后就永远属于这个家伙了,那怎么标记永远,他有MAC地址,跟MAC地址建立关联关系,一旦分配出去以后就建立关联关系了,以后只有同一个MAC来申请,那这个地址就会给他使用,所以这个地址就保留给这个主机,永久使用了。

好了既然有了ip地址,接下来他俩是不就可以通信了,能够通信之后,那么网卡他就能够自动的实现,注意这个网卡自己时智能的,跟平时我们现在用的网卡不一样哈,这种特殊的网卡他能自动的实现将这样一个应用程序加载进本地的内存并且启动起来从而操作系统就启动起来了,像这种我们的ip地址是不是动态获得的,但是动态获得的有一个缺陷,一旦获得以后以后再申请就一定还是这一个地址了,而且这一个地址也只能归这一台主机使用,因为他要靠这个地址来引导这个操作系统,并且标记属于这个主机的操作系统所安装的位置的。这一种能够实现地址的动态分配,但也仅仅是第一次动态分配而已,为了引导主机启动的,所以我们叫bootp,但是后来随着我们计算机的发展,每一个客户机都有自己的硬盘了,那这就意味着每一个主机都可以自己装操作系统了,而且我们没有IP地址也照样能启动了,没有IP地址也照样能运行操作系统了,但是尽管如此,我们局域网内部的客户主机非常的多,我们又期望这些主机之间彼此都能够进行通信,那因此每个主机是不是照样得有个ip地址啊,怎么去给这些主机配置ip地址呢,假如你是一个网络管理员,我们公司有一台服务器,有50台客户端,现在我们需要配置这50台客户端彼此之间能够通信而且能够跟服务器进行通信那怎么配置ip地址啊?规划好一个主机上配置一个是不是就ok了,过两天又来了一个新主机,又来了十个新主机,是不是要照样往里边配置地址啊,再过一段时间又走了5个主机,过一段时间又来了5个再过一段时间又走了5个又来了7个又走了3个又来了20个....,你会发现过一段时间到底哪个主机用的哪个地址你已经各种凌乱了,搞不清哪个主机时哪个主机了是不是这样子啊。过两天,又来了个新主机开始配置地址,配置完了你发现冲突,有人在用,再配置,冲突,有人在用。怎么办,空闲的到底是谁也不知道了,所以就非常非常困难,因此bootp协议能够分配地址,但是过两天我们说过这个主机走了,他压根从此以后不来了, 这个地址分配给他以后再也不能分配给其它主机使用了,是不是永远处于浪费状态啊,所以说,bootp已经不能再应付这种现状了,于是有了bootp的增强版就是DHCP

DHCP引进了bootp所没有的一个概念叫做“租约”(lease),这个地址我们给你以后你可以用但是不是永久使用,而是只有70年产权,能明白这意思吧。而是只有有限的使用期限,看上去是永久属于你的是吧,但不是的,那因此当你一关机怎么办呢,当这个主机一关机这个地址就会被释放掉,这个地址平时可以分配给你使用,但一旦你一关机这个地址就释放就从新把他放到可用地址列表中,其它主机启动需要地址我这个地址就可以分配给其它主机使用了,所以就像租房子一样,你租进来可以使用一段时间,你退了,那房子我照样还能租给其它房客,这就叫租约,DHCP的概念他真正实现了动态,需要就分配,不需要就回收,ok。好那现在就有个问题了,我们租给他之后我们实现约定好你这里只能使用一年对吧,这个房子只租给你一年,但一年以后你继续想使用怎么办,我们是不是可以续租啊,什么时候去续租呢。房子今天就到期了你今天才去续租你看人家要不要租给你,我们显然不能到期了再去续租的,现实生活中也是这么回事,那什么时候去续租啊,提前,提前多久,那可能不同的房东有不同的要求对吧,那一般而言,对于DHCP来讲,他的续租时间都要求得比较相当靠前,一般当你的租期到达一半得时候你就要绝对是不是要续租了,比如说这个ip地址给你使用两个小时,那因此当你得时间走过1个小时得时候就开始向服务器发起续租请求,一续租不当紧,这一个小时变成多少了,不会是三个小时,是两个小时,注意我们的最长的租约期限,比如说我定义就是两个小时,默认就给你两个小时,到一个小时我们就续租,现在我们又延长到2个小时,但是我们刚才说过过一半还要再续租是这样子吧,那于是再走过一小时,再次续租,续租以后呢又变成两个小时,他是这样子的一种循环做法懂了吧
2H,1H -> 2H -> 1H -> 2H

是不是一次续租延长了多少啊,是不是只延长了一个小时,ok一次只延长了一半的时间,好了假如说你租的房子本来我们约定好的是一年是吧,但是房东说了你要打算续租要提前半年给我说,好了半年期限到了你去找房东,电话打不通人也找不到怎么办,你说这房子就不租了吗,不合适是吧,那房东联系不上不是我的事对不对,我已经去续租了那怎么办,那自己就继续往下住下去对不对,我去敲房东的门各种方式都想办法了,我找一次再找一次再找一次重试了好几次都联系不上房东那没办法,我继续住吧,那继续住住多长时间呢,剩下一半时间还有多少一个小时是不是,剩下一半的再一半,刚才说过按道理来讲哦我们只有一个小时了对不对,又过了一半到0.5小时的时候再去找房东,续租,这儿一找房东在了直接续租为多少?两个小时,OK这就搞定了
1H -> 0.5H -> 2H

要是房东还是不在呢,你还是找不着怎么办,那这个时候我们只剩下0.5个小时了对吧,那继续等,我们找不着房东要多试几次的,任然联系不上那就再走一半,那就是0.25小时,还剩0.25个小时,那继续找房东还是找不到怎么办,在找不着那房租可就要到期了那怎么办呢,那假如说明天你的房子就到期了房东突然出现了告诉你我不租了,你说怎么办,你是不是就完全陷入被动的境况了,临时找房子可能来不及,那没办法你找不着就换房呗。我不能到时候完全被动,反正我找你找不着我们就认为合同终止了可以这样理解吧,比方说我找了你三次,0.5是不是找了三次了,大不了我再找你一次到0.125,0.125的时候我们找了你四次,那还找不着那没办法,干什么啊,这房子我也不租了剩下的钱我也不要了自己找个新的搬出去得了。这就是DHCP的做法。的确如此,这也的确是DHCP的做法,当到达最后一个时间段任然找不到的时候,我们也不要了干脆释放得了,从新开始找新的房东,谁能提供给我新地址得,再去重新去找。
0.5H -> 0.25H -> 0.15H

但你有没有想象过我们平时找房子怎么找的?你知不知道谁家有空房可以租给你啊,不知道,那就一家一家得去找对吧,这个方式叫广播得对不对,ok这就是广播的,一家一家挨个去找,好了假如说你找了三家人家都有空房子给你,你说你到底租哪一个呢,你不可能一人租三个对吧,这也不现实,资源浪费对不对,租哪一个呢,那谁加的条件好又便宜,我们是不是就应该租谁的,那DHCP来讲他应该接受谁的呢,那一般来讲我有两个服务器都可以提供地址,那你说到底接谁的呢。前端时间看一个生物学的书说杜鹃鸟在接受求偶的时候一般来讲哪个公鸟带过来的虫子大,带个虫子过来求偶,他就跟谁,是吧这就是谁有钱就跟谁,当然了为什么要选择有钱的,因为跟有钱的人我们存活的几率比较大所以这是人的生物本性。跟道德没有关系,所以你要是不挣钱的话那就意味着你没有办法满足别人的生物本性,你连别人养活都养活不好,你就泵怪别人爱钱。ok啊开个玩笑,事实上的确是如此的,好吧开玩笑,好由此可见,我们DHCP服务器跟人一样应该选择生存能力比较强的跟着谁将来过得比较好的这才是最重要的,这是第一个条件,因此DHCP客户端应该选择谁呢,谁响应的速度快我们就认为服务器离我们最近,他中间的带宽我们将来续租的时候也方便,那因此一般他接受第一个响应的。好了这就是我们DHCP的基本工作过程

原文地址:https://blog.51cto.com/14224061/2360864

时间: 2024-10-10 19:11:00

DHCP基本工作过程的相关文章

DHCP工作过程的六个主要步骤

对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解. DHCP分为两个部分:一个是服务器端,另一个是客户端. 所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP请求:而客户端则会使用从服务器分配下来的IP地址. 1. DHCP服务器IP分配方式 DHCP服务器提供三种IP分配方式: 自动分配(Automatic Allocation)自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址. 动态分配(Dy

DHCP、DHCP Snooping及DHCP relay工作原理入门及实践

序:DHCP服务相对简单,写本文的目的是为了讲一些DHCP安全方面的技术. 1.DHCP基础 DHCP 全称动态主机配置协议(Dynamic Host Configuration Protocol),用于给终端设备如PC.IPad.手机等自动分配IP地址.工作过程简洁高效,易于掌握,首先借着一张图介绍DHCP基本的工作原理: 从图上可以清晰看出,客户端通过DHCP协议获取IP地址等信息的过程可以分为四个步骤: 1.1发现阶段,即DHCP客户端发现DHCP服务器的阶段. DHCP客户端发送DHCP

MapReduce程序的工作过程

还记得2.5年前就搭建好了Hadoop伪分布式集群,安装好Eclipse后运行成功了WordCount.java,然后学习Hadoop的步伐就变得很慢了,相信有很多小伙伴和我一样.自己对MR程序(特指Hadoop 1.x版本)的工作过程一直都不是很清楚,现在重点总结一下,为MR编程打好基础.由于MapReduce是基于HDFS的操作,因此要想深入理解MapReduce(解决的是分布式计算问题),首先得深入理解HDFS(解决的是分布式存储问题). 一. HDFS框架组成 HDFS采用master/

交换机的功能及工作过程

一.交换机概述: 交换机是一种工作在二层的设备,但是随着技术的不断进步,现在已经出现了诸如三层交换机,多层交换机产品.在本篇中讨论的是二层交换机的一些特性. 二.交换机的功能: 1.    地址学习 有些地方也叫做基于源MAC地址学习,这个功能主要就是学习和存储MAC地址. 2.    帧的转发/过滤 数据帧的转发主要是交换机能够根据MAC地址表来转发数据,过滤则是对一些受限制的数据进行阻止或丢弃. 3.    环路避免 由于交换机的某些特性会带来一些问题,比如形成环路,因此为了保证网络上数据的

测试或运维工作过程中最常用的几个linux命令?

大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需要cd到某个目录cat下某个文件.可能我们不需要精通linux,但是基础操作了解对大家的工作还是蛮有帮助的.今天TestYao就介绍几个常用的linux命令给大家认识: 1.ls命令 ls命令是列出目录内容(List Directory Contents)的意思,运行它就是列出文件夹里的内容,可能是文

servlet的作用和工作过程

servlet的作用: servlet能够使服务器根据运行时的情况动态生成web页面. 工作过程: 1 客户端向服务器端发送请求 2 服务器端将请求信息发送给Servlet 3 Servlet根据请求进行响应,产生响应的HTML语句,并将这些语句传回服务器 4 服务器将响应内容返回给客户端 Servlet内部采用线程的方式可以同时为多个请求服务,这是比CGI工作效率高的因素 Servlet完全运行在Java虚拟机上,所以同样具有平台无关性 Servlet是web容器的组件,所以要在web.xml

Nginx reopen reload作用及工作过程

http://www.iigrowing.cn/nginx-reopen-reload-zuo-yong-ji-gong-zuo-guo-cheng.html Nginx reopen reload作用及工作过程 2012-12-05  categories:nginx  author:sch 原创文章,转载请指明出处并保留原文url地址 一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Ngin

煤泥烘干机工作过程中一些不足的问题

如今商场上的煤泥烘干机可以说现已达到了一个很高端的水平,可是经过查询发现仍旧有不少的疑问存在.商场上等待着各大机械设置配备铺排厂家研讨新的计划,来处理当时煤泥烘干机作业进程中一些缺少的疑问. 1.煤泥单调处置赏罚进程也存在疑问,易发作臭气,需求除尘脱臭处置赏罚,能耗或处置赏罚费用大,单调污泥的商场需求量动摇大,缺少销路,存在可燃性粉尘爆破的安全危险和设备严重磨损等技术疑问,煤泥单调处置赏罚本钱高; 2.热源地腐蚀性:有些技术直接将燃煤焚烧的烟气引进煤泥烘干机设置配备铺排,由于国内燃煤中普遍富含少

开发人员怎样减轻工作过程中遇到的压力

1.经常锻炼身体 身体是革命的本钱,如果身体不好,会影响工作的效率,即使你能力再强,如果身体不好,时不时的出现身体不舒服的问题,对工作效率也是会有影响的,所以经常锻炼身体显得特别重要. 运动时,不仅能分散注意力.忘掉不快,还能促进大脑分泌多巴胺.内腓肽等物质,它们是人体的“快乐因子”,有助于缓解不适.产生愉悦的情绪反应. 心情烦闷时,无论跑步或快步行走,只要出出汗,压力也会随着汗水,“溜”出你的身体. 另外要养成早睡早起的习惯,晚上11点以前睡觉比较好,再晚也尽量不要晚于12点,睡觉越晚,会越影