当前位置: 首页 > news >正文

IPv6改造深化之路

01 IPv6改造问题及整体改造思路

随着“十四五”期间国家政策对IPv6深化改造及规模部署的推动,在IPv6改造过程中出现了越来越多的系统性问题,如图1所示。

图片

      图1 关于IPv6改造的各种疑问

所有跨设备通信的IT软硬件系统均需要处理IP地址,各领域均需要进行IPv6适配。隧道、翻译等初级过渡技术距IPv6单栈的改造目标还存在很大的差距,而随着IPv6规模部署工作的推进,就需要从全局角度端到端考虑IT架构的IPv6能力,根据IT架构中各领域现状和改造技术路线确定各领域改造先后顺序,最终实现统一目标。

对于应用开发人员来说,由于长期习惯了高度封装化的IPv4功能调用,客观上形成了对网络协议栈底层不熟悉、不关注的事实,不同开发人员对IPv6技术理解和技术路线选择存在较大差异,故通过规划形成统一的IPv6技术选型标准、应用改造标准、应用验收标准,指导开发人员进行IPv6相关功能开发,从而提升开发效率及降低后续运维复杂度。

02 IPv6地址规划方法

IPv6地址是IPv6技术和核心载体,因相比IPv4地址,IPv6地址具有长度长、十六进制格式、结构复杂、不便记忆等特点,为便于对IPv6地址高效管理,需要考虑采用新的IP地址规划方法。通常采用以下原则。

  • 层次化原则

IPv6地址与网络物理架构/组织架构/业务架构建立层次化关系,增强逻辑性。层次化设计有利于缩小路由表规模,便于容量规划和管理。

  • 语义化原则

在地址中包含业务类型、位置等信息,可以帮助运维和排障。尽量采用4bit的倍数长度规划每段标识位,增强十六进制易读性。

  • 连续可扩展原则

相同业务类型的地址应连续分配。地址在功能、容量、覆盖能力等各方面具有易扩展能力。考虑未来增长、新增业务的需求进行适当预留。

  • 易管控原则

IPv6地址规划简洁直观,便于管理,应满足对业务的QoS、安全访问控制等管理要求。如图2所示。

图片

图2 IPv6地址规划方法

需求分析是IPv6地址规划的必要条件,需要分别从业务和管理层面进行需求分析:

  • 业务需求分析

IPv6地址规划前应就各业务平台现状进行充分调研,以满足各业务平台对IPv6地址的需求,具体包括地址容量需求分析、业务通信需求分析、既有IPv4业务需求分析(双栈场景下,IPv6与IPv4共享相同的二层广播域范围,即同一个VLAN对应一个IPv4和一个IPv6网段)。

  • 管理需求分析

从IPv6地址易管控角度进行需求分析,包括地址标识类型需求分析和地址层级需求分析。地址标识指IPv6地址中所包含的字段标识意义,如物理位置、业务类型、网络类型等;地址层级需求需要考虑IT架构、组织架构、路由管理、流量管理等可能会影响地址层级划分的要素。

如图3所示,IPv6地址由网络部分和接口ID两部分组成,网络部分又包括网络前缀和子网ID。网络部分重点需要对子网ID标识、层级、容量进行规划,接口ID部分的规划主要用于未来对网络互联、主机地址的精细化管理。

图片

图3 IPv6地址组成

如图4所示,将具有物理位置属性的标识排在前面,便于路由汇总及地址前缀分级管理。

图4 A客户IPv6地址规划方案

图4 A客户IPv6地址规划方案

如图5所示,为了便于在网络上实现基于不同业务的流量管理和安全控制,将业务大类标识排在前面,但业务属性标识排在前面时占位不宜太多,否则不利于路由汇总。

图片

图5 B客户IPv6地址规划方案

03 IT基础设施IPv6改造方法

  • 现状调研

充分评估现有IT基础设施各部分对IPv6技术的支持能力,从功能、性能、业务连续性、安全性、可靠性、可扩展性各层面评估现有软硬件对IPv6的支持能力。

在这里插入图片描述

图6 IT基础设施双栈改造流程
  • 规划设计

根据现状调研结果进行技术选型,制定IPv6整体改造策略和改造计划,指导IT基础设施各领域IPv6改造规划设计,包括软硬件各系统架构改造规划、软硬件设备升级规划等。

  • 集成测试

搭建测试环境验证规划设计的可行性,并模拟业务系统行为进行测试验证。

  • 业务迁移

根据规划设计逐步、分批进行迁移实施,并保证原有IPv4业务受到尽可能小的影响。

  • 集成验证

对已改造完成的软硬件系统进行测试验证,保证IPv6和IPv4业务均运行正常。

