【IPv6】IPv6有无状态地址分配及IPv6路由

news2024/9/21 16:20:46

IPv6有无状态区分

有状态可控、可管理。有IP地址管理者,能够识别客户端。根据不同客户端分配对应v6地址,客户端和服务器存在租期及续约。
无状态无控、难管理。无IP地址管理者,没人识别客户端。客户端根据网关发送的相同的RA报文内容,自行配置地址

可聚合全球地址分为手动配置和自动配置

手动配置无需多言。

自动配置分为两种情况:有状态和无状态

无状态就是通过路由器网关发送的RA通告中的prefix+EUI64或者是prefix+随机。这个prefixt是肯定在的。然后组成的地址

有状态就是通过DHCP分配

​ 有状态又分为两种:有状态DHCPv6和无状态DHCPv6

有状态DHCPv6就是地址和其他参数如DNS通过DHCP发送。

无状态DHCPv6就是地址通过RA通告获取,其他参数如DNS通过DHCPv6发送。

正文

RA报文中3个关键的FLAG

3XdlJe.png

▷Managed Flag(M flag)

表示是否配置有状态IP。M flag是RA报文的全局参数,一个RA报文只有一个M flag

为on时(对应bit=1):表示在stateless(无状态)流程结束后开始stateful(有状态)流程,等于告诉客户端可以通过DHCPv6来获得v6地址和其他参数(如DNS列表)

为Off是(对应bit=0):表示不通过DHCPv6来获得v6地址

▷Other flag(O flag)

表示是否通过DHCPv6来获得除IP以外的其他参数(如DNS列表)。一个RA报文也只有一个 A flag。注:仅当M flag为off时,该参数才会被读取。

为on时(对应bit=1):当M flag为on,或者M为off且至少有一个A flag为on时,将通过DHCPv6获取其他参数

为off时(对应bit=0):当M flag为on,依然通过DHCPv6获取其他参数;当M=off时,则不通过DHCP获取其他参数。

▷Autonomous flag(A flag)

表示是否配置无状态化IP。在一个RA报文中,可存在多个prefix,例如2401::/64或2402::/64等等,每个Prefixt都可以独立配置A flag

为on时(对应bit=1):表示客户端应当在该prefix范围内自动生成v6地址(客户端通过DAD自行保证地址可用)并配置子网路由条目和网关。

为Off是(对应bit=0):表示客户端不应当在该prefix范围内自动生成v6地址,但是可以配置子网路由条目和网关。

测试内容:测试M、O、A flag在所有排列组合的情况下

▪ 客户端是否会通过RA报文配置无状态IP

▪ 客户端是否会通过RA报文配置prefix子网路由

▪ 客户端是否会通过RA报文配置gateway

▪ 客户端是否会通过DHCPv6获得有状态IP

▪ 客户端是否会通过DHCPv6获得DNS

3XDPmR.png

从图中可知,在M值on有和A值有的情况,你O值有无都不影响。

M,A=on那么都后续都是Yes 上述的情况都是会

A值=foo导致RA IP为N。M=off导致DHCPv6 IP为没有。如果M和O都=0 那么ip和DNS都没有。

应用场景(状态的选择)

何时采用无状态、何时采用有状态,关键看应用场景。核心在于是否需要控制IP地址,比如保持IP不变,如果需要控制,就采用有状态如果无需控制,就采用无状态。

▷ 服务端领域:如对外提供服务,通常需要采用有状态IP。因为业务IP的突然变化容易导致业务中断(除非做好服务发现)

▷ 客户端领域:如移动设备、办公室内PC机,只需要上IPv6互联网,并不需要对外提供服务,可以采用无状态IP


IPv6静态路由配置

静态路由写法 三种

1)直连静态路由 不推荐多路访问中使用,会出问题

例:ipv6 route 2022::2/64 s1/1

说明:到达目标网络2022::2/64的数据包从接口s1/1发出。

2)递归静态路由 多环境适用

例:ipv6 route 2022::2/64 2012:1:1:1::1/64

说明到达目标网络2022:2:2:22::/64 的数据包发给下一跳地址2012:1:1:1::1

3)完全静态路由 出接口为多路访问 并且需要明确下一跳地址时

例:ipv6 route 2022::2/64 s1/1 2012:1:1:1::1/64

说明:到达目标网络2022::2/64的数据包从s1/1发出,并且交给下一跳地址2012:1:1:1::1/64

静态路由配置

!3XhFY9.png

需求:通过配置静态路由,使得双方都能ping痛回环口地址。由于是多路访问接口,所以不采用第一种直连静态路由配置方法。

R1初始配置: 记得配置完地址后去ping一下

