《新华三:2022 Web Cache技术白皮书(17页).pdf》由会员分享,可在线阅读,更多相关《新华三:2022 Web Cache技术白皮书(17页).pdf(17页珍藏版)》请在三个皮匠报告上搜索。
1、WAAS 技术白皮书 Copyright 2021 新华三技术有限公司 版权所有,保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。i 目 录 1 概述 1 1.1 产生背景 1 1.2 WAAS 技术体系 1 1.2.1 TCP 优化 1 1.2.2 UDP 优化 2 1.3 WAAS 优化流程 2 2 WAAS 技术实现 3 2.1 TFO 技术实现 3 2.1.1
2、TFO 简介 3 2.1.2 慢启动优化 3 2.1.3 扩大接收缓冲区 3 2.1.4 拥塞算法优化 3 2.1.5 选择性确认 3 2.2 DRE 技术实现 4 2.2.1 DRE 简介 4 2.2.2 DRE 基本原理 4 2.2.3 DRE 处理流程 4 2.3 LZ 技术实现 5 2.3.1 LZ 简介 5 2.3.2 LZ 基本原理 5 2.3.3 LZ 处理流程 6 2.4 FEC 技术实现 7 2.4.1 概念介绍 7 2.4.2 FEC 基本原理 7 2.4.3 FEC 处理流程 7 2.5 包复制技术实现 8 2.5.1 包复制简介 8 2.5.2 包复制基本原理 9 2.
3、5.3 包复制处理流程 9 3 典型组网应用 11 3.1 TFO+DRE 优化场景 11 3.2 TCP/UDP 单向 LZ 压缩 12 ii 3.3 FEC 优化场景 13 3.4 包复制优化场景 13 4 参考文献 14 1 1 概述概述 1.1 产生背景 随着 IT 基础架构的快速整合导致的数据相对集中、企业雇员全球化移动办公逐渐成为潮流,越来越多的企业应用系统交付需要通过广域网进行传输访问。广域网分支和总部数据中心之间良好的通信环境以及用户体验,不仅可以有效提升办事处的工作效率,也可以在广域网分支上为客户多元化服务提供保障。目前,广域网承载的业务类型及业务特点如表 1 所示。表1 广
4、域网业务类型及业务特点 业务类型 业务特点 企业生产应用业务 支撑企业分支正常运转的核心应用,如企业集团OA办公系统、企业的财务系统、订单管理系统、ERP企业资源系统、CRM客户关系管理系统等,其数据报文传输以小包居多,且一个应用往往需要分支客户端和总部服务器之间进行多次的交互,实现诸如应用数据库的查询,数据输入提交等行为。网络的时延对于这种类型的应用体验有最直接的影响 大文件的数据传输应用 数据传输以单方向为主,大多数情况下都是从企业总部数据中心发送到远程分支,且链路中传输的内容以大数据包为主,单次传输容量达到数十兆甚至数G。在这种情况下,广域网的链路带宽将直接影响文件的传输结果,另外大容量
5、、长时间以及多频次的数据下载将严重影响广域网的带宽利用 以语音、视频、QQ、企业微信等即时消息为主的统一通信类业务 常见的业务种类包括VoIP会议电话、视频会议、QQ/MSN等即时聊天工具、网络会议等。此类数据传输以双向交互为主,报文的长度不确定,大包小包混合存在,对于网络带宽和时延RTT都有较高的要求 Internet类业务应用 这种类型的业务优先级相对较低,即使带宽不足或者链路时延较大也是可以接受的。对于该类型业务最重要的防范大量工作无关业务对于带宽的滥用 对于以上各类广域网业务,存在应用延时大导致用户体验差,带宽利用率不足导致部署及维护成本高,以及关键业务带宽质量无法保证的问题,因此广域
6、网优化技术随之产生。1.2 WAAS技术体系 WAAS(Wide Area Application Services,广域网应用服务)是一种能够对广域网链路流量提供优化的技术。支持 WAAS 技术的设备可以通过配置优化动作,改善广域网链路高延迟、低带宽的缺点。WAAS 包括 TCP 优化和 UDP 优化。1.2.1 TCP 优化 TCP 优化可以加速文件传输,降低网络延迟,降低丢包率,提升基于 TCP 的应用在广域网上的传输性能。TCP 优化支持以下几种优化技术:TFO(Transport Flow Optimization,传输层流优化)DRE(Data Redundancy Elimina
7、tion,数据冗余消除)2 LZ(Lempel-Ziv compression,LZ 压缩)包复制 1.2.2 UDP 优化 UDP 优化可以降低丢包率,减少网络带宽的使用。UDP 优化支持以下几种优化技术:FEC(Forward Error Correction,前向冗余纠错)LZ(Lempel-Ziv compression,LZ 压缩)包复制(仅应用层协议为 RTP 时支持)1.3 WAAS优化流程 如图 1 所示,WAAS 优化涉及两个方向的流量:从 LAN 到 WAN 的流量,以及从 WAN 到 LAN 的流量。以 TCP 优化为例,整体优化流程如下:(1)在 TCP 握手建立连接的
8、过程中,Router A 与 Router B 协商出两者的 TFO优化能力交集,并使用双方都支持的优化能力对数据流进行 TFO 优化处理。(2)对于 LAN-to-WAN 方向的流量,设备对报文进行压缩处理,将压缩后的报文发送给 WAN 网络。目前支持的压缩方式有 DRE 和 LZ 两种方式。(3)对于 WAN-to-LAN 方向的流量,设备对报文进行解压缩处理,将解压缩后的报文发送给 LAN网络。图1 WAAS 应用场景示意图 LAN-to-WANWAN-to-LANRouter ARouter BLANHostServer LANWAN 3 2 WAAS 技术实现技术实现 2.1 TFO
9、技术实现 2.1.1 TFO 简介 TFO 是指传输层流优化技术。在不改变 TCP 流量的源、目的 IP 地址和端口号的情况下,在广域网链路两端分别对 TCP 连接进行透明代理,并对广域网链路上的 TCP 流量进行优化。TFO 优化方式包括:慢启动优化 扩大接收缓冲区 拥塞算法优化 选择性确认 2.1.2 慢启动优化 传统 TCP 慢启动时,拥塞窗口初始值为 1 个 TCP 分段,每经过一个传输轮次,拥塞窗口就加倍,最后拥塞窗口达到一个合适的值。在广域网环境下,传输时延较大,导致拥塞窗口达到一个合适的值需要经过较长的时间。慢启动优化通过扩大初始拥塞窗口大小的方式来缩短慢启动过程。2.1.3 扩
10、大接收缓冲区 传统 TCP 的接收缓冲区最大为 64K,即发送方在发送完 64K 的报文后,需接收到对端的确认报文后才能继续发送数据,即使广域网链路带宽还有空闲,也无法再发送数据。TFO 可以把 TCP 接收缓冲区最大增加到 16384K,提高 TCP 的传输性能。2.1.4 拥塞算法优化 TCP 的拥塞控制算法主要依赖于拥塞窗口,窗口的大小代表在未收到确认报文的情况下能够发送出去的最大数据报文段。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。窗口越大,数据发送的速度越快,则越有可能出现网络拥塞;相反窗口越小,数据发送的速度越慢,则导致数据发送效率低下。TFO 拥塞控制算法优化就是要在
11、发送速度与网络拥塞状况这两者之间权衡,选取最合适的拥塞窗口大小,使得网络吞吐量最大化且不产生拥塞。2.1.5 选择性确认 传统 TCP 在数据的传输过程中采用累计确认机制,发送方需等待一个来回时间根据接收方的确认报文确认丢失的数据,并且可能重传一些已经被接收方正确接收的数据。在多个不连续分段丢失的情况下,这种机制降低了 TCP 传输的总吞吐量。SACK(Selective Acknowledgment,选择性确认)允许接收方通知发送方所有正确接收的数据,因此发送方只需要重传丢失的数据。例如,在多个不连续分段丢失的情况下,接收方对未正确接收的不连续数据分别确认,使发送方只重传丢失的数据,实现数据
12、包的选择性重传。4 2.2 DRE技术实现 2.2.1 DRE 简介 DRE 是一种消除冗余数据技术,通过使用双向数据库保存先前检测到的 TCP 流量,以耗用极少带宽的索引来替代重复数据块,从而减少广域网链路传输的数据量,提高数据传输速度。在压缩机制中,数据块是 WAAS 划分出的互不重叠的待发送压缩数据单元,用于检测待发送的内容是否重复。针对重复的数据块,WAAS 采用字典索引将其取代之后进行发送。2.2.2 DRE 基本原理 DRE 的基本原理如下:(1)发送端发送数据块前首先查找 DRE 字典,如果查找到该数据块的字典表项,则认为之前发送过该数据块,将其称为重复数据块。(2)发送端将重复
13、数据块替换为字典索引在广域网链路上传输,此过程称为 DRE 压缩。(3)接收端通过识别字典索引,将其还原成重复数据块,此过程称为 DRE 解压缩。2.2.3 DRE 处理流程 图2 DRE 压缩原理图 如图 2 所示,以 Host 从 Server 下载文件为例,采用 DRE 优化的数据传输过程如下:(1)Router B的TCP透明代理模块接收并缓存原始的 TCP数据块后,将其发送给DRE模块。DRE模块采用滑动块检测技术对数据进行分块和检测,先将待发送数据划分为互不重叠的数据块,如 data A 和 data B,然后检测它们是否为重复数据块。解压后的数据压缩后的数据压缩后的数据原始数据报
14、文缓存报文缓存data Adata BFile download原始数据压缩后的数据压缩后的数据index Aindex B+data B本地生效字典本地生效字典(1)(2)(4)(6)(3)(5)Router BServerHostRouter A索引index Aindex B数据data Adata Bdata Adata B本地临时字典WANindex Aindex B+data B解压后的数据索引index A数据data A索引index B数据data B 5 如果是重复数据块,如 data A,则使用对应的字典索引 index A 替换该数据块,并根据该数据块生成 MD5 摘要
15、,然后发送字典索引和 MD5 摘要信息。如果不是重复数据块,如 data B,则为该数据块生成对应的字典索引 index B,将该字典索引和数据块添加到本地临时字典中,并根据该数据块生成 MD5 摘要,然后发送数据块、对应的字典索引和 MD5 摘要信息。(2)Router B 将压缩后的数据发送至 Router A。(3)Router A 还原数据,根据接收数据获得对应的原始数据。如果接收到的数据为字典索引,则根据字典索引进行数据字典查询以获取相对应的重复数据块。如果接收到的数据为字典索引和数据块,则根据收到的数据创建新的字典表项,并添加到本地数据字典中。(4)Router A 将解压后的数据
16、发送到 LAN 侧 Host。(5)Router A 发送 ACK/SACK 信息给 Router B 确认接收数据。(6)Router B 收到确认信息后,将确认收到的非重复数据添加到本地生效字典,未被接收的数据重传。Router A 与 Router B 的本地生效字典是同步的。两边设备通过缓存本地生效字典,从而对报文进行压缩和解压缩,较少带宽的消耗。2.3 LZ技术实现 2.3.1 LZ 简介 LZ 压缩是一种数据无损压缩技术,它包含一系列的压缩算法。目前,H3C 采用的是 LZ 压缩算法在兼顾压缩率的前提下,更偏重于处理速度,以便 LZ 压缩能够满足报文转发的性能需求。LZ 与 DRE
17、 压缩的区别在于,LZ 不需要在压缩和解压缩双方同步保存数据字典,而是通过自建字典方法来进行压缩替换,其压缩字典存在于压缩结果中。例如,原始数据 data1 在压缩成 sequence1的过程中,不需要查找本地字典,而是将原始数据划分为不同的子序列,碰到重复的子序列如 bcde,则使用序列偏移和匹配长度5,4代替,从而达到压缩的目的。2.3.2 LZ 基本原理 LZ 的基本压缩原理为,将历史数据中出现过的字符串序列用一种特殊的格式或者特殊的小序列表示。因为特殊格式或者特殊小序列通常都是比原本的字符串序列更小,所以 LZ 能起到压缩的效果。6 2.3.3 LZ 处理流程 图3 LZ 压缩原理示意
18、图 如图 3 所示,以 Host 从 Server 下载文件为例,采用 LZ 优化,数据传输过程如下:(1)Router B 接收并缓存原始数据报文后,对其进行 LZ 压缩。例如 data1 的原始数据为abcde_bcdefgh_abcdemdk,压缩成 sequence1 后的数据为tokenabcde_5,4fgh_14,5mdk,其中包括:token:1 个字节,为每个序列的开头标记。该标记分为两个 4 位的字段:匹配长度字段表示匹配序列的字符个数,字面序列长度字段表示字面序列的字符个数。字面序列长度:0N 个字节,表示字面序列的字符个数,分为两种情况存储。如果字符个数值小于等于 15
19、,则只需要将数值存入 token 的高 4 位即可;如果取值比 15 大,则将 15存入 token 的高 4 位,取值与 15 的差值存入 token 后面的字节。字面序列:表示被认为没有在以前的历史数据中出现过的序列及其子序列,它们以原始形式保存,解压的时候它们会被完整的拷贝过去。匹配序列:表示以前出现过的序列,它使用一个 offset 和匹配长度来表示。offset:2 个字节,表示待解压的匹配序列起始字符到已出现字面序列起始字符相差的字符个数。匹配长度:0N 个字节,表示匹配序列的字符个数,与字面序列长度类似,它也分为两部分存储。如果字符个数值小于等于 15,则只需要将数值存入 tok
20、en 的低 4 位即可;如果取值比 15 更大,则将 15 存入 token 的低 4 位,取值与 15 的差值存入 offset 后面的字节。(2)Router B 将压缩之后的 sequence 报文发送给接收端 Router A。(3)Router A 收到压缩后的报文,根据 LZ 算法进行解压缩得到原始数据,将原始数据发送给 LAN侧的 Host。解压后的数据压缩后的数据压缩后的数据原始数据报文缓存报文缓存原始数据压缩后的数据解压后的数据token(1字节)匹配长度(低4位)字面序列长度(高4位)字面序列长度(0-N字节)字面序列offset(2字节)匹配长度(0-N字节)压缩后的数据
21、sequence1sequence2token(1字节)匹配长度(低4位)字面序列长度(高4位)字面序列长度(0-N字节)字面序列offset(2字节)匹配长度(0-N字节)原始数据abcde_bcdefgh_abcdemdkLZ压缩之后tokenabcde_5,4fgh_14,5mdkLZ压缩之后tokenabcde_5,4fgh_14,5mdk解压恢复原始数据abcde_bcdefgh_abcdemdk(1)(2)(3)HostRouter ARouter BServersequence2File downloadWANdata1data2sequence1data1data2 7 2.4
22、 FEC技术实现 2.4.1 概念介绍 1.冗余包 采用 FEC 对网络流量进行优化时,在相互通信的 WAAS 设备上,发送端会根据 FEC 的配置对原始数据包进行编码且生成冗余包。冗余包不是简单的复制原始数据包,冗余包头中有该分组中原始数据包的个数、冗余包的个数以及序号等信息。接收端对网络流量进行 FEC 解码并根据未丢失的数据包和冗余包恢复丢失的数据包。2.平均抗丢包率 平均抗丢包率是指抵抗网络丢包的能力,例如平均抗丢包率 5%表示一个数据流在网络传输过程中丢失 5%也不会影响其正常通信。它决定了发送端对一组原始数据包进行 FEC 编码时生成冗余包的个数:平均抗丢包率越小,生成的冗余包个数
23、越少,占用带宽越小;平均抗丢包率越大,生成的冗余包个数越多,占用带宽越大。平均抗丢包率由管理员根据实际丢包率的情况进行配置,一般情况下,配置的平均抗丢包率要比实际丢包率大。3.编码块包数 编码块包数是指 FEC 编码时一组编码块对应的原始数据包个数。FEC 优化时,当设备缓存的原始数据包个数达到编码块包数之后,WAAS 设备开始生成冗余包,并将原始数据包和生成的冗余包发送出去。2.4.2 FEC 基本原理 采用 RTP(Real-time Transport Protocol,实时传输协议)协议进行音频、视频实时互动时,虽然延时小,但是经常有包乱序、包丢失和包重复的问题出现,无法对所传数据提供
24、可靠的保障。FEC 是一种前向冗余纠错技术,其基本原理是:(1)发送端对待传输的原始数据包,根据配置的编码块包数和平均抗丢包率生成冗余包,然后将冗余包追加在原始数据包后面发送给接收端。冗余包不是简单的复制原始数据包,冗余包头信息中有该分组中原始数据包和冗余包的个数以及序号等信息。(2)接收端收到的数据包后,首先检查是否有丢包,如果有丢包,则根据冗余包信息解码,还原出原始数据包,再将原始数据包发送给目的端。2.4.3 FEC 处理流程 图4 FEC 压缩原理示意图 Router ARouter BHost AHost B1234R1234R1R342WAN 8 如图 4 所示,FEC 对报文的处
25、理流程如下:(1)音频、视频数据包识别 a.呼叫报文处理:Router A 接收到音频、视频呼叫报文后,为报文生成一个会话并设置 ALG(Application Layer Gateway,应用层网关)业务标记用于识别数据报文。b.数据报文处理:Router A 接收到数据报文后,进行 RTP 类 WAAS 策略匹配。如果匹配到策略,则创建 FEC 的快速转发表项并设置快速转发业务标记;如果没有匹配到策略,则正常转发。(2)FEC 编码过程 a.数据缓存:Router A 将 RTP 原始数据包进行缓存。b.FEC 编码处理:当 Router A 缓存的原始数据包达到编码块包数或者编码缓存时间
26、达到超时时间时,设备将缓存的序列号为 1、2、3、4 的原始数据包分成一组,对其进行进行 FEC编码并生成一个或多个冗余包 R,然后分别发送缓存的原始数据包与生成的冗余包。(3)FEC 解码过程 a.数据缓存:Router B 将接收到的原始数据包 1、3、4 和冗余包 R 进行缓存。b.FEC 解码处理:在解码超时时间内,当缓存的原始数据包和冗余包之和大于等于该分组中原始数据包的个数,设备会将缓存的数据包 1、3、4、R 进行 FEC 解码处理,并恢复出丢失的数据包 2,然后将 1、2、3、4 发送出去,同时丢弃冗余包 R。如果缓存时间达到解码超时时间,设备将不对已缓存的数据包进行 FEC
27、解码,而是直接发送原始数据包,丢弃冗余包。FEC 根据平均抗丢包率的配置方式分为 A-FEC(Adaptive-FEC,自适应的 FEC)和 D-FEC(Determined-FEC,固定的 FEC)两种类型。A-FEC 根据实时丢包率调节平均抗丢包率:发送端在冗余包中加入设备地址信息通告给接收端。接收端对实时数据进行丢包率采样,并周期性的反馈给发送端,从而使发送端调整冗余包个数的生成,减少广域网链路传输的数据量,提高数据传输速度。D-FEC 使用配置的固定平均抗丢包率。在网络波动较大的环境中,D-FEC 更具有优势。2.5 包复制技术实现 2.5.1 包复制简介 广域网优化场景中,对于可靠性
28、要求很高并且流量较小的业务(例如付款、紧急呼叫等),如果在传输过程中出现丢包和时延较大情况,会对业务产生很大影响,甚至导致业务中断。目前,大部分局域网普遍采用多条 WAN 链路接入广域网,并在多条 WAN 链路之间进行负载分担。包复制是一种冗余纠错技术,它利用多链路优势,将同一份报文从两条链路发送出去。只要两条链路不同时丢弃报文,则接收端可通过将两条链路上接收到的同一份报文信息进行互相补充,整合成完整的报文流,从而能够有效降低甚至解决因单条链路丢包导致的业务中断等问题。目前,包复制技术仅在 VXLAN 组网环境下支持。9 2.5.2 包复制基本原理 包复制基本原理如下:(1)发送端对于匹配了包
29、复制策略条件的报文,首先查询其 WAN 出接口是否存在等价链路。如果存在等价链路,则将报文复制到第一条查询到的等价链路上,并从该 WAN 出接口及查询到的等价链路同时转发报文。如果不存在等价链路,则无需复制,直接从路由出接口转发报文。(2)接收端接收到报文后,通过报文特征整合两条链路收到的报文,即对接收到的报文进行去冗余与保序处理,综合两个链路的报文还原出原始业务流,再将原始业务流发送给目的终端。2.5.3 包复制处理流程 如图 5 所示,包复制对报文的处理流程包括如下 4 个步骤:(1)报文识别(2)报文复制(3)报文去冗余(4)报文保序 图5 包复制原理示意图 1.报文识别 TCP 报文处
30、理:Device A 对接收到的报文进行分析,如果以下条件均满足,则进行包复制转发;如果以下条件中有任一条件不满足,则正常转发。报文类型为 TCP。能匹配到 TCP 优化策略。WAN 出接口存在等价转发链路。RTP 报文处理:Device A 对接收到的报文进行分析,如果为 UDP 报文,则判断是否为信令报文。如果是信令报文,则正常转发。如果不是信令报文,且以下条件均满足,则进行包复制转发;如果不是信令报文,且以下条件中有任一条件不满足,则正常转发。Device ADevice BWAN 2WAN 1分支机构总部业务报文或者协议报文 报文识别 报文复制 报文去冗余 报文保序 10 能成功获取报
31、文对应的会话信息。报文类型为 RTP。能匹配到 TCP 优化策略。WAN 出接口存在等价转发链路。2.报文复制 如图 5所示,在Device A与 Device B之间有两条等价链路,Device A-WAN 1-Device B和Device A-WAN 2-Device B。Device A 收到原始报文后,识别报文,并对满足条件的原始报文进行复制。Device A 根据等价路由的选路规则,选出原始报文的出接口,发送原始报文;然后选择路由表中第一个被查询到的其它等价链路(除原始报文出接口链路的链路)发送复制报文。出现以下情况时,设备不会进行包复制:设备内存不足,已经达到内存告警门限。报文长
32、度大于传输链路的 MTU。3.报文去冗余 Device B 从两条链路接收报文后,需要对收到的重复报文进行去冗余处理,确保原始报文和复制报文仅保留一个。报文去冗余流程如下:Device B 收到两条链路发来的报文,根据报文信息在冗余链中进行查找。如果冗余链中不存在相同的报文信息记录,则认为该报文为首次收到的报文,将该报文信息加入冗余链,并继续处理该报文。如果冗余链中存在相同的报文信息记录,则判断该报文是重传报文还是冗余。对于重传报文,继续处理;对于冗余报文,则从冗余链中删除对应的报文信息记录,同时将该冗余报文丢弃。冗余链是一个用于存放报文信息的缓冲区,如果设备收到的报文的信息和冗余链中保存的报
33、文信息相同,则表示收到的为重复报文,需要进行去冗余处理。4.报文保序 报文经过两条链路到达 Device B,因为两条链路的时延不同,报文到达的先后顺序很可能和报文本身的序号大小不一致,所以,Device B 对报文进行去冗余处理之后,还需要对报文进行保序处理,以尽量保证报文按照序号从小到大的顺序发送出去。如果报文为分片报文,则对到达的各分片报文进行缓存,待整个报文的所有分片到达后再进行发送。如果在分片报文老化超时时间到达时整个报文还未完全到达,则发送已缓存的分片报文。如果报文为非分片报文,则需要判断当前报文的序号是否为本地接口期望收到的序号。如果该报文序号为期望序号或者比期望序号小,则发送本
34、报文并更新期望序号,然后遍历保序缓存链。如果保序缓存链中存在期望序号的报文,则发送该报文并再次更新期望序号。以此类推,直到保序缓存链中缓存的期望序号报文全部发送完毕。11 如果该报文序号比期望序号大,则将本报文加入保序缓存链中。不管接口是否收到报文,接口均会监控保序缓存链,发送保序缓存链中超时老化的报文,并更新期望序号。保序缓存链是一个存放报文的缓冲区,用于尽量保证按照报文序号大小顺序将报文发送给下一跳。如果收到的报文的序号大于期望收到的报文的序号,即该报文提前到达,接口会将该报文暂时存入保序缓存链,以便等待期望的报文发送后,再发送这些报文。为了避免长时间等待期望报文导致通信恶化,保序缓存链支
35、持超时老化机制,即不管期望报文是否到达,保序缓存链中的每个报文在固定的老化时间之后会被发送。为了应对报文突发、保序缓存链需要缓存多个报文占用过多内存的情况,保序缓存链会有容量限制。当保序缓存链中的报文达到容量最大值时,即便最老的报文未超时老化,也被发送,以便新报文可以进入保序缓存链。例如,接口当前期望收到序号为 3 的报文,但实际收到序号为 4 的报文,则序号为 4 的报文会被放入保序缓存链,以便等待序号为 3 的报文。如果下一个到达的报文序号为 3,则发送序号为 3 的报文,更新期望序号为 4。然后遍历保序缓存链,发送序号为 4 的报文,更新期望序号为 5。如果下一个到达的报文序号为 5,则
36、将序号为 5 的报文放入保序缓存链,期望序号仍为 3。如果再下一个到达的报文序号为 3,则发送序号为 3 的报文,更新期望序号为 4。然后遍历保序缓存链,发送序号为 4 的报文,更新期望序号为 5。之后,继续遍历保序缓存链,发送序号为5 的报文,更新期望序号为 6。这样,就能将序号为 3、4、5 的报文顺序发送。如果缓存链中序号为 4 的报文老化超时时间到达,但期望的序号为 3 报文未收到,则发送序号为 4 的报文,更新期望序号为 5。3 典型组网应用典型组网应用 3.1 TFO+DRE优化场景 如图 6 所示,数据中心提供视频和游戏服务,用户通过广域网访问数据中心,访问量和数据量均很大。在广
37、域网接入设备 Router A 和 Router B 上部署 TCP 优化技术 TFO+DRE,可有效降低广域网的丢包率,改善广域网链路高延迟、低带宽的缺点。12 图6 TFO+DRE 优化组网图 3.2 TCP/UDP单向LZ压缩 企业总部数据中心和远程分支的之间的数据传输,大多数情况下都是从企业总部数据中心到远程分支单方向的、大数据包为主,单次传输容量达到数十兆甚至数 G。例如,远程分支经常向企业总部数据中心查阅文件、下载软件、访问公司网站/数据库等。在这种情况下,广域网的链路带宽将直接影响用户的传输结果,大容量、长时间以及多频次的数据下载都将严重影响广域网的带宽利用。WAAS 设备可以通
38、过配置 TCP/UDP 单向 LZ 压缩功能,节约带宽。如图 7 所示,在发送端 WAAS 设备上开启 TCP/UDP 单向 LZ 压缩功能后,将减少企业总部数据中心与远程分支的数据同步的所使用的带宽。图7 TCP/UDP 单向 LZ 压缩组网图 数据中心Router ARouter BLANHostWAN总部分支机构2分支机构1MPLSInternetLANLANLANWAAS设备WAAS设备WAAS设备Host BHost AServer A 13 3.3 FEC优化场景 语音、视频等数据流对于网络带宽和时延 RTT 都有较高的要求。如图 8 所示,在 WAAS 设备上开启 FEC 优化功
39、能可以保障关键的视频应用在 20%丢包的情况下无卡顿、无花屏,能够为音视频会议的正常召开提供有力保障。图8 FEC 优化组网图 3.4 包复制优化场景 如图 9 所示,某企业的分支机构通过双 WAN 链路跨 VXLAN 网络和总部连接,对于可靠性要求很高且流量较小的业务报文(比如付款、紧急呼叫等),现利用双 WAN 链路组网特点,通过部署 WAAS的包复制功能,使得业务报文在 WAN 链路传输时,能有效降低甚至解决单条链路中的丢包、乱序问题,保证业务的高可靠性。总部分支机构2分支机构1MPLSInternetLANLANLANWAAS设备WAAS设备WAAS设备Video phone BVid
40、eo phone AVideo phone C 14 图9 包复制优化组网图 4 参考文献参考文献 RFC 1323:TCP Extensions for High Performance RFC 2582:The NewReno Modification to TCPs Fast Recovery Algorithm RFC 2733:An RTP Payload Format for Generic Forward Error Correction VTEP 1(WAAS设备)VTEP 2(WAAS设备)WAN 2WAN 1分支机构总部Video phone AVideo phone BVXLAN tunnelVXLAN tunnel