19-WAAS配置
本章节下载: 19-WAAS配置 (511.42 KB)
目 录
WAAS(Wide Area Application Services,广域网应用服务)是能够对广域网链路流量提供优化的一种广域网技术。WAAS设备可以通过配置优化动作,改善广域网链路高延迟、低带宽的缺点。
WAAS可以提供针对报文协议类型的TCP优化和UDP优化。其中,TCP优化包括FEC(Forward Error Correction,前向冗余纠错)、TFO(Transport Flow Optimization,传输层流优化)、DRE(Data Redundancy Elimination,数据冗余消除)、LZ(Lempel-Ziv compression,LZ压缩)和包复制优化动作;UDP优化包括FEC和包复制优化动作;RTP协议属于UDP协议的一种,对于RTP协议FEC优化动作需要单独进行配置,以下称为RTP优化。
TCP优化可以加速文件传输,降低网络延迟。UDP优化可以根据网络的丢包情况调整相关参数生成冗余包,接收端设备对数据包进行校验和重组,适合用于音频、视频业务。
TFO是指传输层流优化技术。在不改变TCP流量的源、目的IP地址和端口号的情况下,在广域网链路两端对TCP连接进行透明代理,并对广域网链路两端的TCP流量进行优化。TFO优化方式包括:
传统TCP慢启动时,拥塞窗口初始值为1个TCP分段,每经过一个传输轮次,拥塞窗口就加倍,最后拥塞窗口达到一个合适的值。在广域网环境下,传输时延较大,导致拥塞窗口达到一个合适的值需要经过较长的时间。慢启动优化通过扩大初始拥塞窗口大小的方式来缩短慢启动过程。
传统TCP的接收缓冲区最大为64K,即TCP在发送完64K的报文后,需接收到对端的确认报文后才能继续发送数据,即使广域网链路带宽还有空闲,也无法再发送数据。TFO可以把TCP接收缓冲区最大增加到16384K,提高TCP的传输性能。
TCP的拥塞控制算法主要依赖于拥塞窗口,窗口的大小代表在未收到确认报文的情况下能够发送出去的最大数据报文段。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。窗口越大,数据发送的速度越快,则越有可能出现网络拥塞;相反窗口越小,数据发送的速度越慢,则导致数据发送效率低下。TFO拥塞控制算法优化就是要在发送速度与网络拥塞状况这两者之间权衡,选取最好的拥塞窗口大小,使得网络吞吐量最大化且不产生拥塞。
传统TCP在数据的传输过程中采用累计确认机制,发送方需等待一个来回时间根据接收方的确认报文确认丢失的数据,并且可能重传一些已经被接收方正确接收的数据。在多个不连续分段丢失的情况下,这种机制降低了TCP传输的总吞吐量。
SACK(Selective Acknowledgment,选择性确认)允许接收方通知发送方所有正确接收的数据,因此发送方只需要重传丢失的数据。例如,在多个不连续分段丢失的情况下,接收方对未正确接收的不连续数据分别确认,使发送方只重传丢失的数据,实现数据包的选择性重传。
DRE是指消除冗余数据技术。在相互通信的WAAS设备上保存重复数据块与字典索引对应的数据字典。数据发送前首先查找字典,如果查找到该数据块的字典表项,则认为之前发送过该数据块,称为重复数据块。发送端将重复数据块替换为字典索引在广域网链路上传输。接收端通过识别字典索引,将其还原成重复数据块,以减少广域网链路传输的数据量,提高数据传输速度。用字典索引替换重复数据块的过程称为DRE压缩。用重复数据块替换字典索引的过程称为DRE解压缩。
(1) 数据缓存:将TCP连接上接收的数据块发送给DRE模块前,需要TCP透明代理缓存输入的TCP数据流,以提供给DRE一个较大的数据块。
(2) 数据分块和替换:DRE压缩前将待发送数据划分为互不重叠的数据块,针对数据块来检测是否为重复数据块。
· 如果为重复数据块,用字典索引替换该数据块,并根据该数据块生成MD5摘要,把字典索引和MD5摘要信息发送至接收端;
· 如果不是重复数据块,为该数据块生成对应的字典索引,将该字典索引和数据块添加到本地数据字典中,并根据该数据块生成MD5摘要,把数据块、对应的字典索引和摘要信息发送至接收端。
WAAS采用滑动块检测技术对数据进行分块和检测,滑动块检测技术的优点包括:
· 计算速度快、效率高。
· 对原始数据进行基于固定长度窗口的逐字节滑动比较,可以有效地检测出重复数据块,从而获得良好的重复数据缩减率。
(1) 数据还原:WAAS设备检测接收到的数据,根据接收数据获得对应的原始数据。
¡ 如果接收到的数据为字典索引,则根据字典索引进行数据字典查询以获取相对应的重复数据块。
¡ 如果接收到的数据为字典索引和重复数据块,则根据收到的数据创建新的字典表项,并添加到本地数据字典中。
(2) 数据校验:所有数据都还原后,计算解压数据的MD5摘要,并且和报文中携带的摘要信息进行对比。如果相同,则代表解压缩成功;如果不同,则代表解压缩失败,等待对端重新发送数据。
如果检测到接收到的数据是字典索引,并且在数据字典中查询失败,则认为解压缩失败,需要对端重传该报文原始数据和字典索引。
LZ压缩是一种数据无损压缩技术。主要是通过自建字典方法来进行压缩替换,其压缩字典存在于压缩结果中。与DRE压缩相比,LZ压缩的压缩率比较低,但其不需要在压缩和解压双方同步保存数据字典,因此内存开销比较小。
Internet上采用RTP(Real-time Transport Protocol,实时传输协议)协议进行音频、视频实时互动时,虽然延时小,但是RTP不能对所传数据提供可靠的保障,常见的问题有包乱序、包丢失和包重复。
FEC是指前向冗余纠错技术。在相互通信的WAAS设备上,由发送端进行FEC编码且生成冗余包。冗余包不是简单的复制原始数据包,冗余包头信息中有该分组中原始数据包和冗余包的个数以及序号等信息。接收端进行FEC解码并根据未丢失的数据包和冗余包恢复丢失的数据包,为上层音频、视频服务提供有力保障。
· 平均抗丢包率:通过配置抗丢包率可以控制生成冗余包的数量。平均抗丢包率越小,生成的冗余包个数越少,占用带宽越小;平均抗丢包率越大,生成的冗余包个数越多,占用带宽越大。用户需要根据网络的实际丢包率来配置此值,配置的抗丢包率需大于实际丢包率。
· 编码块包数:通过配置编码块包数可以控制一组编码的包数。若此值配置较小,则冗余包会较少;若此值配置较大,则当网络中发生丢包时,解码侧恢复被丢报文产生的时延较大。
· 编码超时时间:发送端一次编码的超时时间。FEC编码块包数和FEC编码超时时间共同决定FEC一组编码块的原始数据包个数:若包数先达到编码块包数,则以编码块包数为准;若编码超时时间先到,则以此时缓存的原始数据包个数为准。
· 解码超时时间:接收端一次解码的超时时间。接收端缓存的原始数据包和冗余包之和小于该分组中原始数据包的个数,但缓存时间达到解码超时时间时,设备将不会进行FEC解码,而是直接发送接收到的原始数据包,丢弃冗余包。
· 采样周期:接收端周期性的发送采样报文将实时丢包率告知给发送端,发送端根据实时丢包率调节平均抗丢包率。仅A-FEC支持。
· 接收端信息的老化时间:发送端在老化时间内未收到接收端采样报文时,则删除本设备对应的探测到的接收端相关信息,平均抗丢包率恢复为配置的固定值或者缺省值。仅A-FEC支持。
FEC根据平均抗丢包率的配置方式分为A-FEC(Adaptive-FEC,自适应的FEC)和D-FEC(Determined-FEC,固定的FEC)两种类型。
· A-FEC根据实时丢包率调节平均抗丢包率:发送端在冗余包中加入设备地址信息通告给接收端。接收端对实时数据进行丢包率采样,并周期性的反馈给发送端,从而使发送端调整冗余包个数的生成,减少广域网链路传输的数据量,提高数据传输速度。
· D-FEC使用配置的固定平均抗丢包率。
FEC对报文的处理流程如下:
(1) 音频、视频数据包识别
a. 呼叫报文处理:设备接收到音频、视频呼叫报文后,在报文会话中设置ALG(Application Layer Gateway,应用层网关)业务标记,生成会话及关联表。关于会话的详细介绍,请参见“安全配置指导”中的“会话管理”。
b. 数据报文处理:接收到数据报文后,进行RTP类WAAS策略匹配。如果匹配到策略,则创建FEC的快速转发表项并设置快速转发业务标记。
(2) FEC编码过程
a. 数据缓存:设备将RTP原始数据包进行缓存。
b. FEC编码处理:当缓存的原始数据包达到编码块包数或者编码缓存时间达到超时时间时,设备将缓存的原始数据包分成一组,并进行FEC编码,生成冗余包,再分别发送缓存的原始数据包与生成的冗余包。
(3) FEC解码过程
a. 数据缓存:设备将接收到的原始数据包和冗余包进行缓存。
b. FEC解码处理:在解码超时时间内,当缓存的原始数据包和冗余包之和大于等于该分组中原始数据包的个数,设备将缓存的数据包进行FEC解码处理,恢复丢失的数据包,再分别发送原始数据包和恢复的数据包,并丢弃冗余包。如果缓存时间达到解码超时时间,设备将不会进行FEC解码,而是直接发送原始数据包,丢弃冗余包。
Internet上进行音视频实时互动时,链路存在带宽限制、时延、抖动和误码等问题,同时传输层和应用层纠错重传加剧了带宽和时延问题,导致音视频数据传输质量下滑,易出现音视频长时间卡住不动然后快放的现象。
目前,大部分局域网普遍采用多条WAN链路接入广域网。包复制功能利用多链路优势,将同一份报文从两条链路发送出去,能够有效降低甚至解决因单条链路丢包导致的音视频卡顿等问题。
包复制处理流程如下:
(1) 在发送端和接收端设备的WAN接口下分别应用相同的WAAS策略,优化动作为包复制。
(2) 发送端设备的WAN接口根据WAAS策略对于需要发送报文进行匹配,如果报文匹配成功,发送端设备的WAN接口会对报文封装ID/时间戳等重组排序信息。
(3) 发送端设备对原始报文复制一份,原始报文通过该WAN接口发送到接收端,复制报文则会通过查询到的第一条等价路由发送到接收端设备。
(4) 接收端设备接收到原始报文和复制报文后,对报文进行保序去重。先到的正常顺序的报文正常发送给最终终端,后续重复报文直接丢弃。出现缺失报文时,对先到的报文进行缓存排序,等其他链路相同序号的报文到达后按照顺序发送给最终终端。如果接收端在报文保序去重的超时时间内未收到较小序号的报文,则接收端会直接发送缓存的报文。
图1-1 包复制处理流程示意图
与WAAS相关的协议规范有:
· RFC 1323:TCP Extensions for High Performance
· RFC 3390:Increasing TCP's Initial Window
· RFC 2581:TCP Congestion Control
· RFC 2018:TCP Selective Acknowledgment Options
· RFC 3042:Enhancing TCP's Loss Recovery Using Limited Transmit
· RFC 2582:The NewReno Modification to TCP's Fast Recovery Algorithm
· RFC 2733:An RTP Payload Format for Generic Forward Error Correction
WAAS功能需要购买并正确安装License后才能使用,当License到期或被卸载后,所有已创建的WAAS策略都不允许使用。关于License的详细介绍,请参见“基础配置指导”中的“License管理”。
使用WAAS特性时必须关闭快速转发负载分担功能,否则会造成WAAS业务不通,快速转发负载分担的详细介绍请参见“三层技术-IP业务配置指导”中的“快速转发”。
WAAS配置任务如下:
· 配置TCP优化:
c. 配置DRE优化参数
d. 配置FEC优化参数
e. (可选)配置WAAS黑名单
f. (可选)配置TFO建立TCP代理连接的最大等待时间
g. 配置TCP优化策略
h. 配置接口应用WAAS策略
· 配置UDP优化:
b. 配置FEC优化参数
c. 配置UDP优化策略
d. 配置接口应用WAAS策略
· 配置RTP优化:
b. 配置FEC优化参数
c. 配置RTP优化策略
d. 配置接口应用WAAS策略
· (可选)配置WAAS工作在非对称组网模式
· (可选)(可选)还原或创建WAAS的预定义配置
· (可选)删除WAAS所有配置
(1) 进入系统视图。
system-view
(2) 创建一个WAAS类,并进入WAAS类视图。
waas class class-name
缺省情况下,不存在WAAS类。
(3) 创建匹配TCP流分类的规则。
match [ match-id ] tcp any [ ip-address { ip-address [ mask-length | mask ] | object-group ip-object-group-name } | ipv6-address { ipv6-address [ prefix-length ] | object-group ipv6-object-group-name } ] [ port { port-list | object-group port-object-group-name } ]
match [ match-id ] tcp { destination ip-address { ip-address [ mask-length | mask ] | object-group ip-object-group-name } [ port { port-list | object-group port-object-group-name } ] | source ip-address { ip-address [ mask-length | mask ] | object-group ip-object-group-name } [ port { port-list | object-group port-object-group-name } ] } *
match [ match-id ] tcp { destination ipv6-address { ipv6-address [ prefix-length ] | object-group ipv6-object-group-name } [ port { port-list | object-group port-object-group-name } ] | source ipv6-address { ipv6-address [ prefix-length ] | object-group ipv6-object-group-name } [ port { port-list | object-group port-object-group-name } ] } *
match [ match-id ] tcp { destination | source } port { object-group port-object-group-name | port-list }
(1) 进入系统视图。
system-view
(2) 创建一个WAAS类,并进入WAAS类视图。
waas class class-name
缺省情况下,不存在WAAS类。
(3) 创建匹配UDP流分类的规则。
match [ match-id ] udp any [ ip-address { ip-address [ mask-length | mask ] | object-group ip-object-group-name } | ipv6-address { ipv6-address [ prefix-length ] | object-group ipv6-object-group-name } ] [ port { port-list | object-group port-object-group-name } ]
match [ match-id ] udp { destination ip-address { ip-address [ mask-legnth | mask ] | object-group ip-object-group-name } [ port { port-list | object-group port-object-group-name } ] | source ip-address { ip-address [ mask-legnth | mask ] | object-group ip-object-group-name } [ port { port-list | object-group port-object-group-name } ] } *
match [ match-id ] udp { destination ipv6-address { ipv6-address [ prefix-length ] | object-group ipv6-object-group-name } [ port { port-list | object-group port-object-group-name } ] | source ipv6-address { ipv6-address [ prefix-length ] | object-group ipv6-object-group-name } [ port { port-list | object-group port-object-group-name } ] } *
match [ match-id ] udp { destination | source } port { port-list | object-group port-object-group-name }
(1) 进入系统视图。
system-view
(2) 创建WAAS RTP类,并进入WAAS RTP类视图。
waas rtp-class class-name
缺省情况下,不存在WAAS RTP类。
(3) 创建匹配UDP流分类的规则。
match [ match-id ] udp any [ ip-address { ip-address [ mask-length | mask ] | object-group ip-object-group-name } ] [ port { port-list | object-group port-object-group-name } ]
match [ match-id ] udp { destination { ip-address { ip-address [ mask-legnth | mask ] | object-group ip-object-group-name } [ port { port-list | object-group port-object-group-name } ] } | source { ip-address { ip-address [ mask-legnth | mask ] | object-group ip-object-group-name } [ port { port-list | object-group port-object-group-name } ] } } *
match [ match-id ] udp { destination | source } port { port-list | object-group port-object-group-name }
拥塞窗口的大小取决于网络的拥塞程度和发送速度,并且动态的在变化。设置合理的慢启动初始拥塞窗口,当拥塞发生后,能够较快的恢复到网络最大传输能力。
配置TFO的保活功能后,系统启动保活定时器。当定时器超时后,如果通信双方仍没有数据传输,则向对端设备发送保活报文,使连接不断开。
接收缓冲区的大小决定了可以接收到的报文大小,用户可以通过设置缓冲区的大小来影响线路的吞吐量。
不同的网络性能需要使用不同的拥塞算法,设置合理的拥塞算法,能够较快的恢复到网络最大传输能力。不同TCP拥塞控制算法的特点如下:
· Reno:推荐用于低延时、低带宽的场景,因为在高延时、高带宽的场景中,传输速度往往要经过很长时间才能达到最大,会降低带宽的利用率。Reno将收到ACK作为拥塞窗口增长的依据,是一种早期的TCP拥塞控制算法。
· BIC:推荐用于高带宽、低丢包率的场景。BIC将丢包作为拥塞信号,优点是只要没有出现丢包,就不会主动降低发送速度,可以最大程度的利用网络剩余带宽,提高吞吐量;缺点是传输时延较高,而且会将传输错误丢包认为是拥塞丢包,从而减小拥塞窗口,降低发送速率。
· BBR:推荐用于高带宽、高时延、存在一定丢包率的场景。BBR不将丢包作为拥塞信号,所以在丢包率较高的场景下,BBR可以有效降低传输时延,并保证较高的吞吐量。BBRv2降低了抢占性,提高了不同算法共存时的公平性。
配置TFO的最大并发连接数,当超过最大连接数后,后续新建连接的流量不再进行WAAS优化处理。
(1) 进入系统视图。
system-view
(2) 配置超时重传时慢启动的初始拥塞窗口大小。
waas tfo base-congestion-window segments
缺省情况下,初始拥塞窗口为2。
(3) 配置TFO的保活功能。
waas tfo keepalive
缺省情况下,TFO的保活功能处于开启状态。
(4) 配置TFO的接收缓冲区大小。
waas tfo receive-buffer buffer-size
缺省情况下,TFO的接收缓冲区为64KB。
(5) 配置WAAS在WAN侧链路所使用的TCP拥塞控制算法。
waas tfo congestion-method { bbrv1 | bbrv2 | bic | reno }
缺省情况下,WAAS在WAN侧链路所使用的TCP拥塞控制算法为BIC算法。
(6) 配置TFO的最大并发连接数。
waas tfo connect-limit limit
缺省情况下,TFO的最大并发连接数是10000。
DRE优化参数包括以下内容:
· WAAS匹配偏移步进级别:配置的WAAS匹配偏移步进级别越高,步进的步长就越大,匹配精度也就越低。请根据链路的传输速率配置WAAS匹配偏移步进级别,建议在高速链路上配置高级别偏移步进,提高WAAS匹配的效率;在低速链路上配置低级别偏移步进,确保WAAS匹配的精度。
· WAAS数据字典表项的老化时间:配置WAAS数据字典表项的老化时间后,设备会循环遍历所有的WAAS数据字典表项,超过老化时间的表项将会被删除。WAAS数据字典表项数量到达最大后,不再新建表项。
设备遍历一次WAAS数据字典表项的时间与当前设备上表项数量有关,请以设备的实际情况为准。
(1) 进入系统视图。
system-view
(2) 配置WAAS匹配偏移步进级别。
waas dre offset-step { general | fast | fastest | normal }
缺省情况下,WAAS匹配偏移步进为normal级别。
WAAS匹配偏移步进级别由高到低分别为:fastest、fast、general、normal。
(3) 配置WAAS数据字典表项的老化时间。
waas dre cache aging minutes
缺省情况下,WAAS数据字典表项不老化,表项达到最大数量后,后续创建的新表项会覆盖最早创建的表项。
当本端设备配置了WAAS策略并应用于接口时,如果本端设备不能通过此接口与对端设备建立TCP连接,那么系统自动将请求的服务器接口的IP地址和端口号加入黑名单,对匹配黑名单的流量不做任何优化。
在建立TCP连接的三次握手过程中,本端发送携带特定TCP选项的请求报文后,如果发生下列情况,则认为连接建立失败:
· 在指定时间内未作出有效应答。
· 对端设备关闭了TCP连接。
WAAS黑名单是系统实时自动生成的,黑名单表项有一定的生存时间,当黑名单超时后将被系统自动删除。
(1) 进入系统视图。
system-view
(2) 开启黑名单自动发现功能。
waas tfo auto-discovery blacklist enable
缺省情况下,自动发现黑名单功能处于关闭状态。
(3) (可选)配置黑名单表项的老化时间。
waas tfo auto-discovery blacklist hold-time minutes
缺省情况下,黑名单表项的老化时间为5分钟。
缺省情况下,TCP客户端和服务器建立TCP连接过程中,若对端未作出有效应答,客户端或服务器会在最大等待时间75s超时后,宣布建立TCP连接失败,WAAS设备作为TCP代理无法干预TCP连接的最大等待时间。配置本功能后,WAAS设备作为TCP代理可以通过配置较小的TCP代理最大等待时间,来缩短客户端和服务器等待时间。
本端设备作为TFO优化的TCP代理,在与对端设备建立TFO优化的TCP连接时,如果在TCP代理连接的最大等待时间内未收到对端的有效应答,则停止建立连接。本端设备停止建立TCP连接后,若设备上配置了waas tfo auto-discovery blacklist enable命令(自动发现黑名单功能),会将本端设备用于建立TCP连接的IP地址和端口加入到黑名单。
(1) 进入系统视图。
system-view
(2) 配置TFO建立TCP代理连接的最大等待时间
waas tfo connect-wait seconds
缺省情况下,未配置TFO建立TCP代理连接的最大等待时间。
根据网络上当前的丢包状况及流量的速率,可以调整FEC配置的各项参数,使音频、视频优化达到好的效果。
FEC分为A-FEC(Adaptive-FEC,自适应的FEC)和D-FEC(Determined-FEC,固定的FEC)两种类型,TCP优化和UDP优化仅支持配置D-FEC类型。
(1) 进入系统视图。
system-view
(2) 创建WAAS策略,并进入WAAS策略视图。
waas policy policy-name
缺省情况下,不存在WAAS策略。
(3) 配置WAAS策略引用的类/RTP类,并进入WAAS策略类动作视图/WAAS策略RTP类动作视图。
¡ class class-name [ insert-before existing-class ]
缺省情况下,WAAS策略未引用任何类。
¡ rtp-class class-name [ insert-before existing-class ]
缺省情况下,WAAS策略未引用任何RTP类。
(4) 配置FEC的类型,仅WAAS策略RTP类动作视图支持。
fec loss-recovery-type { adaptive-fec | determined-fec }
缺省情况下,FEC的类型为D-FEC。
(5) (可选)配置FEC的平均抗丢包率。
fec average-ratio ratio
缺省情况下,FEC的平均抗丢包率为35%。
(6) (可选)配置FEC的编码超时时间。
fec encode-timeout milliseconds
缺省情况下,编码超时时间为500毫秒。
(7) (可选)配置FEC的编码块包数。
fec block-size block-size
缺省情况下,编码块包数为20。
(8) (可选)配置FEC的解码超时时间。
fec decode-timeout milliseconds
缺省情况下,解码超时时间为800毫秒。
(9) (可选)配置A-FEC接收端信息的老化时间,仅WAAS策略RTP类动作视图支持。
fec probe aging-time seconds
缺省情况下,A-FEC接收端信息的老化时间为1秒。
仅A-FEC支持。
(10) (可选)配置A-FEC的采样周期,仅WAAS策略RTP类动作视图支持。
fec sample-interval interval
缺省情况下,A-FEC的采样周期为100毫秒。
TCP优化策略对匹配WAAS类的TCP流量进行优化,优化动作包括:
· 优化动作:对匹配指定WAAS类的TCP流量进行优化处理,包括FEC、TFO、DRE、LZ和包复制五种方式。
· 直接旁路动作:对匹配指定WAAS类的TCP流量不进行优化处理。
配置优化动作命令受对应优化控制功能的影响,如果用户配置了优化动作命令,而对应的优化控制功能处于关闭状态,则不能对匹配的报文流量进行相应的优化处理。
建议用户通过修改预定义策略的方式完成策略配置。
(1) 进入系统视图。
system-view
(2) 创建WAAS策略,并进入WAAS策略视图。
waas policy policy-name
缺省情况下,不存在WAAS策略。
(3) 配置WAAS策略引用的类,并进入WAAS策略类动作视图。
class class-name [ insert-before existing_class ]
缺省情况下,WAAS策略未引用任何类。
(4) 配置WAAS类的动作。请选择其中一项进行配置。
¡ 配置WAAS类优化动作。
optimize { fec | tfo [ dre | lz ] * }
¡ 配置WAAS类直接旁路动作。
passthrough
缺省情况下,WAAS类未配置任何动作。
(5) 退回系统视图。
quit
(6) 配置WAAS消除数据冗余功能。
waas tfo optimize dre
缺省情况下,WAAS消除数据冗余功能处于开启状态。
(7) 配置WAAS数据压缩功能。
waas tfo optimize lz
缺省情况下,WAAS数据压缩功能处于开启状态。
UDP优化策略对匹配WAAS类的UDP流量进行优化,优化动作为FEC和包复制两种方式。
配置优化动作命令受对应优化控制功能的影响,如果用户配置了优化动作命令,而对应的优化控制功能处于关闭状态,则不能对匹配的报文流量进行相应的优化处理。
建议用户通过修改预定义策略的方式完成策略配置。
(1) 进入系统视图。
system-view
(2) 创建WAAS策略,并进入WAAS策略视图。
waas policy policy-name
缺省情况下,不存在WAAS策略。
(3) 配置WAAS策略引用的类,并进入WAAS策略类动作视图。
class class-name [ insert-before existing_class ]
缺省情况下,WAAS策略未引用任何类。
(4) 配置WAAS类的优化动作。
optimize fec
缺省情况下,WAAS类未配置任何优化动作。
RTP优化策略对匹配WAAS RTP类的RTP流量进行优化,优化动作为FEC和包复制两种方式。
配置优化动作命令受对应优化控制功能的影响,如果用户配置了优化动作命令,而对应的优化控制功能处于关闭状态,则不能对匹配的报文流量进行相应的优化处理。
建议用户通过修改预定义策略的方式完成策略配置。
(1) 进入系统视图。
system-view
(2) 创建WAAS策略,并进入WAAS策略视图。
waas policy policy-name
缺省情况下,不存在WAAS策略。
(3) 配置WAAS策略引用的RTP类,并进入WAAS策略RTP类动作视图。
rtp-class class-name [ insert-before existing-class ]
缺省情况下,WAAS策略未引用任何RTP类。
(4) 配置WAAS RTP类的优化动作。
optimize fec
在广域网接口上应用WAAS策略后,对于从局域网侧发送或广域网侧接收的流量会与该广域网接口所引用的WAAS策略进行匹配。若流量与WAAS策略匹配成功,则会对流量进行WASS优化,优化动作由WAAS策略决定;若流量与WAAS策略匹配失败,则不会对流量进行WASS优化。
WAAS策略仅支持在局域网网关上应用,且仅在广域网的接口上应用生效。若在同一台设备的广域网接口和局域网接口上都应用了WAAS策略,WAAS策略也会失效。
一个WAAS策略可以应用于一台设备的多个接口,但一个接口只能应用一个策略。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 应用WAAS策略。
waas apply policy [ policy-name ]
缺省情况下,接口上未应用任何WAAS策略。
若报文的收发均通过设备的同一个接口,则称为对称组网,否则为非对称组网。在非对称组网环境中需要配置WAAS工作在非对称组网模式。
对于使用逻辑接口(包括聚合接口和隧道接口等)的组网,系统默认这类组网为非对称组网,必须配置本命令WAAS配置才能生效。
(1) 进入系统视图。
system-view
(2) 配置WAAS工作在非对称组网模式。
waas asymmetric
缺省情况下,WAAS工作在对称组网模式。
同一设备不允许同时开启LZ压缩功能和解压缩功能,即对于一对源/目地址,只能进行单向流量压缩和解压缩处理。在上游设备开启LZ压缩功能,上游设备会对指定流量的报文进行LZ压缩处理,在下游设备开启数据报文LZ单向解压缩功能,上游设备会对指定流量的报文进行LZ单向解压缩处理,报文经过压缩后转发到下游设备,下游设备接收到压缩报文对报文进行解压缩,还原成原始报文继续转发。
对于分片报文或选项报文,不支持进行压缩或者解压缩操作,设备收到该类报文后会直接转发出去。
配置数据报文的ACL匹配规则后,waas tcp destination命令配置的目的地址和目的端口号均不生效。
(1) 进入系统视图
system-view
(2) 开启TCP数据报文LZ压缩或解压缩功能。
waas tcp { compress [ max max-number ] | decompress }
缺省情况下,TCP数据报文LZ压缩或解压缩功能处于关闭状态。
(3) 配置TCP数据报文的ACL匹配规则。
waas tcp acl { acl-number | name acl-name }
缺省情况下,未配置TCP数据报文的ACL匹配规则。
(4) 配置需要进行LZ压缩或解压缩的TCP数据报文的目的地址和目的端口号。
waas tcp destination { ip-address port port-number | object-group ip-object-group-name port object-group port-object-group-name }
缺省情况下,未配置需要进行LZ压缩或解压缩的TCP数据报文目的地址和目的端口号。
(1) 进入系统视图。
system-view
(2) 开启UDP报文LZ压缩或解压缩功能。
waas udp { compress [ max max-number ] | decompress }
缺省情况下,UDP报文LZ压缩或解压缩功能处于关闭状态。
(3) 配置UDP数据报文的ACL匹配规则。
waas udp acl { acl-number | name acl-name }
缺省情况下,未配置UDP数据报文的ACL匹配规则。
(4) 配置需要进行LZ压缩或解压缩的UDP报文的目的地址和目的端口号。
waas udp destination { ip-address port port-number | object-group ip-object-group-name port object-group port-object-group-name }
缺省情况下,未配置需要进行LZ压缩或解压缩的UDP报文目的地址和目的端口号。
设备缺省未定制WAAS预定义配置时,WAAS进程启动后,配置本命令可以在设备中创建预定义配置,设备中会自动生成预定义类和WAAS预定义策略waas_default。
WAAS预定义配置可以手动修改。当用户在预定义类视图或WAAS预定义策略视图下对预定义配置进行修改后,可以配置本命令将WAAS预定义配置还原成缺省状态。
配置本命令前,需要先配置WAAS相关命令启动WAAS进程,例如waas class命令,否则配置失败。
配置本功能时,需保证所有接口未应用任何WAAS策略,否则恢复失败。
(1) 进入系统视图。
system-view
(2) 还原或创建WAAS的预定义配置。
waas config restore-default
删除WAAS所有配置是指删除WAAS特性的所有配置数据和运行数据,并使WAAS进程退出。
(1) 进入系统视图。
system-view
(2) 删除WAAS所有配置。
waas config remove-all
在完成上述配置后,在任意视图下执行display命令可以显示配置后WAAS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除WAAS的信息。
表1-1 WAAS显示和维护
操作 |
命令 |
显示WAAS类的信息 |
display waas class [ class-name ] |
显示对端FEC的信息 |
display waas fec peer-info { ipv4 | ipv6 } [ vpn-instance vpn-instance-name ] [ source-ip source-ip | source-port source-port | destination-ip destination-ip | destination-port destination-port ] |
显示WAAS策略的信息 |
display waas policy [ policy-name ] |
显示WAAS RTP类的信息 |
display waas rtp-class [ class-name ] |
显示WAAS会话信息 |
display waas session { ipv4 | ipv6 } [ client-ip client-ip ] [ client-port client-port ] [ server-ip server-ip ] [ server-port server-port ] [ peer-id peer-id ] [ verbose ] |
显示DRE的统计信息 |
display waas statistics dre [ peer peer-id ] |
显示FEC的报文统计信息 |
display waas statistics fec |
显示负载分担的报文统计信息 |
display waas statistics load-balance |
显示TCP数据报文的压缩统计信息 |
display waas statistics tcp compress |
显示UDP报文的压缩统计信息 |
display waas statistics udp compress |
显示WAAS全局状态 |
display waas status |
显示WAAS自动发现的黑名单信息 |
display waas tfo auto-discovery blacklist { ipv4 | ipv6 } |
清除DRE的数据字典 |
reset waas cache dre [ peer peer-id ] |
清除DRE统计信息 |
reset waas statistics dre [ peer peer-id ] |
清除FEC的报文统计信息 |
reset waas statistics fec |
清除负载分担的报文统计信息 |
reset waas statistics load-balance |
清除TCP数据报文压缩统计信息 |
reset waas statistics tcp compress |
清除UDP报文的压缩统计信息 |
reset waas statistics udp compress |
清除所有的黑名单表项 |
reset waas tfo auto-discovery blacklist |
· 在Router A和Router B两台设备上应用预定义策略waas_default,默认引用所有的预定义类。
· Host请求从Server下载数据,通过显示统计信息来检测优化效果。第一次请求下载数据,两端WAAS设备需要创建数据字典表项,发送字典索引和原始数据,压缩效率较低。第二次请求下载同样的数据,由于数据字典已经建立,用字典索引代替重复数据,压缩效率较高。
图1-2 预定义WAAS策略配置组网图
(1) 配置各接口的IP地址
按照图1-2配置各接口IP地址和掩码,具体配置过程略。
(2) 在广域网和各局域网内配置合适的路由协议,保证全网路由可达(具体配置过程略)
(3) 在设备上关闭快速转发负载分担功能。
# 在Router A上关闭快速转发负载分担功能。
<RouterA> system-view
[RouterA] undo ip fast-forwarding load-sharing
# 在Router B上关闭快速转发负载分担功能。
<RouterB> system-view
[RouterB] undo ip fast-forwarding load-sharing
(4) 在接口上应用预定义WAAS策略
# 在Router A的GigabitEthernet1/0/1接口上应用预定义策略。
[RouterA] waas config restore-default
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] waas apply policy
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] quit
# 在Router B的GigabitEthernet1/0/1接口上应用预定义策略。
[RouterB] waas config restore-default
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] waas apply policy
(5) 客户端Host通过HTTP协议从Server下载一个约14MB的测试文件。
(6) 清除Router A 的DRE统计信息
<RouterA> reset waas statistic dre
(7) 客户端重新请求下载同一测试文件。
# 第一次下载后,显示Router A的DRE统计信息。
<RouterA> display waas statistic dre
Peer-ID: cc3e-5fd8-5158
Peer version: 1.0
Cache in storage: 12710912 bytes
Index number: 49652
Age: 00 weeks, 00 days, 00 hours, 00 minutes, 35 seconds
Total connections: 1
Active connections: 0
Encode Statistics
Dre msgs: 2
Bytes in: 286 bytes
Bytes out: 318 bytes
Bypass bytes: 0 bytes
Bytes Matched: 0 bytes
Space saving: -11%
Average latency: 0 usec
Decode Statistics
Dre msgs: 57050
Bytes in: 14038391 bytes
Bytes out: 14079375 bytes
Bypass bytes: 0 bytes
Space saved: 0%
Average latency: 0 usec
# 清除统计信息后,重新下载,显示Router A的DRE统计信息。
<RouterA> display waas statistic dre
Peer-ID: cc3e-5fd8-5158
Peer version: 1.0
Cache in storage: 12851200 bytes
Index number: 50200
Age: 00 weeks, 00 days, 00 hours, 2 minutes, 56 seconds
Total connections: 1
Active connections: 0
Encode Statistics
Dre msgs: 2
Bytes in: 286 bytes
Bytes out: 60 bytes
Bypass bytes: 0 bytes
Bytes Matched: 256 bytes
Space saved: 79%
Average latency: 0 usec
Decode Statistics
Dre msgs: 62791
Bytes in: 2618457 bytes
Bytes out: 13972208 bytes
Bypass bytes: 0 bytes
Space saved: 81%
Average latency: 0 usec
通过比较可以看出:数据字典建立后,第二次下载解压缩接收字节数明显降低,节省空间81%,第二次下载速度明显加快。
· 在Router A和Router B两台设备上应用用户自定义策略。
· Host请求从Server下载数据,通过显示统计信息来检测优化效果。第一次请求下载数据,两端WAAS设备需要创建数据字典表项,发送字典索引和原始数据,压缩效率较低。第二次请求下载同样的数据,由于数据字典已经建立,用字典索引代替重复数据,压缩效率较高。
图1-3 用户自定义WAAS策略配置组网图
(1) 配置各接口的IP地址
按照图1-3配置各接口IP地址和掩码,具体配置过程略。
(2) 在广域网和各局域网内配置合适的路由协议,保证全网路由可达(具体配置过程略)
(3) 在设备上关闭快速转发负载分担功能。
# 在Router A上关闭快速转发负载分担功能。
<RouterA> system-view
[RouterA] undo ip fast-forwarding load-sharing
# 在Router B上关闭快速转发负载分担功能。
<RouterB> system-view
[RouterB] undo ip fast-forwarding load-sharing
(4) 创建WAAS类
# 在Router A上创建WAAS类c1,在该WAAS类视图下创建匹配流分类的规则为匹配所有TCP流量。
[RouterA] waas class c1
[RouterA-waasclass-c1] match 1 tcp any
[RouterA-waasclass-c1] quit
# 在Router B上创建WAAS类c1,在该WAAS类视图下创建匹配流分类的规则为匹配所有TCP流量。
[RouterB] waas class c1
[RouterB-waasclass-c1] match tcp any
[RouterB-waasclass-c1] quit
(5) 创建WAAS策略
# 在Router A上创建策略p1,配置其引用WAAS类c1,匹配c1报文的优化方式为TFO、DRE和LZ。
[RouterA] waas policy p1
[RouterA-waaspolicy-p1] class c1
[RouterA-waaspolicy-p1-c1] optimize tfo dre lz
[RouterA-waaspolicy-p1-c1] quit
[RouterA-waaspolicy-p1] quit
# 在Router B上创建策略p1,配置其引用WAAS类c1,匹配c1报文的优化方式为TFO、DRE和LZ。
[RouterB] waas policy p1
[RouterB-waaspolicy-p1] class c1
[RouterB-waaspolicy-p1-c1] optimize tfo dre lz
[RouterB-waaspolicy-p1-c1] quit
[RouterB-waaspolicy-p1] quit
(6) 在接口上应用策略。
# 在Router A的GigabitEthernet1/0/1接口上应用WAAS策略p1。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] waas apply policy p1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] quit
# 在Router B的GigabitEthernet1/0/1接口上应用WAAS策略p1。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] waas apply policy p1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] quit
(7) 客户端Host通过HTTP协议从Server下载一个约14MB的测试文件。
(8) 清除DRE统计信息
<RouterA> reset waas statistic dre
(9) 客户端重新请求下载同一测试文件
# 第一次下载后,显示Router A的DRE统计信息。
<RouterA> display waas statistic dre
Peer-ID: cc3e-5fd8-5158
Peer version: 1.0
Cache in storage: 12718592 bytes
Index number: 49682
Age: 00 weeks, 00 days, 00 hours, 00 minutes, 35 seconds
Total connections: 1
Active connections: 0
Encode Statistics
Dre msgs: 2
Bytes in: 286 bytes
Bytes out: 318 bytes
Bypass bytes: 0 bytes
Bytes Matched: 0 bytes
Space saved: -11%
Average latency: 0 usec
Decode Statistics
Dre msgs: 56959
Bytes in: 13999244 bytes
Bytes out: 14055291 bytes
Bypass bytes: 0 bytes
Space saved: 0%
Average latency: 0 usec
# 清除统计信息后,重新下载,显示Router A的DRE统计信息。
<RouterA> display waas statistic dre
Peer-ID: cc3e-5fd8-5158
Peer version: 1.0
Cache in storage: 12857856 bytes
Index number: 50226
Age: 00 weeks, 00 days, 00 hours, 2 minutes, 02 seconds
Total connections: 1
Active connections: 0
Encode Statistics
Dre msgs: 2
Bytes in: 286 bytes
Bytes out: 60 bytes
Bypass bytes: 0 bytes
Bytes Matched: 256 bytes
Space saved: 79%
Average latency: 0 usec
Decode Statistics
Dre msgs: 62687
Bytes in: 2592183 bytes
Bytes out: 13972208 bytes
Bypass bytes: 0 bytes
Space saved: 81%
Average latency: 0 usec
通过比较可以看出:数据字典建立后,第二次下载解压缩接收字节数明显降低,节省空间81%,第二次下载速度明显加快。
· 在Router A和Router B两台设备上分别配置UDP报文压缩和解压缩功能。
· Host将UDP报文发送给上游设备Router A,Router A对UDP报文进行压缩后进行转发,报文到达下游设备Router B,Router B对UDP报文进行解压缩后转发给Server进行分析处理。
图1-4 UDP报文压缩解压缩功能组网图
(1) 配置各接口的IP地址
按照图1-4配置各接口IP地址和掩码,配置Server地址172.16.105.48,具体配置过程略。
(2) 在广域网和各局域网内配置合适的路由协议,保证全网路由可达(具体配置过程略)
(3) 在设备上关闭快速转发负载分担功能。
# 在Router A上关闭快速转发负载分担功能。
<RouterA> system-view
[RouterA] undo ip fast-forwarding load-sharing
# 在Router B上关闭快速转发负载分担功能。
<RouterB> system-view
[RouterB] undo ip fast-forwarding load-sharing
(4) 配置UDP报文压缩解压缩功能。
# 在Router A上开启UDP报文压缩功能。
<RouterA> system-view
[RouterA] waas udp compress
# 在Router A上配置对目的地址为172.16.105.48和端口号为5000的报文进行压缩。
[RouterA] waas udp destination 172.16.105.48 port 5000
# 在Router B上开启UDP报文解压缩功能。
<RouterB> system-view
[RouterB] waas udp decompress
# 在Router B上配置对目的地址为172.16.105.48和端口号为5000的报文进行解压缩。
[RouterB] waas udp destination 172.16.105.48 port 5000
# 第一次产生UDP报文后,显示Router A的UDP报文统计信息。
[RouterA] display waas statistic udp compress
Bytes in : 30106991182
Bytes out : 375556018
Saved bandwidth ratio : 98.75%
Compressed packet ratio : 100.00%
通过统计信息可以看出:UDP报文压缩后,带宽明显降低,节省带宽达98.75%。
· 在Router A和Router B两台设备上分别配置FEC编码和解码功能。
· Host将音频、视频数据报文发送给上游设备Router A,Router A对音频、视频数据报文进行FEC编码后将原始数据包和生成的冗余包进行转发,报文到达下游设备Router B,Router B根据接收到的原始数据包和冗余包进行FEC解码处理,恢复丢失的数据包,然后将原始数据包和恢复的数据包转发给Server进行分析处理,同时将冗余包丢弃。
图1-5 FEC功能组网图
(1) 配置各接口的IP地址。
按照图1-5配置各接口IP地址和掩码,配置Server地址172.16.105.48,具体配置过程略。
(2) 在广域网和各局域网内配置合适的路由协议,保证全网路由可达(具体配置过程略)。
(3) 创建WAAS RTP类,并创建匹配UDP流分类的规则。
# 在Router A上创建WAAS RTP类waas_rtp,并创建匹配规则,匹配目的地址为172.16.105.48/24的UDP流量。
<RouterA> system-view
[RouterA] waas rtp-class waas_rtp
[RouterA-waasrtpclass-waas_rtp] match udp destination ip-address 172.16.105.48 24
# 在Router B上创建WAAS RTP类waas_rtp,并创建匹配规则,匹配目的地址为172.16.105.48/24的UDP流量。
<RouterB> system-view
[RouterB] waas rtp-class waas_rtp
[RouterB-waasrtpclass-waas_rtp] match udp destination ip-address 172.16.105.48 24
(4) 创建WAAS策略,引用RTP类并指定RTP类的优化方式为FEC,并配置FEC相关参数。
# 在Router A上创建WAAS策略policy_fec,引用RTP类waas_rtp,并指定RTP类waas_rtp优化方式为FEC,配置平均抗丢包率为30%,编码超时时间为200毫秒,编码块包数为40。
<RouterA> system-view
[RouterA] waas policy Policy_fec
[RouterA-waaspolicy-policy_fec] rtp-class waas_rtp
[RouterA-waaspolicy-policy_fec-waas_rtp] optimize fec
[RouterA-waaspolicy-policy_fec-waas_rtp] fec average-ratio 30
[RouterA-waaspolicy-policy_fec-waas_rtp] fec encode-timeout 200
[RouterA-waaspolicy-policy_fec-waas_rtp] fec block-size 40
# 在Router B上创建WAAS策略policy_fec,引用RTP类waas_rtp,并指定RTP类waas_rtp优化方式为FEC,解码超时时间为1000毫秒。
<RouterB> system-view
[RouterB] waas policy policy_fec
[RouterB-waaspolicy-policy_fec] rtp-class waas_rtp
[RouterB-waaspolicy-policy_fec-waas_rtp] optimize fec
[RouterB-waaspolicy-policy_fec-waas_rtp] fec decode-timeout 1000
(5) 在接口上应用WAAS策略。
# 在Router A接口GigabitEthernet1/0/1上应用WAAS策略policy_fec。
<RouterA> system-view
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] waas apply policy policy_fec
# 在Router B接口GigabitEthernet1/0/1上应用WAAS策略policy_fec。
<RouterB> system-view
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] waas apply policy policy_fec
# 查看RouterA上的FEC的报文统计信息。
<RouterA> display waas statistics fec
Encoder:
Received:
Total packets : 5931
Sent:
Original packets : 5915
Redundant packets : 3254
In-order original packets after timeout : 15
Out-of-order original packets after timeout : 16
Decoder:
Received:
Original packets : 5611
Redundant packets : 3081
Original packets in different group : 0
Redundant packets in different group from cached redundant packets: 0
Redundant packets in different group from cached original packets : 10
Redundant packets with sequence number less than cached ones : 0
Sent:
Original packets : 5611
Recovered packets : 0
In-order original packets after timeout : 0
# 查看RouterB上的FEC的报文统计信息。
<RouterB> display waas statistics fec
Encoder:
Received:
Total packets : 5610
Sent:
Original packets : 5601
Redundant packets : 3081
In-order original packets after timeout : 21
Out-of-order original packets after timeout : 9
Decoder:
Received:
Original packets : 5932
Redundant packets : 3254
Original packets in different group : 0
Redundant packets in different group from cached redundant packets: 0
Redundant packets in different group from cached original packets : 17
Redundant packets with sequence number less than cached ones : 0
Sent:
Original packets : 5932
Recovered packets : 0
In-order original packets after timeout : 0
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!