DHCP协议

article/2025/9/12 22:10:31

目录

1、DHCP协议

 2、DHCP的工作过程

动态获取IP地址流程

跟新租期流程

解除租期流程


1、DHCP协议

DHCP(Dynamic Host Configuration Protocol)协议是处于应用层的协议。一个主机如果想正常上网,需要配置IP地址,子网掩码,默认网关基本配置。我们可以选择手动配置,但是对于较大的网络,手动配置不仅工作量大,还容易出错,这时我们就需要一个动态配置这些基本信息的DHCP服务器。

DHCP基于UDP/IP传输。DHCP服务器使用端口号67,DHCP 客户端使用端口号68。
DHCP协议一般采用服务器/客户端的模式,客户端主机请求获取IP等配置信息,服务器主机提供IP等配置信息。

服务器一般采用手动配置,而客户端一般动态获取。主要基于以下原因: 
1. 客户主机比服务主机移动更频繁 
2. 服务主机需要提供更可靠的服务,其配置信息应该减少对其他系统/主机的依赖 
3. 客户主机比服务主机的数量更多
4. 客户主机使用者的网络配置知识比服务主机的使用者低

 2、DHCP的工作过程

动态获取IP地址流程

1、新的客户主机添加到网络时,发送包含MAC地址和事务ID的DISCOVER报文,寻找所在网络内的DHCP服务器。
源IP地址:0.0.0.0,目的IP地址:255.255.255.255(广播寻找)

 2、当此网络下的DHCP服务器接收到DISCOVER报文后(客户机没有开启68端口的DHCP服务,会丢弃该报文),会查看自己身的数据库是否有关于该客户机的MAC地址所对应的配置信息,如果有则发送该信息,如果没有,则发送默认配置信息。
源IP地址:DHCP服务器IP地址,目的IP地址:255.255.255.255(客户机此时尚未有可用的IP地址,只能发送广播)

3、客户主机根据收到的OFFER报文中的事务ID来判断是否是自己所发送的DISCOVER报文的应答报文。在下图中客户主机将会收到2个OFFER报文,从中选择一个(一般是先到的)。并向所选择的DHCP服务器发送REQUSET报文
源IP地址:0.0.0.0(还未正式获得DHCP服务器的同意),目的IP地址:255.255.255.255(向本网络的DHCP服务器公告自己选择了某个DHCP服务器所提供的IP地址,不需要一个一个回复)

4、DHCP服务器发送ACK报文,将IP地址分配给客户主机。
源IP地址:DHCP服务器IP地址,目的IP地址:255.255.255.255(客户主机尚未正式分配到IP地址)

5、客户主机收到DHCP服务器发来的ACK报文后,使用ARP检测所分配到的IP地址是否已被网络中的其他主机占用。
       被占用:向DHCP服务器发送DHCP DECLINE撤销租约,重新发送DHCP DISCOVER报文
       未被占用:可以使用该IP地址联网通信。

跟新租期流程

1、此时可以跳过DISCOVER报文和OFFER报文 

2、客户主机发送携带当前IP地址的REQUSET报文 
源IP地址:租用的IP地址,目的IP地址:DHCP服务器IP地址

3、如果DHCP服务器同意客户主机续约,则发送ACK报文,客户主机继续使用该IP地址,并更新租约。如果拒绝续约,则发送NAK报文,客户主机立即停止使用该IP地址,并重新发送DISCOVER报文,获取新的IP地址。
源IP地址:DHCP服务器IP地址,目的IP地址:租用的IP地址

解除租期流程

1、客户主机发送RELEASE报文。
源IP地址:租用的IP地址,目的IP地址:DHCP服务器IP地址

 黄大牙牙yyds


http://chatgpt.dhexx.cn/article/2R6jbjEF.shtml

相关文章

TCP/IP-----协议号、端口号、ARP、icmp

文章目录 一、数据流向过程二、协议详解1)ARP协议2)ICMP协议 协议号 协议号是存在于IP数据报的首部的20字节的固定部分,占有8bit.该字段是指出此数据报所携带的是数据是使用何种协议,以便目的主机的IP层知道将数据部分上交给哪个处…

UDP协议

引言 本文中只关于IPv4;UDP是一种保留消息边界的简单的面向数据报的传输层协议。它不提供差错纠正、队列管理、重复消除、流量控制和拥塞控制。总之,能没有的都没了。但它提供了差错检测,是一种端到端的校验和。因此使用它的程序必须自己实现…

BGP协议

