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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 齿轮常见故障与特征频率及其谐波、边频带

    齿轮常见故障与特征频率及其谐波、边频带

    2021年11月22日
    50
  • 链表经典算法

    链表经典算法

    2021年8月20日
    56
  • prepareCall()运行存储过程

    prepareCall()运行存储过程

    2021年12月15日
    44
  • 机器学习十大算法简介

    机器学习十大算法简介K-Means算法K-Means算法是一种聚类算法,把n个对象根据他们的属性分成k个分类,并且使这K个分割的内部相似度最大,而分割之间的相似度最小。其主要的算法流程如下:1.从n个对象中任意选K个对象,作为每个聚类的中心2.根据K个中心,按照每个对象离K个中心的最小距离(离那个中心近,就划分到哪个中心),将n个对象划分成K个分割(聚类)3.然后计a ge su a分割的中心(

    2025年5月28日
    3
  • ConcurrentHashMap是如何实现线程安全的

    ConcurrentHashMap是如何实现线程安全的ConcurrentHashMap是如何实现线程安全的文章目录ConcurrentHashMap是如何实现线程安全的前言相关概念Amdahl定律初始化数据结构时的线程安全总结put操作的线程安全总结扩容操作的线程安全扩容时的get操作多线程协助扩容在什么情况下会进行扩容操作?总结统计容器大小的线程安全假设当前线程为第一个put的线程出现了线程竞争导致CAS失败计数桶扩容总结get操作的线程安全总…

    2022年6月24日
    31
  • js取数组截取

    js取数组截取splice()会删除选定的数组,slice()只会进行选定,pop选定最后一个元素删除并返回最后一个元素的值,length函数判断数组的长度,使用slice选取单个值的时候记得返回的是一个数组类型。constarr=[1,2,7,2,6,0,3,1,5,7,8,9,45,12,34,0,56,12,2]//slice()方法constsliceArr…

    2022年5月2日
    61

发表回复

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

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