zoukankan      html  css  js  c++  java
  • 5.DHCP相关知识

    1.DHCP是什么?

    它是动态主机配置协议的简称,主要用于集中分配,管理地址池,为想上网的用户自动分配IP地址,子网掩码,网关,DNS,租期等信息。

    比如我们网络连接的属性里,有Internet协议的设置,里面若设置成自动获得IP地址,就相当于用DHCP自动分配的IP地址。

    2.DHCP原理:

    其流程可分为以下步骤:

    (1)客户机发送DHCP Discovery广播包,请求IP地址,此时会带上自己的MAC地址,表明自己的身份

    (2)服务器响应DHCP Offer广播包,DHCP服务器会从地址池中取出一个无人用的IP地址,放到Offer包中,由于此时可能有多个服务器响应,客户机不一定会使用此IP地址,所以Offer包中此时不提供子网掩码,网关等其他信息。

    (3)客户机发送DHCP Request广播包,此步相当于确认使用哪个IP(按协议是使用先收到的IP),并请求此IP地址相关的子网掩码,网关等信息。此时不被选择的服务器视系统不同,有的会做回复,告诉客户机此IP不再提供,有的则不会回复。而IP地址被选择的服务器就会进行下一步。

    (4)服务器发送DHCP ACK广播包,确认租约并提供子网掩码,网关等详细信息,并根据客户机的MAC地址做相应租约记录。

    (5)需要注意的是,在租期过了50%时,客户机会再次发送DHCP Request包,请求续约,若此时服务器无响应,则继续使用并在87.5%时再次发送DHCP Request包,若仍无响应,则释放IP地址并重新发送DHCP Discovery广播包来获取IP地址。若此时没有一台服务器有回应,则网卡会自己给自己分配一个IP地址(169.254开头,这是全球统一的无效地址,这样,虽然无法上网,但局域网内部之间还可以互相通信)

     

    注意,若有这种情况:租约未到期,客户机关机重启,此时发送DHCP Discovery广播包,会有什么现象呢?

    答案是此时会收到相应DHCP服务器的DHCP ACK广播包,这样客户机就不会再去发送DHCP Request广播包,直接使用之前的IP地址

    我们在家中上网时,也会被自动分配IP地址,这时的DHCP服务器其实就是路由器,厂家已经帮我们事先做好了。

    3.如何部署DHCP服务器:

    我们用一台WinXP虚拟机来充当客户机,再开一台Win2003充当服务器。

    先配置虚拟机网络连接方式,让它们位于同一局域网:

    我们先为Win2003装上DHCP服务:

      DHCP相关服务的安装包存放在系统安装光盘中,只是装系统时未自动安装,我们先为虚拟机挂载此Win2003安装时用的镜像:

    随后在系统中打开此光盘,选择"安装可选的Windows组件":

    双击网络服务组件,选中DHCP服务,点击确定并点下一步进行安装:

    注意,这里有的电脑会弹出提示:此计算机至少有一个动态分配的IP地址。对于可靠的动态主机配置协议(DHCP)操作,您应该仅使用静态IP地址。

    这是因为服务器的IP地址必须固定下来,我们可以通过手动配置IP地址解决:

    现在用我们在https://www.cnblogs.com/czw52460183/p/13371901.html学习的命令检测下本机当前开启的所有端口:

    可以看到67和68端口已经开启了,它们是此服务对应的端口号。

    随后开始创建地址池(作用域):

      现在在开始->管理工具中可以看到DHCP服务选项,点开它:

    在相应的服务器上右键->新建作用域:

    向导中的公司名称和描述随便填就行,随后要填入作用域要分配的地址范围,需要预留一些以备他用,比如我们选取10.1.1.21-10.1.1.250,需要的主机数不是很多,子网掩码长度用24位就行,即255.255.255.0:

    点击下一步后,可以添加要排除的IP地址,比如我们屏蔽掉10.1.1.222:

    随后需要设置租约持续时间,默认是8天,也可以修改,比如我们设置为1个小时:

    随后开始配置DHCP选项:

    随后设置网关地址,这个在公司里一般会有相应的网关,我们这里只是实验DHCP功能,网关就写自己的路由器地址,192.168.0.1吧:

    随后要设置DNS服务器,这里我们就用114.114.114.114:

    随后要填WINS服务器的IP地址,它是DNS服务器的上一代产品,现在已经不用了,直接下一步就好,随后点击确定,激活此作用域。

    此时在DHCP服务面板里可以看到我们创建的地址池:

    除此之外,在地址租约一栏可以看到作为客户机的XP已经从地址池获取了IP地址,10.1.1.21,唯一ID代表的是此WinXP的MAC地址:

    我们到WinXP客户机上看一下来验证:

    可以看到,MAC地址对上了,另外通过DHCP指派的地址也是10.1.1.21,也是正确的。

    此时即使把连接禁用再启用,IP地址依然是不变的,因为仍在租约时间内。

    好了,实验完成,继续记录两个重要的命令:

    ipconfig /release

    此条指令可以释放IP地址,用在XP客户机上:

    可以看到此时IP地址和子网掩码已经变成0.0.0.0了,此时租约也会主动解除,我们可以看到Win2003的服务器上已经无此租约了:

    若想重新获取租约,可以把网卡禁用再启用一下,也可以直接用以下命令:

    ipconfig /renew

    当此时未分配IP地址时,此命令会发送上文讲述的DHCP Discovery广播包,重新获取租约。

    当此时已经分配了IP地址时,此命令会发送上文讲述的DHCP Request包,获取详细信息,相当于是在续约了。

     

    考虑一种需求,假如某些客户机,需要某个固定的IP地址,但其使用场所又不固定,应该如何配置?

    答:因为使用场所不固定,因此若手动配置IP地址,换场所后会导致上不了网,因此应该使用自动获取IP地址,为保证每次自动获取的IP地址都相同,可以使用DHCP服务中的地址保留功能,在"保留"页签,右键->新建保留->输入要保留的IP地址及相应客户机的MAC地址:

     实验完毕

  • 相关阅读:
    带参的方法
    类的无参方法
    类和对象
    关于线程间的通信的几个解决事例
    一个简单的邮件发送
    关于process
    关于java的static语句块
    关于struts2拦截器获取页面参数
    hexo github pages 首页不展示,出现代码怎么办
    使用Hexo搭建个人博客(三)
  • 原文地址:https://www.cnblogs.com/czw52460183/p/13387997.html
Copyright © 2011-2022 走看看