我的编程空间,编程开发者的网络收藏夹
学习永远不晚

DHCP工作原理是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

DHCP工作原理是什么

这篇文章给大家分享的是有关DHCP工作原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。

一、DHCP实现原理

1. DHCP是什么

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。它是一种流行的Client/Server协议,一般用于为主机或者为路由器等指定相关的配置信息。DHCP服务在企业和家庭中得到了大量的应用,它能够自动分配ip地址以及一些其他的相关信息,整个过程对客户透明。

2. 部署DHCP服务的好处

减少管理员的工作量 避免输入错误的可能 避免ip地址冲突 当网络更改ip地址段时,不需要再重新配置每一个用户的ip地址 提高了ip地址的利用率 方便客户端的配置

3. DHCP分配方式

自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

4. DHCP工作过程

DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。 如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。

初次登录时DHCP工作包括四个步骤:

(1) 第一步寻找DHCP服务器

当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。

(2) 第二步分配IP地址

在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。

(3) 第三步接受IP地址

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。

(4) 第四步IP地址分配确认

当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

重新登录:

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP。 如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用。 回复NACK后,重新开始DHCP初次登录时的流程 更新租约:

DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限到达租约的50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

二、常见的几种搭建DHCP服务器的方法

1. 利用TPLinK等宽带路由器内置的DHCP功能模块提供服务

这种方法很简单,首先就是登录路由器,找到DHCP功能设置的位置,直接设置即可。

设置好保存重启后,网内的计算机就可以自动获取iP地址等信息了。

2. 办公网环境利用三层交换机搭建DHCP服务

以华为交换机举例: DHCP工作原理是什么 在三层交换机配置DHCP服务过程:

system-view (进入全局模式)[Huawei]sysname SW1 ( 设备命名)[SW1]dhcp enable (使用DHCP功能)[SW1]ip pool 10 (创建全局地址池,同时进入全局地址池视图)[SW1-ip-pool-10]network 192.168.10.0 mask 24 (配置全局地址池可动态分配的IP地址范围)[SW1-ip-pool-10]dns-list 8.8.8.8 (配置DNS )[SW1-ip-pool-10]gateway-list 192.168.10.1 (配置网关)[SW1-ip-pool-10]excluded-ip-address 192.168.10.201 192.168.10.254 (保留不被分配的地址)[SW1-ip-pool-10]lease day 7 (IP租约期限)[SW1-ip-pool-10]dis this (查询当前模式的配置)# ip pool 10gateway-list 192.168.10.1 (网关)network 192.168.10.0 mask 255.255.255.0 (IP地址范围)excluded-ip-address 192.168.10.201 192.168.10.254 (保留IP地址范围)lease day 7 hour 0 minute 0 (IP租约周期)dns-list 8.8.8.8[SW1-ip-pool-10]quit (退出[SW1]ip pool 20[SW1-ip-pool-20]network 192.168.20.0 mask 24[SW1-ip-pool-20]dns-list 8.8.8.8[SW1-ip-pool-20]gateway-list 192.168.20.1[SW1-ip-pool-20]excluded-ip-address 192.168.20.201 192.168.20.254[SW1-ip-pool-20]lease day 7[SW1-ip-pool-20]q------------------------------------------------[SW1]vlan batch 10 20 (批量创建vlan)[SW1]interface GigabitEthernet 0/0/1 (进入port 1)[SW1-GigabitEthernet0/0/1]port link-type access (配置port 1 类型)[SW1-GigabitEthernet0/0/1]port default vlan 10 (配置port 1 vlan)[SW1-GigabitEthernet0/0/1]quit (退出)[SW1]interface GigabitEthernet 0/0/2[SW1-GigabitEthernet0/0/2]port link-type access[SW1-GigabitEthernet0/0/2]port default vlan 20[SW1-GigabitEthernet0/0/2]quit( 配置VLANIF10接口下的客户端从全局地址池中获取IP地址)[SW1]interface Vlanif 10 (创建vlanif 10)[SW1-Vlanif10]ip address 192.168.10.1 24 (配置IP地址)[SW1-Vlanif10]dhcp select global (在vlanif 10模式下调用全局地址池)[SW1-Vlanif10]display this (查询当前配置参数)#interface Vlanif10ip address 192.168.10.1 255.255.255.0dhcp select global#Return[SW1-Vlanif10]quit[SW1]interface Vlanif 20[SW1-Vlanif20]ip address 192.168.20.1 24[SW1-Vlanif20]dhcp select global[SW1-Vlanif20]quit[SW1]display ip pool (查看IP地址池配置情况)[SW1]quitsave (保存配置,写入设备)

