IPv6的过度技术

如何界定手动与自动?
主要是隧道目标地址能否自动获取
👯1. 双栈
必须支持IPv4和IPv6协议
链接双栈网络的接口必须同时配置v4和v6地址
路由器能够根据二层标记识别协议,type:0x0800代表IPV4,type:0x86dd代表IPv6
针对主机上层应用:例如DNS上层应用会优先选择IPv6协议栈,而不是IPv4。比如一个同时支持v4和v6的应用请求通过DNS请求地址,会先请求AAAA记录,如果没有,则再请求A记录。

也就是访问v4用v4地址,访问v6用v6地址
🖐️2. 手动隧道
(1)IPv6 over IPv4 手动隧道
隧道的源地址和目的地址均需要手工指定
主要用于边界路由器与边界路由器 或者 主机与边界路由器
通过在IPv6报头前加一个IPv4报头来通过IPv4的链路

interface Tunnel [隧道号] //进入隧道接口tunnel-protocol ipv6-ipv4 //设置隧道封装协议ipv6 address [IPv6地址] //隧道口从逻辑上也是一个接口,又要传v6报文所以也需要一个v6地址source [隧道源地址] //使用哪个ipv4地址封装,一般选用换回口destination [隧道目的地址] //隧道终点的IPv4地址
(2)GRE隧道
原理与6over4隧道类似,报文区别就是在v4头和v6头间插一个GRE头

interface Tunnel [隧道号] //进入隧道接口tunnel-protocol GRE //设置隧道封装协议ipv6 address [IPv6地址] //隧道口从逻辑上也是一个接口,又要传v6报文所以也需要一个v6地址source [隧道源地址] //使用哪个ipv4地址封装,一般选用换回口destination [隧道目的地址] //隧道终点的IPv4地址
🛰️3. 自动隧道
(1)6to4隧道
6to4 只能使用固定地址格式:2002:/16 也就是必须是2002开头 格式:2002:ipv4::/48 如:2002:0101:0101:5:9 对应ipv4:1.1.1.1
所以在规划子网的时候就要规划好

可以连接多个6to4网络,同各国SLA ID区分
通信方式依旧V6的报文是穿上V4的报头,通过v4的链路,但差别是如何建立的隧道

当pc1想访问pc2时,将(源2002:0101:0101:0003::2,目2002:0202:0202:0001::1)报文发给网关,网关配置了隧道,隧道会根据目的地址解析出隧道终点的v4地址,到达隧道终点拆掉v4报头,又变成了正常的v6报文在v6链路中转发

6to4隧道配置如下:
interface Tunnel [隧道号] //进入隧道接口tunnel-protocol ipv6-ipv4 6to4 //设置隧道封装协议ipv6 address [最好6to4的特殊地址] //如果不是2002特殊地址,就不能中继了source [隧道源地址] //使用哪个ipv4地址封装,一般选用环回口需要另外指定一条缺省路由
ipv6 route-static 2002:: 16 Tunnel [隧道号]
6to4 中继
普通6to4隧道地址必须是2002开头的,如果有主机不是2002开头的就不能访问,非常不灵活
所谓中继就是在路由器上配置一条静态地址,6to4隧道能够根据下一跳提取终点地址,也就是在上述命令中提到的隧道口地址最好也是2002开头的特殊6to4地址
(2)ISATAP自动隧道
ISATAP隧道和6to4差不多,也是采用专用地址,但不想6to4固定开头,而是使用固定的第4组和第5组数,0000:5EFE,也就是主机位的前两段。最后两组数来指代v4地址

