网络协议详解--IPv6
IPv6产生背景
(1)地址空间的耗尽:因特网呈指数级发展,导致IPv4地址空间几乎耗尽。虽然采用了子网划分、CIDR和NAT地址转换技术,但这没有从根源解决地址耗尽的问题
(2)IP层安全需求的增长:IPv4设计时没有考虑到安全的问题。虽然现在IPSec协议可以提供对IPv4数据包的安全保护,但协议只是个可选选项。目前企业之间还是使用各自私有的安全方案
(3)更好的实时QoS支持的需求:在IPv4的首部中包含服务类型字段(TOS),但是在实际使用上,并没有真正的使用。
实际上,就是随着时代的发展,IPv4没有地址给人人们上网了,所以出来的IPv6。但现在的主流还是IPv4
IPv6的特点
与IPv4相比,IPv6由以下特点
(1)新的首部格式:简化为固定的40字节,去掉了在IPv4首部的一些不必要的字段,并将一些可选字段放在了IPv6首部后面的扩展首部中。
(2)巨大的地址空间:IPv6的地址从IPv4的32比特增大到128比特,地址空间为2的128次方
(3)层次化的地址结构:相比较于IPv4地址,IPv6地址的分配更加规范,利于路由聚合(缩减IPv6路由表规模)、路由快速查询
(4)即插即用:IPv6支持无状态地址自动配置(SLAAC),终端接入更加简单
(5)安全特性:IPsec、真实源地址认证等保证端到端安全;避免NAT破坏端到端通信的完整性
(6)增强的QoS特性:额外定义了流标签字段,可谓应用程序或者终端所用,针对特殊的服务和数据流,分配特定的资源
IPv6的地址
地址格式
IPv6的128比特位分为8组,每组16比特,每组写成十六进制数的形式,组与组之间用冒号分开,称为冒号十六进制法,如(2001:0DB8:85A3:08D3:1319:8A2E:0270:7344)
优化写法:
(1)在每一组的十六进制数中,前面的数字都是0的话,就可以将这些0省略掉。如一组0002,可以省略记为2
(2)如果一组全为0或多组连续全0,则可以用一对 “ :: ” 来代替。如(2001:0DB8:0000:0000:85A3...)可以省略为(2001:0DB8::85A3...)。注:这种方法只能使用一次
单播地址
所有格式前缀不是组播格式前缀(1111 1111)的IPv6地址都是IPv6单播格式(任播格式和单播格式相同)。IPv6单播地址和IPv4单播地址一样可聚合
(1)全局单播地址(Global Unicast Address):以2000::/3开头
- IPv6的全球单播地址和任播地址的格式相同
- 使用全球路由前缀,这是一种能向上聚合,最终到达ISP的结构
- 单个接口可分配多个任意类型的地址(单播、组播、任播)
- 单个支持IPv6的接口至少含有一个环回地址(::1/128)和一个本地链路地址
- 每个接口可选择性的拥有多个唯一的本地地址和全球地址
(2)链路本地地址(Link-Local Unicast Address): 以FE80::/10开头
- 链路本地地址的范围限制在链路之内,在IPv6接口上通过使用指定的链路本地地址前缀(FE80::/10)和64位接口标识符动态创建
- 链路本地地址用于自动地址配置、邻居发现和路由器发现
- 链路本地地址可连接相同本地网络的设备,而且无需全球地址
- 使用链路本地地址通信时,因每个接口都连接到FE80::/10,所以必须指定传出接口
(3)本地站点地址(Site-Local Unicast Address,已废弃):以FEC0::/10开头
早期用于在组织内部进行数据通信,但后来被唯一本地地址(Unique-Local Address)所取代
(4)唯一本地地址(Unique-Local Address):
- 尽管唯一本地地址仅在本地网络中使用,但它们是通过一种机制生成的,以确保在全球范围内的唯一性。这避免了在不同网络之间出现地址冲突的可能性。
- 唯一本地地址在全局IPv6网络上是不可路由的,这意味着它们不会被路由到互联网上的其他部分。这有助于保护本地网络的隐私和安全。
- 唯一本地地址以FC00::/7作为固定前缀,进一步细分为FC00::/8(保留)和FD00::/8(实际使用)。其中,FD00::/8是实际用于分配的唯一本地地址空间。
其他地址
在单播中还有一些地址,如:保留地址(由IETF使用)、环回地址(::1/128)、未指定地址(::/128)
任播地址
IPv6任播地址格式和单播地址格式相同,用来标识一组接口的地址。一般这些接口粟裕不同的节点,发往任播地址的报文被发送到这组接口中与其最近的接口
- 任播地址与多播地址类似,多个节点共享一个任播地址,但只有一个节点期待接收给任播地址的数据报。
- 任播使一种到最近节点的发现机制成为可能,对于客户机和服务器之间不需要有特定关系的一些服务特别有用,如域名服务器和时间服务器。
组播地址
IPv6中没有广播,用组播代替
- ff00::/8:表示组播地址范围
- 主要组播地址包括:
- ff02::1:所有节点地址,发送到该地址的数据包会被本地链路上的所有节点接收
- ff02::2:所有路由器地址,发送到该地址的数据包会被本地链路上的所有路由器接收
- ff05::1:3:用于DHCPv6(Dynamic Host Configuration Protocol for IPv6)的组播地址
IPv6配置(Huawei设备)
1、使能IPv6
# 使能设备转发IPv6单播报文,包括本地报文的发送和接收
[Huawei]ipv6# 在接口视图下,在接口上使能该接口的IPv6功能
[Huawei-GigabitEthernet0/0/0]ipv6 enable
2、配置接口的链路本地地址
# 在接口视图下,通过手工或自动的方式,配置接口的链路本地地址# 手工方式
[Huawei-GigabitEthernet0/0/0]ipv6 address ipv6-address link-local# 自动方式
[Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local
3、配置接口的单播地址
# 在接口视图下,通过手工或自动(有状态或无状态)的方式,配置接口的全球单播地址# 手工方式
[Huawei-GigabitEthernet0/0/0]ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }# 自动方式
[Huawei-GigabitEthernet0/0/0]ipv6 address auto { global | dhcp }
4、配置IPv6静态路由
[Huawei]ipv6 route-static dest-ipv6-address prefix-length { interface-type interface-number [ nexthop-ipv6-address ] | nexthop-ipv6-address } [ preference prefernece ]
5、查看接口的IPv6信息
[Huawei]display ipv6 interface [ interface-type interface-number | brief ]
6、查看邻居表信息
[Huawei]display ipv6 neighbors
7、使能系统发布RA报文功能
[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt
实例
需求:
- AR1和AR2之间使用静态IPv6地址互联
- AR2作为DHCP服务器给AR3的GE0/0/0分配全球单播地址
- AR4的GE0/0/0接口通过AR2的RA进行无状态地址自动配置
- 配置静态路由,实现各设备之间互访
在AR1、AR2、AR3、AR4全局和相关接口使能IPv6功能,同时自动生成链路本地地址(以AR1为例)
[AR1]ipv6
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ipv6 enable
[AR1-GigabitEthernet0/0/0]ipv6 address auto link-local
[AR1-GigabitEthernet0/0/0]q
在AR1、AR2相应接口配置静态IPv6全球单播地址
# AR1配置
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ipv6 address 2001::1 64
[AR1-GigabitEthernet0/0/0]q# AR2配置
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ipv6 address 2002::1 64
[AR2-GigabitEthernet0/0/0]q
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ipv6 address 2003::2 64
[AR2-GigabitEthernet0/0/1]q
[AR2]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]ipv6 address 2001::2 64
[AR2-GigabitEthernet0/0/2]q
在AR2上配置DHCPv6服务器功能,AR3接口通过DHCPv6方式获取全球单播地址
# AR2配置
[AR2]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[AR2]dhcpv6 pool ren1
[AR2-dhcpv6-pool-ren1]address prefix 2002::/64
[AR2-dhcpv6-pool-ren1]q
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]dhcpv6 server ren1
[AR2-GigabitEthernet0/0/0]q# AR3配置
[AR3]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ipv6 address auto dhcp
[AR3-GigabitEthernet0/0/0]q
在AR2使能发布RA报文功能,AR4通过无状态地址配置获取地址
# AR2配置
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]undo ipv6 nd ra halt
[AR2-GigabitEthernet0/0/1]q# AR4配置
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ipv6 address auto global
[AR4-GigabitEthernet0/0/0]q
给AR1、AR3、AR4设备配置静态路由
# AR1配置
[AR1]ipv6 route-static 2002:: 15 2001::2# AR3配置
[AR3]ipv6 route-static :: 0 2002::1# AR4配置
[AR4]ipv6 route-static 2001:: 64 2003::1
[AR4]ipv6 route-static 2002:: 64 2003::1
相关文章:

网络协议详解--IPv6
IPv6产生背景 (1)地址空间的耗尽:因特网呈指数级发展,导致IPv4地址空间几乎耗尽。虽然采用了子网划分、CIDR和NAT地址转换技术,但这没有从根源解决地址耗尽的问题 (2)IP层安全需求的增长&#x…...

阿里云域名注册购买和备案
文章目录 1、阿里云首页搜索 域名注册2、点击 控制台3、域名控制台 1、阿里云首页搜索 域名注册 2、点击 控制台 3、域名控制台...

【经典机器学习算法】谱聚类算法及其实现(python)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 前…...

【Linux】Linux环境基础开发工具使用
Linux开发工具 Linux编辑器-vim使用 1. vim的基本概念 vim的三种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。 正常/普通/命令模式: …...

Halcon基础系列1-基础算子
1 窗口介绍 打开Halcon 的主界面主要有图形窗口、算子窗口、变量窗口和程序窗口,可拖动调整位置,关闭后可在窗口下拉选项中找到。 2 显示操作 关闭-dev_close_window() 打开-dev_open_window (0, 0, 712, 512, black, WindowHandle) 显示-dev_display(…...

【AI大模型】深入Transformer架构:编码器部分的实现与解析(上)
目录 🍔 编码器介绍 🍔 掩码张量 2.1 掩码张量介绍 2.2 掩码张量的作用 2.3 生成掩码张量的代码分析 2.4 掩码张量的可视化 2.5 掩码张量总结 🍔 注意力机制 3.1 注意力计算规则的代码分析 3.2 带有mask的输入参数: 3.…...

spring学习日记-day7-整合mybatis
一、学习目标 spring整合MyBatis的原理主要涉及到将MyBatis的Mapper映射文件交由Spring容器管理,并将其注入到MyBatis的SqlSessionFactory中,从而实现两者的整合。 二、整合mybatis 1.写一个mybatis测试案例 项目结构: 1.数据库 CREATE DA…...

【YOLO目标检测行人与车数据集】共5607张、已标注txt格式、有训练好的yolov5的模型
目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:5607 标注数量(txt文件个数):5607 标注类别数:2 标注类别名称:person、car 数据集下载:行人与车数据集 图片示例 数据集图片: …...
JMeter中线程组、HTTP请求的常见参数解释
在JMeter中,线程组和HTTP请求是进行性能测试的两个核心组件。以下是它们的一些常见相关参数的解释: 线程组参数 线程数 指定模拟的用户数,即并发执行的线程数。 Ramp-Up时间(秒) 指定所有线程启动的时间间隔。在这…...

优化Mysql
目录 Mysql优化就四种:定位慢查询/sql执行计划/索引/Sql优化经验... 2 1Mysql如何定位慢查询?... 2 2Sql语句执行很慢,如何分析呢?... 3 2.1那这个SQL语句执行很慢,如何分析呢?. 3 3.了解过索引吗?(什么是索引)…...

如何使用MethodChannel通信
文章目录 1 概念介绍2 实现方法3 经验总结我们在上一章回中介绍了Visibility组件相关的内容,本章回中将介绍Flutter与原生平台通信相关的内容.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 在移动开发领域以Android和IOS SDK开发出的应用程序叫原生开发,开发同一个程序…...
【JavaWeb】JavaWeb笔记 HTTP
文章目录 简介HTTP1.0和HTTP1.1的区别 请求和响应报文报文的格式请求报文form表单发送GET请求特点GET请求行,请求头,请求体form表单发送post请求特点post的请求行 请求头 请求体 响应报文响应状态码更多的响应状态码 简介 HTTP 超文本传输协议 (HTTP-Hyper Text transfer proto…...

Java项目实战II基于Java+Spring Boot+MySQL的甘肃非物质文化网站设计与实现(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 甘肃省作为中国历史文化名省,拥有丰富的非物质文化遗产资源,涵盖表演艺术、手…...

数据结构--包装类简单认识泛型
目录 1 包装类 1.1 基本数据类型和对应的包装类 1.2 装箱和拆箱,自动装箱和自动拆箱 2 什么是泛型 3 引出泛型 3.1 语法 4 泛型类的使用 4.1 语法 4.2 示例 5 泛型的上界 5.1 语法 5.2 示例 5.3 复杂示例 8 泛型方法 8.1 定义语法 8.2 示例 总结 1 …...

c#使用winscp库实现FTP/SFTP/SCP的获取列表、上传和下载功能
网上写c#调用winscp实现的资料很少,且写的不够详细。本人查了下winscp的libraries说明,写了个小工具,供大家参考。 winscp的接口说明地址如下: WinSCP .NET Assembly and COM Library :: WinSCP 一、先展示一下小工具的界面 1、…...

【Android 13源码分析】Activity生命周期之onCreate,onStart,onResume-1
忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。 – 服装…...

达梦数据库开启归档模式
目录 一、什么是归档模式? 二、开启归档模式的步骤 1、创建归档目录 2、进入dm数据库bin目录 3、登录数据库 4、关闭数据库 5、启动数据库到Mount状态 6、增加本地归档日志文件 7、开启归档 8、启动数据库 9、验证是否开启成功 三、开启归档模式的优…...
C++ 语言特性07 - 静态成员的初始化
一:概述 1. 静态成员变量通常在类定义内部声明,并在类定义外部定义和初始化。 class MyClass { public:static int staticVar; // 声明 };int MyClass::staticVar 42; // 定义和初始化 2. 从C11开始,可以在类内直接初始化静态数据成员&am…...

【数据结构】图论基础
文章目录 图的概念图的基本概念图的类型图的表示方法 图的相关基本概念1. 路径(Path)2. 连通性(Connectivity)3. 图的度(Degree)4. 子图(Subgraph)5. 生成树(Spanning Tr…...

HTML5实现好看的唐朝服饰网站模板源码2
文章目录 1.设计来源1.1 网站首页1.2 唐装演变1.3 唐装配色1.4 唐装花纹1.5 唐装文化 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.ne…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...