IT基础设施中的网络IPv6改造可根据不同场景选择一种或多种改造模式:

双栈模式:IT基础设施所有软硬件设备均改造为双栈设备,即网络、终端、平台、应用基础设施均同时运行IPv4和IPv6网络协议栈,一套IT基础设施同时处理IPv4和IPv6业务数据。

双栈模式适合大部分现有IT基础设施支持IPv6的场景,仅需要维护一套IT基础设施,维护成本低且改造彻底,便于未来平滑演进到IPv6单栈环境,是最理想的IPv6改造模式。

隧道模式:通过网络隧道技术将IPv6数据封装到IPv4报文中,可以实现跨越IPv4网络传输IPv6业务数据的功能,适用于终端侧完成IPv6改造、主干网络无法短期内完成双栈改造的场景。常用技术如6to4隧道、GRE隧道、6PE/6VPE隧道、VxLAN隧道等。

地址翻译模式:通过专用网络设备进行IPv4和IPv6地址间的映射及转换,实现IPv6改造过渡阶段IPv4与IPv6系统间的互通。适用于大部分现有IT基础设施不支持IPv6且无法短期内完成改造,但需要临时对外提供IPv6访问服务的场景。常用技术为NAT64、SPACE6。

实际部署场景分析:对于某一客户网络IPv6改造技术选型过程中,三种过渡技术并不是互斥的,在同一网络中,不同区域/场景可选择不同的过渡技术,如数据中心网络服务器分区通常采用双栈或隧道(VxLAN)技术,互联网/外联分区可以采用双栈或地址翻译技术,而广域网通常采用双栈或隧道(6vPE、GRE、SRv6等)技术,园区接入网场景则最常采用双栈技术。

04 应用系统IPv6改造方法

IPv6改造不仅仅改造基础设施,更重要的是应用系统也需要支持IPv6。在实际的IPv6改造项目中,由于客户实际情况各有不同,经常会遇到若干问题,如图7所示。

图片

图7 应用系统IPv6改造中常见问题

这些问题将直接影响企业IPv6改造的效率、进度和质量。在实际改造过程中,因涉及的领域较多,需要各个部门的沟通与协作,不可能一蹴而就,对于大中型企业,有必要建立一套统一的应用改造标准和实施路线,来指导、规范和推动IPv6的应用改造工作顺利进行。

  • 改造策略

原则:结合企业自身的实际情况和行业最佳实践,确定整体改造规划,明确改造批次及本期改造的基本要求和规则,如改造范围、改造程度、时间进度、人员组织和技术实现方式等。在未来很长一段时间内,IPv4及IPv6将会并存,故推荐采用双栈技术实现方式,达到维护一套代码,兼容IPv4和IPv6的客户端访问逻辑的目的。

标准:主要用来统一IPv6应用改造验收的标准,明确每期改造的目的和目标,需要改什么,需要满足哪些测试验收要求等,如应用双栈连通性、功能、兼容性、性能等具体的指标。改造验收标准的制定既要满足行业监管的标准,又要考虑企业自身的实际情况。

指南:应用改造具有一定的通用性,可以针对通用的改造点,包括应用代码及应用中间件通用功能,制定通用的应用改造参考指南,形成IPv6改造知识库。一方面可以加快改造效率,同时也能统一改造标准,特别适合应用分批次改造,人员流动性比较大的企业。

  • 改造流程

在整个IPv6的应用系统改造生命周期中,推荐如下改造流程:

调研与需求分析:在此环节中,需要对应用系统进行全面的摸底梳理,了解现状。包括对所依赖的软硬件基础设施类型/版本梳理、对系统逻辑架构梳理,对组件与组件间关系梳理、对系统与外部系统之间的调用关系梳理、对配置文件/代码中涉及IP相关的配置和功能梳理等。在调研之前,还需要对所有相关人员进行IPv6基础培训和宣贯,使其对IPv6知识有基本的了解。

方案设计与验证:一旦摸底梳理完毕,明确应用系统需要改造的范围,就可以对其中非通用的组件进行方案设计和验证,特别针对一些版本比较旧的或开源组件,进行升级验证,或采购、替换新的组件,并将验证结论更新到应用改造参考指南中,作为IPv6应用改造知识库。

应用改造与测试:包括应用代码中一切与IP有关的功能都需要改造。改造过程需要与基础实施改造协同,根据验收标准在测试环境进行测试验证,如通过客户端单栈、双栈、域名等方式进行功能、性能和兼容性方面的测试,确保应用改造上线后不能影响原有业务的稳定运行。

系统上线:改造测试完成后,需要进行应用上线,前提是应用系统生产环境运行依赖的基础设施已经改造完成。

