目录

一、DHCP分配IP地址流程:

​第一步:DHCP Client请求IP——DHCP Client 以广播的方式发出DHCP Discover报文

第二步:DHCP server响应——DHCP Server向DHCP Client发送一个DHCP Offer报文

第三步:DHCP Client选择IP——DHCP Client 会发出一个广播的DHCP Request报文,在选项字段中会加入选中的 DHCP Server的IP地址和需要的IP地址。

第四步:DHCP server确认租约——DHCP Server向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。(正式下发IP)


一、DHCP分配IP地址流程:

  • DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给主机的68号端口。

第一步:DHCP Client请求IP——DHCP Client 以广播的方式发出DHCP Discover报文

sip:0.0.0.0 Smac:pc S:1024(随机产生大于等于1024) discover报文
dip:255.255.255.255 Dmac:12个F D:67
UDP头部
  • 当一个DHCP Client启动时,会自动把的IP地址配置成0.0.0.0。因为使用0.0.0.0不能进行正常通信,所以DHCP Client就必须通过DHCP server来获取一个合法的地址。
  • 因为客户机不知道DHCP  server的IP地址,所以它使用0.0.0.0的地址作为源地址,使用UDP 68 port作为源port,使用255.255.255.255作为目标地址,使用UDP 67 port作为目的port来广播请求IP地址信息。广播信息中包括了DHCP客户机的MAC地址和计算机名,以便使DHCPserver能确定是哪个客户机发送的请求。
  • 第一阶段为dhcp发现阶段,主要意思即为寻找局域网内的dhcp服务器

第二步:DHCP server响应——DHCP Server向DHCP Client发送一个DHCP Offer报文

sip:DHCP  server Smac:DHCP server S:1024(随机产生大于等于1024) offer报文
dip:255.255.255.255 Dmac:12个F D:68
UDP头部
  • 相当于分配IP地址,在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址,分配的DHCP offer报文中还包含了一些其他的字段,如dns地址,网关,掩码等
  • DHCP Offer报文中“Your(Client) IP Address”字段就是DHCP Server能够提供给DHCP Client使用的IP地址,且DHCP Server会将自己的IP地址放在“option”字段中以便DHCP Client区分不同的DHCP Server。DHCP Server在发出此报文后会存在一个已分配IP地址的纪录。

简单理解:

  • 实际上就是告诉DHCP client,我是DHCP  server,我现在有一个IP地址,及他的掩码、网关、DNS...,你能不能使用,可以的话就发送一个request请求
  • DHCP Client只能处理其中的一个DHCP Offer报文,一般的原则是DHCP Client处理最先收到的DHCP Offer报文。

第三步:DHCP Client选择IP——DHCP Client 会发出一个广播的DHCP Request报文,在选项字段中会加入选中的 DHCP Server的IP地址和需要的IP地址。

  • 相当于接受IP地址,DHCP客户端接受到DHCP offer提供信息之后,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容
  • DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文
  • 此过程中,smac、dmac、sip、dip、D、S,和 discover是相同的

第四步:DHCP server确认租约——DHCP Server向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。(正式下发IP)

  • DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。

关于最后一点有两种解释(并不冲突):

  • 1、DHCP Client只能处理其中的一个DHCP ACK报文,一般的原则是DHCP Client处理最先收到的DHCP ACK报文。(假如该局域网有多个dhcp服务器)
  • 2、DHCP是应用层协议,UDP是传输层协议,IP是网络层协议,以太网是链路层协议。数据在网络上传输的时候要自顶向下逐层封装的

更多:

(33条消息) DHCP详解_只有十分努力,才能看起来毫不费力-CSDN博客_dhcp

