IPv6地址分配

2024-06-18 21:48
文章标签 分配 地址 ipv6

本文主要是介绍IPv6地址分配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在IPv6网络中,网络节点的自动配置分为两种:

1. 无状态自动配置:网络节点从路由通告中获取配置参数。

2. 全状态自动配置:网络节点通过DHCPv6服务器获取配置参数。

 

DHCPv6作为目前唯一提出的全状态配置模型,在RFC3315中进行了详细的描述.

DHCPv6分配过程:

1、新的网络节点[主机或者接口]在本地链路内发送一个到所有DHCPv6服务器和DHCPv6中继(地址:FF02::1:2 端口:547)的多播报文--Solicit;

2、服务器收到该报文后会单播回应Advertise报文;

3、客户端选择服务器之后,发送Request报文请求配置信息;

4、服务器完成参数的分配后即回应Reply报文。

 

 

新的客户端服务端标识,被称之为DUID(DHCP Unique IDentifier);

新的地址参数包含在IA(Identity Association)的选项中,每个DHCPv6客户端关联一个IA,而每个IA中可以包含多个地址以及相关的时间信息;并且根据地址类型的不同生成对应的IA,如:

IA_NA(Identity association for non-temporary addresses,IA中包含的地址是非临时地址)

IA_TA(Identity association for temporary addresses,IA中包含的地址是临时地址)

 

IA_PD(Identity Association for Prefix Delegation)基于前缀的分配,可以通过DHCPv6分配网络前缀,而不仅仅是IPv6的地址,扩展IA的类型就可以将一个前缀以一个地址的形式(时间参数等)分配给客户端

 

M/O 标记

IPv6 主机自动执行无状态地址自动配置,并在相邻路由器发送的路由器公告消息中使用基于以下标记的配置协议(如 DHCPv6):

托管地址配置标记,也称为 M 标记。路由器通告的RA 报文中的管理标记,当M 标志位为1 时,表示链路上的IPv6 主机采用DHCPv6 方式获取IPv6 地址/前缀。其他有状态配置标记 ,也称为 O 标记。路由器通告的RA 报文中的其他配置标记,当O 标志位为1 时,表示链路上的IPv6 主机采用DHCPv6 方式获取除IPv6 地址/前缀以外的其他网络配置参数。

结合 M 和 O 标记的值可以产生以下组合:

M 和 O 标记均设置为 0。 此组合对应不具有 DHCPv6 基础结构的网络。主机使用非链接本地地址的路由器公告以及其他方法(如手动配置)来配置其他设置。

M 和 O 标记均设置为 1。 DHCPv6 用于这两种地址(链接本地地址和其他非链接本地地址)和其他配置设置。该组合称为 DHCPv6 有状态,其中 DHCPv6 将有状态地址分配给 IPv6 主机。

M 标记设置为 0,O 标记设置为 1。 DHCPv6 不用于分配地址,仅用来分配其他配置设置。相邻路由器配置为通告非链接本地地址前缀,IPv6 主机从中派生出无状态地址。此组合称为 DHCPv6 无状态:DHCPv6 不为 IPv6 主机分配有状态地址,但分配无状态配置设置。

M 标记设置为 1,O 标记设置为 0。 在此组合中,DHCPv6 用于地址配置,但不用于其他设置。因为 IPv6 主机通常需要使用其他设置(如域名系统 (DNS) 服务器的 IPv6 地址)进行配置,所以这是一种不太可能的组合。

类似于 DHCP for IPv4,DHCPv6 基础结构的组件由下列各项构成:请求配置的 DHCPv6 客户端、提供配置的 DHCPv6 服务器、以及 DHCPv6 中继代理(当客户端位于不具备 DHCPv6 服务器的子网上时,它在客户端和服务器之间传递信息)。

 

 

DHCPv6客户端简介

DHCPv6客户端可以自动地从DHCPv6服务器获得前缀空间以及其它配置参数。客户端获取到前缀空间之后,将该前缀空间保存在IPv6的全局前缀空间内,这样这个前缀就可以通过前缀划分分配给其他接口,用来进行前缀通告等。

DHCPv6的客户端是基于接口的,获取到的相关参数也是基于接口的,比如域名服务器,SNTP服务器,在对应的接口网络协议不通时,相关的配置也会自动失效。

 

这篇关于IPv6地址分配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073152

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

webapp地址

F:\LSP\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文