如图8所示,IPv6改造项目最佳实践总结。

图片

图8 应用系统IPv6改造最佳实践

05 下一步的思考

  • IPv6+新技术探索

原生IPv6技术具备海量地址空间、即插即用、移动性支持、高可扩展性等优势,加快IPv6下一代互联网的升级,发展增强型的“IPv6+”网络,通过IPv6规模商用部署和“IPv6+”创新实现网络能力提升,驱动网络和业务融合发展,赋能行业数字化转型,全面建设数字经济、数字社会和数字政府的“新基座”。如图9所示。

图片

图9 IPv6+技术演进路线

IPv6+1.0网络编程能力:通过技术体系创新,构建“IPv6+”网络开放可编程能力,重点通过发展SRv6实现对传统MPLS(MultiprotocolLabel Switching,多协议标记交换)网络基础特性的替代,业务快速发放,灵活路径控制,利用自身的优势来简化IPv6网络的业务部署。

IPv6+2.0用户体验保障:通过智能运维创新,提升用户体验保障。网络切片/随流检测/新型组播/智能无损等技术,带来算力提升、体验可视和体验最优。重点是发展面向5G和云的新应用,这些应用体验提升需要引入一系列新的创新,包括但不局限于网络切片、随流检测、新型组播和智能无损网络等。

IPv6+3.0应用驱动网络:通过商业模式创新,发展应用驱动网络。一方面,随着云和网络的进一步融合,需要在云和网络之间产生更多的信息交互,网络的能力需要更加开放地提供给云来实现应用感知和即时调用。另一方面,随着多云的部署加速,网络需要开放的多云服务化架构,实现跨云协同和业务的快速统一发放和智能运维。IPv6无疑是最具优势的媒介,云网的深度融合也将给未来的千行百业数字化转型带来重要变化。

企业可根据自身业务需求和场景,在IPv6 Ready基础上,进一步将IPv6与其他技术结合,发展增强型“IPv6+”网络。如IPv6+分段路由提供业务快速发放,IPv6+5G实现网络端到端切片,提供差异化的网络服务水平。IPv6+无损实现以太网络0丢包,保证数据中心确定性体验。IPv6+AI,实现网络全生命周期自动布放,故障自动定位。IPv6+应用感知,提供关键业务的体验保障等,激发业务创新,改变商业模式,增收提效。

  • IPv6系统性改造总结

对于大中型企业,IPv6改造是一项系统化工程,是在总体规划、顶层设计的基础上持续演进的过程,无法一蹴而就,否则会影响业务连续性。另外,企业可能需要重新梳理采购、开发、业务上线流程,确保新研发应用上线或外部应用采购时,将IPv6支持作为必要条件。同时,企业自身应用监控、运维管理系统本身也需要支持IPv6协议。

最后,在实际改造过程中,往往需要同时具有基础设施和应用改造相关经验的资源,站在全局视角规划、推动和解决IPv6改造过程中的各种问题。

相关文章:

IPv6改造深化之路

01 IPv6改造问题及整体改造思路 随着“十四五”期间国家政策对IPv6深化改造及规模部署的推动,在IPv6改造过程中出现了越来越多的系统性问题,如图1所示。 图1 关于IPv6改造的各种疑问所有跨设备通信的IT软硬件系统均需要处理IP地址,各领域均需…...

atoi(),isdigit(),isspace(),round()源码