BGP协议 工作层工作原理BGP简单配置———含密码认证配置个人图解BGP 工作层 BGP是工作在应用层的协议,但基于传输层的TCP协议 工作原理 路由协议通常分为内部网关协议(IGP: Interior Gateway Protocol)和外部网关协议(EGP: Ext…

IP协议介绍

文章目录 定义特点作用寻址和路由:分片与重组: ①TCP分段与IP分片的区别?TCP分段IP分片什么是MSS?滑动窗口与MSS的区别? 什么是MTU?MSS与MTU的关系疑问UDP是否会进行分段?TCP分段后会进行IP分片…

华为 协议归纳总结

青出于蓝而胜于蓝 文章目录 一、路由优先级二、路由协议三、常见的永久组地址四、常用的UDP协议及端口号五、常用的TCP协议及端口号六、协议七、报文头格式 一些常用的知识点,经常用到,也很容易忘记、混淆,所以有必要去整理一下这些常用知识点…

管理距离 动态协议端口号 协议号

管理距离(Administrative Distance,简称AD ) 路由器可以通过多种途径获知路由条目∶如静态手工配置、各种动态路由协议等等。当路由器从两种不用的途径获知去往同一个目的地的两条路由,那么路由器会比较这两条路由的AD值,也就是管理距离&…

各协议的协议号和端口号

协议号与端口号详解 IP是网络层协议,IP头中的协议号用来说明IP报文中承载的是哪种协议(一般是传输层协议,比如6 TCP,17 UDP;但也可能是网络层协议,比如1 ICMP;也可能是应用层协议,比…

TCP/IP协议号

转自http://www.52rd.com/Blog/Detail_RD.Blog_liweikui_22903.html,作者:liweikui IP协议号:IP首部中有8位协议号,用于指明IP的上层协议,具体如下: 协议号 协议类型 说明 0 HOPOPT IPv6逐跳选项 1…

MATLAB APP全局变量的使用

切换到代码视图,左上角代码浏览器点击属性,有如下提示: 点击➕旁边,会出现提示: 按照提示所说,在这里就可以添加全局变量了。 点击➕,在代码中便会添加如下代码: properties (Acce…

MATLAB GUI 设全局变量的位置

如果要在控件之外定义全局变量, 则这个全局变量要设置在OutputFcn下面 如图:

matlab 全局变量(global)数据类型报错问题

今天我在做matlab的GUI界面时,其中涉及到定义一个全局的元胞变量(cell)。将其摘录下来如下: clc;clear all global a s11;s2123;s3a; a(1,1:3){s1,s2,s3}然后出现错误:从 cell 转换为 double 时出现以下错误:错误使用 double无法从 cell 转换…

matlab 全局符号变量,优化全局变量使用 - MATLAB Simulink Example - MathWorks 中国

示例模型 在模型 matlab:rtwdemo_optimize_global_ebf 中,Assignment 模块将来自 Inport 模块和 Constant 模块的值赋给输出信号。输出信号馈入 Gain 模块中。 model rtwdemo_optimize_global_ebf; load_system(rtwdemo_optimize_global_ebf) 生成代码但不进行优化…

20220117 matlab 全局变量调试

要在外部和里面都定义global才行貌似 global f1function parameter_inpu__() global f1 f11;endglobal f1 b1 f_temp test1__(); dynamic_e()function parameter_inpu__() global f1 f11;endfunction test1__() global f1 b1 b1f1;endfunction dynamic_e() global f_temp f_te…

matlab变量全局化,matlab全局变量global

matlab global定义全局变量的问题 我写了matlab的一个主函数,放在一个M文件中,然后在这个主函数中调用其可以,前提是两个函数共用变量均需用global声明 例子: 保存f.m内容如下: function f(a,b) global x y; x=a; y=b; 保存g.m内容如下: function [out]=g global x y; ou…

matlab 编程之全局变量(global)和永久变量(persistent)

一、global 官方解释: help globalglobal Define global variable.global X Y Z defines X, Y, and Z as global in scope.Ordinarily, each MATLAB function has itsown local variables, which are separate from those of other functions,and from those of th…

Matlab之全局变量

通过返回修改后的输入参数,可以实现函数内部对Matlab工作空间变量的修改。而另一种殊途同归的方法则是使用全局变量。 声明全局变量需要用到global关键词,语法格式为‘global variable’ 通过全局变量可以实现Matlab工作空间变量空间和多个函数的函数空间…

JavaScript 原型链和继承面试题

JavaScript 原型链和继承问题 JavaScript 中没有类的概念的,主要通过原型链来实现继承。通常情况下,继承意味着复制操作,然而 JavaScript默认并不会复制对象的属性,相反,JavaScript只是在两个对象之间创建一个关联&am…

11、原型链、原型继承和Class继承

11.1 原型 每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象(函数.prototype)的用途是包含可以由特定类型的所有实例共享的属性和方法 11.2 原型链 基本思想就是…

原型链和原型继承

什么是原型链? 每一个对象都有自己的原型对象,而原型对象也属于对象也会有自己的原型对象,依次类推就会形成链式结构,然后就构成了原型链,所有对象的原型链最终都会指向object.prototype,而最终object.pro…