00:00
大家好,欢迎大家继续收看上硅谷的Linux云计算视频,我是刘川老师。那我们上节课呢,讲了一下关于我们的DCP的这个介绍,那以及DCP的工作原理的一个简单介绍,那我们再用那个例子呀来简单把。DCP的四部曲啊,来回顾一下,那来回顾一下。注意啊,DCP的这个租约四部曲是一个重要的过程,我们只有彻底的理解了这个过程之后,我们才知道DCP一个工作啊。那我们还是用那个关于呃。求职者。和招聘者之间的关系来说,这个事儿OK。假设有一个求职者啊,特别着急的这个找到一份工作,然后呢,去呃,拿到一个这样的一个收入来维持自己的一个生活,那这个时候呢,求职者就会在自己的行业范围内去啊。发简历啊,去参与面试啊,去参与面试,那这个时候呢,这个过程就相当于我们DCP服务器的discover过程。
01:06
其实discover过程就是。IP请求过程啊。IP过程。这个过程呢,他在向外发送请求的时候,会有很多的公司,比如说招聘者收到对应的这个请求,然后这个公司呢,会招他过来进行面试,以及呃是决定是否要录用他。那假设说这个时候啊,有很多的公司也在进行面试之后,发现这个人是可以入,就是以招我来使用的,那公司会给这个求职者发什么呀,发一个。入职的请求offer。也就是说,入职。入职的这么一个回复,那入职的回复我们称之为叫offer,那我们。服务器上呢,给客户端回应呢,叫DCP。那这个offer包呢,就是一个让客户端来这儿进行入职啊。或者说这个工作的这么一个凭证啊,这么一个凭证,那对于服务器而言呢,就给他发一个。
02:04
可用的IP地址,你不是请用IP地址吗?我给你一个可用的IP地址。那这个时候呢,我们的客户端呢,接收到对应的这个。公司发回来的offer之后呢,注意它会有一个选择。有个选择。怎么选呢?哪个公司给他回复的最快,他就选择哪一个,当然啊,真正的生产黄金中不可能这样的,不可能说有一个公司给你发了一个offer,说对吧,让你去工作,你就去了,为啥工资贼低,你你肯定是不去的,那对于我们DCP当中啊,这个地方是这样的,那客户端呢,在接收到第一个offer之后,就会直接给第一个给他发offer的服务器发确认信息,然后发确认信息,那为什么有人说会选择第一个呢?很简单。DCP客户端啊,它进行判断的一个和采纳的一个依据就是谁给我回的最快,就证明哪一个服务器距离我,或者说和我之间的网络呃,状况更良好一些,更近一些。
03:07
那方便呢,后期进行一个呃,租期的一个续租等等一些信息。判断这是它的一个,呃,判断依据啊,判断依据当客户端收到offer之后,要给服务器回。然后告诉服务器,好嘞,你给我分的这个IP我要用了,你不要再把这个IP再给别人了,那服务器在收到这个客户端确认要用的信息之后,服务器还会再给客户端回一个什么呢?回一个确认信息。说OK,那这个IP就给你用了,当然还有可能会出现第二种情况,那是什么情况呢?那就是可能在客户端给服务器回的这个期间,这个IP再次被。分配给了另外一个机器,而另外一个机器已经用上了,那这个时候这个IP就不再。就不可能再给这个客户机用了,所以说这时候出现一种情况,客户机在给服务器发确认信息时。
04:01
这个确认信息里的IP地址已经被别人占用了,那这个IP就没法使用了,服务器就没法和你签订这个什么。租息合同就相当于什么?由公司给你发offer了。你呢?给公司说好来,我要去你那儿入职,但是人家公司说啊,对不起啊,我这儿来了个比你更厉害的人,比你更适合这份钢。这个岗位的人,那你就没法正常入职了,而这个时候公司给你回复的信息就叫nak,我们也称之为叫。A。就是什么拒绝啊这种。信呃,资源租给你的这种一种模式,这么一种模式。那也有可能会和你建立对应的一个租约,也有可能不会和你建立的这个租约。那如果说服务器不混凝线里作业怎么办呢?那客户端只能再次从头。注意啊,是再次从头再发广播。啊,再服务器再给他回,再给服务器确认,服务器再给他说行不行,OK就。
05:03
那这个呢,就是我们关于呃,DCP租约四部曲的一个大体过程,那我们下边拆分着来把DCP的这个租约四部曲啊详细的看一下。首先看一下第一个步骤叫DCP的客户端的。IP请求。啊,IP大家都知道啊,呃,我们呢,这个。手里的这种。什么个人电脑也好啊,还是这种手机也好,还是服务器也好啊,在刚买回来的时候,很多时候你会发现里边是没有一个操作系统的,那大手机一般都有啊,服务器和电脑都不一定有。那没有操作系统的时候呢?这个时候你会发现我们需要给这个服务器和电脑装操作系统。如果是个人电脑装搜,我们可能会拿一个U盘啊,光盘来装,但对于服务器而言,我们可能就要对吧,使用更高级的安装,或者为什么服务器数量比较多,一个一个装很浪费时间,我们须要来给它批量安装,那这个时候呢,想着给这些机器批量安装,就必须满足一个前提条件,那就是必须得有一个网络地址作为支持才行。
06:07
那这个时候呢,我们服务器没有IP地址的时候,它会怎么工作呢?OK。当一台服务器启动之后,如果它没有对应的。他会先把四个零作为的IP作为自己的IP地址。但是四个零不能通信,所以说这个时候他就很渴望自己能有一个合法的IP地址。很渴望自己能有个合法那。想获取到合法IP地址的途径只有一个,那就是什么?找DCP服务器来给它分一个。给他分一个。但是有个问题。由于这个主机第一次开机,由于他没有什么自己的IP地址,他没有和别人正常通过信,所以他不知道。IP。他想找别人问啊,找别人问。要一个IP地址,它只有一种办法,慢喊。
07:00
所得喊就是广播啊,就是广播,他会站在人群中,比如说在局域网里边进行广播。广播什么呀?你们谁是DCP服务器?你们谁是JCP服务器,谁能给我分配一个IP地址用啊,我这缺一个IP地址。这就是广播的地址,呃,广播的内容,我们来看一下具体过程。客户机使用四个零作为原地址。使用四杠255作用目标地址这个。不用解释了吧,四杠二五代表任意IP地址啊,局域网内所能够啊工作的任意地址。使用UDP67端口作为目标端口。来请求IP。他给他所能。这个广播道的任何一个机器区发送这种啊。广播请求,那这个广播的数据包叫什么?叫DC discover?Discover。那这个请求的这个信息,比如说这个discover里面包含什么呢?首先第一句话叫你们谁是服务器,谁能给我分个IP地址。
08:04
第二句话就是我是谁谁谁,怎么来告诉夫妻我是谁啊?首先要把自己的麦克地址和计算机名。告诉服务器。以便让服务器后期。给我分配IP地址时有一个依据,否则你光说,哎,那个谁能给我IP地址,你也不告诉人你是谁对吧?奥嗓们喊出去了,别人也找不着你,那肯定是没有用的,所以这个地方要注意。当客户端向局域网里广播要IP时,一定要告诉所有人你是谁,有人说了这个时候这个DCP,呃,客户机向局域网里广播,那假如说局域网里没有。那就没有DCP服务器怎么办呢?这个时候如果局域网内没有DCP服务器,就会出现一个情况,什么情况。客户端获取不到IP地址。客户端会VI获取VIP地址啊,那获取不到,它就会一直去获取啊,它就会一直获取,那么下边呢,有一个专门来讲一下,如果局域网里没有的话怎么办?那现在我们说一下,如果局域网里有。
09:07
到话怎么办?那局域网里有肯定会有一个服务器的,回那问你局域网里有的话,这个客户端发的时候那些不是DCP服务器的。呃,机器怎么办?比如说我这个整个局域网里有100台机器,有一个人需要IP地址,他给这剩下的99台都广播了。那局域网那剩下的99台里边有一台是DCP服务器,那么你这个数据包有几个人接收呢?只有那个使DCP服务器才接收,也就是说只有DCP服务器才会接收d cp discover。那些不是DCP服务器的人,他不会接受,为什么?因为那些不是DP服务器的人压根就没有UDP67端口。那没有UUB67他怎么来接受啊,所以说啊,这个你放心。虽然是广播,但并不是所有的人都会收到。只有有67UDP 67端口才会收到,也就说只有DCP服务器才会收到,所以这个地方。
10:03
不会造成对吧,其他主机一个影响啊,造成一个影响。OK,那这是我们的一个DCP客户端去请求FD的一个过程,那么再来看第二个过程,叫DCP服务器响应请求,响应请求。那DP服务器在接收到客户机的请求之后,会来响应,然会来响应,也就是说会给客户端发offer啊。那这个时候呢,首先第一个步骤就是DCP服务器在接收到选之后啊,会先从自己的IP地址池,OK,第一个概念IP地址时。所谓IP地址,实就是DJCP服务器在创建过程中,会把一些合法的、可用的IP地址放到一个自己声明的一个资源池当中,当有人来请求IP地址时,就从资源池里边取啊。然后呢,给对应的客户端使用,注意这个地址池当中的IP地址一定是合法的。并且是可用的。
11:01
并且是可用的才行。OK。那当有。客户机接收到请,呃,这个发送请求到服务器上之后,服务器第一件事就是从自己的资源池里边去找一个合法的IP干嘛呀,第一件事先做标记。这个我这个IP地址已经预分配给一个麦克地址是什么什么什么的一个客户。机了,这个主机想要,我要分配给他。然后呢,并且把这个IP地址加入到offer包当中,那对应的这个服务器会给客户端回offer,这个offer包里边到底包含哪些信息,咱们来看一下。OK offer包当中包含的信息有DCP客户机的Mac地址。刚才麦克地址是什么什么的,这个机器。啊,向我发送了一个请求。我要把这个IP地址分配给Mac地址是这个的,你说为什么要这样?直接分不就完了吗?万一整个局域网里有十个人同时都请求呢?
12:03
那你回这个offer是回给谁了呀?对吧,肯定是回给指定一个人,那怎么指定,通过Mac地址来指定,所以说如果局域网里有多个请求者,则通过Mac地址来分配,对吧?或者来区分这个IP是给哪一个主机的,OK,然后呢,并且把要分配给对方的合法IP写上,并且把对应的自网掩码网关。等等都写上,还有什么租约等等信息。还有一个特别重要的就是。服务器会告诉客户自己是谁,自己在哪里。我就是那个DHCP服务器,我的IP地址是这个这个这个这个这个这个,我的Mac地址是这个这个这个。OK,就这样一个信息。那为什么要?把自己的服务器的IP地址和Mac地址告诉客户端呢,因为一会儿客户端要回要回给你。要回给你,回给你什么,回给你一个,我就要用你的,你不告诉他你是谁,他最终回给谁啊,他不知道回给谁,所以说这个地方啊,为了让客户端能顺利找到服务器,服务器要告诉客户端自己的地址。
13:05
注意,这个时候服务器在给客户端发这个offer,是怎么发的呢?是直接找到了这个吗?不是的,你说有Mac地址还直接找不到吗?当然找不到。根据我们网络传输当中的一个OSI7层模型来想象。我们的数据传输是从最顶层的应用层到最底层的物理层的。然后呢,再从物理层再回到应用层,这才算传输完成,那我问你。中间少了一层数据包,能穿过去吗?就穿不过去,那怎么办?那服务器怎么给客户端发呢?OK,是这样的。客户端请求。服务器回。回的时候。由于。客户端没有IP地址。服务器只能向整个网络内广播。啊,只能向整个网络内广播。但是。这个时候,并不是所有人都收。
14:02
这个offer包在广播出去之后呢,只有那些发送了。Discover包的客户机才会收,人家那些本身有IP没有发discover的时候不会收offer呀。要明白这个事啊,OK,那些没有发的不会offer,只有那个,只有那些发了。Discover请求的才会去收这个offer,但是所有发送的请求的也不是都收。还有一个问题就是什么呢?我们的服务器在向外发的时候,指名道姓的说了麦克地址是哪个的人才能收。对对,看这。是不是有客户机的麦克地址,所以说只有对应麦克地址是指定的这个人才会收这个offer。只有麦克地址是指定的,这个人才会收这个offer,虽然传是广播,就是虽然发是广播,但是收是只有唯一的目标地址接收。
15:01
好了,我们来看详细的过程。D、服务器使用自己的IP地址。这个没什么可说的吧,对吧。使用四个二五,所谓目标IP也没啥可说的,给所有人发,使用UDP68端口作为原则口,就是说我监听别人请求时,我是用67监听,但是我向外发,我是用自己的68向外发的。广播offer。OK,那这个就是关于我们。客户机和服务器之间的请求,以及服务器给客户机回复我们这个什么啊。租赁信息的这么一个,Offer信息的这么一个。我来简单总结一下。客户机发discover请求。给所有人都广播了。给所有人都广播了,但是只有开启了67端口的DP服务器才会接discover。那所有接收了啊。
16:00
Discover的服务器都会向这个客户机回复一份offer。但是客户端只会取。第一个收到的offer。啊,只会取第一个收到的offer。而且这个offer包里边包含的是服务器提供给他的IP地址。服务器的IP地址等等的一些资源信息等等。就是我们DCP。个租约四部曲当中的前两个步骤。咱们这节课就先讲到这儿。我们。足约四部曲的后两个内容,我们下节课再讲。下节课再见。
我来说两句