获取IPv6地址的三种方式

DHCPv6无状态自动分配IP地址

Server 配置:

<Huawei>system-view[Huawei]ipv6[Huawei]dhcp enable[Huawei]dhcpv6 pool pool1[Huawei-dhcpv6-pool-pool1]dns-server 2002::2[Huawei-dhcpv6-pool-pool1]dns-domain-name example.com[Huawei-dhcpv6-pool-pool1]quit[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address 2001::1/64[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt //开启RA,通过无状态获取IPV6地址[Huawei-GigabitEthernet0/0/0]ipv6 nd autoconfig other-flag //开启DHChv6获去除IPV6地址的其他信息(例如dns)[Huawei-GigabitEthernet0/0/0]dhcpv6 server pool1

Client配置:

<Huawei>system-view[Huawei]ipv6[Huawei]dhcp enable[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address auto global[Huawei-GigabitEthernet0/0/0]dhcpv6 client information-request[Huawei-GigabitEthernet0/0/0]quit

服务器的地址分配模式 display ipv6 interface g0/0/0

DHCPv6客户端获取的信息,查看display dhcpv6 client。

客户端路由表

验证client与Server的连通

DHCPv6无状态地址分配的工作流程

Wireshark抓包IP地址分配过程:

1.主机发送‌路由器请求报文(RS)‌(目的地址FF02::2,IPv6路由器的组播地址),主动请求网络前缀信息。

2. 路由器回应‌路由器通告报文(RA)‌(目的地址FF02::1,所有节点的组播地址),其中包含:

        网络前缀(如2001:db8::/64)

        O标志位(Other-config-flag)设置为

        M标志位(Managed-flag)设置为0 。

        主机根据RA报文中的前缀,结合自身接口标识符(如EUI-64算法生成的64位后缀)自动生成全局IPv6地址(2001::2E0:FCFF:FE91:F324/64)。

主机检测到RA报文的 ‌O标志位=1‌ 后,自动触发DHCPv6无状态流程 。

3. 主机以组播方式(目的地址FF02::1:2,DHCPv6服务器/中继的组播地址)发送 ‌Information-request报文‌,携带Option Request选项(指定所需参数,如DNS服务器地址)。客户端已通过SLAAC获取IPv6地址,但需要额外配置(DNS)。

4. DHCPv6服务器收到请求后,单播回复 ‌Reply报文‌,包含请求的网络配置参数(如DNS服务器地址、域名、SNTP服务器地址等),但‌不分配IPv6地址‌。

主机验证Reply报文参数有效性后,应用这些配置信息。

小结

ICMPv6 RA flags标志位的含义:

        M和O都置位0(手工配置地址);

        O置位1,表示其他参数由dhcpv6获取(dhcpv6无状态);

        只要M置位1、O置位0或1,都表示所有参数由dhcpv6获取(dhcpv6有状态)。

---------------------------------------------------------------------------------------------------------------------------------

DHCPv6有状态自动分配IP地址 

Server端配置:

<Huawei>sys[Huawei]ipv6[Huawei]dhcp enable[Huawei]dhcpv6 pool pool1[Huawei-dhcpv6-pool-pool1]address prefix 2001::/64[Huawei-dhcpv6-pool-pool1]excluded-address 2001::1 to 2001::100[Huawei-dhcpv6-pool-pool1]dns-server 2001::1[Huawei-dhcpv6-pool-pool1]dns-domain-name test.com[Huawei-dhcpv6-pool-pool1]quit[Huawei]int g0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address 2001::1/64[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt[Huawei-GigabitEthernet0/0/0]ipv6 nd autoconfig managed-address-flag[Huawei-GigabitEthernet0/0/0]ipv6 nd autoconfig other-flag[Huawei-GigabitEthernet0/0/0]dhcpv6 server pool1[Huawei-GigabitEthernet0/0/0]quit

Client端配置:

<Huawei>sys[Huawei]ipv6[Huawei]dhcp enable[Huawei]interface GigabitEthernet0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local[Huawei-GigabitEthernet0/0/0]ipv6 address auto dhcp[Huawei-GigabitEthernet0/0/0]ipv6 address auto global default[Huawei-GigabitEthernet0/0/0]quit

验证配置

服务器端查看地址池分配状态,display dhcpv6 pool pool1

分别查看Server端的IP地址分配情况,IP地址池,和DHCPv6 Server接口绑定情况。

客户端,验证获取的全局地址,display ipv6 interface brief

客户端ping 服务器端,能够ping通。

DHCPv6有状态自动分配地址工作步骤

工作流程图:

抓包工作流程:

1. RS

客户端主动请求路由器的配置信息。

2. RA

服务器回应客户端网络参数和地址分配方式。

3. Solicit

DHCPv6客户端发送Solicit报文,请求DHCPv6服务器为其分配IPv6地址和网络配置参数。

4. Advertise

DHCPv6服务器回复Advertise报文,可以为客户端分配的IPv6地址以及其他网络配置参数。

5. Request 

DHCP客户端回应服务器,请求分配IP地址和其他网络参数(DNS等)。

6. Reply 

DHCPv6服务器回复Reply报文,确定将IPv6地址和网络配置参数给客户端使用。

---------------------------------------------------------------------------------------------------------------------------------

ipv6常规无状态地址自动配置

Server配置:

<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]ipv6 #开启路由器ipv6报文转发功能[Huawei]inter[Huawei]interface giga[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable #开启路由器接口IPv6报文转发[Huawei-GigabitEthernet0/0/0]ipv6 address 2002::1/64  #配置接口的全球单播IPv6地址[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt #开启发送RA报文,默认是关[Huawei-GigabitEthernet0/0/0][Huawei-GigabitEthernet0/0/0]quit

Client配置:

<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]ipv6[Huawei]inter[Huawei]interface giga[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address auto global # client只需要接收Server推送的前缀即可[Huawei-GigabitEthernet0/0/0]quit

验证配置成功

Server:display ipv6 interface GigabitEthernet 0/0/0查看接口的ipv6地址的前缀。

Client:display ipv6 interface GigabitEthernet 0/0/0查看该端口是否有获取到与服务端R1相连的端口地址前缀长度(即为2003::)

Client ping server:能够正常ping通

路由表

抓包分析 - 工作原理

SLAAC抓包

1. 客户端发起请求(Router Solicitation, RS)。

client(AR2-client)启动后,主动发送Router Solicitation,请求本地路由器配置信息(如前缀)。[RS报文(Type: 133)]

2.服务器响应宣告(Router Advertisement, RA)。

[No.4报文] RA报文是对Frame 3(Router Solicitation)的响应,通过Autonomous address-configuration flag(A): Set 1标志启用无状态地址分配(SLAAC)。

标志位‌:

M位=0:表示地址不由DHCPv6分配(纯SLAAC)。

O位=0:若为1,则DNS等参数需通过DHCPv6获取(无状态DHCPv6结合)。

3. 客户端生成地址并验证。

客户端执行重复地址检测(DAD):客户端发送Neighbor Solicitation(NS)报文到新地址的目标组播组,若未收到响应,则确认地址可用。

4. 地址生效与通信。

地址通过验证后,客户端将其配置为全局单播地址,默认路由指向路由器(源RA中的网关地址)。

5. client ping Server,验证能够ping通。

小结:

RS-RA-NS-NA(133-134-135-136)

  1. Client请求本地路由器前缀信息
  2. Server响应前缀(Prefix)、M/O标志位
  3. Client DAD地址冲突检测
  4. Server确认地址唯一性。

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

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

相关文章

[Oracle数据库] Oracle 复杂查询

对于刚接触 Oracle 数据库的初学者来说&#xff0c;简单查询&#xff08;如SELECT * FROM 表名&#xff09;可能不难掌握&#xff0c;但面对复杂业务场景时&#xff0c;就需要更强大的查询能力。本文将围绕 Oracle 复杂查询的核心知识点展开&#xff0c;包括条件逻辑、分组函数…

Redis-plus-plus API使用指南:通用操作与数据类型接口介绍

&#x1f351;个人主页&#xff1a;Jupiter.&#x1f680; 所属专栏&#xff1a;Redis 欢迎大家点赞收藏评论&#x1f60a;目录通用 API连接 Redis1. get/set2. exists 方法3. del 方法4. keys 方法5. expire 方法6. ttl 方法7. type 方法8. flushall 方法String 类型 API1. ge…

基于遗传编程的自动程序生成

这里写目录标题核心概念与工作原理1. 个体表示&#xff1a;树结构2. 初始化种群3. 适应度评估4. 选择5. 遗传操作&#xff08;繁殖&#xff09;6. 新一代种群形成7. 终止条件基于遗传编程的符号回归示例问题示例GP实现符号回归&#xff08;Deap&#xff09;GP实现符号回归&…

flowable汇总查询方式

背景&#xff1a;小程序开发申请流程。使用flowable流程框架。用户需要在后台统揽用户申请的汇总表。 设计思路&#xff1a;通过查询流程实例分页查询获取数据&#xff0c; 其中可以通过查询条件进行查询&#xff0c;查询条件是流程申请时添加到流程变量当中的&#xff0c;方便…

力扣438:找到字符串中所有的字母异位词

力扣438:找到字符串中所有的字母异位词题目思路代码题目 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 思路 我们先不看异位词这个条件&#xff0c;如何在字符串s中找到字符串p。我们可以…

ruoyi-vue(十一)——代码生成

大部分项目里其实有很多代码都是重复的&#xff0c;几乎每个基础模块的代码都有增删改查的功能&#xff0c;而这些功能都是大同小异&#xff0c; 如果这些功能都要自己去写&#xff0c;将会大大浪费我们的精力降低效率。所以这种重复性的代码可以使用代码生成。一 代码生成使用…

neo4j导入导出方法

在 Neo4j 中&#xff0c;如果需要将数据从 一个环境导出&#xff0c;再 导入到另一个环境&#xff08;如从开发环境迁移到生产环境&#xff09;&#xff0c;可以通过以下方法实现&#xff1a;方法 1&#xff1a;使用 neo4j-admin 导出和导入&#xff08;完整数据库迁移&#xf…

Diamond基础2:开发流程之LedDemo

文章目录1.关联VS Code2.Diamond工程目录3.Led Demo开发流程4.烧写bit文件5.传送门1.关联VS Code 和Vivado一样&#xff0c;Diamond也可以使用第三方的编辑器&#xff0c;VS Code编辑器因为可以安装各种插件&#xff0c;并且对verilog开发的支持也算完善&#xff0c;所以很受欢…

Golang 后台技术面试套题 1

文章目录1.网络1.1 浏览器从输入网址到展示页面&#xff0c;描述下整个过程&#xff1f;1.2 HTTP 502&#xff0c;503 和 504 是什么含义&#xff1f;区别以及如何排查&#xff1f;1.3 HTTPS 通信过程为什么要约定加密密钥 code&#xff0c;用非对称加密不行吗&#xff1f;1.4 …

【科研绘图系列】R语言绘制蝶形条形图蝶形柱状堆积图

文章目录 介绍 加载R包 数据下载 导入数据 数据预处理 画图 系统信息 参考 介绍 【科研绘图系列】R语言绘制蝶形条形图&蝶形柱状堆积图 加载R包 library(tidyverse) library(ggsignif) library(RColorBrewer) library(dplyr) library(reshape2) library(grid

Jeecg后端经验汇总

Jeecg是一个不错的低代码平台&#xff0c;极大的降低了很多开发人员接私活的难度&#xff0c;也极大的降低了开发全套功能的难度。但是一码归一码&#xff0c;开发人员的水平很一般&#xff0c;如下&#xff1a;&#xff08;1&#xff09;普通用户可以修改管理员密码&#xff0…

ethernet_input到应用层处理简单分析

1、驱动层&#xff1a;从硬件读取数据并构造pbuf中断触发后&#xff0c;驱动层的接收任务&#xff08;或轮询函数&#xff09;会从网卡硬件读取数据&#xff0c;并将其封装为 LWIP 可识别的pbuf结构体&#xff08;LWIP 的数据缓冲区&#xff09;。关键函数&#xff1a;驱动自定…

C#WPF实战出真汁05--左侧导航

1、左侧导航设计要点清晰的信息架构 确保导航结构层次分明&#xff0c;主分类与子分类逻辑清晰&#xff0c;避免过度嵌套。使用分组、缩进或分隔线区分不同层级&#xff0c;保持视觉可读性。直观的图标与标签 为每个导航项搭配简洁的图标&#xff0c;强化视觉识别。标签文字需简…

大模拟 Major

题目来源&#xff1a;2025 Wuhan University of Technology Programming Contest 比赛链接&#xff1a;Dashboard - 2025 Wuhan University of Technology Programming Contest - Codeforces 题目大意&#xff1a; 模拟 16 支队伍的瑞士轮比赛结果&#xff0c;规则太多&…

【手撕JAVA多线程】1.从设计初衷去看JAVA的线程操作

目录 前言 概述 主动阻塞/唤醒 代码示例 实现 为什么必须在同步块中使用 计时等待是如何实现的 被动阻塞/唤醒 为什么要有被动阻塞/唤醒 实现&#xff08;锁升级&#xff09; 前言 JAVA多线程相关的内容很多很杂&#xff0c;但工作中用到的频率不高&#xff0c;用到…

UE5多人MOBA+GAS 46、制作龙卷风技能

文章目录创建龙卷风GA创建蒙太奇创捷一系列GE添加数据表添加到角色中创建龙卷风GA GA_Tornado 添加标签 // 龙卷风冷却CRUNCH_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Ability_Tornado_Cooldown)// 通用技能伤害CRUNCH_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Ability_Generic_Dama…

如何在ubuntu下安装libgpiod库

以下是关于如何在ubuntu下安装libgpiod库的两种安装方式以及遇到ubuntu存在多个工具链导致编译失败的解决方法。如果想要自由选择使用不同版本的libgpiod&#xff0c;可以选择手动编译安装方式&#xff0c;系统安装默认1.6.3版本(ubuntu22.04)。手动编译安装1、在github上下载要…

qt vs2019编译QXlsx

1、安装ActivePerl2、打开pro文件&#xff0c;直接编译即可第一个简单实例&#xff1a;#include "xlsxcellrange.h" #include "xlsxchart.h" #include "xlsxchartsheet.h" #include "xlsxdocument.h" #include "xlsxrichstring.h…

计算机存储器分类和层次结构详解

存储器是计算机系统的核心部件之一&#xff0c;其核心功能是存储程序&#xff08;指令&#xff09;和数据&#xff0c;是冯诺依曼体系结构“存储程序”概念的物质基础。它直接关系到计算机系统的性能、容量和成本。 存储器核心内容总览表分类维度存储器层级技术实现速度容量成本…

通过rss订阅小红书,程序员将小红书同步到自己的github主页

title: 通过rss订阅小红书&#xff0c;程序员将小红书同步到自己的github主页 tags: 个人成长 categories:杂谈最近在做一些新的尝试&#xff0c;把文本的内容转化为漫画和图片&#xff0c;方便大众阅读&#xff0c;恰好小红书很适合分发这些内容&#xff0c;于是我开通了小红书…