登录  /  注册
首页 > 运维 > linux运维 > 正文

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

齐天大圣
发布: 2020-12-11 16:14:34
原创
2136人浏览过

我们知道,一台主机想要和其他主机进行通信,必须要有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

当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了。

以上就是详解DHCP协议——IP是怎么来的的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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