DHCP与DHCPv6讲解

news2024/9/20 9:42:11

目录

DHCP

DHCP端口号

DHCP报文

DHCP工作过程

DHCP租期续租

DHCPv6

DHCPv6端口号

DHCPv6报文

DHCPv6工作原理


DHCP

DHCP端口号

DHCP主要有两个端口号,分别是UDP67和UDP68

DHCP客户端向DHCP服务器发送报文时采用68端口号,DHCP服务器向DHCP客户端发送报文时采用67端口号

DHCP报文

Discover 用来寻找DHCP服务器(广播)

Offer      服务器用来响应discover报文(携带了各种配置信息)(广播/单播)

Request 客户端初始化时用来回应服务器发送的Offer报文(广播);客户端重启时用来确认先前被分配的IP地址等配置信息(广播);客户端进行IP地址续约时发送(广播/单播)

Ack        服务器对Request报文的确认响应报文(客户端收到此报文后,才真正获得了IP地址和相关的配置信息)(广播/单播)

Decline  客户端发现服务器分配的地址冲突,发送此报文重新申请地址(单播)

Release  客户端主动释放服务器分配的IP地址(单播)

Inform   客户端获取IP地址后向服务器请求其他配置信息(网关地址、DNS服务器等信息)(单播)

Nak        服务器对客户端Request报文的拒绝响应报文(单播)

Relay     DHCP中继设备向服务器发送的报文(单播)

客户端发送报文:Discover、Request、Deline、Release、Inform

服务器发送报文:Offer、Ack、Nak

DHCP工作过程

1、客户端发送一个广播discover报文

2、Server收到报文后,会向客户端发送offer报文(携带为客户端分配的地址)

3、客户端收到offer报文后,会服务器发送广播request报文

4、Server收到报文之后会回复一条ACK进行确认

5、客户端收到ack之后会执行DAD(重复地址检测),如果冲突了会给服务器发送decline报文,告知这个地址无法使用,然后重新获取IP地址

为什么DHCP Request报文也是广播的

当网络中有多台server服务器,就会分配多个offer;客户端会使用第一个收到的offer报文中携带的地址作为本机地址;此时发送广播request报文,即可以告诉offer报文所对应DHCP服务器我使用了哪个地址,也可以告诉其它服务器将offer里的地址回收,可以分配给其他主机了

服务器发送Offer和Ack有单播和广播两种情况,具体如何发送?

这取决于客户端发送的Discover和Request报文中携带的Boot Flags字段(大多数情况下都是单播)

如果Boot Flags = 0x8000 ,则服务器回应时发广播

 如果Boot Flags = 0x0000 ,则服务器回应时发单播

DHCP租期续租

1、客户端发现租期只有一半时,发送单播Request报文(如果得不到服务器回应,还是会继续使用此地址)