DHCP动态获取IP地址流程相关推荐

  1. 思科dhcp服务器动态获取ip地址

    项目要求: 某公司共有网管中心.行政部.技术部.三个部门,分别处在一栋大楼中的两个楼层,为了保证公司内部主机始终能够连接Internet,采用双向冗余设计,分别使用路由器R1与路由器R2连接中国电信和 ...

  2. 计算机自动获取IP地址流程详解

    计算机自动获取IP地址流程详解 你知道吗? 我们在日常生活中直接插上网线接口就可以直接上网,不需要拨号上网也不需要设置IP地址.那么我们在日常是怎么获得IP地址的呢? 这里就需要介绍一种服务是由Int ...

  3. DHCP客户端获取IP地址的过程

    dhclient -r eth0 ##清除一下ip dhclient eth0 ##使用dhcp自动获取ip ip a ##查看ip 补充相关命令行知识 DHCP租约过程就是DHCP客户机动态获取IP ...

  4. NetScaler通过DHCP服务器获取IP地址

    NetScaler通过DHCP服务器获取IP地址 DHCP 选项参考 https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp ...

  5. centos7安装dhcp服务器并由客户端动态获取IP地址

    主机架构: 角色 ip地址 网关 dhcp服务器 192.168.8.81 192.168.8.1 客户机1 动态获取 192.168.8.81 客户机2 192.168.8.99 192.168.8 ...

  6. DHCP自动获取ip地址

    文章目录 前言 一:DHCP概述 1.1:DHCP产生的背景: 1.2:DHCP应用场景: 1.3:DHCP报文类型: 1.4:DHCP工作原理: 二:实验环境 2.1: 华为ensp软件 2.2: ...

  7. DHCP自动获取IP地址的过程(自动获取ip地址的过程)

    我们电脑(或者W5500)在自动获取IP地址的过程(通过DHCP请求获取IP的过程),电脑是客户端,路由器是DHCP客户端. 1.DHCP的请求的总过程 1.1在 DHCP请求的过程中,包括 4 个主 ...

  8. 嵌入式linux通过DHCP自动获取IP地址实现

    http://blog.chinaunix.net/uid-17188120-id-2820863.html 前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通). ...

  9. linux ip命令dhcp,嵌入式linux通过DHCP自动获取IP地址实现获取

    前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通). 1.在内核中添加以下选项: Networking  ---> [*] Networking suppo ...

  10. Cisco:DHCP自动获取IP地址

    Cisco:DHCP实现自动获取IP地址 局域网网络协议,用于管理和分配IP地址,使用UDP协议工作,常用的端口是67(server),68(client) Cisco:DHCP实现自动获取IP地址 ...

最新文章

  1. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
  2. read-sequence的返回值
  3. vue-router 的重定向-redirect
  4. Andoird --- Json 经典异常:org.json.JSONException: Unterminated string at character
  5. GridView中列表的“双击事件”
  6. 74 param动作
  7. 广州市科目三电子路考--大观路通过经验
  8. java jdbc init_Java 的JDBC 数据库连接池实现方法
  9. asp.net文件上传进度条控件(破解版~没有时间限制) 多项自定义
  10. 程序员是如何一步一步被诈骗的?《原力计划-打卡挑战》第二周周榜揭晓
  11. 虚拟机+centOS挂载ISO步骤
  12. 驱动外置+原版安装方式『XLOS_Windows8_Pro_X86纯净版_V1.0』
  13. Shawn找到组织了!!!!!!!!
  14. XTT钠盐 XTT sodium salt/Resorufin (high purity) 还原酶底物
  15. win10微软图标点击无反应_双击电脑桌面图标没反应,win10双击图标没反应
  16. 路灯问题 (贪心算法)
  17. 数字逻辑设计基础(何建新)第三章
  18. 合并k个有序链表 python_Leetcode打卡 | No.23 合并 k 个有序链表
  19. ODBC驱动的官网下载地址
  20. 2023北京联合大学计算机考研信息汇总

热门文章

  1. USACO-Fractions to Decimals
  2. Android FileProvider详细解析和踩坑指南
  3. 初识JavaScript
  4. 浏览器被hao123劫持
  5. mysql的默认隔离等级_mysql 四种隔离级别
  6. 离了加多宝 第三季好声音将“变味”
  7. hp服务器修改阵列,HP ProLiant 服务器 修改磁盘阵列的方法
  8. 山东理工大学pta实验三四重点题目再现。
  9. 如何将arcgis中shape要素文件转为mapgis中点线面
  10. 最小圆覆盖问题 算法步骤与证明+代码模板