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

NSX SD-WAN的一個重點是即使企業外點使用的並非最昂貴品質最佳的線路,仍然能夠有不同的機制儘量讓最關鍵應用取得好的傳輸品質。前一篇我們討論到DMPO機制內的傳輸品質優化機制,而這一篇要討論另一件事:如果單一線路就是斷掉了或是品質極差,那麼在有其他線路的選擇下,VeloCloud要以什麼機制來進行封包的轉送呢?

說明之前,大家可能注意到在這幾篇內,我們一直提到”基於應用”、”關鍵業務”這些字。這代表的是,VeloCloud是具備應用識別機制的。這個機制在VeloCloud內叫做DAR (Deep Application Recognition),對於應用識別具備的能力如下:

DPI引擎 (Deep-Packet-Inspection)

VeloCloud對於應用的識別是基於2~7層的資訊,包含了像IP Address / VLAN / Protocol / 應用特徵等資訊。藉由應用識別的能力,企業能夠直接針對像是”Skype”、”Youtube”、”sftp”、”Office 365″這類的應用,或是”Real-Time Video/Audio”、”Social Networking”、”Gaming”等應用群組等,都可以直接配置其業務政策 (Business Policy)

Learning Database

VeloCloud對應到每個網路流的第一個封包就會進行識別並進行轉送控制。每個網路流識別的結果會儲存到Edge的Cache內供後續比對。

Cloud Service Directory

對於不同的雲服務比如說Office 365,VeloCloud會定期更新其在Internet上提供服務的IP位置群組,並且更新給端點設備,確保對於雲服務的正確識別能力

用戶自訂應用

針對企業本身重要的業務應用,管理者當然可以透過標準的網路機制,像是目的地IP / Protocol / Port等等來自定應用型態。而這些應用就當然也可以特別被拉出來,進行傳輸的最佳化政策配置

不含用戶自訂,VeloCloud目前可以自動識別超過2,500種應用,在下圖大家可以看到我們把和Skype相關的應用都列出來:

而不同的應用在VeloCloud內也預設有建立出不同的業務群組集合,如下圖。

好,簡單討論完應用識別機制後,回到NSX SD-WAN內的Application-Aware Per-Packet Steering(基於應用的封包遞送控制)機制。在兩個DMPO端點(Edge or Gateway)間,如果有兩個以上的路徑,比如說外點有一條ADSL,以及另一組Cable的Internet線路;或是外點有原本已經連接的MPLS私有線路以及一條Internet線路。此時,當一條線路有出現Blackout(斷線)或是Brownout(線路品質不佳)如前篇網誌所述,DPMO機制在偵測到這樣的情況出現,於300~500 ms的時間內,來源端的設備就能夠將封包改由另一條線路傳送。目的端由另一條線路接收到封包後,重新排序與確認是否有錯誤,再往應用伺服器送出。這邊的線路切換甚至可以做到終端用戶幾乎沒有感覺,確保好的服務機制。

我們回到前一篇網誌出現過的線路圖品質說明如下圖。在這邊的語音應用內,MPLS的線路品質較好,Cable的品質較差。但在05:40開始MPLS線路有近20分鐘的斷線時間。此時Edge偵測到這樣的情況,就會在這段時間把Voice的封包改由Cable的線路來進行傳送。而且除了線路轉送外,同時也會啟用前篇談到的快速錯誤修正、Jitter Buffer等等機制。因此雖然兩條線路中一條會斷線,一條會掉包,但是就Voice這個類別的應用型態,仍然可以取得良好的傳輸品質。

而且上述的封包轉送與優化機制,因為VeloCloud具備應用識別能力,因此完全可以基於不同的業務應用群組,來進行不同的政策處理。舉例來說,當線路品質不佳或頻寬不足時,Edge設備應該優先確保關鍵業務與即時應用像是Voice / 交易 / Remote-Access等等的連線能力。但像是傳檔、次要業務、Windows Update等等就可以放在較後面犧牲品質。而更進一步,用戶連往像Facebook / Netflix / Instagram這些與業務無關的Traffic,即使企業允許連接,也不應該在連線有問題佔用頻寬。這邊的討論,我們會在後面的網誌內進一步說明。

最後,上面討論的都是線路有問題的狀況。那如果兩個DMPO端點間的多個線路品質都相當好,DMPO的機制有好處嗎?有的,NSX SD-WAN的Per-Packet Steering還有另一個特點:對於需要大頻寬的應用來說,能夠直接把封包由多條路徑送出。比如說現在外點與資料中心間有兩條平均20 MBbps的線路,品質接近且都相當優良,此時一個用戶要由資料中心進行大檔案下載。這時候,來源端(資料中心Edge)可以將這個檔案的不同封包分別由兩個不同路徑丟出,目的端(外點端Edge)由兩條線路接收到封包後,依據Sequence Number重組應用,再往用戶端電腦丟。此時,這個檔案下載的動作,就能利用到全部40 Mbps的租用頻寬,而非單一線路了。