3. 在Windows 系统里搭建DHCP服务

以2008server为例:

2008ser搭建DHCP服务器步骤:

安装Windows Server 2008系统作为服务器端;客户端可安装其他Windows系统。

进入2008ser系统,手动设置IP(未设置静态IP,后面无法继续)

打开服务器管理器:系统中点击 “开始菜单程序”——> 管理工具 ——>服务器管理器

进入服务器管理器,点击左侧的”角色”然后点击右侧”添加角色”

进入添加角色向导默认下一步,

服务器角色界面,勾选DHCP服务器;

勾选DHCP服务器后,单击”下一步”按钮,屏幕上将会弹出DHCP服务器简介窗口,默认下一步;

进入选择网络连接绑定,勾选IP地址;安装程序将自动检查你的服务器是否具有一个静态IP地址,第2步设置了则会被检测显示出来。

接下来到”IPv4DNS设置”,需要输入你的父域名和DNS服务器的IP地址,这个域将用于我们在这台DHCP服务器上创建的所有作用域; 当DHCP更新IP地址信息的时候,相应的DNS更新会将计算机的名称到IP地址的关联进行同步。

是否要设置WINS服务器地址参数,默认”此网络上的应用程序不需要WINS”选项; (若需要则正确设置好目标WINS服务器的IP地址。)

第十一步:接下来的”DHCP作用域”窗口中,点击右侧”添加”我们可以根据本地局域网的IP地址分配情况,设置好DHCP服务器的适用范围,同时选中”激活此作用域”选项,并单击”确定”添加完成。

第十二步: DHCPv6无状态模式,选择禁用模式;在Windows Server 2008中默认增加了对下一代IP地址规范IPv6的支持,不过就目前的网络现状来说很少用到IPv6,因此可以选择对此服务器禁用DHCPv6无状态模式。

第十三步: 在”确认”界面,确认后点击安装,开始自动安装。进度条完成,DHCP也安装完成。

最后同局域网中的客户端设置为自动获得IP地址,即可获得DHCP自动分配的IP;

4. Linux系统下搭建DHCP服务

以ubuntu系统为例:

网络拓扑结构图如下: DHCP工作原理是什么 配置步骤如下:

安装isc-dhcp-server

采用命令:apt-get install isc-dhcp-server:

配置isc-dhcp-server

首先对作为DHCP服务器的”ubuntu 副本”进行设置:

进入超级用户,编辑文件/etc/default/isc-dhcp-server文件:

在INTERFACES=””处填入网卡名enp0s3:

将文件打开发现有很多例子,都是被注释掉了的,选用一个例子,修改后的结果如下: DHCP工作原理是什么

修改本机的IP地址,子网掩码,默认网关,DNS等:

对该网卡进行重启,对网络进行重新启动,将DHCP服务开启:

Linux客户机配置(虚拟机从虚拟机获得IP):

网络连接设置为自动获取IP地址:

在命令行中输入dhclient命令重新分配IP地址,我们发现IP地址成功被分配到了,其中图一是未得到分配的IP地址,图二是重分配后得到的由DHCP服务器192.168.137.2分配而来的IP地址192.168.137.101:

通过wireshark抓包进行分析,可看到IP地址192.168.137.101的确是由DHCP服务器192.168.137.2提供的,并且可以看到它们之间的request-ack过程:

