作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與SD-WAN方案的介紹與推廣。

在前篇對於VeloCloud DMPO機制的介紹內,我們談到DMPO通道的兩個端點間會持續地監控點對點應用傳輸的品質,在低於一秒鐘的反應時間內就能知道線路品質出現問題,然後進行對應的補救或優化措施。本篇的重點就是要和大家討論,NSX SD-WAN內有哪些機制能夠在線路惡化的狀況下,仍然能將關鍵應用的傳輸品質維持水準。

當我們討論到線路品質時,大家通常直接聯想到的就是線路斷掉了,但其實沒有這麼簡單。我們必須要考慮兩種情形:

Blackout: 這代表線路完全斷掉了

Brownout: 這代表線路的品質不佳,無法達到特定應用具備良好使用者經驗的傳輸SLA要求。在這邊我們談到的包括了像是

  • Latency (網路延遲時間過高):對像是檔案傳輸之類的較無影響,但像是Voice應用就會出現比如說你講話很久之後對方才有反應,或是Remote Desktop在打鍵盤時螢幕要過一下子才會有動作。
  • Packet Loss(網路封包遺失):小幅度的網路封包遺失在Voice / Video等應用可能影響還不會太大,用戶只會聽到語音有雜音或畫面有雜訊。但當Packet loss到一定程度,比如說視訊會議時就可能出現一大堆像馬賽克的雜訊。而在TCP連線如檔案傳輸,Packet Loss影響會很大:終端設備會基於TCP機制要求大量的封包重傳,而且TCP連線的傳輸速率也會下降。
  • Jitter (網路封包傳輸時間變動量太大):大家在打網路電話時有時會聽到整句話聲音亂掉了前言不對後語就可能是這個樣子,因為後面的封包(聲音)比前面的封包(聲音)先到。有時Jitter量太大,封包也可能直接被丟掉,就變成Packet Loss的狀態。

下圖內可以看到,管理者能夠透過Orchestrator看到單一設備不同線路(圖中的MPLS / Comcast Cable)的品質狀況。如果顯示綠色代表品質優良,但如果呈現灰色(MPLS線路),這代表那段時間出現斷線 (Blackout)。如果是黃色或紅色,代表線路品質不佳 (Brownout),此時也能顯示出來品質不佳的理由是基於Latency / Jitter / Packet Loss。在下圖,Comcast Cable在5:50分時出現的狀況是有 變異量9 ms的Jitter,以及1.56%的掉包。

因此,藉由DMPO的傳輸監控機制,在很短的時間內(通常是在300~500 ms內)就會發現現在應用傳輸出現了Blackout或是Brownout的狀況。那此時要怎麼辦呢?DMPO有下列幾種方法可以改善傳輸品質的問題:

Forward Error Correction (FEC):

對於Voice / Video這類要求即時傳輸的應用機制,VeloCloud 會在應用傳輸的兩端設備啟用FEC機制。這個機制包括了將在單一或是多個線路上出現的重複封包自動移除,以及在傳輸終端自動依據Sequence number重新將這些即時應用的封包排序。

Jitter Buffer:

同樣對應到Voice / Video這些即時傳輸應用,當VeloCloud偵測到這個通道目前的Jitter量過大,終端的設備會啟用buffer機制儲存10個或是200 ms的交通量,確保能夠有足夠的封包提供正確的排序

Negative Acknowledgement (NACK):

而對於像是檔案傳輸這類的TCP形式應用,DMPO終端只要一偵測到掉包,馬上就會通知DMPO來源端立即重傳,然後以完整沒有掉包的traffic送往目的端用戶。因此,應用來源與目的端的用戶或設備完全沒發現中間有封包掉落的問題,TCP連線當然也不會有重傳或降速的狀況出現。

下圖是VeloCloud用VoIP語音應用,在兩種線路狀況下(線路有2% Packet Loss,線路內的Jitter高達33ms)的狀況下進行的MOS (Mean Opinion Score) 測試。可以看到在右邊有啟用DMPO機制,以及左邊沒有啟用的狀況下,語音品質有明顯的差別。

另一個例子,同樣是由Box.com的50MB檔案下載,左邊是走傳統的Internet線路,右邊是有VeloCloud的DMPO機制建立於外點及Box.com之間,頻寬都是兩條20 Mbps的線路。首先是傳輸時間的差異:後面網誌我們會提到,VeloCloud甚至能夠同時使用多條線路進行傳檔。但更重要的是,在線路有2%的packet loss狀況下,左邊傳統機制採用TCP重傳的方式,檔案要花原本六倍的時間才傳送完成。而右邊在VMPO機制的保護下,2% Packet Loss所造成的影響僅為多了一秒鐘,終端用戶應該毫無感覺。

在上面這些討論指出的是,DMPO通道內的優化機制,對於無論是即時應用或是大量檔案傳輸等,在線路品質不佳的狀況下都能夠有改善。但是在某些狀況下,線路就是斷掉了,或是在某條線路上,網路延遲的時間就是超大,跑語音就是有問題。那這時怎麼辦?在下篇文章內我們要討論DMPO的另一個極為厲害的機制:Application-Aware Per-Packet Steering(基於應用的封包遞送控制)