下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

DHCP的基本讲解

作者:课课家教育     来源: http://www.kokojia.com点击数:1824发布时间: 2019-02-24 09:06:50

标签: DHCP网络协议局域网

软考,您想通过吗?一次通过才是硬道理

  本章当中,我们来学习一下关于DHCP的基本知识,包括它的概念、原理、工作流程、功能等方面都会粗略地讲解一下,以便大家能够更好的去理解DHCP。

DHCP也就是动态主机配置协议,这是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

      DHCP的一些概念

  DHCP是一个典型的Client/Server模型的协议,使用UDP传输

  DHCP Server端,使用UDP端口:67

  DHCP Server可以在很多设备上部署,如Cisco、H3C、Juniper、WindowsLinux……都可以

  DHCP Client端,使用UDP端口:68

  客户端(主机、路由器、交换机、网络打印机、网络摄像头……都可以作为DHCP客户端)

  DHCP工作原理

      DHCP协议采用UDP作为传输协议,其工作原理如下图所示。

DHCP的基本讲解_DHCP_网络协议_局域网_课课家 

  DHCP的作用

  在局域网中,用户电脑都需要IP地址才使用网络服务,但是客户并不都会配置IP地址,这时,可以在网络中部署一个DHCP服务器,用来给这些客户主机动态的分配IP。

  所有DHCP的客户端,在向DHCP服务器租用到地址后,会在DHCP服务器端留下租用信息,网络管理员可以根据这些分配信息统一管理这些客户。

  也就是说,DHCP的主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

  DHCP的功能

  DHCP具有以下功能:

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。

  2. DHCP应当可以给用户分配永久固定的IP地址。

  3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。

  4. DHCP服务器应当向现有的BOOTP客户端提供服务。

  DHCP的基本工作流程

      DHCP的客户端如果把网卡的IP地址配置为动态获取IP的方式,就会发送DHCP请求,来寻找DHCP服务器申请地址;

 DHCP的方式自动获取IP

      DHCP的在客户端申请、服务器下发地址的过程中,一共会产生四个数据包,如下:

  DHCP的数据包

      根据这四个数据包来看,DHCP的工作流程如下图:

 DHCP的工作流程

  工作流程的详细解析

  1.DHCP客户端用来寻找DHCP服务器的方式是主动发起DHCP Discover包,其中:

  源MAC是自己的MAC地址,目的MAC是FFFF.FFFF.FFFF的广播

  0.0.0.0是源IP(现在还没有IP,就用全0地址),目的IP是255.255.255.255的三层广播

  由于目前还不清楚DHCP服务器在哪里,因此便使用广播来寻找,广播会泛洪到整个网段中;

  2.DHCP服务器在收到客户端发的DHCP Discover之后,会在自己的地址池中拿出一个没有分配的地址以及配套的参数(如:掩码、DNS、网关、域名、租期……),然后以一个DHCP Offer包发送出去。

  这个DHCP Offer数据包的地址如下:

  源MAC是DHCP服务器的MAC,目的MAC是FFFF.FFFF.FFFF的广播

  源IP是DHCP服务器的IP,目的IP是255.255.255.255的广播

  这个时候客户端还没有获得IP,DHCP服务器端现在还无法定位客户端,所以用广播来回应。

  3.客户端收到这个DHCP Offer后,会再发出一个DHCP Request给服务器来申请这个Offer中包含的地址。

  这个时候,客户端还没有正式拿到地址,所以还需要向DHCP服务器申请。

  这时客户端的源IP还是0.0.0.0,目的IP还是255.255.255.255

  源MAC是客户端的MAC,目的MAC是FFFF.FFFF.FFFF广播包

  4.服务器收到客户端的请求后,会发出一个DHCP ACK用来确认这个IP地址可以分配给这个客户端。

  客户端收到第四个DHCP ACK数据包才算正式拿到了这个IP。

  DHCP报文

      DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP报文的格式如下图所示。

 DHCP报文格式

  DHCP报文类型

  1.DHCP Discover

  DHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是发现网络中的DHCP服务器,所有收到Discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

  2.DHCP Offer

  DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给用户,告知用户本服务器可以为其提供IP地址。(只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复)

  3.DHCP Request

  DHCP客户端可能会收到很多Offer,所以必须在这些回应中选择一个。Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器,并回应一个广播Request报文,通告选择的服务器。DHCP客户端成功获取IP地址后,在地址使用租期过去1/2时,会向DHCP服务器发送单播Request报文续延租期,如果没有收到DHCP ACK报文,在租期过去3/4时,发送广播Request报文续延租期。

  4.DHCP ACK

  DHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK报文作为回应,通知用户可以使用分配的IP地址。

  5.DHCP NAK

  如果DHCP服务器收到Request报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则发送NAK报文作为回应,通知用户无法分配合适的IP地址。

  6.DHCP Release

  当用户不再需要使用分配IP地址时,就会主动向DHCP服务器发送Release报文,告知服务器用户不再需要分配IP地址,DHCP服务器会释放被绑定的租约。

  7.DHCP Decline

  DHCP客户端收到DHCP服务器回应的ACK报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送Decline报文,通知服务器所分配的IP地址不可用。

  8.DHCP Inform

  DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则发送Inform报文向服务器进行请求,服务器收到该报文后,将根据租约进行查找,找到相应的配置信息后,发送ACK报文回应DHCP客户端。(极少用到)

  DHCP通常被应用在大型的局域网络环境中,在局域网里有着重要的意义,根据以上的知识点想必大家也都清楚。好了,本章内容就讲到这里了,相信大家通过仔细阅读上文后会对DHCP了解更深更透彻了。如果大家还有什么不了解的可以给小编留言哟。

赞(19)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程