感谢各位的阅读!关于“DHCP工作原理是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

DHCP工作原理是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

DHCP工作原理是什么

这篇文章给大家分享的是有关DHCP工作原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议
2023-06-28

DHCP是什么?工作原理是什么?

  在设置无线AP或无线路由器过程中,用户会遇到很多参数,如果只是完成一般的设置,满足一般的上网需求的话,有以一些参数是不需要深入了解的。但是在一些比较复杂的网络环境就需要我们对一些参数作相应的配置,今天我们来看一下无线路由器的参数之一DHCP。  1、DHCP的作用  DHCP(Dynamic Host Confif
DHCP是什么?工作原理是什么?
2024-04-18

Linux下DHCP工作原理是什么

这篇文章主要介绍了Linux下DHCP工作原理是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux下DHCP工作原理是什么文章都会有所收获,下面我们一起来看看吧。DHCP原理DHCP租约四部曲A:客户
2023-06-27

DHCP的工作原理分析

这篇文章主要介绍了DHCP的工作原理分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。DHCP动态主机配置协议:计算机用来获得配置信息的协议。DHCP容许给某一计算机赋以IP
2023-06-27

Linux中DHCP的原理是什么

这篇文章主要介绍“Linux中DHCP的原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux中DHCP的原理是什么”文章能帮助大家解决问题。DHCP(Dynamic Host Conf
2023-06-27

vrrp工作原理是什么?

  VRRP全程虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP),是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引
vrrp工作原理是什么?
2024-04-18

jdbc工作原理是什么

JDBC(Java Database Connectivity)是Java程序与数据库进行交互的一种标准接口。它定义了一组用于访问和操作数据库的API,使得Java程序能够通过统一的方式连接不同类型的数据库。JDBC的工作原理如下:1. 加
2023-08-31

ZooKeeper工作原理是什么

这篇文章主要介绍ZooKeeper工作原理是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ZooKeeper 是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等,。Z
2023-06-27

Pinia工作原理是什么

本篇内容介绍了“Pinia工作原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是PiniaPinia是Vue 3的状态管理库,它
2023-07-05

Git的工作原理是什么

这篇文章主要讲解了“Git的工作原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git的工作原理是什么”吧!本文图解Git中的最常用命令。如果你稍微理解Git的工作原理,这篇文章能够
2023-06-15

ipsec的工作原理是什么

IPSec(Internet Protocol Security)是一种用于保护网络通信安全的协议套件。它可以提供数据加密、数据完整性验证和身份验证等功能,以保护IP通信的安全性。IPSec的工作原理包括以下几个关键步骤:1. 认证阶段(A
2023-10-10

NTPD的工作原理是什么

今天小编给大家分享一下NTPD的工作原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Network Time Pro
2023-06-28

HashMap的工作原理是什么

原理介绍如下:HashMap是基于Hash算法实现的。(在线学习视频教程分享:java视频教程)在使用put(key,value)方法时,HashMap会根据key.hashCode()方法得出key的hash值,然后根据hash值找到对应的bucket位置,
HashMap的工作原理是什么
2019-10-28

docker的工作原理是什么

Docker的工作原理主要涉及以下几个方面:1. 镜像(Image):Docker利用镜像来构建容器,镜像是一个只读的文件系统,包含了运行应用所需的所有文件和设置。镜像可以通过Docker Hub获取,也可以通过Dockerfile自定义构
2023-09-27

Hadoop的工作原理是什么

Hadoop的工作原理是基于分布式存储和计算的概念。Hadoop由两个核心组件组成:Hadoop分布式文件系统(HDFS)和MapReduce计算框架。HDFS是一种分布式文件系统,它将大文件分割成多个小块,并在集群中的多个计算节点上进行
Hadoop的工作原理是什么
2024-03-11

RabbitMQ的工作原理是什么

这篇文章给大家介绍RabbitMQ的工作原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。RabbitMQ简介在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理
2023-06-19

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录