H3C OAA之WAN优化技术白皮书.docx
《H3C OAA之WAN优化技术白皮书.docx》由会员分享,可在线阅读,更多相关《H3C OAA之WAN优化技术白皮书.docx(25页珍藏版)》请在三一办公上搜索。
1、H3C OAA之WAN优化技术白皮书目 录目 录41. 概述51.1 背景51.2 广域网优化简介52. 广域网优化原理介绍62.1 数据压缩原理介绍62.2 缓存原理72.2.1 基本原理72.2.2 数据块缓存原理72.3 TCP加速原理介绍82.3.1 窗口大小通告与滑动窗口92.3.2 慢启动92.3.3 拥塞避免92.3.4 窗口调节技术112.3.5 选择性确认112.3.6 Split TCP112.4 QoS原理介绍122.4.1 模型122.4.2 QoS技术介绍133. 解决方案主要模块介绍143.1 多业务路由器MSR143.2 WAAM模块143.2.1 数据压缩153
2、.2.2 应用加速193.2.3 TCP加速213.2.4 基于应用的QoS技术213.2.5 ACFP协议224. 参考案例25目 录图1 数据压缩原理7图2 同类数据压缩原理8图3 基于块的数据缓存9图4 字节级数据缓存9图5 拥塞避免与慢启动11图6 Split TCP13图7 IPComp和RTM压缩模式16图8 VDA算法17图9 SC算法18图10 APC算法18图11 压缩过程119图12 压缩过程219图13 HTTP/FTP应用加速20图14 DNS应用加速21图15 Citrix应用加速21图16 语音应用加速22图17 OAA体系结构示意图24图18 主机模式示意图25图
3、19 透传模式示意图25图20 镜像模式示意图26图21 重定向模式示意图26OAA WAN优化解决方案技术白皮书1. 概述1.1 背景广域网的带宽比局域网带宽差很多,并且广域网带宽的增加会带来成本大幅度上升。与此同时还会带来一定影响的网络延迟。广域网应用大幅度增加,除了语音、视频外,传输文件、图片以及海量数据的分析以及处理,这些都是困扰用户正常使用的重要因素。 另外信息的集中化管理,对各分部和总部之间的高质量信息转送也提出了越来越高的要求,这就需要增加各地的分支机构。与此同时企业分支网络逐渐出现了数据集中趋势,一般情况下企业会将大部分共享数据库放到总部的数据中心,给每一个分支机构访问,但随着
4、分支机构的迅速增加且多数员工外出办公时的访问量也在上升,这种一对多的数据服务给企业总部的服务器和带宽带来了巨大的压力,影响了数据交换的速度。企业虽然也可以向运营商购买更高的带宽,不过成本费用较高并且效果不明显。广域网性能低下对于用户的影响主要包括以下几个方面:n 大多数企业管理、应用软件均采用C/S结构进行编写,虽逐步在进行B/S的更改,但是大部分企业的应用仍然基于C/S结构,对于C/S到B/S结构的更改仍然是一个重要的课题n 增加带宽并不能解决访问及应用慢速的问题,问题存在与TCP自身,TCP自身慢启动问题仍然是阻碍企业业务正常开展的主要问题n 广域网行业纵向网的分支机构众多,全部采用高带宽
5、连接投资非常巨大,合作伙伴之间带宽一般采取的是临时建立的连接,带宽极低,又要传输大量的数据,造成传输速度难以忍受n 基本语音视频业务没有最佳的QoS策略来进行保证,造成质量不佳,最终导致应用开展不起来;大量非法应用堵塞了现有正常应用开展,占据的带宽造成了正常带宽的缩减。1.2 广域网优化简介广域网(WAN)带宽昂贵,绝大多数用户也因此只能拥有有限的广域网带宽。如何以最小的投入提高网络性能?如何为远程用户提高访问速度和服务效率?怎样确保随时召开异地视频会议而不被打断?一种方式是“扩出口买带宽”,其实有更合理的方法解决。数据压缩、动态缓存、IP流量管理以及QoS等都可以一定程度上解决广域网传输加速
6、的问题。但压缩仅仅解决了带宽资源的问题,对于延迟非常大的链路,仅靠压缩是无法完全解决问题的。为解决系统性能和应用系统数据传输受WAN通信限制的问题,相关技术开始浮出水面,并逐渐形成一个细分的市场这就是WAN优化技术市场。其中包括:应用加速、数据压缩、动态缓存、IP流量管理、QoS保障、带宽管理、延时缩减、序列缓存、路径优化和应用管理可视化等。要解决的核心问题是应用和广域网之间的矛盾,因为传统的网络资源限制了多种应用的性能。随着网络优化技术的发展,诸如控制网络应用(控制QQ、MSN、IM)、限制P2P(限制BT、eMule、PPLive、eDonkey)软件占用带宽、通过QoS合理分配带宽、We
7、b缓存、数据压缩、动态缓存等网络加速方法和解决方案已经能够满足多数用户的需要了。为什么广域网优化会受到如此青睐呢?原因是它的确能解决广域网目前存在的几大关键弊病。首先,带宽问题。广域网的带宽比局域网带宽差得太多,如一条T1线路的带宽只相当于千兆网的千分之一,许多帧中继线路的带宽只有256Kbps,并且广域网带宽的增加会带来成本大幅度上升。其次,延迟问题。打过跨国IP电话的人或许都有这样的体验,当你说完话后,对方的回音总是过一小段时间才能听到,这就是延迟的最好例子,在进行视频通话时就更明显了。目前广域网应用剧增,除了语音、视频外,传输图形或图像文件、海量数据的处理,都是困扰用户的实际应用。再有,
8、协议问题。一些目前采用的协议并不是为广域网而设计的(如TCP协议),协议效率低下,性能不够理想。2. 广域网优化原理介绍广域网优化的技术有很多,但核心的技术主要包括:数据压缩、动态缓存、TCP加速、应用加速、QoS等几个方面。2.1 数据压缩原理介绍迄今为止大多数网络压缩系统都是基于数据包。基于数据包的压缩系统缓冲数据包都通过解压器引导至远程网络。此后,用户可一次压缩一个数据包,或一次压缩多个数据包,然后再发送至在其中反向进行该流程的解压器。图1 数据压缩原理基于数据包压缩应用的主要问题是压缩时它将多种数据类型混合在一起。所有压缩例程在处理同类数据时将获得更大的压缩比。在处理异质数据时(例如,
9、多种协议的大量数据包),压缩比率会大大降低。基于数据包的压缩系统会存在其它问题。压缩数据包时,这些系统必须在网络中编写小数据包,并进行其它工作以集合并封装多个数据包。仅有其中一项操作不可能达到最佳效果。在网络中编写小数据包会增加 TCP/IP 标头的开销。另外,集合并封装数据包会为该数据流增加封装标头。先进的压缩算法支持在处理所有应用类型时能够在完全同类的数据之间进行压缩。随之而来的结果是,与同类基于数据包的系统相比,压缩比更高。图2 同类数据压缩原理2.2 缓存原理2.2.1 基本原理所有压缩例程共同存在的局限性是存储空间有限。许多例程,例如 gzip,只能存储 64 Kb 的数据。其它技术
10、,例如基于磁盘的压缩系统,可以存储 1 TB 的数据。为了理解字典大小的作用,需要对高速缓存管理内容有一个基本的了解。请求 web 站点类似,并非所有网络中传输的字节会在同一个频率下重复。有时系统会通过高频率传输一些字节,因为这些字节是常用文件或通用网络协议中的一部分。其它字节只会出现一次并且不会重复出现。压缩和堆积定律 (Zipfs Law and Heaps Law) 中描述了频繁重复字节序列和非频繁重复字节序列之间的关系。所有基于当前字典的压缩系统会通过存储频繁访问的数据并删除非频繁访问的数据以进行不均等的分配。通过这种优化方式,存储少于 10% 的所有字节方式会使命中率超过 50%。这
11、种字节方式的不均等分布效果充分证明了公共压缩程序的效率。Gzip 仅存储 64kb 的历史记录,但平均能够压缩近 64% 的内容。Bzip2 能够存储 100kb 至 900kb 的历史记录,平均压缩了 66% 的内容。尽管数据存储空间不足,但 Gzip 和 Bzip2 仍能出色运行的原因在于频繁出现的字节序列能够表示网络中的大多数字节。2.2.2 数据块缓存原理基于块的系统可存储以前在广域网中传输数据流部分。再次遇到这些块时,其参考数据会传送到远程设备中,该远程设备继而会重组原始数据。基于块的系统主要缺点是反复出现的数据和块的长度永远不会完全相同。因此,匹配仅是部分匹配,还会留下一些重复数据
12、不被压缩。下图详细描述了使用 256 字节块大小压缩 512 字节数据时的情况。图3 基于块的数据缓存为了提高缓存效率,字节级粒度的缓存技术出现了。匹配并发送带有字节级粒度 (byte level granularity) 的数据。下图说明了处理数据的过程。图4 字节级数据缓存与基于块的系统相比,字节粒度级别无论对于文档还是对于应用层协议标头,均能提高其压缩级别。2.3 TCP加速原理介绍TCP协议原理较为复杂,影响TCP性能的因素很多,但有一个关键的因素是TCP会降低带宽的利用率,这对于带宽极其有限的广域网来说是非常致命的。影响TCP带宽利用率的主要因素包括以下几个方面:n 窗口大小通告与滑
13、动窗口n 拥塞避免n 慢启动n 窗口调节技术除了提高带宽利用率之外,减少确认重传次数,缩短TCP连接的握手过程时间等也是TCP加速的重要技术点。n 选择性确认n 3次握手过程的优化下面简单介绍这几个方面的原理。2.3.1 窗口大小通告与滑动窗口通信双方接收模块需要依据各自的缓冲区大小,相互通告还能接受对方数据的尺寸。双方发送模块则必须根据对方通告的接收窗口大小,进行数据发送。这种机制称之谓滑动窗口,它是TDP接收方的流量控制方法。它允许发送方在停止并等待确认前可以连续发送多个分组(依据滑动窗口的大小),由于发送方不必每发一个分组就停下来等待确认,因此可以加速数据的传输。 滑动窗口在排序数据流上
14、不时的向右移动,窗口两个边沿的相对运动增加或减少了窗口的大小,关于窗口边沿的运动有三个术语:窗口合拢(当左边沿向右边沿靠近)、窗口张开(当右边沿向右移动)、窗口收缩(当右边沿向左移动)。 当遇到快的发送方与慢的接收方的情况时,接收方的窗口会很快被发送方的数据填满,此时接收方将通告窗口大小为0,发送方则停止发送数据。直到接收方用户程序取走数据后更新窗口大小,发送方可以继续发送数据;另外,因为ACK报文段有可能丢失,发送方可能没有成功接收到更新的窗口大小,因此发送方将启动一个坚持定时器,当坚持定时器超时,发送方将发送一个字节的数据到接收方,尝试检查窗口大小的更新。2.3.2 慢启动如果发送方一开始
15、便向网络发送多个报文段,直至达到接收方通告窗口大小为止。当发送方与接收方在同一局域网时,这种方式是可以的。但如果在发送方与接收方之间存在多个路由器和速率较慢的链路时,就可能出现问题。一些中间路由器必须缓存分组,并有可能耗尽存储器的空间,将来得降低TCP连接的吞吐量。于是需要一种叫“慢启动”的拥塞控制算法。 慢启动为发送方增加一个拥塞窗口,记为cwnd,当与另一个网络的主机建立连接时,拥塞窗口被初始化为1个报文段。每收到一个ACK,拥塞窗口就增加一个报文段(cwnd以字节为单位,但慢启动以报文段大小为单位进行增加)。发送方取拥塞窗口与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制
16、,而通告窗口是接收方使用的流量控制。 发送方开始时发送一个报文段,然后等待ACK。当收到该ACK时,拥塞窗口从1增加到2,即可以发送两个报文段。当收到这两个报文段的ACK时,拥塞窗口就增加为4。这是一种指数增加的关系。2.3.3 拥塞避免慢启动算法增加拥塞窗口大小到某些点上可能达到了互联网的容量,于是中间路由器开始丢弃分组。这就通知发送方它的拥塞窗口开得太大。拥塞避免算法是一种处理丢失分组的方法。该算法假定由于分组受到损坏引起的丢失是非常少的(远小于1),因此分组丢失就意味着在源主机和目标主机之间的某处网络上发生了拥塞。有两种分组丢失的指示:发生超时和接收到重复的确认。拥塞避免算法与慢启动算法
17、是两个独立的算法,但实际中这两个算法通常在一起实现。图5 拥塞避免与慢启动 拥塞避免算法和慢启动算法需要对每个连接维持两个变量:一个拥塞窗口cwnd和一个慢启动门限ssthresh。算法的工作过程如下: 1) 对一个给定的连接,初始化cwnd为1个报文段,ssthresh为65535个字节。 2) TCP输出例程的输出不能超过cwnd和接收方通告窗口的大小。拥塞避免是发送方使用的流量控制,而通告窗口则是接收方进行的流量控制。前者是发送方感受到的网络拥塞的估计,而后者则与接收方在该连接上的可用缓存大小有关。 3) 当拥塞发生时(超时或收到重复确认),ssthresh被设置为当前窗口大小的一半(c
18、wnd和接收方通告窗口大小的最小值,但最少为2个报文段)。此外,如果是超时引起了拥塞,则cwnd被设置为1个报文段(这就是慢启动)。 4) 当新的数据被对方确认时,就增加cwnd,但增加的方法依赖于我们是否正在进行慢启动或拥塞避免。如果cwnd小于或等于ssthresh,则正在进行慢启动,否则正在进行拥塞避免。慢启动一直持续到我们回到当拥塞发生时所处位置的半时候才停止(因为我们记录了在步骤2中给我们制造麻烦的窗口大小的一半),然后转为执行拥塞避免。 慢启动算法初始设置cwnd为1个报文段,此后每收到一个确认就加1。这会使窗口按指数方式增长:发送1个报文段,然后是2个,接着是4个。拥塞避免算法要
19、求每次收到一个确认时将cwnd增加1/cwnd。与慢启动的指数增加比起来,这是一种加性增长。我们希望在一个往返时间内最多为cwnd增加1个报文段(不管在这个RT T中收到了多少个ACK),然而慢启动将根据这个往返时间中所收到的确认的个数增加cwnd。 处于拥塞避免状态时,拥塞窗口的计算公式如下(引公式参照BSD的实现,segsize/8的值是一个匹配补充量,不在算法描述当中): cwnd - cwnd + segsize * segsize / cwnd + segsize / 8。2.3.4 窗口调节技术传输窗口大小,即在收到回应之前一次发送的数据量,会直接影响到TCP的性能。相反,性能又与
20、回程时间成正比,因为协议需要(通过ACK包表明数据已被成功接收的信号)确保数据投送到位。在最糟糕的情况下,一个端点会等待另一端点回应数据的传输情况,从而使网络闲置的时间变长。当传输窗口变得很小时,这种现象便会发生,但此现象并不能准确反映线路速度和延迟情况。 使情况变得更加复杂的是,TCP会根据响应速度调整自己的窗口大小。连接的距离越长,窗口就越小。如果响应的速度非常缓慢,TCP 协议就可能永远也不选择最大的窗口尺寸,这意味着许多广域网连接的完整容量永远也不会被完全利用。因此,TCP协议可能导致广域网性能的恶化,甚至在带宽 仍然非常充足时,性能的恶化也在所难免。同样,重传也会严重影响TCP的性能
21、,要知道1%的包丢失可能导致最多80%的性能损失。TCP应当基于系统可用带宽时延积(BDP,Bandwidth Delay Product)设定合适的接收方窗口大小。接收方通知窗口应当至少同BDP一样大,否则接收方的TCP层将对最大可用带宽造成限制。该技术可以自行选择TCP窗口的大小,从而实现最高的传输速率并在广域网连接发生包丢失时 将重传数据包的数量减至最小。通知窗口应当尽可能地设大一些,使得所有的可用带宽都有可能使用;但如果通知窗口比BDP大太多,也可能因为缓存溢出和随后的TCP重传导致性能恶化。因而,通知窗口应当比BDP稍大,一方面充分使用容量,另一方面也不会损害到网络处理拥塞和丢报恢复
22、的能力。TCP Fast Start也是一种算法,它可以加速TCP发送窗口的增长速度,从而实现了可用带宽的快速利用。2.3.5 选择性确认TCP连接期间,接收方将最后一个成功接收报文段的序号包含进ACK中,此即累积性确认。一般而言,选择性ACK(SACK,Selective Acknowledgement)则是可选项,它允许接收方向发送方通知所有数据段的传输状态。这样,发送方就可以有选择地重传,而不是仅仅重传第一个丢失分组并等待下一个ACK(一个RTT)来接收新的丢失信息。 在具有较大BDP通道时,SACK更能发挥作用,有研究结果表明它适合于具有中等丢失率(低于窗口大小的50%)的长延迟网络环
23、境。这使得SACK比较适合于无线链路。但其不足在于它会稍微加大报头的尺寸(最多增添8byte),且其使用需要客户机、服务器两端的支持。2.3.6 Split TCPTCP连接跨越广域网时,广域网上跳数多,路由变化频繁,会对TCP连接的性能造成不良影响。为了提高TCP连接的吞吐率,提出Split TCP(即TCP代理)的解决思路。具体地说就是在TCP端到端连接中设置代理,将一条完整的长路经切割成多条段路径,针对每一条短路径分别建立TCP连接。这样可以提高TCP连接的吞吐量,同时也可以改善TCP建立的3次握手过程的性能。连接建立分要经过三次握手过程:1. 客户端发送一个SYN段到指明客户打算连接的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- H3C OAA之WAN优化技术白皮书 OAA WAN 优化 技术 白皮书
链接地址:https://www.31ppt.com/p-1662933.html