R1(config)#ipv6 unicast-routning  开启 IPV6 路由功能
R1(config)#int e0/0
R1(config-if)#ipv6 address 2012::1/64
R1(config-if)#no shutdown
R1(config)#int l0
R1(config-if)#ipv add 2011:1:1:11::1/64

R2初始配置 show ipv int br是查看v6的地址配置情况的

R2(config)#ipv6 unicast-routning  开启 IPV6 路由功能
R2(config)#int e0/0
R2(config-if)#ipv6 address 2012::2/64
R2(config-if)#no shutdown
R2(config)#int l0
R2(config-if)#ipv add 2022:2:2:22::2/64

递归静态路由配置

ipv6 route 2022:2:2:22::2/64 2012::2

这个时候R1能够访问R2的loopback了 然后你再R2也配置镜像的就行。静态路由也不需要多讲。

IPv6 RIP(RIPng)

v6的RIP规则于v4 RIPv2基本相同,不同之处是IPv4 RIPv2采用UDP520,而v6采用UDP 521。v4中RIPv2地址采用224.0.0.9 在v6中是 FF02::9

配置RIPng的方法不同于v4那样,RIPng是采用先配置进程,然后选择让那些接口运行在RIPng下,就必须到相应的接口下明确确定。并不像v4那样,直接在进程中发布。

3XWe91.png

R1初始配置: 这里R1和R2的地址我不想改图片了,它们互联接口地址和静态路由案例的地址一样

1、初始化配置

R1初始化配置

R1(config)#ipv6 unicast-routning
R1(config)#int e0/0
R1(config-if)#no shutdown
R1(config-if)#ipv6 address 2012::1/64
R1(config)#int l1
R1(config-if)#ipv add 3001::1/64
R1(config)#int l2
R1(config-if)#ipv add 3002::1/64
R1(config)#int l3
R1(config-if)#ipv add 3003::1/64

R2初始配置

R2(config)#ipv6 unicast-routning
R2(config)#int e0/0
R2(config-if)#ipv6 address 2012::2/64
R2(config-if)#no shutdown
R2(config)#int l0
R2(config-if)#ipv add 2022::2/64

2、RIPng配置

R1(config)# ipv6 router rip ZHY #CZHY名字,思科IOS最多支持4个RIPng,进程名仅本地有效
R1(config-rtr)#exit #RIPng主要配置方式是先开启进程,然后将接口确定到这里
R2(config)# ipv6 router rip ccZHYR2(config-rtr)#exit 

配置RIPng接口

R1(config)# int e0/0
R1(config-if)# ipv6 rip ZHY enable
R1(config)# int l1
R1(config-if)# ipv6 rip ZHY enable
R2(config)# int e0/0
R2(config-if)# ipv6 rip ZHY enable
R2(config)# int l0
R2(config-if)# ipv6 rip ZHY enable

这样就配置好了,具体的效果我就不拿出来了,RIP和静态路由,没啥好说的。

3、重分发配置

R1(config)#route-map zhy per 10
R1(config-route-map)#match int l2
R1(config-route-map)#exit
R1(config)#route-map zhy per 20
R1(config-route-map)#match int l3
R1(config-route-map)#exit
R1(config)#ipv6 router rip ZHY
R1(config-rtr)#redistribute connected route-map ZHY

原先路由表

R2#show ipv route
IPv6 Routing Table - default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
       IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, la - LISP alt
       lr - LISP site-registrations, ld - LISP dyn-eid, a - Application
C   2012::/64 [0/0]
     via Ethernet0/0, directly connected
L   2012::2/128 [0/0]
     via Ethernet0/0, receive
C   2022::/64 [0/0]
     via Loopback0, directly connected
L   2022::2/128 [0/0]
     via Loopback0, receive
R   3001::/64 [120/2]
     via FE80::A8BB:CCFF:FE00:1000, Ethernet0/0
L   FF00::/8 [0/0]
     via Null0, receive

重分发之后的路由表

R2#show ipv route
IPv6 Routing Table - default - 8 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
       IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, la - LISP alt
       lr - LISP site-registrations, ld - LISP dyn-eid, a - Application
C   2012::/64 [0/0]
     via Ethernet0/0, directly connected
L   2012::2/128 [0/0]
     via Ethernet0/0, receive
C   2022::/64 [0/0]
     via Loopback0, directly connected
L   2022::2/128 [0/0]
     via Loopback0, receive
R   3001::/64 [120/2]
     via FE80::A8BB:CCFF:FE00:1000, Ethernet0/0
R   3002::/64 [120/2]
     via FE80::A8BB:CCFF:FE00:1000, Ethernet0/0
R   3003::/64 [120/2]
     via FE80::A8BB:CCFF:FE00:1000, Ethernet0/0
