首页 > 其他分享 >六、IPv6基础知识-地址配置方式

六、IPv6基础知识-地址配置方式

时间:2024-07-27 09:53:55浏览次数:14  
标签:前缀 报文 基础知识 地址 DHCPv6 IPv6 服务器 客户端

1.IPv6地址配置方式

  1. 静态:手工配置静态地址
  2. 动态:
    1. 无状态地址自动配置:基于NDP实现,不需要IPv6地址分配服务器保存和管理每个节点的状态信息
    2. 有状态地址自动配置:基于DHCPv6实现,IPv6地址分配服务器必须保存每个节点的状态信息,并管理这些保存的信息

2.无状态地址自动配置

无状态自动配置过程

  1. PC1根据本地的接口ID自动生成链路本地地址:FE80::1002。
  2. PC1对该链路本地地址进行DAD检测,如果该地址无冲突则可启用,此时PC1具备IPv6连接能力。
  3. PC1发送RS报文,尝试在链路上发现IPv6路由器。
  4. R1发送RA报文(携带可用于无状态地址自动配置的IPv6地址前缀2001:DB8::/64。路由器在没有收到RS报文时也能够主动发出RA报文)。
  5. PC1解析路由器发送的RA报文,获得IPv6地址前缀,使用该前缀加上本地的接口ID生成IPv6单播地:2001:DB8::1002。
  6. PC1对生成的IPv6单播地址进行DAD检测,如果没有检测到冲突,则启用该地址。

 RA报文部分字段

1. M/O bit位
    M表示如何获取IPv6地址前缀,O表示如何获取其他参数
	1. M=1,O=1:主机用DHCPv6来执行地址和其他参数的配置
	2. M=0,O=0:
        对应无DHCPv6设备的网络
        主机通过RA获取前缀信息配置无状态地址
        并且用其他方法(手动配置)配置其他参数
	3. M=0,O=1:用RA获取前缀信息配置无状态地址,用DHCPv6配置其他主机参数
	4. M=1,O=0:DHCPv6仅用于地址配置,不用于配置其他参数
	5. 命令:
		可将M-bit设置为1:
			ipv6 nd autoconfig managed-address-flag
		可将O-bit设置为1:
			ipv6 nd autoconfig other-flag
2. A bit位:
	1. 指示终端设备是否能使用该前缀进行无状态地址自动配置
	2. 使用如下命令将该比特位设置为0: 
        ipv6 nd ra prefix 2001:DB8:: 64 2592000 604800 no-autoconfig 

 可用生存时间和优先存活时间

  1. 当终端获取到前缀并生成IPv6单播地址后,首先进入Tentative状态
  2. 在通过DAD后,该地址将进入Preferred状态,并在Preferred lifetime内保持该状态
  3. 在Preferred状态,终端可以正常收发报文
  4. Preferred lifetime超时后,地址进入Deprecated状态,并在Valid lifetime内保持该状态
  5. 在Deprecated状态,该地址仍然有效,现有的连接可以继续使用该地址,但是无法使用该地址建立新的连接
  6. 当Valid lifetime超时后,地址进入Invalid状态,表示该地址无法继续使用

3.DHCPv6

        支持对客户端分配IPv6前缀、IPv6地址和其他网络配置参数,并记录这些信息,便于网络管理

DHCPv6分类

        1.DHCPv6有状态自动配置

        2.DHCPv6无状态自动配置

        3.DHCPv6 PD(Prefix Delegation,前缀代理)自动配置

DHCPv6角色

        DHCPv6 Client:DHCPv6客户端

                通过与DHCPv6服务器进行报文交互,获取IPv6地址/前缀和其他网络配置参数,完成自身的网络配置。

        DHCPv6 Server:DHCPv6服务器

                负责处理来自客户端或中继的地址分配、地址续租、地址释放等请求,为客户端分配IPv6地址/前缀和其他网络配置参数。

        DHCPv6 Relay:DHCPv6中继

                负责转发来自客户端或服务器的DHCPv6报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。

DHCPv6有状态自动配置

