17-WAAS配置
本章節下載: 17-WAAS配置 (363.81 KB)
目 錄
WAAS(Wide Area Application Services,廣域網應用服務)是能夠對廣域網鏈路流量提供優化的一種廣域網技術。WAAS設備可以通過配置優化動作,改善廣域網鏈路高延遲、低帶寬的缺點。相互通信的WAAS設備在TCP連接三次握手過程中,通過TCP選項協商兩端優化動作。WAAS優化動作包括:TFO(Transport Flow Optimization,傳輸層流優化)、DRE(Data Redundancy Elimination,數據冗餘消除)和LZ(Lempel-Ziv compression,LZ壓縮)。
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壓縮的壓縮率比較低,但其不需要在壓縮和解壓雙方同步保存數據字典,因此內存開銷比較小。
與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
使用WAAS特性時必須關閉快轉負載分擔功能,否則會造成WAAS業務不通,快速負載分擔的詳細介紹請參見“三層技術-IP業務配置指導”中的“快速轉發”。
WAAS配置任務如下:
(1) 配置WAAS類
(2) 配置WAAS策略
(3) 配置接口應用WAAS策略
(4) (可選)配置WAAS工作在非對稱組網模式
(5) (可選)配置TFO參數
(6) (可選)配置WAAS黑名單
(7) (可選)配置DRE優化參數
(8) (可選)還原或創建WAAS的預定義配置
(9) (可選)刪除WAAS所有配置
(1) 進入係統視圖。
system-view
(2) 創建一個WAAS類,並進入WAAS類視圖。
waas class class-name
缺省情況下,隻存在預定義類。
(3) 創建匹配流分類的規則。
match [ match-id ] tcp { any | destination | source } [ ip-address ipv4-address [ mask-length | mask ] | ipv6-address ipv6-address [ prefix-length ] ] [ port port-list ]
通過創建WAAS策略,然後在此WAAS策略視圖下引用指定的類,為不同的類配置不同的動作,可以實現對匹配動作的報文進行優化處理。
WAAS類可以配置的動作包括:
· 優化動作:對匹配指定WAAS類的TCP流量進行優化處理,包括TFO、DRE、LZ三種方式。其中TFO為必選方式,DRE和LZ為可選方式。
· 直接旁路動作:對匹配指定WAAS類的TCP流量不進行優化處理。
· 配置優化動作命令受對應優化控製功能的影響,如果用戶配置了優化動作命令,而對應的優化控製功能處於關閉狀態,則不能對匹配的報文流量進行相應的優化處理。
· 建議用戶通過修改預定義策略的方式完成策略配置。
(1) 進入係統視圖。
system-view
(2) 創建WAAS策略,並進入WAAS策略視圖。
waas policy policy-name
缺省情況下,隻存在預定義策略waas_default。
缺省情況下,隻存在預定義策略waas_default。
(3) 配置WAAS策略引用的類,並進入WAAS策略類動作視圖。
class class-name [ insert-before exiting_class ]
缺省情況下,WAAS策略未引用任何類。
(4) 配置WAAS類的動作。請選擇其中一項進行配置。
¡ 配置WAAS類優化動作。
optimize tfo [ dre | lz ] *
¡ 配置WAAS類直接旁路動作。
passthrough
缺省情況下,WAAS類未配置任何動作。
(5) 退回係統視圖。
quit
(6) 配置WAAS消除數據冗餘功能。
waas tfo optimize dre
缺省情況下,WAAS消除數據冗餘功能處於開啟狀態。
(7) 配置WAAS數據壓縮功能。
waas tfo optimize lz
缺省情況下,WAAS數據壓縮功能處於開啟狀態。
在同一台設備上連接廣域網的接口上應用WAAS策略,連接局域網的接口上不應用WAAS策略。對從廣域網側發送或接收的報文流量會與廣域網接口所引用的策略進行匹配。但如果指定流量經過同一台設備的入接口和出接口都連接廣域網,則不對報文進行優化。
一個WAAS策略可以應用於一台設備的多個接口,但一個接口隻能應用一個策略。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 應用WAAS策略。
waas apply policy [ policy-name ]
缺省情況下,接口上未應用任何WAAS策略。
若報文的收發均通過設備的同一個接口,則稱為對稱組網,否則為非對稱組網。在非對稱組網環境中需要配置WAAS工作在非對稱組網模式。
(1) 進入係統視圖。
system-view
(2) 配置WAAS工作在非對稱組網模式。
waas asymmetric
缺省情況下,WAAS工作在對稱組網模式。
擁塞窗口的大小取決於網絡的擁塞程度和發送速度,並且動態的在變化。設置合理的慢啟動初始擁塞窗口,當擁塞發生後,能夠較快的恢複到網絡最大傳輸能力。
配置TFO的保活功能後,係統啟動保活定時器。當定時器超時後,如果通信雙方仍沒有數據傳輸,則向對端設備發送保活報文,使連接不斷開。
接收緩衝區的大小決定了可以接收到的報文大小,用戶可以通過設置緩衝區的大小來影響線路的吞吐量。
不同的網絡性能需要使用不同的擁塞算法,設置合理的擁塞算法,能夠較快的恢複到網絡最大傳輸能力。
配置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 { 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分鍾。
WAAS預定義策略waas_default,缺省引用所有的預定義類,支持用戶在WAAS預定義策略視圖下對預定義類進行修改。對於修改後WAAS預定義策略,可以通過本命令還原到缺省配置:
· 如果設備缺省存在WAAS預定義策略,在配置本命令後,WAAS預定義策略和預定義類的配置將會還原到係統的缺省配置。
· 如果設備缺省不存在WAAS預定義策略,在配置本命令後,設備中會創建缺省預定義策略,若創建的預定義策略配置被修改,同樣可以通過本命令來還原配置。
設備缺省是否存在WAAS預定義策略,可以通過display waas policy命令查看。
配置本功能時,需保證所有接口未應用任何WAAS策略,否則恢複失敗。
(1) 進入係統視圖。
system-view
(2) 還原或創建WAAS的預定義配置。
waas config restore-default
刪除WAAS所有配置是指刪除WAAS特性的所有配置數據和運行數據,並使WAAS進程退出。
(1) 進入係統視圖。
system-view
(2) 刪除WAAS所有配置。
waas config remove-all
可在任意視圖下執行以下命令:
· 顯示WAAS類的信息。
display waas class [ class-name ]
· 顯示WAAS策略的信息。
display waas policy [ policy-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 ] [ slot slot-number ]
· 顯示DRE的統計信息。
display waas statistics dre [ peer peer-id ] [ slot slot-number ]
· 顯示WAAS全局狀態。
display waas status
· 顯示WAAS自動發現的黑名單信息。
display waas tfo auto-discovery blacklist { ipv4 | ipv6 } [ slot slot-number ]
· 清除DRE的數據字典。
reset waas cache dre [ peer peer-id ]
· 清除DRE統計信息。
reset waas statistics dre [ peer peer-id ]
· 清除所有的黑名單表項。
reset waas tfo auto-discovery blacklist
· 在Router A和Router B兩台設備上應用預定義策略waas_default,默認引用所有的預定義類。
· Host請求從Server下載數據,通過顯示統計信息來檢測優化效果。第一次請求下載數據,兩端WAAS設備需要創建數據字典表項,發送字典索引和原始數據,壓縮效率較低。第二次請求下載同樣的數據,由於數據字典已經建立,用字典索引代替重複數據,壓縮效率較高。
圖1-1 預定義WAAS策略配置組網圖
(1) 配置各接口的IP地址
按照圖1-1配置各接口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的GigabitEthernet0/0/1接口上應用預定義策略。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] waas apply policy
[RouterA-GigabitEthernet0/0/1] quit
[RouterA] quit
# 在Router B的GigabitEthernet0/0/1接口上應用預定義策略。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/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-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上創建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的GigabitEthernet0/0/1接口上應用WAAS策略p1。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] waas apply policy p1
[RouterA-GigabitEthernet0/0/1] quit
[RouterA] quit
# 在Router B的GigabitEthernet0/0/1接口上應用WAAS策略p1。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] waas apply policy p1
[RouterB-GigabitEthernet0/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
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!