atoi()是一个C标准库函数,用于将字符串转换为对应的整数。 以下是atoi()函数的一种简化版本的示例实现: int atoi(const char* str) {int result 0;int sign 1;int i 0;// 处理空格while (isspace(str[i])) {i;}// 处理正负号if (str[i] - || str[…...

C# 播放音频文件(播放提示音)

使用SoundPlayer播放声音 System.Media名称空间下的类SoundPlayer 可以让我们很方便的播放wav波形声音文件。SoundPlayer类其实就是对winmm.dll文件中API函数的封装。 首先引入命名空间: using System.Media; SoundPlayer player new SoundPlayer(); player.Sou…...

一种编程语言,

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…...

云原生Kubernetes:K8S常用服务端口

目录 一、理论 1.K8S常用服务端口号 一、理论 1.K8S常用服务端口号 (1)K8S集群 表1 K8S集群端口 协议端口号K8S集群TCP22使用主机驱动通过SSH进行节点配置TCP53集群DNS服务UDP53集群DNS服务TCP2376主机驱动与Docker守护进程通信的TLS端口TCP2379et…...

clickhouse调优配置

一、官方文档地址 clickhouse的配置项主要在 config.xml 或 users.xml 中, 基本上都在 users.xml 里 config.xml https://clickhouse.tech/docs/en/operations/server-configuration-parameters/settings/ users.xml https://clickhouse.tech/docs/en/operatio…...

pdf文件打开后部分文字无法显示

场景:pdf文件在系统内预览正常,但是下载到本地电脑上,使用wps查看,部分标题会消失,只有标题里面的数字还能显示出来 经过一系列排查,发现查看的电脑上缺失了字体,使用wps查看时,缺失…...

MCS-51单片机温度控制系统的设计

一、项目介绍 注塑机是一种常用的制造设备,用于生产塑料制品。在注塑机的工作过程中,溶胶必须达到一定的温度才能被注入模具中进行成型。因此,在注塑机的生产过程中,温度控制是非常重要的一环。 本项目基于MCS-51单片机设计了一…...

Xcode,swift:Error Domain=kCLErrorDomain Code=1 (null)问题解决

问题描述: iOS开发时,当使用用户的位置权限时,获取用户经纬度报错:Error DomainkCLErrorDomain Code1 "(null)",错误域kCLError域代码1“(null)” 解决方法: 打开模拟机的设置-通用-语言与地区 将地区设置为中国(如果你的开发位置在中国的话) 点击左上方Features,选择…...

0013Java程序设计-springboot教材图文内容审核系统

摘 要目 录第1章 绪论1.1 研究背景与意义1.2 研究内容1.3 论文组成结构 系统实现用户登录模块的实现后台管理系统登录模块的实现投稿信息的实现 开发环境 摘 要 《教材图文内容审核系统》课程案例库研究系统系统主要功能模块包括投稿信息、打卡记录、新闻资讯等,采…...

Unable to remove Temporary User Data

错误截图 原因 项目的临时数据目录是存在了未授权的盘符,当删除它的时候,遇到了权限问题,没有权限没法删除。 解决方法 增加字段:userDataDir 解决...

Rocky(Centos)安装中文字体(防止中文乱码)

1、查看字体列表 运行下列命令 fc-list 若出现,下面截图,则需要安装字体管理软件 安装字体库,运行: yum -y install fontconfig 当看到下图的提示信息时说明已安装成功: 二、添加中文字体 1)window…...

O2OA(翱途)开发平台 V8.1正式发布

尊敬的O2OA(翱途)平台合作伙伴、用户以及亲爱的开发小伙伴们,平台 V8.1版本已正式发布。正值8月的最后一周,我们以更安全、更高效、更好用的崭新面貌迎接9月的到来。 O2OA开发平台v8.1版本更注重于对系统级别的安全防护。其中重大的更新,是对…...

差异化竞争阵地的所在【周技术进阶】-从BS 项目C#最基础截取字符串方法开始

效果 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleAppNumberOneHelloWorld {class Program{static void Main(string[] args){Console.WriteLine("hello world&#xf…...

docker安装在linux下的docker安装操作步骤完整版

参考文档:http://wed.xjx100.cn/news/151901.html?actiononClick 第一步,卸载历史版本。这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载: yum remove docker \docker-client \docker-client…...

elasticsearch的搜索补全提示

当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项 拼音分词器 下载 要实现根据字母做补全,就必须对文档按照拼音分词,GitHub上有拼音分词插件 GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin…...

AJAX学习笔记7 AJAX实现省市联动

需求:网页上选择对应省份之后,动态的关联出该省份对应的市.选择对应的市之后,动态的关联出该市对应的区 关于省市区全国三级Mysql数据&#xff1a;全国省市区三级地区MySQL数据_biubiubiu0706的博客-CSDN博客 页面加载完毕显示所有省份 <!DOCTYPE html> <html lang&…...

国商佳美合作火山引擎数智平台 助推深圳餐博会及美博会数字化升级

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 近日&#xff0c;深圳市国商佳美展览有限公司&#xff08;以下简称“深圳国商佳美”&#xff09;与火山引擎数智平台VeDI达成合作&#xff0c;双方将聚焦于2023年11…...

数据结构与算法学习(day4)——解决实际问题

前言 在本章的学习此前&#xff0c;需要复习前三章的内容&#xff0c;每个算法都动手敲一遍解题。宁愿学慢一点&#xff0c;也要对每个算法掌握基本的理解&#xff01; 前面我们学习了简化版桶排序、冒泡排序和快速排序三种算法&#xff0c;今天我们来实践一下前面的三种算法。…...

PG库列类型转换

首先自定义两个函数&#xff0c;其中try_cast_numeric函数是将字符类型转成数字类型&#xff0c;try_cast_timestamp函数是将字符类型转成时间戳类型。 create or replace function try_cast_numeric(p_in text, p_default numeric default null)returns numeric as $$ beginb…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...