例如,2004:1212:4545:7878:0000:5EFE:0101:0101
固定的两组数 v4地址1.1.1.1
由于不是使用的固定前缀,所以它可以通过NDP协议来获取前缀
如果IPV4地址是全局唯一的,则u位为1,否则u位为0。g位是IEEE群体/个体标志。由于ISATAP是通过接口标识来表现的,所以,ISATAP地址有全局单播地址、链路本地地址、ULA地址、组播地址等形式。
ISATAP过渡机制允许在现有的IPV4网络内部署IPV6,该技术简单而且扩展性很好,可以用于本地站点的过渡。
ISATAP支持IPv6站点本地路由和全局IPv6路由域,以及自动IPV6隧道。ISATAP同时还可以与NAT结合,从而可以使用站点内部非全局唯一的IPv4地址。典型的ISATAP隧道应用是在站点内部所以,其内嵌的IPv4地址不需要是全局唯一的,只需要有个全局唯一前缀即可。
1.首先配置ISATAP隧道接口,这时会根据IPv4地址生成ISATAP类型的接口ID,也就是后64bit
2.根据接口ID生成一个ISATAP链路本地IPv6地址,因为本地链路地址固定前缀是FE80::,生成链路本地地址以后,主机就有了在本地链路上进行IPv6通信的能力。
3.可以通过NDP下发前缀进行自动配置,主机获得IPv6全球单播地址、ULA地址等
4.当主机与其它IPv6主机进行通讯时,从隧道接口转发,将从报文的下一跳IPv6地址中取出IPv4地址作为IPv4封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为ISATAP路由器的地址。
🥴4. 过度后期
由于目前应用很少,这里先简要介绍
(1)IPv4 over IPv6
当进入过度后期,IPv6为主流但还存在少量IPv4孤岛,所以要在v6网络上传播v4报文
和上文中的6over4类似,4over6只是在v4报头前套上v6报头
(2)NAT64
NAT64技术实际上是一种协议转换技术,能够将分组在V4及V6格式之间灵活转换。
IPv6过渡中的协议翻译技术就是将IPv6数据包的每个字段与IPv4数据包中的字段建立起一一映射的关系,从而在两个网络的边缘实现数据报文的转换。

