金融行业 IPv6 如何改造?(附: IPv4 过渡到 IPv6 应知知识点)
为贯彻落实监管发文要求,加快推进基于IPv6的互联网在金融行业规模部署,促进互联网演进升级与金融领域的融合创新,各金融机构均在抓紧进行IPv6改造。以下是一些金融同行的分享和解读,包括困难和问题、策略与规划,后附 IPv4 过渡到 IPv6 应知知识点,供大家参考。
困难与问题
整个应用系统架构涉及面众多,如外部资源(CDN、域名)、硬件资源(安全设备、网络设备、服务器、存储设备、负载均衡、DNS等)、软件资源包(操作系统、数据库、中间件)以及应用本身等,此外大规模集群(IaaS云、容器云、大数据),如何既能循序渐进地进行IPv6改造又能在改造过程中保障应用服务的稳定性,特别是硬件设施网络设备的改造可能涉及多数据中心、多网络区域通讯,影响面很大。但是这块又非常重要,国家发文必须要要让金融企业做一些成果出来,但是大家的经验应该都不够,希望看到大家的探讨。
如何保证在规定时间内完成全部设备的更换,满足双栈要求?
如何预估开通双栈后原有的设备是否能够满足开通双栈的性能要求?如何保证开通双栈后, IPv4 和 IPv6 互不影响?如何保证 IPv4 与 IPv6 数据的同步?
使用过渡技术如何保证页面的完整性,网站主域名内全部静态页面、动态页面、多媒体资源和第三方应用插件等的 IPv6 连接访问?
过渡技术能否支持页面链接的全部子域名网站升级?能否支持本网站引用的外部链接可访问、内容可呈现?能否支持所有面向公众服务的互联网应用系统的 IPv6 连接访问?
过渡技术如何保证业务系统,包括网络银行、手机银行 APP 等对外服务平台的 IPv6 改造后的业务保障能力?
如何保证升级后的应用系统能够支持业务系统的密码验证功能( Ukey) 、能够支持 Http 、 Https 地址溯源、能够支持 IPv4/IPv6 网络切换会话保持?
@某银行 技术主管:
我是谨慎乐观的态度。目前的顾虑主要在于:
设备的bug,我认为传统IPv4环境中的设备的bug算是经过了比较充分的测试(除了这个用户还有那个用户,总体的装机基数在),换成IPv6,可不好说有多少bug待我们去面对。bug不可怕,可怕的是业务中断的压力。
我们不是试点单位,今年只要网站改造。今年计划用CDN实现转换,CDN服务商解释说DNS部分,运营商会实现4-6的DNS的转换,这部分有点不明白,这个轰轰烈烈的改造,基础设施部分目前有没有权威的解释。IPv4部分么,传统的运营商、网络设备厂商、安全厂商等各有重叠,总之是基本覆盖全了,IPv6部分,看不清一个完整的景象。
@sirius118 某农商银行 网络工程师:
应对策略:
金融行业的 IPv6 改造是一项长期工作,针对目前 IPv6 部署困境,国家提出支持采用网络过渡技术创新方式。要全面、妥善地解决以上普遍存在的问题,建议按照路线图的安排,分步骤、分区域逐步实现对所有系统的 IPv6 改造。
在过渡初期,通过 NAT64 等技术,在短时间内快速实现业务平台对外提供 IPv6 服务。解决双栈化升级周期长、难度大的业务痛点。
过渡中期, IPv4 与 IPv6 需要并存很长时间,有计划地改造业务平台软件以及数据库、 Web 服务器等支撑系统,部分对外提供纯 IPv6 服务的系统,也可通过 NAT64 做地址翻译,为 IPv4 用户提供服务,逐步实现全部平台均具备对外提供纯 IPv6 服务的能力,保证 IPv4 与 IPv6 数据的同步性。在过渡期,还有很多 IPv4 应用会出现难以升级,无法升级,或无法找到原厂升级等众多情况,这些无法升级的 IPv4 应用,也可以长期使用 NAT64 技术做转换服务。
@leodong 某银行 系统工程师:
根据监管要求,现在研发新上的应用业务软件、或者原有的业务系统维保以及硬件设备都会要求支持IPv6,早做准备。目前正在规划实施阶段。
计划先对官网进行IPv6改造,从基础设施、操作系统、应用软件全部使用IPv6。然后再逐渐对网银、手机银行、微信银行等电子渠道逐渐进行改造,从互联网计入的负载->Web的负载->应用程序负载->数据库逐步向内改造。
@黄江 某银行 技术支持:
目前来说,主要是全局负载均衡与本地负载均衡厂家在进行配合与测试。
主要是分四个阶段进行:
第一阶段:公网逐步改造,公网逐渐进行IPv6的替换,此时应用交付可以通过NATPT(NAT44/NAT64)可实现将IPv6向IPv4自动切换,首先AD上发布IPv6业务地址,用户内网不做改动,适应运营商骨干网的业务改造。
第二阶段:内网逐步改造,内网逐渐进行IPv6的替换,业务内网并存IPv4和IPv6服务器,此时应用交付可以通过NATPT(NAT44/NAT66)实现IPv4和IPv6的业务转换,可同时兼容内网双栈改造。方便用户将IPv4、IPv6业务逻辑分离,可看出IPv6的业务分布情况和客户端流量等,便于服务器审计
第三阶段:内网改造完成,内网业务系统全面切换到IPv6,此时应用交付可以通过NATPT(NAT46/NAT66)可兼容骨干网上未改造完成的IPv4业务。
第四阶段:内外网完全改造,内网完全完成IPv6的替换,此时应用交付可以通过NATPT(NAT66)实现最终改造完成。
改造方式主要是两种:
改造方式一:
在整个互联网出口边界最外侧进行改造,从运营商引入IPv6出口,增加网站域名对应IPv6地址的域名解析。在出口增加两台负载均衡做IPv6改造,将新增的IPv6线路连接到新增的负载均衡设备上,使用NAT-PT技术将访问业务系统的IPv6报文转换为IPv4报文,保证从负载均衡向内网业务系统方向出去的数据报文全部转换为IPv4的报文,实现的效果是负载均衡设备以上的网络运行IPv6和IPv4双栈,负载均衡以下的设备运行仅IPv4地址。
优点:
改造实现简单,只需要出口网络设备和NAT设备(负载均衡)支持双协议栈即可,其他网络设备、安全设备以及业务系统无需调整。
缺点:
1.端到端的安全性无法保证,在攻击溯源、流量审计等方面存在较大隐患,难以定位和具体封堵攻击源;
2.原有运行逻辑,业务流程,防护层次被打破,运行监控体系无法发挥效果。
改造方式二:
从运营商引入IPv6出口,增加网站域名对应IPv6地址的域名解析。IPv6改造深入至业务边界,在业务负载均衡上配置IPv6虚地址(站点本地地址),在负载均衡设备上进行IPv6虚地址与IPv6实地址(全局单播地址)的一对一映射,在业务负载均衡上同时监听IPv4和IPv6的端口访问请求,通过业务负载均衡将IPv6访问请求转换为IPv4访问请求,发送给对应的业务系统。业务负载均衡设备及以上的网络运行IPv6和IPv4双栈,业务负载均衡设备及以下运行仅IPv4地址。
优点:
1.改造实现难度适中,只需要业务负载均衡及以上设备支持双协议栈即可,其他网络设备及业务系统无需调整;
2. 现有运行逻辑,业务流程,防护层次未发生改变,运行监控体系基本有效;
3. 能基本实现端到端的安全性法,在可以进行攻击溯源、流量审计,能够定位和具体封堵攻击源。
缺点:
1.改造难度较方式一略大;
2.需要评估现网中网络、安全以及负载均衡设备对IPv6的支持情况和性能压力;
@某银行 技术主管:
私以为金融机构在认真研读监管文件,满足监管要求的同时,最重要的是在当下开始在各个领域认真的做并重视去做IPv6的技术储备,IPv6未来都必须要转型到这里,但是目前技术储备对我们中小银行来说是非常重要的。IPv6绝非改个地址族那么简单,对整个基础架构、应用架构甚至企业IT规划都有深远的影响,如果想当然操之过急铺开来去做,一些不成熟的想法和做法往往会为后期长远的发展带来不利。至于具体的措施,家家有本难念的经,因为基础架构和应用架构的差异,其实能相互借鉴的只是大的方向,希望看看其他同僚的观点。
扩展阅读:
IPv4 过渡到 IPv6 ,这些知识点你一定得知道
网络是工程师的基础技能之一,毕竟没有网络我们什么也干不了!从各大公司的招聘要求上看,网络也是重点的考核部分。今天就和大家一起复习下(还)大学里的课程(欠下的债)!TCP/IP协议簇的IP协议。
理解网络模型
网络的设计大佬们想出了分层的设计,将各个功能分开,交付给不同的层,这样的好处是便于更新和维护(IPv6的到来并没有使整个网络重新设计),也便于我们的学习和理解。下面是各个版本的网络体系的结构图:
让我们明确下各层的工作职责(以五层协议为例):
应用层,该层协议主要负责各个应用程序之间交互的规则,如HTTP、DNS,其交互的数据单元可以称为”报文”。
运输层,为应用层提供通用的数据传输服务,为上层跑腿的。TCP、UDP均是运输层协议。
网络层,为网络中不同的主机提供通信服务,IP协议工作在该层。
数据链路层,负责相邻两点的数据传送。
物理层,传输比特流,0 或 1。每一层将数据封装成自己能理解的数据格式,交付给下一层,下一层将收到的作为自己的数据再次添加本层的必要数据,向下交付,直到链路层,传递到目的地后,每层再将该层的必要数据去掉,交付给上层。如下图:
理解IP协议
在理解了网络模型和各层直接的配合之后,下面进入正题:网际协议(IP)。
主要理解IP协议给我们提供的功能有哪些,说白了就是它能干嘛。
为网络中的主机(PC或路由或网关)提供身份证。
定义了网络主机的基本交流方式,从IP数据报的格式可以看出。
为路由寻址提供方便,从路由表结构可以看出。
任何一个协议都可以由语法,语义和同步三部分组成。
语法,交换信息的格式,对于IP协议,就是IP报文的格式。
语义,即需要发出何种控制信息,以及接收到信息后如何响应。
同步,对事件顺序的详细说明。
也就是定义了使用IP协议进行交流的法则。
IPv4
IPv4是IP协议的第4个版本,就是我们现在使用的。下面从多个方面了解下该版本。
IP地址
网络上的主机都需要一个IP地址,这样才能知道彼此的位置。IPv4地址由32bit构成,常使用点分十进制表示(192.168.1.1)。
分类
IP地址的分类就是把所有IP划分为若干类别,每一类都由固定长度的字段组成,分别为网络号和主机号。下面是各类地址组成示意图:
A类地址,8位网络号,第一位固定为0,可用的网络号只有126个(2^7-2),网络号从0到127。减去2是因为:IP地址全为0表示”本网络”,保留; 网络号为127作为软件回环测试使用,若主机发出目的地为127.0.0.1的数据时,该数据不会向任何网络上的主机发送。也就是说127开头的地址不能使用.。对于A类地址中的每一个网络号,对应的主机号有(2^24-2)个:主机号全0表示,其网络号对应的网络地址,全1表示所有主机的意思。
B类地址网络号为16位,但前面2位以固定为1 0。无论怎么取值,无法出现全0或全1的情况。128.0.0.0的网络是不使用的,实际使用的最小B类网络地址为128.1.0.0,所以B类的网络地址有(2^14-1)个。
C类的地址有24位的网络号,最前面的3位固定为1 1 0.192.0.0.0的网络地址也是不使用的,,最小的C类地址为192.0.1.0。
总结如下:
分类的好处:
方便管理,IP地址管理机构只需管理网络号,剩下的可以由下级管理。
路由寻址时根据网络地址转发分组,减小路由表。
数据报格式
先看下IP数据报的基本格式:
可以看到IP数据报包含了首部和数据部分。其中首部包含固定的20字节和可变的部分。下面是各部分的解释:
版本,占4位,IP协议的版本号,通信双方需要相同。
首部长度,占4位,单位4字节。最大能表示(2^4-1) * 4 = 60字节。当IP分组的首部长度不是4的整数倍时,需要使用填充字段填充。
区分服务,占8位,表示服务类型,未使用。
总长度,占16位,表示首部和数据部分的总长度(单位字节).因此数据报的最大总长度为(2^16-1 = 65535)字节。
标识(identification),占16位。当数据报长度超过下层的MTU时,需要分片,被分片的数据报的标识一样,这样可以进行重组。
标志(Flag),占3位,目前只有2位有意义
最低位,MF(More Fragment) = 1 表示后面还有分片。MF = 0 表示分片中的最后一个。
中间一位,DF(Don’t Fragment),不要分片,只有当DF=0才允许分片
片偏移,占13位.较长的分组在分片后,某片在原分组的相对位置。必须是8字节的整数倍。
生存时间,占8位,Time To Live(TTL),开始指生存的秒数,后来变为经过路由的跳数,每经过一个路由,TTL减小1,当为0时,丢弃该数据.显然,最大跳数为255,为1时就只能在局域网中传播了。
协议,占8位.支出该数据报的数据是使用何种协议,以便目的主机IP层知道将数据交付给哪个协议处理,常用的协议及对应数值:
首部校验和, 占16位.数据报的首部校验和,不包括数据部分.
源地址, 目的地址, 各占32位
IPV6
IPv6的出现是解决IPv4资源枯竭的问题。其仍然支持无连接的传送,但传送的是PDU分组,而不是IPv4的数据报。
IP地址
IPv6的地址是128bit,在可预见的未来是够用的。但和IPv4版本并不兼容,若使用IPv4版本的主机A和使用IPv6版本的主机B之间通信是需要特殊处理的,在后面会介绍方法。
IPv6的地址表示
IPv6的地址采用冒号十六进制记法,8组4个16进制数字,中间使用冒号隔开。例如:
6845:8C64:FFFF:FFFF:0:1180:9000:FFFF
若一组中全是0,可以省略三个。
若存在连续多组0,可以使用冒号取代,但只能压缩一次 FF05:0:0:0:0:0:0:B3 可以压缩为 FF05::B3 1090:0:0:0:8:800:200C:417A 可以压缩为 1090::8:800:200C:417A 全零可记为 ::
最后的2组可以使用IPv4的点分十进制表示 0:0:0:0:0:0:128.10.2.1 可表示为 ::128.10.2.1
数据报格式
IPv6数据报由两大部分组成,基本首部和有效载荷。有效载荷运行有0个或多个扩展首部。
可以看到,IPv6的首部是固定的40字节,和IPv4不同;在组成上也有很大区别,下面看下各部分的意思。
版本,4位,协议的版本,通信双方需要相同
通信量类,占8位。区分不同的IPv6的数据报或优先级。
流标号,占20位。IPv6一个新机制就是支持资源预分配,运行路由把每个数据报与特定的资源分配和联系。IPv6提出流的概念,指互联网上从特定源点到特定终点的一系列数据报(如实时的音频或视频传输),,在这个流经过的路径上路由都保证指明的服务质量。所有属于同一个流的数据报具有相同的流标号。赋值为0即为关闭。
有效载荷长度,占16位。指明除基本首部以外的字节数。最大64KB。
下一首部,占8位。相当于IPv4的协议字段或可选字段。
当IPv6没有扩展首部时,该字段和IPv4的协议字段一样。
有扩展首部时,表示第一个扩展首部的类型。
跳数限制,和IPv4的TTL一样。
源地址,目的地址,各占128位。
从IPv4向IPv6过渡
网络如此庞大,从IPv4向IPv6的变换不可能一蹴而就,若要在两个版本的协议下通信,有下面的2个方法。
双协议栈
简单的说就是一个主机能够理解两个版本的内容,这样主机也要有2个版本对应的IP地址。具有双协议栈的主机,可以通过DNS系统知道目的主机使用的协议版本。
下面是两台使用IPv6的主机通信示意图,它们之间需要通过IPv4网络,在必要的时候经过双协议栈的主机进行协议的转换,当然转换的时候有些信息可能丢失,这也是不可避免的。
使用隧道技术
隧道技术的原理是,在IPv6的数据需要进入IPv4网络时,将IPv6的数据报(准确的说是PDU)当成IPv4数据报的数据部分,使用IPv4版本传输,在离开IPv4网络时在此组装成IPv6的数据,发往目的地。下面是一个示意图:
正文来自社区会员分享,如无授权请勿转载 扩展阅读内容来自网络,相关著作权归原作者所有 觉得本文有用,请转发或点击“在看”,让更多同行看到
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用商店搜索“twt”
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场