从网络基础架构到上层应用的可推广的IPv6改造方案——国泰君安证券股份有限公司IPv6规模部署和应用案例
2024-04-08 次
从网络基础架构到上层应用的可推广的IPv6改造方案——国泰君安证券股份有限公司IPv6规模部署和应用案例证券行业具有交易时间集中、市场高速变化、交易应用软件形态多样等特点,系统改造适配的环境较为复杂。通过近2年的改造工作,国泰君安证券股份有限公司各类网站及APP、PC客户端均已实现IPv6网络全面覆盖,并实现了客户无感切换。
2019年底,公司完成了总部官网及24个分支机构网站的IPv6试点改造工作,并投入生产运行。2020年底,公司所有面向客户的Web服务均已支持IPv6。
根据金融行业IPv6发展监测平台在2020年以来公布的数据显示,门户网站在“网站首页IPv6访问成功率”“网站首页内容IPv6和IPv4的一致性”等多个指标评分上都长期保持优秀评分记录(详见金融行业IPv6发展监测平台网站)。
2020年10月,公司君弘APP已完成所有接入服务对IPv6的支持,在“C/S APP应用IPv6标识”“移动APP域名IPv6地址解析功能”“移动APP IPv6连接性”等指标上都做到了完整支持。
2020年12月,公司完成了富易客户端的IPv6改造工作,分别对客户端和接入网关进行了适配改造,在客户端联机效率、网关联机数、网关接入转发效率、用户无感知等指标上,都做到了稳定支持。
考虑到原有IPv4网络在多运营商互通及冗余切换中的不足,国泰君安在IPv6网络的部署中采用了BGP多线路的网络技术方案,从CNNIC申请了独立的公网IPv6地址段及独立的AS号,同时使用BGP路由协议,同一地址可连接不同运营商,可提供最优的运营商网络给不同的客户,避免了运营商之间的互联互通瓶颈问题。采用国产化的网络设备,结合使用“Gobal Unicast”的公网IPv6地址和“Unique Local”的私网IPv6地址段,以双栈支持模式进行整体IPv6网络搭建。
2019年开始,为持续推进IPv6的网络建设和规模部署,在公司构建一个高效率、广普及、全覆盖、智能化的下一代网络,确保公司两地多中心的应用系统可以使用IPv6/IPv4地址进行灵活、高效的互联互通,公司利用基于IPv6的SRv6新一代路由技术,搭建了国泰君安新一代骨干网,架构如图1所示开云网址开云网址。从而实现应用驱动的路径可编程,不同应用具有差异化的带宽及延时保障功能,发挥IPv6骨干网在全网流量调优、拥塞保护、运维等方面的优势。
为确保IPv6网络及应用拥有不低于IPv4的网络安全防护能力开云网址,公司分别从多角度部署安全防护网。
公司目前大量业务依托于网站,网站IPv6改造的平稳推进至关重要。经过前期对众多改造方案及公司应用架构、应用场景的调研,为保障新老业务服务质量,公司以全链路双栈改造支持IPv6为目标。其中网站大多通过硬件负载均衡接入,因此网站的IPv6改造也均依托于硬件负载均衡,对于部分改造难度较大的应用,由负载均衡进行地址转换,应用后台仍保留IPv4的网络环境。详细设计架构图如图2所示。
通过移动设备上的君弘APP提供行情资讯、证券交易、理财等服务是公司重要的业务渠道,占比超过70%,移动用户及后台应用服务器数量庞大,无论客户端或是服务端,未来很长一段时间内都会是IPv6和IPv4网络共存的情形。
面对庞大的用户群体,需要制定一个稳定可控的方式向IPv6网络迁移,为此君弘APP自研开发了一套灰度发布机制,通过制定灰度策略,并通过服务下发相关服务参数,采用本地策略联合调度策略灰度控制IPv6的占比,保证用户在无感知的情况下逐步切换至IPv6网络(君弘APP详细改造架构见图3):
APP在启动和网络环境发生变动的时候会检测当前网络的状态:纯IPv4、IPv6/IPv4双栈、纯IPv6,客户端当前的版本默认策略为“优先IPv4”,还提供“自动”“优先IPv6”可供客户在设置里自行调整。
a)通过IP方式接入的服务,通过调度服务器一次会下发多个IP,包括IPv4地址和IPv6地址。如果客户端处于双栈网络且本地策略为“自动”,则会根据灰度命中的情况决定接入的地址类型;
富易网上交易系统是公司主推的PC端交易软件,公司超过20%的用户通过富易客户端访问公司业务。与移动端相比,富易软件的客户多为大资金客户,更需保证在用户无感知的情况下进行IPv6切换,以此减小对客户体验的影响。
如图4所示,客户端在原有支持IPv4网络的同时,对其通讯层进行改造使其能对接IPv6的行情主站和交易主站。服务端主要是在接入网关上进行改造,针对服务端的网关程序,实现服务端双栈通讯模式。
本地网络环境:富易客户端在启动的时候会检查本地环境,在客户端双栈网络环境下默认选择IPv4网络。
客户端配置:客户端提供了配置文件,供客户选择IPv4或IPv6网络。客户端在确定客户使用何种IP协议栈之后,会采用随机均衡算法,下发可用的服务器提供服务。