四步交互

  1. DHCPv6客户端发送Solicit消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数。
  2. DHCPv6服务器回复Advertise消息,通知客户端可以为其分配的地址/前缀和网络配置参数。
  3. 如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数。
  4. DHCPv6服务器回复Reply消息,确认将地址/前缀和网络配置参数分配给客户端使用。

两步交互

        适用场景:网络中只存在一台DHCPv6服务器的情况

  1. DHCPv6客户端发送Solicit报文,携带Rapid Commit选项。
  2. DHCPv6服务器接收到Solicit报文后,将会判断
    1. 如果DHCPv6服务器支持快速分配,则直接返回Reply报文,为客户端分配IPv6地址/前缀和其他网络配置参数。
    2. 如果DHCPv6服务器不支持快速分配,则将采用四步交互方式。

DHCPv6无状态自动配置

        DHCPv6服务器为已经具有IPv6地址/前缀的客户端分配除地址/前缀以外的其他网络配置参数,该过程称为DHCPv6无状态自动配置。

前提条件:

        在主机生成链路本地地址并检测无地址冲突后,会首先发起路由器发现过程,即主机发送RS报文,路由器回应RA报文。如果RA报文中M-bit为0,O-bit为1,则表示主机将通过DHCPv6无状态自动配置来获取除地址/前缀外的其他配置参数,如DNS、SIP、SNTP等服务器配置信息等。

交互过程:

  1. DHCPv6客户端以组播的方式向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。
  2. 服务器收到该报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端
  3. 客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置;否则,忽略该参数。

 DHCPv6 PD自动配置

        解决:在一个层次化的网络结构中,手工指定不同层次的IPv6地址配置带来的IPv6地址扩展性不佳和不利于IPv6地址的统一规划管理的问题

        场景:一般用于网络中存在路由器需要继续为下连的IPv6主机分配前缀的场景,实现主机的地址自动配置

  1. DHCPv6客户端发送Solicit报文,请求DHCPv6服务器为其分配IA_NA地址和IA_PD前缀。
  2. DHCPv6服务器回复Advertise报文,通知客户端可以为其分配的IPv6地址和前缀。
  3. 如果客户端接收到多个服务器回复的Advertise报文,则根据Advertise报文中的服务器优先级等参数,选择优先级最高的一台服务器(若服务器优先级一样,则选择带有该客户端需要的配置参数的Advertise报文) ,并向其发送Request报文,请求为其分配地址/前缀。
  4. DHCPv6服务器回复Reply报文,确认将IPv6地址/前缀分配给DHCPv6客户端。
  5. DHCPv6客户端在收到PD前缀后,与终端进行RS/RA报文交互,在RA报文中将携带获取到的PD前缀下发至终端。

 DHCPv6中继工作过程

        当服务器和客户端不在一个网段时,需要使用到DHCPv6中继来完成IPv6地址/前缀和其他网络配置参数的获取。

  1. DHCPv6客户端向所有DHCPv6服务器和DHCPv6中继的组播地址FF02::1:2发送请求报文。
  2. DHCPv6中继收到客户端的报文后,将其封装在Relay-Forward报文的中继消息选项中,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继。
  3. DHCPv6服务器从Relay-Forward报文中解析出DHCPv6客户端的请求,为DHCPv6客户端选取IPv6地址和其他配置参数,并将Relay-Reply报文发送给DHCPv6中继。
  4. DHCPv6中继从Relay-Reply报文中解析出DHCPv6服务器的应答,转发给DHCPv6客户端。

地址/前缀租约更新

 

情况1:

  1. DHCPv6客户端在T1时刻(默认为Preferred Lifetime的1/2)发送Renew报文进行地址/前缀租约更新请求。
  2. 如果DHCPv6客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约。
  3. 否则,DHCPv6服务器回应续约失败的Reply报文,通知DHCPv6客户端不能获得新的租约

情况2:

  1. DHCPv6客户端在T1时刻发送Renew请求更新租约,但是没有收到DHCPv6服务器的回应报文。
  2. DHCPv6客户端在T2时刻,向所有DHCPv6服务器组播发送Rebind报文请求更新租约
  3. 如果DHCPv6客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约。
  4. 否则DHCPv6服务器回应续约失败的Reply报文,通知DHCPv6客户端不能获得新的租约。

 