2、客户端发现租期到87.5%时,发送广播Request报文(如果服务器还得不到回应,当租期到期后会发送Release释放此地址,重新发送Discover报文申请地址

注意:当服务器发生Request里的地址没有租约记录时,会发送nak报文进行回收


DHCPv6

DHCPv6没有广播报文,通过组播报文来实现,用到的组播地址有两个

FF02::1:2:所有DHCPv6服务器和中继代理的组播地址,用于客户端和相邻的服务器及中继代理之间通信

FF05::1:3:所有DHCPv6服务器组播地址,用于中继代理和服务器之间的通信

DHCPv6端口号

DHCPv6报文承载在UDPv6上

客户端侦听的UDP目的端口号是546;服务器、中继代理侦听的UDP端口号是547

即客户端发送时端口号为547,服务器发送时端口号为546

DHCPv6报文

Solicit           同dhcpv4 的discover

Advertise      同dhcpv4 的offer

Request        同dhcpv4 的request(请求IPv6地址)

Reply            同dhcpv4 的 ack/nck

Renew           同dhcpv4 的request(进行续约-单播)

Rebind          同dhcpv4 的request(Renew无应答,广播向任意服务器请求延长此地址)

Release         同dhcpv4 的release

Decline         同dhcpv4 的decline

Informmation-Request            同dhcpv4 inform

Confirm        客户端向任意可达的v6服务器发送此报文检查自己目前获得的IPv6地址是否适用与它所连接的链路

Reconfigure  服务器向客户端发送此报文,提示客户服务器上存在新的网络配置i休尼希

Relay-Forw   中继代理向服务器转发客户端的请求报文

Relay-Repl   服务器向中继代理发送报文(携带了转发给客户端的报文)

DHCPv6工作原理

四步获取地址

两步快速获取地址

1、DHCPv6客户端在发送的Solicit报文中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址和网络配置参数。

2、DHCPv6服务器接收到Solicit报文后,将进行如下处理:

        如果DHCPv6服务器支持快速分配地址,则直接返回Reply报文,为客户端分配IPv6地址和其他网络配置参数,Reply报文中也携带Rapid Commit选项。

        如果DHCPv6服务器不支持快速分配过程,则采用四步交互方式为客户端分配IPv6地址/前缀和其他网络配置参数。

无状态工作过程

1、DHCPv6客户端以组播方式向DHCPv6服务器发送Information-Request报文,该报文中携带Option Request选项,指定DHCPv6客户端需要从DHCPv6服务器获取的配置参数。

2、DHCPv6服务器收到Information-Request报文后,为DHCPv6客户端分配网络配置参数,并单播发送Reply报文,将网络配置参数返回给DHCPv6客户端。DHCPv6客户端根据收到Reply报文提供的参数完成DHCPv6客户端无状态配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

整合开源治理经验,共谋开源社区发展|2023 开放原子全球开源峰会开源社区治理与运营分论坛即将启幕

在数智时代广泛连接、同步演进和网状协作特性的催化下,开源社区正在成为技术应用和行业数字化发展的重要推动力量。开展数字技术开源社区的有效治理,对调和相互冲突的内外部需求、协调相互竞合的参与主体、整合差异化的绩效目标具有重要理论和实践意义。…

ChatGPT 时代,程序员的生存之道

ChatGPT 近期炙手可热,仿佛没有什么问题是它不能解决的。出于对 ChatGPT 的好奇,我们决定探索下它对于前端开发人员来讲,是作为辅助工具多一些,还是主力工具更多一些? 2D 能力测试 我们就挑选一个著名的递归回溯问题—…

自学黑客(网络安全),一般人我劝你还是算了!

网络安全在当今信息社会越来越受到重视,但不同于Java、C/C等后端开发岗位有非常明晰的学习路线,网络安全更多是靠自己摸索,要学的东西又杂又多,难成体系。 这也是为什么我经常劝别人不要入网络安全的坑,因为一般人真坚…

调用腾讯API实现人体关键点分析

目录 1. 作者介绍2. 调用腾讯API实现人体关键点分析2.1 API的简介2.2 腾讯API使用工具2.4 MPII数据集介绍 3. 实验流程与结果3.1调用百度API流程3.2完整代码3.3测试结果 1. 作者介绍 张思怡,女,西安工程大学电子信息学院,2022级研究生&#…

MongoDB简单快速入门

MongoDB简单快速入门 简单介绍应用场景安装与启动基础操作SpringBoot整合MongoDB 简单介绍 MongoDB是一个开源、高性能、无模式的文档型数据库。NoSQL数据库产品中的一种,是最想关系型数据库的非关系型数据库 应用场景 安装与启动 直接将安装的压缩包进行解压&…

unity 3d实现下雨、雾气、萤火虫和火花四溅的粒子效果

文章目录 先看最终效果1. 下雨效果2. 雾气效果3. 萤火虫和火花四溅的效果 3d下雨粒子效果涟漪效果雨滴和涟漪效果结合水花效果雨滴涟漪水花结合问题雾气效果萤火虫火花效果萤火虫和火花效果结合 先看最终效果 1. 下雨效果 2. 雾气效果 3. 萤火虫和火花四溅的效果 3d下雨粒子效…

【C/C++】基础知识之string字符串

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

整数规划在数学建模中的应用及MATLAB实现

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 目录 整数规划基本概念 整数规划原理 MATLAB实现 1. 使用intlinprog求解整数规划问题 数学建模案例&#xff1a;设备选购优化 问题建模 MA…

时间序列预测 | Matlab基于鲸鱼算法优化随机森林(WOA-RF)与随机森林(RF)的时间序列预测对比

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab基于鲸鱼算法优化随机森林(WOA-RF)与随机森林(RF)的时间序列预测对比 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %---------------…

算法刷题-数组-二分查找

算法刷题-数组-二分查找 二分查找思路二分法第一种写法二分法第二种写法 总结相关题目推荐python语言版本 二分查找 力扣题目链接 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&…

数据结构与算法系列之快速排序

&#x1f497; &#x1f497; 博客:小怡同学 &#x1f497; &#x1f497; 个人简介:编程小萌新 &#x1f497; &#x1f497; 如果博客对大家有用的话&#xff0c;请点赞关注再收藏 &#x1f31e; 快速排序 快速排序是任取待排序元素序列中的某元素作为基准值&#xff0c;按照…

【QT】TCP/UDP详解及实现

TCP/UDP TCP/IP模型TCP协议头部格式三次握手四次挥手 UDP协议头部格式 Socket编程tcpudp代码实现服务端&#xff1a;客户端&#xff1a; 总结 TCP/IP模型 TCP模型是一个常见的网络协议参考模型&#xff0c;也称为TCP/IP模型或互联网模型。它是指TCP/IP协议族中的一组协议&…

总结:Linux系统上面定时备份mysql指定数据库的解决方案

总结&#xff1a;Linux系统上面定时备份mysql指定数据库的解决方案 一Mysql数据库本身就自带备份数据库命令1.mysql本身自带备份数据库为一个sql文件的命令&#xff0c;只需要在操作系统的终端里面执行就好了 二Linux和Unix操作系统都自带一个定时任务执行器&#xff1a;cronta…

浅结反静态调试2

文章目录 SMC 自解码什么是SMC&#xff1f;原理示例动调 SMC 自解码 什么是SMC&#xff1f; 简而言之&#xff0c;就是程序中的部分代码在运行之前被加密成一段数据&#xff0c;不可反编译&#xff0c;通过程序运行后执行相关的解码功能&#xff0c;对加密的代码数据进行动态…

Linux :: vim 编辑器的初次体验:三种 vim 常用模式 及 使用:打开编辑、退出保存关闭vim

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 目录索引&am…

配置Linux操作系统主机名及网络设置

上一篇我们讲到了如何克隆虚拟机&#xff0c;三台虚拟机Spark01、Spark02和Spark03默认为动态IP地址&#xff0c;若后续重启系统后IP地址便会发生改变&#xff0c;非常不利于实际开发&#xff0c;且虚拟机Spark02和Spark03是通过克隆虚拟机Spark01创建的&#xff0c;这会导致这…

软件测试银行项目到底“香”到哪里?

为什么做金融类软件测试&#xff1f; 做金融类软件测试的原因有以下几个&#xff1a; 保障客户资产安全&#xff1a;金融类软件通常涉及大量的客户财产和敏感信息&#xff0c;因此软件测试可以帮助发现潜在的漏洞和风险&#xff0c;从而确保客户的资产和信息得到充分的保护。 …

超详细IDEA:MavenWeb项目配置Tomcat

文章目录 附IDEA创建MavenWeb项目教程附Windows 10安装配置Tomcat教程一、插件配置Tomcat方式二、IDEA部署本地Tomcat方式 附IDEA创建MavenWeb项目教程 超详细IDEA创建MavenWeb项目教程 附Windows 10安装配置Tomcat教程 超详细Windows 10安装配置Tomcat教程 一、插件配置To…

LeetCode: 238. 除自身以外数组的乘积

目录 1. 解法一&#xff1a;时&#xff1a;O(N) &#xff0c;空&#xff1a;O(N) 2. 解法二&#xff1a;(解法一的空间优化) 时&#xff1a;O(N)&#xff0c;空&#xff1a;O(1) 3. 解法三 原题链接&#xff1a;238. 除自身以外数组的乘积 - 力扣&#xff08;Leetcode&#x…

java SSM 教务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教务管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/…