DHCP(介绍)

简介: DHCP(介绍)

一.DHCP(动态主机配置协议)是一个工作在应用层的局域网网络协议(不在公网上使用),数据传输时使用UDP不可靠传输协议工作,通常被应用在大型局域网络中的管理,分配网络资源,使网络环境中的主机能动态的获得IP地址,Gateway网关地址,DNS服务器地址等信息,并能够提升地址的使用率。可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突   像我们通过无线路由器连接的pc端  都靠这个DHCP去集中管理和网络分配   包括引导文件 TFTP文件的传输 像生产环境中很多台服务器安装服务器批量装机 无人值守自动部署 没有网络地址 没有操作系统的服务器能够自动获取或者自动分配到可用的ip地址等网络资源然后再进行引导文件等其他网络资源的获取这就是DHCP在实际生产环境中的应用   无人值守安装必须依赖DHCP  对于我们来说很重要


二.租约四部曲+续租   模式:给需要ip地址的客户机分配ip地址 等对方不用了再把ip地址回收 类似于租房子 要和房东签合同  不住了要和房东讲 DHCP相对于更复杂


左侧客户端   右侧服务端  左侧没有网络资源 无法和其他人正常直接通讯 它想通讯要向所在局域网广播数据包  没有自己的源地址  也不知道其他任何人的目标地址 只能广播  会想给自己找一个合理的ip地址 广播ip地址的请求 我们称这种数据包叫DHCP Discover 包 目的是向局域网内发送DHCP请求 看看局域网内有没有人是DHCP服务器 如果有人是 然后下一步让他给我一个可用的ip地址 假如说网络中真的有一个DHCP服务器  那么这个DHCP服务器在接受到这个主机发过来的DHCP Discover 请求数据包之后 DHCP服务器会给客户机回一个DHCP Offer包 类似于投简历不知道这家公司会不会要你入职 投了很多家 面了很多家 最终给你Offer那家就是让你来工作 同样回复了DHCP Offer包的这个服务器就是要给你分配网络资源的服务器 客户机接受到Offer之后要确认要去要使用这个服务器发送过来的 类似于有好几家公司都给你发了Offer 让你入职 那你一定会给其中某一家回复我要去你公司入职 并且给其他公司回复我不去你家入职 DHCP Request包含两部分 一部分是告诉给我发了Offer的人我要去你家 一部分是告诉那些给我发了Offer的我不去你们几家  所以说Request分为两部分  那这个时候当给客户端发Offer包的那个服务器收到了客户端发来的Request  客户机要用它的ip地址的Request之后呢 服务器要再次向客户端确认并且告诉它这个东西可用 那么最终这个一步就类似于签合同了  


拆分看一下DHCP四部曲的详细步骤


  1.DHCP 客户端进行IP请求  广播


 当一个DHCP客户机启动时,会自动将自己的ip地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP服务器来获取一个合法的地址。由于客户机不知道DHCP服务器的ip地址,所以它使用0.0.0.0的地址作为源地址,使用255.255.255.255作为目标地址,使用udp67端口作为目的端口来广播请求ip地址信息。广播信息DHCP Discover 中包含了DHCP客户机的MAC地址和计算机名,以便使DHCP服务器能确定是哪个客户机发送的请求。   广播  你们谁是DHCP服务器  谁能给我分配一个合法的ip地址用啊 所以它会广播请求 四个255代表任意ip地址 局域网内所能工作的任意ip地址 所能发送到的任意地址都发送请求  DHCP Discover 包 包含  你们谁是服务器  我是谁谁谁  我的mac地址和计算机名是xxx 告诉服务器  以便后期服务器给我分配ip地址时有一个依据  它才能精准的找到我  假如说局域网内没有dhcp服务器这种情况 客户端获取不到ip地址 那就会一直去获取 如果有就会会去回 广播发送的数据包 只有那个是DHCP服务器的才会去接收DHCP Discover包 那些不是的不会接收 因为他们压根就没有udp67端口 没有怎么接收  虽然是广播但不是所有的人都会收到 只有有udp67端口的才会收到  只有dhcp服务器才会收到 不会对其他主机造成影响 这就是DHCP客户端去请求ip地址的一个过程  租约四部曲第一部