L   FF00::/8 [0/0]
     via Null0, receive

4、过滤配置

配置IPv6路由过滤采用distribute-list

配置只保留3002网段,也就是说l1和l3的都被deny。

R2(config)#ipv6 prefix-list ZHY permit 3002::1/64
R2(config)#ipv6 router rip ZHY
R2(config-rtr)#distribute-list prefix-list ZHY in e0/0

**注:**ipv6的 prefix-list同样支持ge , le等关键字来匹配范围。

清空路由表R2#clear ipv rip 后的路由表

R2#show ipv route
IPv6 Routing Table - default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
       IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, la - LISP alt
       lr - LISP site-registrations, ld - LISP dyn-eid, a - Application
C   2012::/64 [0/0]
     via Ethernet0/0, directly connected
L   2012::2/128 [0/0]
     via Ethernet0/0, receive
C   2022::/64 [0/0]
     via Loopback0, directly connected
L   2022::2/128 [0/0]
     via Loopback0, receive
R   3002::/64 [120/2]
     via FE80::A8BB:CCFF:FE00:1000, Ethernet0/0
L   FF00::/8 [0/0]
     via Null0, receive

IPv6 OSPF(OSPFv3)

OSPFv3与OSPFv2(IPv4 OSPF)的原理都是相同的,OSPFv3选举Router-ID的规则与OSPFv2相同,OSPFv3也是选择路由器上的IPv4地址作为Router-ID,如果设备上没有配置IPv4地址,那么必须手工指定Router-ID。在配置OSPFv3时,先配置进程,然后需要让哪些接口运行在OSPFv3下,就必须到相应的接口下明确指定,并不像OSPFv2那样在进程下通过network来发布。

IPv6 6to4Tunnel

手工配置

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

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

相关文章

path/to/sdkmanager --install “cmdline-tools;latest“

执行flutter doctor时、报错Android Studio的命令行工具没有安装& 以及 android-licenses没有同意 其中提示错误语句如标题: path/to/sdkmanager --install "cmdline-tools;latest"之类的, 因为同意条款的时候,日志太多,所以把报错覆盖了.没有截图. 解决方法: …

一个简单的servlet+Jsp+MySQL/Oracle程序

一个简单的servletJspMySQL/oracle程序 1. 创建项目 使用 IDEA 创建一个 Maven 项目. 1.1、File -> New Project Name:javaservlet4 Location:选择要存放的路径 Language:Java Build system:Maven 点击Create按钮 ​​​​​​​1.2、Pom.xml配置 <dependencies…

整数在内存中的存储:原码、反码、补码 大小端字节序

本篇博客会讲解整数在内存中的存储形式&#xff0c;以及整数二进制的3种表示形式&#xff1a;原码、反码、补码&#xff0c;还有大小端的相关知识点。相信读完本篇博客&#xff0c;大家对内存的了解会上一个台阶。 注意&#xff1a;本篇博客讨论的是整数在内存中的存储&#x…

【五一创作】【数学建模】matlab的常用函数运用(1)

文章目录 1. matlab基本常识2. 常用输入输出函数2.1 输出函数2.2 拼接函数&#xff08;字符串的合并&#xff09;2.3 输入函数 3. 求和函数3.1 向量求和3.2 矩阵求和 4. 提取矩阵元素4.1 取第x行第y列的元素4.2 取指定行或列的所有元素4.3 取指定某些行的所有元素 1. matlab基本…

MongoDB聚合操作

文章目录 一、单一聚合二、聚合管道2.1 $match / $project / $count2.2 $limit / $skip / $sort2.3 $group 分组查询2.4 $unwind 展开数组2.5 $lookup 左外连接2.6 $bucket 存储桶 三、MapReduce 提示&#xff1a;以下是本篇文章正文内容&#xff0c;MongoDB 系列学习将会持续更…

域名解析出现错误,该如何解决?

域名作为网络地址&#xff0c;是我们访问网站的必经之路&#xff0c;域名解析就是把你的域名解析成一个ip地址&#xff0c;在使用的过程中遇到域名解析文件异常也是常有的事。如果域名解析出现错误&#xff0c;该怎么解决呢&#xff1f; 一、打开网页时&#xff0c;显示域名解析…

Redis主从复制、哨兵实战

环境&#xff1a;linux centos7.x &#xff0c;虚拟机3台 版本&#xff1a;redis-6.2.6 1.下载安转redis 下载地址 wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压 tar -zxvf redis-6.2.6.tar.gz移动目录 mv redis-6.2.6 /usr/local/redis编译 cd /usr/…

【GORM框架】ORM介绍、GORM简单连接和高级配置详解

