前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DHCP地址分配流程简述

DHCP地址分配流程简述

原创
作者头像
老狼码农
发布2018-07-16 20:09:35
2.1K0
发布2018-07-16 20:09:35
举报

dhcp是什么

学技术的,经常会被问到,xxx是什么?我们经常会回答,xxx不就是那啥啥啥嘛,嗯..

dhcp是什么?全称Dynamic Host Configuration Protocol,动态主机配置协议,主要用于在一个局域网内为主机动态分配ip。通常情况下,网络服务提供商可以使用dhcp的服务给客户动态的分配IP地址,网络管理员也可以使用dhcp服务来控制和管理ip地址的分配。

dhcp服务的开启方式有几个依赖条件:

  • dhcp客户端(也即我们待获取ip的服务器)开启dhcp获取ip的配置(例如ifcfg-eth0的配置中,BOOTPROTO设为dhcp)
  • dhcp服务器,开启dhcp服务即可,service start dhcp(dhcp服务有独立的安装包)

dhcp流程具体是怎样的

dhcp实际的ip分配过程是如何呢,这个分配流程相对是比较清晰的,主要流程分为以下几步:

  1. dhcp客户端开机后,以广播的方式发送dhcp discover包
  2. 广播域范围内的dhcp服务器都会收到dhcp client的dhcp discover包,收到后,dhcp服务器会响应一个dhcp offer报文,该报文主要包含两项信息:dhcp svr本身的IP地址以及分配给客户端的IP地址
  3. 如果广播域内有多个dhcp服务器,那么dhcp客户端便会收到多个dhcp offer报文,客户端只会处理一个dhcp offer报文,一般情况下,处理第一个接收到的包。此时,客户端会广播一个dhcp request报文(对,仍然而且必须是广播),该报文中最重要的信息是dhcp svr的IP地址。
  4. 相应的,广播域范围内的所有dhcp服务器都会收到dhcp request包,此时检查收到的包里的IP地址和自身的IP地址是否一致,如果不一致,那么清除掉第二步分配的IP地址即可,如果一致,那么回应客户端一个dhcp ack的包
  5. 客户端收到dhcp ack包后,检查该IP地址是否可以使用。如果不可以使用,则需要给dhcp服务器发送一个dhcp DECLINE包,告知dhcp服务器该IP地址需要禁用,然后重新发起IP地址申请(从第1步开始);如果可以使用,那么使用该IP地址并且根据租期续期就可以了。

后续IP地址租期快到时(一般到租期的50%和87.5%时,便会发起续租),dhcp客户端会发起续租的过程,其实过程很简单:

  1. 客户端发起dhcp request请求到dhcp服务器
  2. dhcp服务器收到dhcp request包后,会回应一个dhcp ack的包(也可以不回应),并带上最新的租期时间
  3. 客户端如果收到了dhcp服务器的ack响应,更新最新的租期时间。如果没有收到dhcp服务器的续期ack包,按照旧的租期时间继续使用改IP地址。
  4. 当IP地址的租期到期时,dhcp的客户端通过使用dhcp release的包来释放自己的ip地址,然后重新发起dhcp的ip地址申请过程。

流程中提到了很多次广播域,那如果两个广播域希望使用一套dhcp服务的时候应该怎么办,dhcp有一个relay服务,可以配置dhcp relay的方式将dhcp请求从一个广播域中继至广播域之外的dhcp svr,通常交换机上有dhcp relay的配置选项。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • dhcp是什么
  • dhcp流程具体是怎样的
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档