0

0

详解DHCP协议——IP是怎么来的

齐天大圣

齐天大圣

发布时间:2020-12-11 16:14:34

|

2816人浏览过

|

来源于php中文网

原创

我们知道,一台主机想要和其他主机进行通信,必须要有ip地址。那么,这个ip地址是怎么来的呢?和mac地址不同的是,当你买了台笔记本电脑时,mac地址就存储在网卡的只读存储器里,但ip地址是没有的。所以,ip地址需要靠你自己去设定。但自己配置需要了解ip地址的知识,需要配置ip地址、子网掩码以及网关地址等。所以,一般用户可能不会去配置ip。绝大部分情况下都是使用了动态主机配置协议dhcp去自动获取ip地址等信息。

DHCP的工作流程有四个步骤,分别是

  • DHCP discover:新主机发送广播包,说自己需要分配一个IP

  • DHCP offer:dhcp server收到了请求,发送一个广播包,告诉新主机被分配的ip等信息。

  • DHCP request:新主机收到dhcp server的消息,知道自己有了新ip。发送广播包,告诉dhcp server,自己知道了新分配的ip。

  • DHCP ack:广播一个消息包,告诉这个网络里的其他主机有新朋友加入了。

DHCP DISCOVE

当一台新主机(MAC地址是00:0b:82:01:fc:42)刚加入到一个网络时,这时候它是没有IP地址的,所以它需要去发送一个广播包,让这个网络的管理员DHCP SERVER收到数据包(dhcp server是专门用来分配ip及管理ip的)。广播包格式如下图

QQ截图20201211150550_01.jpg

这里补充一个知识点:255.255.255.255是一个特殊的ip地址,做广播用途。但它广播的范围是有限了,传播到了网关就会停止传播。

DHCP OFFER

Sora
Sora

Sora是OpenAI发布的一种文生视频AI大模型,可以根据文本指令创建现实和富有想象力的场景。

下载

当dhcp server收到Boot Request时,就知道有新来的主机需要分配IP了,这个时候dhcp server也发送一个广播包(因为新来的主机还没有分配到IP),里面的信息是分配给新来主机的IP、子网掩码、租期等信息。

QQ截图20201211155330_2.jpg

DHCP REQUEST

新主机收到了来自dhcp server的消息,知道了自己被分配到的IP,但这个时候,还不能用,必须要告诉dhcp server,我已经收到了ip地址。所以,还是需要发广播包告诉dhcp server。

QQ截图20201211160234_3.jpg

DHCP ACK

当dhcp server收到boot request消息后,会广播返回给客户机一个 DHCP ACK 消息包,表明已经接受客户机的选择,并将这一 IP 地址的合法租用信息和其他的配置信息都放入该广播包,发给客户机,欢迎它加入网络大家庭。

QQ截图20201211160816_4.jpg

至此,新主机有了自己的IP地址,之后发送数据包都会带上自己的IP了。

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

55

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号