2.DHCP服务器相应请求  单播

 首先第一个步骤DHCP服务器在收到请求之后会在自己的ip地址池  ip地址池就是dhcp服务器在创建过程中会把一些合法的可用的ip地址放到自己的声明的资源池当中 当有人来请求ip地址时就从资源池里面取 然后给对应的客户端使用 它的ip地址池中的ip地址一定是合法的 并且是可用的 当有人来请求  就找 然后先做标记 已经预分配给mac地址是啥的客户机了 并且把这个ip地址加入到dhcp offer包中 对应的服务器会给客户端会offer包里面包含 :dhcp客户机的mac地址(如果局域网内有多个请求者 那就通过mac地址来区分和分配ip地址) dhcp服务器提供的合法ip地址;对应的子网掩码;默认网关(路由);租约的期限;dhcp服务器的ip地址-mac地址(服务器会告诉客户机自己是谁 自己在哪里  因为一会客户端会回应 你不说你自己是谁  我等下怎么找你  )服务器回的时候由于没有ip地址 服务器只能向整个局域网内广播 但是只有那些发送了dhcp请求的客户机才会收  没有发的不会收 所有发送请求的也不是都收 我们的服务器在向外发的时候指名道姓的说了mac地址是xxx的才能收 只有mac地址是指定的客户机才能收这个offer 虽然发是广播 但是收只有是mac地址是唯一的这个人才能收 dhcp服务器使用自己的ip地址作为源地址 使用四个255作为目标ip 使用udp68端口来广播dhcp offer信息 这就是服务器回复租赁信息offer信息的过程  租约四部曲第二部


3.DHCP客户机选择ip  广播

这里还是广播  因为客户机会拿到很多的offer 他选择了一个  还要告诉其他的服务器  我不去你们公司  选择了一个   就要拒绝其他的  就像我们找对象  如果选择了一棵树  那么就意味着要放弃一片森林  所以事实证明  大家不要谈恋爱  不谈恋爱就意味着你拥有整片森林  

续约    重绑定  

建立租约  比如说是十天  那么到大概第五天的时候  我们的客户机就会跟我们的服务器进行续约操作  又再一次给他发送请求  我的服务要到期了   我们再加个钟  


4.DHCP服务

为大量客户机自动分配地址,提供集中管理

减轻管理和维护成本,提高网络配置效率


可分配的地址信息主要包括:(地址池必要配置)


为客户端分配ip地址用,通过管理员所自定义的地址段以及地址池范围来去分配ip地址  :


网卡ip地址,子网掩码

对应的网络地址,广播地址

默认网关地址

DNS服务器地址

(这些配置都会体现在配置文件里面)


物理网卡自身集成了DHCP的功能为了请求获取合法,可用的ip

DHCP服务端核心功能在于:通过自定义的网段的地址池来给予新加入网络环境的设备以租约的方式分配合法ip


5.DHCP的好处

减少管理员的工作量

避免输入错误的可能

避免ip地址冲突

当更改ip地址段时,不需要重新配置每个用户的ip地址

提高了ip地址的利用率

方便客户端的配置


6.DHCP的分配方式

1.自动分配:是当DHCP客户机第一次成功地从DHCP服务器获取到一个ip地址后,就永久地使用这个ip地址

2.手动分配:是由DHCP服务器管理员专门指定ip地址

3.动态分配:是当DHCP客户机第一次从DHCP服务器获取到ip地址后,并非永久地使用该地址,而是在每次使用完后,DHCP客户机就会释放这个ip地址,供其它客户机使用


DHCP的工作原理 广播进行,先到先得


一个网络中最好只能有一个DHCP服务器


如果租约时间到了  没有续租成功 那么客户机会先把地址释放  在找不到DHCP服务器的时候  网卡为了面子则运行windows的DHCP客户机将从169.254.0.0/16这个自动保留的私有ip地址(apipa)中选用一个ip地址,而运行其他操作系统的dhcp客户机将无法获得ip地址。这个地址大家都能用 没法进行通讯  