博主简介&#xff1a;努力学习的大一在校计算机专业学生&#xff0c;热爱学习和创作。目前在学习和分享&#xff1a;数据结构、Go&#xff0c;Java等相关知识。博主主页&#xff1a; 是瑶瑶子啦所属专栏: GORM框架学习 近期目标&#xff1a;写好专栏的每一篇文章 目录 一、简介…

配准带尺度点云的方法汇总

如果点集之间不存在缩放关系时(即尺度相同时), 可以用经典ICP( Iterative Closest Point )方法求解得到旋转矩阵R和平移向量t来进行点集对齐。 如果存在缩放关系时&#xff0c;首先估计出点集S1和S2之间的缩放倍数s, 我们就可以利用ICP算法求解。 一、尺度因子s是两个点集中线…

HashSet底层原理

特点&#xff1a;无序、不可重复 LinkedHashSet 有序、可重复&#xff08;底层通过双向链表的方式记录元素的存储顺序&#xff09; HashSet底层数据结构是哈希表 jdk1.8之前&#xff1a;哈希表组成&#xff1a;数组 链表 jdk1.8之后&#xff1a; 数组 链表 红黑树 存储…

Flutter 组件抽取:日期(DatePicker)、时间(TimePicker)弹窗选择器【仿照】

简介 仿照《Flutter 仿ios自定义一个DatePicker》实行的日期弹窗选择器&#xff08;DatePicker&#xff09;、时间弹窗选择器&#xff08;TimePicker&#xff09; 效果 范例 class _TestPageState extends State<TestPage> {overridevoid initState() {super.initStat…

Java笔记_15(集合三)

Java笔记_15 一、创建不可变集合1.1、创建不可变集合的应用场景1.2、创建不可变集合的书写格式 二、Stream流2.1、体验Stream流2.2、Stream流的思想和获取Stream流2.3、Stream流的中间方法2.4、Stream流的终结方法2.5、收集方法collect 一、创建不可变集合 不可变集合&#xf…

山东省2023年春季高考技能测试电子技术类专业试题

注意事项 1.本试题为样题&#xff0c;实际测试试题与样题基本一致&#xff0c;不同场次试题电路装配要求会有变化&#xff0c;请考生仔细审题。 2.严禁考生私自送电&#xff0c;严禁带电操作&#xff08;通电调试除外&#xff09;。 3.考生要服从监考人员安排&#xff0c;遵…

【python入门篇】安装python教程

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; Python入门&#xff0c;本专栏主要内容为Python的基础语法&#xff0c;Python中的选择循环语句…

【GPT】AutoGPT 安装使用完全教程

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中** 【GPT】AutoGPT 安装使用完全教程 【GPT】AutoGPT 安装使用完全教程1. AutoGPT 介绍1.1 AutoGPT 简介1.2 AutoGPT 的工作流程 2. 下载 AutoGPT 项目源码2.1 GitHub 下载项目源码2.2 网页下载稳定版源码 3. A…

数据结构(六)—— 二叉树(1)基础

文章目录 前言一、二叉树1.1 满二叉树1.2 完全二叉树1.3 二叉搜索树1.4 平衡二叉搜索树 二、二叉树的遍历2.1 深度优先遍历&#xff08;DFS&#xff09;2.2 广度优先遍历&#xff08;BFS&#xff09; 三、二叉树的代码定义 前言 提示&#xff1a;这里可以添加本文要记录的大概…

学习路线之白银5

init background 这个阶段你就要开始正式学习c了&#xff0c; 并且了解一些常用的git操作。 C 理解程序的编译流程&#xff0c;并映射到gcc和头文件的使用中。区分头文件&#xff0c; 源码等之间的关系理解编译工具的基本使用简单掌握基本的类和函数等常见语法&#xff0c;…

MapSet

在之前数据结构的学习中&#xff0c;对于数据的查找都是基于给定一个值&#xff0c;通过和序列中的关键字比较而实现的。因此这样的查找效率一般都是更依赖于比较的次数&#xff0c;像直接遍历或二分查找都是如此。而如果我们可以不经过任何比较&#xff0c;只是通过记录的关键…

外链跳转页功能分析与实现

一个大型的正规网站&#xff0c;增加一个 外链中转页 是有必要的。合理的交互设计&#xff0c;不仅能有效保障用户体验&#xff0c;又能帮助网站收集外链数据&#xff0c;优化运营管理。 目录 1、为什么使用跳转页面来管理外链 1.1、安全性 1.2、搜索引擎优化 1.3、外链数据…

JVM学习(九):堆

一、堆&#xff08;Heap&#xff09;的概述 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建&#xff0c;其空间大小也就确定了。是JVM管理的最大一块内存空间。同时&#xff0c;堆内存的大小是可以调节的。《Java虚拟…