首页 >运维 >linux运维 > 正文

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

原创2020-12-14 08:57:110554
我们知道,一台主机想要和其他主机进行通信,必须要有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中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:DHCP
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • php mysql实战:学生信息管理系统(玉女心经版)php mysql实战:学生信息管理系统(玉女心经版)
  • PHP面向对象编程(玉女心经版)PHP面向对象编程(玉女心经版)
  • 小白拯救者:  PHP7基础语法快速预览小白拯救者: PHP7基础语法快速预览
  • Mac PHP开发工具与环境搭建Mac PHP开发工具与环境搭建
  • 《基于Swoole偷看MySQL与PHP的通信过程》《基于Swoole偷看MySQL与PHP的通信过程》
  • 视频教程分类