相关文章
|
编解码 自然语言处理 算法
开源版图生视频I2VGen-XL:单张图片生成高质量视频
VGen是由阿里巴巴通义实验室开发的开源视频生成模型和代码系列,具备非常先进和完善的视频生成系列能力
|
XML JSON API
淘宝天猫API接入说明(淘宝天猫商品详情+关键词搜索商品列表)商品详情数据,商品sku数据,商品优惠券数据
业务场景:作为全球最大的 B2C 电子商务平台之一,淘宝天猫平台提供了丰富的商品资源,吸引了大量的全球买家和卖家。为了方便开发者接入淘宝天猫平台,淘宝天猫平台提供了丰富的 API 接口,其中历史价格接口是非常重要的一部分。大家有探讨稳定采集淘宝(天猫)京东阿里拼多多等平台整站实时商品详情历史价格数据接口,通过该接口开发者可以更好地了解商品的情况,商品详情数据详细信息查询,数据参数包括:商品链接,商品列表主图、价格、标题,sku,库存,销量,店铺昵称,店铺等级,商品详情SKU属性,商品视频,商品优惠券,促销信息,详情属性描述,宝贝ID,区域ID,发货地,发货至,快递费用,物流费用等页面上有的数据
|
6月前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
227 23
|
9月前
|
存储 机器学习/深度学习 人工智能
《C++与生物医学的智能融合:医疗变革新引擎》
在科技迅速发展的背景下,C++与生物医学的结合正成为创新前沿。C++以其高效性和稳定性,在处理大规模生物医学数据、辅助疾病诊断与治疗等方面展现出巨大潜力。面对生物医学数据的复杂性与挑战,C++不仅提高了数据处理的效率,还在疾病诊断、基因分析及药物研发中发挥了重要作用。尽管存在更新快、数据标准不一等挑战,但随着技术进步和跨学科合作加深,C++与生物医学的融合应用前景广阔,有望为医疗健康领域带来革命性变化。
135 11
|
10月前
|
机器学习/深度学习 算法 数据处理
SVM的优缺点是什么
SVM的优缺点是什么
566 9
|
前端开发 JavaScript 数据库
从前端到后端:构建高效数据驱动应用的全栈策略
在构建现代应用程序时,前端与后端的高效协作至关重要。本篇文章深入探讨了如何将前端技术与后端架构相结合,以构建强大的数据驱动应用。我们将分析常见技术栈,包括React与Node.js的集成、Python与Django的应用,以及如何利用数据库优化数据处理。通过具体的示例和最佳实践,读者将能掌握如何在全栈开发中实现高效的数据交互与应用性能优化。
|
Java Serverless Apache
9 个开源项目、25 个课题可选丨欢迎报名阿里云云原生开源之夏
2024 开源之夏,阿里云云原生应用平台团队开放了包括 Apache Dubbo/Apache RocketMQ/Apache Seata/Higress/iLogtail /Nacos/Sentinel/Spring Could Alibaba / Serverless Devs 在内,涉及微服务、消息、可观测、Serverless 4 大技术领域的 9 个开源项目。
2000 108
|
Java 应用服务中间件 Linux
(九)Java网络编程无冕之王-这回把大名鼎鼎的Netty框架一网打尽!
现如今的开发环境中,分布式/微服务架构大行其道,而分布式/微服务的根基在于网络编程,而Netty恰恰是Java网络编程领域的无冕之王。Netty这个框架相信大家定然听说过,其在Java网络编程中的地位,好比JavaEE中的Spring。
394 3
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 创建目录 mkdir 命令使用指南
【Shell 命令集合 磁盘管理 】Linux 创建目录 mkdir 命令使用指南
429 0
|
移动开发 前端开发 开发工具
智慧校园信息化H5端App的软件开发设计文档
智慧校园信息化H5端App的软件开发设计文档
203 0

热门文章

最新文章