DHCP协议工作流程

DHCP协议工作流程一个全新主机的请求一次DHCP服务的过程主要包含以下四个步骤第一步:客户机操作系统生成一个DHCPdiscover发现报文,被放置在一个具有广播IP目的地址(255.255.255.255)和源IP地址为0.0.0.0的IP数据报中(网络层),发送到以太网,试图找到网络中DHCP服务器以获取一个IP地址。这一步可以简化为DHCPdiscover,源IP:0.0.0.0,目的IP:255.255.255.255,表示客户机说我需要一个IP,DHCP你在哪,能不能分我一个?第二步:当运行在路

大家好,又见面了,我是你们的朋友全栈君。

一个全新主机的请求一次DHCP服务的过程主要包含以下四个步骤

第一步:
客户机操作系统生成一个DHCP discover发现报文,被放置在一个具有广播IP目的地址(255.255.255.255)和源IP地址为0.0.0.0的IP数据报中(网络层),发送到以太网,试图找到网络中DHCP服务器以获取一个IP地址。
这一步可以简化为DHCP discover,源IP:0.0.0.0,目的IP:255.255.255.255,表示客户机说我需要一个IP,DHCP你在哪,能不能分我一个?

第二步:
当运行在路由器中的DHCP服务器(通常)接收到DHCP discover报文,就回复给客户机一个DHCP offer供给报文,包含一些参数配置信息,按照上述封装反顺序封装,此时的源IP为DHCP服务器的地址,目的地址仍旧是255.255.255.255,因为此时IP还没分配到客户机。
这一步简化为DHCP offer,源IP:DHCP服务器IP地址,目的ip:255.255.255.255,表示DHCP服务器说我在这,可以给你一个,你按照我说的配置一下先。

第三步:
客户机收到DHCP offer后,看了DHCP服务器所说的配置信息,表示接受,就发送一个DHCP request请求报文,源IP地址为0.0.0.0,目的IP地址为255.255.255.255,表示客户机说好的我接受这些配置,你把IP给我吧。

第四步:
DHCP服务器收到request报文后,就将分配的IP地址封装进DHCP ack确认报文,使用源IP地址:DHCP服务器IP,目的IP:255.255.255.255发送出去,客户机接收到这个信息就算完成了IP地址的获取。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142534.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • orange软件使用[通俗易懂]

    orange做数据分析契机实验手册目录orange软件部分界面展示小试牛刀:数据导入和展示小试牛刀:散点图绘制总结契机今天在上大数据时代实验课,作为一名软件工程专业的大三学生,在上这节公选课之前就决定这节课做完这个学期所有的实验报告,可以说“有亿点”不屑;尤其当老师说Python很麻烦的时候,我更是震惊了,因为我接触过这么多编程语言,Python真的很友好了,很傻瓜,但是当老师打开实验手册的时候,我真香了!!!下面先来看看手册的目录:实验手册目录为什么会真香呢,因为目录里这些有好多机器学习算法!

    2022年4月4日
    677
  • http://95u.free.fr/index.php,Electronic Software Distribution Service

    http://95u.free.fr/index.php,Electronic Software Distribution ServiceContent-Type:multipart/related;start=;boundary=———-OH5LlQ9dynBJGqR8E2AiMRContent-Location:https://software.pitt.edu/software/software.aspSubject:=?utf-8?Q?Electronic=20Software=20Distributi…

    2022年7月24日
    11
  • vue 带参数跳转_vue跳转页面的几种方法

    vue 带参数跳转_vue跳转页面的几种方法vue2.0在使用的过程中,.vue文件之间的跳转,在template中的常见写法是:<router-linkto="/miniCard/statement/horizon"><buttonclass="btnbtn-defaultcolorDe">继续</button>&l

    2025年7月15日
    5
  • python unittest接口自动化测试实战_pytest测试框架从入门到精通

    python unittest接口自动化测试实战_pytest测试框架从入门到精通一、unittest工作原理unittest最核心的四部分是:TestCase,TestSuite,TestRunner,TestFixtureTestCase:用户自定义的测试case的基类,调用run()方法,会依次调用setUp方法、执行用例的方法、tearDown方法。TestSuite:测试用例集合,可以通过addTest()方法手动增加TestCase,也可以通过Test…

    2022年10月14日
    4
  • 并行编程中的lock free技术

    并行编程中的lock free技术lockfree(中文一般叫“无锁”,一般指的都是基于CAS指令的无锁技术)是利用处理器的一些特殊的原子指令来避免传统并行设计中对锁(lock)的使用。众所周知,锁在解决并行过程中资源访问问题的同时可能会引入诸多新的问题,比如死锁(deadlock),另外锁的申请/释放对性能也有不小的影响,当然最大的问题还在于使用锁的代码模块通常难以进行组合。lockfree的目标就是要消除锁对编程

    2022年7月19日
    14
  • python输出如何换行_python不换行输入

    python输出如何换行_python不换行输入在我们常用的print()方法进行输出时,通常输出结果是整行显示出来的,这时候我们需要考虑一下,我们输出的结果需不需要换行?python学习网,大量的免费python视频教程,欢迎在线学习!不需要换行的方法也是嗯容易的的,这里就不多赘述了,来说说如何做到输出换行:常用的转义符方式:\n#-*-coding:utf-8-*-A=”来看看能不能\n换行。”print(A)输出结果来看看能不能换行…

    2025年7月18日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号