1.IPv6单栈PC终端通过IPV6网络向DNSIPV6服务器发送对于网站www.abc.com的AAAA请求。
2.由于IPv6网络中没有www.abc.com的AAAA地址,DNS IPV6服务器获取此URL(UniformResource Locator,统一资源定位器)地址的A地址解析结果(10.10.0.11)。
3.DNS IPV6服务器在A请求返回的IPv4地址前面增加指定的IPv6前缀(64:FF9B),形成64:FF9B:0A0A:B的IPV6 AAAA解析结果给终端
4. 终端使用源地址2001:DB8:1、源端口1500,向目的地址64:FF9B:0A0A:B、目的端口80发送报文
5.报文在网络中被转发到NAT64设备。注意:NAT64设备会将64:FF9B/96路由发布出去,以引导所有去往这个网段的流量都转发到NAT64设备。
注意:NAT64设备会将64:FF9B/96路由发布出去,以引导所有去往这个网段的流量都转发到NAT64设备。
6.NAT64设备对IPV6报文的目的地址除去IPv6前缀(64:FF9B),对于源地址和源端口进行NAT64转换(源地址转换为192.168.113.1,源端口转换为2000),转换为IPv4报文后转发到IPv4网络。
当内网流量进行正向的NAT64转换时,将在NAT64设备的NAT64映射表中创建一条表项,该映射表项的信息如下所示。
地址映射:内网地址2001:DB8::1映射外网地址192.168.113.1。
端口映射:内网端口1500映射外网2000。当外网流量返回时,将会命中该表项,通过反向的NAT64转换为IPV6报文,转发回IPv6网络
相关文章:
IPv6的过度技术
如何界定手动与自动? 主要是隧道目标地址能否自动获取 👯1. 双栈 必须支持IPv4和IPv6协议 链接双栈网络的接口必须同时配置v4和v6地址 路由器能够根据二层标记识别协议,type:0x0800代表IPV4,type:0x…...
Python用K-Means均值聚类、LRFMC模型对航空公司客户数据价值可视化分析指标应用|数据分享...
全文链接:https://tecdat.cn/?p38708 分析师:Yuling Fang 信息时代的来临使得企业营销焦点从产品中心转向客户中心,客户关系管理成为企业的核心问题(点击文末“阅读原文”获取完整代码数据)。 客户关系管理的关键是客…...
WebRTC的三大线程
WebRTC中的三个主要线程: signaling_thread,信号线程:用于与应用层交互worker_thread,工作线程(最核心):负责内部逻辑处理network_thread,网络线程:负责网络数据包的收发…...
Spring SpEL表达式由浅入深
标题 前言概述功能使用字面值对象属性和方法变量引用#this 和 #root变量获取类的类型调用对象(类)的方法调用类构造器类型转换运算符赋值运算符条件(关系)表达式三元表达式Elvis 操作符逻辑运算instanceof 和 正则表达式的匹配操作符 安全导航操作员数组集合(Array 、List、Map…...
数据设计规范
目录 一、数据库设计的原则 二、表设计原则 三、其他设计规范 四、最佳实践 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据&#…...
基于SpringBoot的宠物寄养系统的设计与实现(源码+SQL+LW+部署讲解)
文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…...
深度学习中的HTTP:从请求到响应的计算机网络交互
在现代深度学习应用中,HTTP(超文本传输协议)不仅仅是网页浏览的基础协议,它也在机器学习和人工智能的服务架构中扮演着至关重要的角色。本文将深入探讨HTTP在深度学习中的应用,并阐明它如何支持模型的训练、推理及API服…...
Agent系列:AppAgent v2-屏幕智能Agent(详解版)
引言 简介 方法 Agent 框架 Agent 交互 探索阶段 部署阶段 文档生成 高级功能 实验结果 总结 局限性 未来工作 1. 引言 大语言模型(LLM)如 ChatGPT 和 GPT-4 显著提升了自然语言处理能力,并且推动了智能体在自主决策中的应用。…...
艾体宝方案丨全面提升API安全:AccuKnox 接口漏洞预防与修复
一、API 安全:现代企业的必修课 在现代技术生态中,应用程序编程接口(API)扮演着不可或缺的角色。从数据共享到跨平台集成,API 成为连接企业系统与外部服务的桥梁。然而,伴随云计算的普及与微服务架构的流行…...
开源的Vue低代码表单设计器 form-create-designer v3.2.9 版本发布,新增10多种功能
form-create-designer 是一款开源的低代码表单设计器,通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。 项目采…...
Android Killer 无法调用jd-gui.exe
在Android Killer 时,点击图标转换为java代码时,调用jd-gui.exe 弹窗无法验证发布者,点击运行没反应 第一种方案:开启组策略(网上找的,没有效果) 键盘WinR ,在弹出窗口中输入gped…...
24.01.01 MyBatis
对sql拆分简化之后,更适合使用MyBatisPlus 搭建项目 引入依赖 <!--Mysql 驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--Druid数据库连接池--><dependenc…...
游戏引擎学习第70天
这一节没讲什么主要是关于接下来要干的任务 开发过程概览 我们正在进行最后的总结,并计划接下来的步骤。目前的目标是创建一个包含所有必要组件的游戏引擎原型版本,目的是让这些部分能够协同工作并展现预期效果。通过这一过程,可以实验和探…...
深入理解 Spring Cloud 中的 Eureka、Ribbon 和 Feign
1.eureka自我保护机制是什么? Eureka的自我保护机制是一种针对网络异常情况的安全保护措施,旨在防止因为网络问题导致的服务注册中心(Eureka Server)与微服务实例之间的通信故障。当网络分区或其他形式的网络故障发生时,即使微服…...
DVWA靶场Brute Force (暴力破解) 漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程
目录 暴力破解low方法1方法2 mediumhighimpossible 暴力破解 暴力破解是一种尝试通过穷尽所有可能的选项来获取密码、密钥或其他安全凭证的攻击方法。它是一种简单但通常无效率的破解技术,适用于密码强度较弱的环境或当攻击者没有其他信息可供利用时。暴力破解的基…...
山高路陡,无人机代替滑轨吊运物资极大提高做作业效率降低成本
在山高路陡的地区,无人机代替传统的滑轨吊运物资,极大地提高了作业效率并降低了成本。以下是对这一现象的详细分析: 一、无人机吊运的优势 1. 提高作业效率: 无人机能够快速响应并执行吊运任务,尤其在高山、陡峭或交…...
数据的高级处理——pandas模块进阶——数据的统计运算
今天的学习用有好几处与书上的内容有出入,不只是因为pycharm中函数更新、弃用的问题,还是作者有些疏忽。不过影响不大,运行报错,GPT分析一下,原因很简单。这里不进行详细书名,在下边的代码上已经进行详细的…...
【Leetcode】3280. 将日期转换为二进制表示
文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个字符串 date,它的格式为 yyyy-mm-dd,表示一个公历日期。 date 可以重写为二进制表示,只需要将年、月、日分别转换为对应的二进制表示&a…...
Vue3 中自定义hook
什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装,类似于vue2.x中的mixin。 自定义hook的优势:复用代码, 让setup中的逻辑更清楚易懂。 场景需求:现在我需要获取当前鼠标所点击的地方的…...
嵌入式系统 第七讲 ARM-Linux内核
• 7.1 ARM-Linux内核简介 • 内核:是一个操作系统的核心。是基于硬件的第一层软件扩充, 提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统, 决定着系统的…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...
ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...
