linux|IP地址荷官——DHCP(动态主机配置协议)简介


文章目录

  • IP地址荷官——DHCP(动态主机配置协议)
    • 前言
    • 一、什么是DHCP?
    • 二、DHCP的优势
    • 三、DHCP的配置原理
      • DHCP分配的三种模式
      • DHCP地址池
      • DHCP配置特殊应用场景
    • 四、DHCP工作原理
      • DHCP租约
      • 更新租约
      • 私有地址168.254.0.0/16
      • DHCP协议报文
        • 1.客户端请求IP地址(Discover)
        • 2.服务器响应(offer)
        • 3.客户机选择IP地址(request)
    • 小结

IP地址荷官——DHCP(动态主机配置协议) 前言 日常生活中,在我们上网的时候,都会需要一个IP地址,那这些IP地址是如何来的呢?目前我们知道的是静态IP地址和自动分配IP地址,那自动分配IP地址又是如何分配的呢?今天我们就来简单了解一下这位IP地址的荷官——DHCP动态主机配置协议。
一、什么是DHCP? DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议,使用UDP67和68端口。
DHCP的前身是BOOTP协议(BootstrapProtocol),BOOTP呗创建出来为链接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。(如果使用wireshark抓包过滤协议是使用bootp而不是dhcp)
DHCP是典型的C/S模式:在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括 IP地址、子网页码、默认网关地址、DNS服务器地址、广播地址),其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程。
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

二、DHCP的优势 由于上网时间的不确定性以及人员的技术水平不同,为每一位用户分配一个固定的IP地址,不仅造成了IP地址的浪费,也会为ISP服务商带来高额的维护成本,而使用DHCP服务则有以下好处:
1.减少管理员的工作量
2.避免输入错误的可能
3.避免IP地址的冲突
4.当网络更改IP地址段时,不需要再重新配置每个用户的IP地址
5.提高了IP地址的利用率
6.方便客户端的配置
DHCP服务避免了因手动设置IP地址所产生的的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。
三、DHCP的配置原理 DHCP分配的三种模式
1.手动配置——static:静态配置,例:防火墙,打印机,门禁
2.自动分配——DHCP:使用完后释放该IP,供其它客户机使用
3.指定主机MAC地址分配DHCP:分配到一个IP地址后永久使用
DHCP地址池
地址池指的是DHCP服务器可以为客户端分配的所有IP地址的集合。除IP地址外,地址池内还可以配置租期、子网掩码、默认网关等网络参数。在DHCP服务器为客户端分配IP地址时,这些网络参数也一并分配给客户端。主要分配以下入网参数:
①IP地址/子网掩码/广播地址
②默认网关地址、DNS服务器地址
③PXE引导设置(TETP服务器地址、引导文件名)
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

DHCP配置特殊应用场景
在某些环境中不一定只有一个DHCP,当client端比较多的时候,可能需要多台DHCP服务器来进行IP地址的分配或冗余,例如在公司环境中不同部门之间的子网
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

如上图,其中不同子网的IP地址优先选择离自己近的DHCP服务器获取IP地址。
四、DHCP工作原理 DHCP租约
我们的设备获取到DHCP分配的IP地址后,并不是可以永久使用此地址,而是有一个使用期限,这个期限就是DHCP的租约,但是我们在日常使用中可以发现,即使我们的设备联网时间超过这个租约时间还是可以正常联网的,而且IP并没有改变,这是怎么回事呢?
实际上我们的设备获取到IP地址后,就会同时获取到租约的时长,在经过租约的“1/2时长”和“7/8时长”的时候就会联系DHCP服务器申请延续租约,一旦申请成功那么租约期限就会延长,如果经过两次申请却没有回应的话,那么设备就需要重新获取IP地址,如果没有获取到新IP地址就有可能会有断网的情况。
由于路由器需要对所有连接的设备的地址进行管理,DHCP的租约就有利于清理掉那些不再使用的IP以分配给新设备,所以在公共场合的路由器就可以将租约设置得更短一些,以便更快得清理不再使用得IP,而在家庭使用的情况下由于连接设备相对固定,不需要频繁更新IP地址,可以将租约设置得更长一些。
更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。
客户机直接向提供租约的服务器发送DHCP request包,要求更新现有的地址租约。
私有地址168.254.0.0/16
为什么会获得169.254.0.0/16网段的地址?
一开始,DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCP DISCOVER广播包,请求租用IP地址。任何接收到DHCP DISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCP OFFER广播包,提供一个IP地址。但是,DHCP客户机在发出IP租用请求的DHCP DISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行1dows的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址。
DHCP协议报文
DHCP既然是动态主机配置协议,那相对应的协议就有报文,DHCP的报文如下图:
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

如图可以看出DHCP报文一共有四个步骤:
1.客户端请求IP地址(Discover) 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址,此时DHCP客户机以广播的方式发送DHCP Discover发现信息来寻找DHCP服务器。
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

2.服务器响应(offer) DHCP服务器接收到来自客户机请求IP地址分信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,则DHCP服务器将此IP地址坐上标记,加入到DHCP offer的消息中,然后广播一则DHCP offer消息。
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

3.客户机选择IP地址(request) DHCP客户机从接收到的第一个DHCP offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

4.确认租约和重新登陆(ACK/NAK)
【linux|IP地址荷官——DHCP(动态主机配置协议)简介】DHCP客户机每次重新登陆网络时,不需要再发送DHCP Discover信息,而是直接发送好汉前一次所分配的IP地址的DHCP request请求信息。
linux|IP地址荷官——DHCP(动态主机配置协议)简介
文章图片

小结 1.物理网卡自身集成了DHCP的功能为了请求获取合法可用的IP
次所分配的IP地址的DHCP request请求信息。
END

    推荐阅读