标签:前缀,报文,基础知识,地址,DHCPv6,IPv6,服务器,客户端
From: https://blog.csdn.net/uzumcc/article/details/140701041

相关文章

  • 猜数字游戏详解(基础知识)
    前言;随着初期编程的学习,是否感觉愈发枯燥无味呢?如果如我所言,那么不妨尝试运行下这个程序,来检验下自己的成果吧。目录1代码2猜数字游戏的实现 1代码#define_CRT_SECURE_NO_WARNINGS//猜数字游戏正式开始#include<stdio.h> #include<stdlib.h> #include<t......
  • MySQL基础知识分享(一)
    写在前面大家好,不知道前面的20题大家写的怎么样,前面分享的20题是SQL中查询的基础题型,这部分被称为DQL部分,是每个学习MySQL必须要学会的部分,下面就让我来介绍MySQL中的其他部分。回顾DQL部分先介绍一下sql语句的语法和执行顺序(序号代表顺序由1~9):select查询列表(7)from......
  • VMware Fusion Pro 虚拟机 免费了附最新版 13.5.2-23775688 下载地址
    VMwareFusionPro可以帮助用户在Mac上安装Windows、Linux等多种操作系统,最重要的是无需重启电脑切换系统,可以和MacOS系统同时运行,就类似于MacOS安装了一个应用。对于家庭用户来说足够简单,对于IT专业人员,开发人员和企业来说足够强大。VMwareFusionPro是一款强大的......
  • 网站IPv6支持率怎么检测?
    在当今数字化的时代,IPv6的推广和应用已经成为网络发展的重要趋势。IPv6拥有更大的地址空间、更高的安全性和更好的性能,对于满足日益增长的网络需求至关重要。对于网站所有者和管理员来说,了解其网站对IPv6的支持率是评估网站性能和兼容性的关键指标之一。网站IPv6支持率怎么检测?1......
  • Python基础知识点(1)基本语句
    基本语句1.if语句if表达式:语句块其中,表达式是一个返回True或False的表达式。如果表达式为True,则执行if下面的语句块;如果为False,则跳过语句块执行下面的语句。2.if…else语句if表达式:语句块1else:语句块2其中,表达式是一个返回True或False的表达式。如果......
  • 软考-软件设计师(1)-计算机基础知识点:进制转换、数据编码、内存编址、串并联可靠性、
    场景软考-软件设计师-计算机基础模块高频考点整理。以下为高频考点、知识点汇总,不代表该模块所有知识点覆盖,请以官方教程提纲为准。注:博客:霸道流氓气质-CSDN博客实现知识点进制转换十进制转二进制除以2,反向取余数,直到商为0终止,转换成其他进制同理二进制转十进制其......
  • 如何获取Asp.NetCore当前启动地址
    在ASP.NETCore中获取当前启动地址,可以通过几种不同的方式来实现,具体取决于你的应用场景和可用的上下文。以下是一些常见的方法:1.使用HttpContext在控制器或中间件中,你可以通过HttpContext对象来获取当前请求的完整URL或主机地址。这是最直接的方法,因为HttpContext提供了对......
  • H3CNE(IP地址与子网划分)
    目录4.1进制转化4.1.1IP地址表示 4.1.2十进制转二进制​编辑4.2IP地址构成4.2.1IP与子网掩码网络部分:用来标识一个网络4.2.2IP寻址与网关概念4.3IP地址分类 4.3.1IP地址类型与其取值范围 4.3.2私网IP地址 4.3.3特殊IP地址4.4子网划分示例1:示例2:......
  • HTTP的相关基础知识
    目录一、概念二、特点三、请求数据的格式四、GET和POST请求区别五、响应数据的格式六、常见HTTP响应头七、响应状态码八、常见的响应状态码一、概念超文本传输协议:规定了浏览器和服务器之间数据传输的规则传输数据的规则:客户端浏览器和服务器之间进行数据交互,传......
  • 单片机基础知识
    一、CPU大致工作原理单片机(MCU)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一......