什么是金融广域数据消冗?
随着智慧金融的蓬勃发展,金融机构之间的广域网流量激增,线路租用费是网络设备投资的2~3倍,带来很大的成本压力。使用金融广域数据消冗,在数据发送端进行压缩,在接收端进行解压缩,可以减少金融机构之间广域网流量的线路带宽消耗,节省线路成本,加速分布式数据中心部署。
为什么需要广域数据消冗?
如下图所示,随着金融行业分布式多数据中心的建设,数据中心之间的流量激增,而数据中心之间往往通过租用广域链路来实现互通,线路租用成本与带宽强相关。据统计,金融行业广域线路的租用费是网络设备投资的2~3倍以上,这给金融机构带来极大的成本压力。
金融分布式多数据中心通过广域互联
广域数据消冗是指数据中心之间在进行数据转发前,发送端先将数据进行压缩,再通过广域链路转发。在接收端进行数据解压缩,还原出原始数据的过程。这样做可以减少对广域线路带宽的消耗,节省广域线路成本,加速分布式数据中心部署。
金融广域数据消冗的总体架构
金融广域数据消冗的总体架构如下图所示,执行数据压缩/解压缩的设备是DC-PE以及一级分行级别的上联设备,如下图中红色设备所示。压缩前后数据包源/目的IP、端口号保留;支持将压缩后的报文入SRv6隧道,实现压缩数据流量按需选路。
金融广域数据消冗的总体架构
在使用广域数据消冗功能时,需要在执行数据压缩/解压缩的NE路由器上插入支持数据消冗的业务板,并在NE路由器和NCE控制器上激活“数据消冗”相关的License。这样无需额外增加数据消冗设备,无需改变原有组网拓扑,可一站式完成数据引流、压缩/解压缩、转发全过程。
数据压缩协议
IPPCP(IP Payload Compression Protocol,IP有效载荷压缩协议),也称为IPComp,是面向IP数据报文的一个底层压缩协议。不同于普通IP报文中的有效载荷(Payload),该协议中IP报文的有效载荷是被压缩过的。
IPPCP通过插入自身协议头部和改变IPv4和IPv6报文的个别字段来实现对IP报文的压缩。IPPCP的报文头部如下图所示,包含三个字段,各个字段的解释如下表所示。
IPPCP报文头部
字段名 |
长度 |
含义 |
---|---|---|
Next Header |
8比特 |
下一报头:标识原始IPv4报文的Protocol字段或者IPv6报文的Next Header字段。 |
Flags |
8比特 |
标志:保留给将来使用,必须设置为0。 |
Compression Parameter Index |
16比特 |
压缩参数索引:标识压缩算法,0-63标识知名压缩算法,使用这些算法无需额外信息;64-255保留给将来使用。 |
下面分别介绍使用IPPCP压缩后的IPv4和IPv6报文格式。
压缩后的IPv4报文格式
如下图所示,除了插入IPPCP报文头部外,压缩后的IPv4报文在以下三个橙色字段的取值上发生了变化:
- Total Length:整个被封装的IP数据报文长度,包括IP头、IPPCP头和已压缩的有效载荷。
- Protocol:设置为108,标识协议类型为IPPCP。
- Header Checksum:用来检验IP报文头部在传输到接收端后是否发生了变化。
压缩后的IPv4报文格式
压缩后的IPv6报文格式
如下图所示,除了插入IPPCP头部外,压缩后的IPv6报文在以下两个橙色字段的取值上发生了变化:
- Payload Length:表示压缩后的有效载荷的长度。
- Next Header:设置为108,标识协议类型为IPPCP。
压缩后的IPv6报文格式
作为一种IP层的压缩协议,IPPCP的压缩是无损的,报文在经过压缩和解压缩之后与原报文一样。同时,IPPCP的压缩是无状态的,每个报文的压缩和解压缩不依赖其它报文,不关注报文失序或者丢失,每个报文压缩后单独封装。
数据压缩算法
目前NE路由器支持Zstd(Zstandard)算法,这是一种高性能的无损压缩算法。该算法将基于字典的压缩算法和基于统计模型的压缩算法相结合,提供了较高的压缩比和较快的压缩速度。Zstd算法还支持多种压缩级别,允许用户根据需要调整压缩级别,在压缩速度和压缩比之间进行平衡。
Zstd算法主要由三个部分构成:LZ77、哈夫曼编码和FSE(Finite State Entropy,有限状态熵)。LZ77是经典的基于字典的压缩算法,哈夫曼编码和FSE是基于统计模型的压缩算法。
Zstd算法的压缩流程如下图所示。Zstd算法在压缩时将原数据初始化为多个数据块,依次对初始化后的数据块进行压缩。首先Zstd算法对每个数据块进行LZ77压缩,将压缩后的数据块再次进行“哈夫曼压缩+FSE压缩”和FSE压缩,根据压缩结果比对最优压缩效果,构造压缩后的数据块;解压缩的过程即为压缩的逆过程。
Zstd算法的压缩流程图
通过采用三种压缩算法混合压缩的方法,Zstd算法在实现高压缩比、高压缩精度的同时,也实现了较快的压缩速度,与其他压缩算法(Deflate算法、LZ4算法、Zlib算法等)相比,具有较高的压缩性能。
金融广域数据消冗的工作过程
下面以如下图所示的组网来介绍金融广域数据消冗的工作过程,过程中涉及到iMaster NCE控制器和网络设备(NE路由器)的相关配置的简要介绍。
广域数据消冗工作过程
- 设备预配置。
- 解压缩端预配置解压缩实例,解压缩实例里关联用于压缩/解压缩的业务板CPU和压缩算法(Zstd)。
- 压缩端和解压缩端设备间建立BGP Flow Specification对等体。
- 压缩端预配置压缩实例,压缩实例里关联用于压缩/解压缩的业务板CPU和压缩算法(Zstd)。
- iMaster NCE控制器下发配置。
iMaster NCE控制器下发感兴趣业务流的SIP+DIP+协议号+源端口+目的端口(SIP和DIP必须有一个,其他可以任意选择组合)到解压缩端,同时下发压缩算法。
- 解压缩端根据iMaster NCE控制器下发业务的压缩算法,找到设备上预配置的解压缩实例。解压缩端业务板正常时,业务五元组转换为BGP Flow Specification路由,本地生成BGP Flow Specification的动态ACL,包含:五元组信息+IPPCP压缩协议号108,并通过BGP Flow Specification路由传递业务五元组信息+压缩算法给压缩端。
- 压缩端收到BGP Flow Specification路由,生成动态ACL,并根据BGP Flow Specification携带的压缩算法找到压缩实例。
- 压缩端通过BGP Flow Specification生成的动态ACL匹配业务流量,进行压缩引流:
- 压缩端接口板收到报文,命中压缩策略后转发到压缩业务单板。
- 在压缩业务单板上执行压缩,然后查找FIB,迭代封装SRv6隧道。
- 报文转发到出接口板,然后转发出去。
- 解压缩端根据本地生成的解压缩实例和策略进行解压缩:
- 接口板收到压缩报文,剥掉SRv6报文头。
- 命中解压缩策略,并转发到解压缩业务单板。
- 在解压缩业务单板上执行解压缩,然后查找FIB,发至出接口板。
当解压缩端业务板故障时,解压缩端发布BGP Flow Specification撤销压缩引流消息到压缩端,以达到撤销引流的目的。
金融广域数据消冗的具体配置过程,请参见《华为智慧银行广域网络解决方案 交付一本通》。
金融广域数据消冗的典型应用
并非所有的业务报文都适合压缩:
- 适合压缩的报文:长包(冗余大的报文)、文本格式、数据库(结构化报文)类
- 不适合压缩的报文:图片、视频、票据影像;已经压缩过的办公业务报文
对于金融业务,适合压缩的典型业务报文为:数据库异地复制、磁盘异地复制、文本类占比较高的批量文件传输、报表传输。
- 典型应用场景一:异地数据中心之间
金融机构异地数据中心之间通常会采用多条10G专线链路进行互联,承载的业务数据流量主要有:异地存储阵列跨城长距容灾备份、数据库异地备份、数据文件异地复制等。在数据中心的DC-PE设备上部署广域数据消冗,可以有效降低数据中心间专线链路的带宽消耗,降低线路费用。
- 典型应用场景二:数据中心和一级分行之间
金融机构数据中心和一级分行通常会采用多条100M~1G专线链路进行互联,承载的业务数据流量主要有:补丁推送、病毒库推送、应用下载、邮件收发等。在数据中心的DC-PE设备以及一级分行的上联设备上部署广域数据消冗,可以有效降低数据中心和一级分行之间专线链路的带宽消耗,降低线路费用。
- 作者: 张帆
- 最近更新: 2023-10-16
- 浏览次数: 3427
- 平均得分: