本節提供 VMware SD-WAN 服務所使用的 Dynamic Multipath Optimization (DMPO) 的深入概觀。
概觀
VMware SD-WAN™ 是一種解決方案,可讓企業和服務提供者同時使用多個 WAN 傳輸。如此一來,他們可以增加頻寬,並確保應用程式效能。此解決方案同時適用於內部部署和雲端應用程式 (SaaS/IaaS)。它是使用雲端提供的架構,來建置具有多個通道的覆疊網路。它會即時監控並適應 WAN 傳輸中的變更。Dynamic Multipath Optimization (DMPO) 是 VMware SD-WAN 開發的一項技術,可提高覆疊網路的彈性。它會考慮 WAN 連結的即時效能。本文件說明 DMPO 的主要功能和優點。
下圖描述具有多雲端非 SDWAN 目的地的一般 SD-WAN 部署。
重要功能
- 對於企業位置 (「分支到分支」或「分支到中樞」),Edge 會彼此建立 DMPO 通道。
- 對於雲端應用程式,每個 Edge 都會建立具有一或多個閘道的 DMPO 通道。
持續監控
自動頻寬探索:VMware SD-WAN Edge 偵測到 WAN 連結後,會先與一或多個 VMware SD-WAN 閘道建立 DMPO 通道,並使用最近的閘道來執行頻寬測試。透過傳送雙向流量的短暫間高載並測量每個端點的接收速率,來執行頻寬測試。由於閘道部署在網際網路 PoP 上,因此,如果 Edge 介面位於 NAT 或 PAT 裝置後方,它也可以識別 WAN 連結的實際公用 IP 位址。私人連結適用類似的程式。對於充當中樞或前端的 Edge,WAN 頻寬會以靜態方式定義。不過,當分支 Edge 建立與中樞 Edge 的 DMPO 通道時,它們會遵循相同的頻寬測試程序,類似於在公用連結上的 Edge 和閘道之間執行的頻寬測試程序。
連續路徑監控:Dynamic Multipath Optimization (DMPO) 會在任意兩個 DMPO 端點 (Edge 或閘道) 之間的每個通道上,對效能度量 (每個封包的遺失、延遲和抖動) 執行連續的單向測量。VMware SD-WAN 的個別封包操控允許在上行和下行方向方面制定獨立決策,而不會引入任何非對稱路由。DMPO 同時使用被動和主動監控方法。當有使用者流量時,DMPO 通道標頭會包含其他效能度量,包括序號和時間戳記。這可讓 DMPO 端點識別遺失和無序的封包,並計算各個方向的抖動和延遲。DMPO 端點每 100 毫秒會互相通訊路徑的效能度量。
當沒有使用者流量時,系統會每 100 毫秒傳送一次作用中的探查,且在沒有高優先順序使用者流量 5 分鐘後,探查頻率會降低至 500 毫秒。這項全面性測量可讓 DMPO 快速回應基礎 WAN 狀況的變更,從而能夠在 WAN 中提供低於一秒的保護,防止頻寬容量突然下降和中斷。
MPLS 服務類別 (CoS):對於具有 CoS 合約的私人連結,可以設定 DMPO,以便在制定監控和應用程式操控決策時,將 CoS 納入考量。
動態應用程式操控
應用程式感知的個別封包操控:Dynamic Multipath Optimization (DMPO) 使用第 2 層到第 7 層屬性 (例如 VLAN、IP 位址、通訊協定和應用程式) 來識別流量。VMware SD-WAN 會根據商務原則組態和即時連結狀況,來執行應用程式感知的個別封包操控。商務原則包含可立即使用的智慧型預設功能,可指定超過 2500 個應用程式的預設操控行為和優先順序:客戶可以立即使用動態封包操控和應用程式感知優先順序,而無需定義任何原則。
在其整個生命週期中,任何流量都會導向至通訊中間的一或多個 DMPO 通道,對流量沒有任何影響。連結完全關閉稱為中斷狀況。無法為指定應用程式提供 SLA 的連結稱為處於掉電狀況。VMware SD-WAN 可防範低於一秒的中斷和頻寬容量的突然下降。透過持續監控所有 WAN 連結,DMPO 會在 300-500 毫秒內偵測到 SLA 突然遺失或中斷狀況,並立即操控流量以保護應用程式效能,同時確保不會影響作用中流量和使用者體驗。在 DMPO 將流量導向回慣用連結 (如果已在商務原則中指定) 之前,從清除連結上的掉電或中斷狀況開始,會有一分鐘的保留時間。
智慧型學習可透過快取分類結果,根據應用程式的第一個封包進行應用程式操控。應用程式型重新導向是必要的,例如,將 Netflix 重新導向至分支網際網路連結、略過 DMPO 通道,同時將 Office 365 回傳至企業區域中樞或資料中心。
範例:智慧型預設功能指定 Microsoft Skype for Business 為高優先順序,並且是即時應用程式。假設有 2 個連結,其延遲分別為 50 毫秒和 60 毫秒。假設所有其他 SLA 相等或符合。DMPO 會選擇較佳延遲的連結,即延遲為 50 毫秒的連結。如果 Skype for Business 流量導向的目前連結發生 200 毫秒的高延遲,則會在不到一秒內將 Skype for Business 流量的封包導向至延遲更好 (為 60 毫秒) 的另一個連結。
單一流量的頻寬彙總:對於可從更多頻寬中受益的應用程式類型 (例如檔案傳輸),DMPO 會執行個別封包的負載平衡,從而利用所有可用的連結,將單一流量的所有封包傳遞至目的地。DMPO 會考慮即時 WAN 效能,並決定應使用哪些路徑來傳送流量的封包。它還會在接收端執行重新佇列,以確保不會因每個封包的負載平衡而引入錯誤順序的封包。
範例:兩個 50 Mbps 連結可為單一流量傳遞 100 Mbps 的合計容量。QoS 會同時套用在彙總和個別連結層級。
隨選修復
錯誤和抖動修正:在可能無法將流量導向至更好連結的案例中 (例如,單一連結部署或多重連結同時出現問題),Dynamic Multipath Optimization (DMPO) 可以在 WAN 連結出現問題期間,啟用錯誤修正。使用的錯誤修正類型取決於應用程式類型和錯誤類型。
在發生封包遺失時,語音和視訊流量等即時應用程式可以從前饋式錯誤修正 (FEC) 中受益。DMPO 會在單一或多個連結上自動啟用 FEC。當有多個連結時,DMPO 將在任何指定時間為 FEC 選取最多兩個最佳連結。重複的封包會捨棄,而無序封包會在接收端重新排序,然後再傳遞至最終目的地。
DMPO 會在 WAN 連結發生抖動時,為即時應用程式啟用抖動緩衝區。TCP 應用程式 (例如檔案傳輸) 會受益於負面確認 (NACK)。偵測到遺失的封包後,接收 DMPO 端點會通知傳送的 DMPO 端點重新傳輸遺失的封包。這樣做可防止終端應用程式偵測封包遺失,從而最大化 TCP 視窗,並且即使在有損狀況下,也能傳遞高 TCP 總流量。
當封包遺失超過特定臨界值時,它會透過封包重複,提示起始調適性前饋式錯誤修正 (FEC)。所套用的錯誤修正,是以流量類別為基礎:
- 交易式/大量流量:在這種情況下,我們會套用以 NACK 為基礎的重新傳輸演算法,該演算法會在 VCMP 通訊協定層級完成,我們會在將封包傳送到應用程式之前,嘗試修正錯誤狀況。
- 即時流量:在這種情況下,我們會套用調適性 FEC 以複寫封包 (在發生遺失 SLA 違規時啟用/停用),以及/或套用抖動緩衝區修正 (一旦發生抖動 SLA 違規 - 只在此情況下才會啟用,且在流量的生命週期內持續存在)。
連結 SLA (遺失、延遲、抖動) 會持續受到監控和定期測量,並在即時流量 (語音與視訊應用程式的不同值) 發生臨界值違規時啟用 FEC (封包重複)。
在單一 WAN 連結案例中,在彼此連續的相同連結上傳輸重複的封包。由於壅塞導致的封包捨棄是隨機的,因此在統計學上不太可能捨棄兩個連續的封包,這大大增加了其中一個封包通過目的地的可能性。如果具有兩個或更多 WAN 連結,則會在單獨的連結上傳送複寫的封包。
調適性 FEC 會根據所測量的封包遺失率臨界值,依流量即時觸發,並在封包遺失率不再超過啟用臨界值後即時停用。這可確保盡可能有效地使用可用頻寬,避免不必要的封包重複,並減少資源額外負荷。VMware 的「調適性 FEC」方法的另一個顯著優點是,最大限度地降低或消除了傳輸網路中的封包遺失對使用者裝置的影響。當使用者裝置沒有發現封包捨棄時,會避免重新傳輸和避開 TCP 擁塞避免機制 (例如:緩慢啟動),這可能會對整體總流量、應用程式效能和使用者體驗,產生負面影響。
DMPO 實際環境結果
案例 1:在單一連結上進行分支到分支 VoIP 通話。下圖的結果示範了使用 FEC 進行隨選修復的優點,並在具有傳統 WAN 和 VMware SD-WAN 的單一網際網路連結上進行抖動修復。對於語音或視訊通話,低於 3.5 的平均意見分數 (MOS) 是無法接受的品質。
案例 2:單一連結和多重連結在具有或不具有 VMware SD-WAN 情況下的 TCP 效能。這些結果顯示 NACK 如何啟用每個封包的負載平衡。
案例 3:此為混合 WAN 案例,其中,MPLS 連結中斷,且網際網路 (Comcast) 連結出現抖動和遺失。這些結果顯示 DMPO 如何透過將應用程式導向至網際網路連結,並在網際網路連結上啟用隨選修復,來保護應用程式免受低於一秒的中斷。
商務原則架構和智慧型預設功能
商務原則可讓 IT 管理員控制應用程式流量的 QoS、操控和服務。智慧型預設功能提供現成的商務原則,可支援超過 2500 個應用程式。DMPO 會根據應用程式類型、即時連結狀況 (壅塞、延遲、抖動和封包遺失) 以及商務原則,來制定操控決策。以下是商務原則的範例。
每個應用程式都有一個類別。每個類別都有一個預設動作,即商務優先順序、網路服務、連結操控和服務類別的組合。您也可以定義自訂應用程式。
每個應用程式都有一個服務類別:即時 (Real Time)、交易式 (Transactional) 或大量 (Bulk)。服務類別決定 DMPO 如何處理應用程式流量。您無法變更預設應用程式的服務類別,但可以為您自己的自訂應用程式指定服務類別。
每個應用程式還具有一個商務優先順序:高 (High)、正常 (Normal) 或低 (Low)。商務優先順序會決定 DMPO 如何排列優先順序,並將 QoS 套用至應用程式流量。您可以變更任何應用程式的商務優先順序。
有三種類型的網路服務:直接 (Direct)、多重路徑 (MultiPath) 和網際網路回傳 (Internet Backhaul)。依預設,系統會為應用程式指派其中一個預設網路服務,客戶可對其進行修改。
- 直接 (Direct):此動作通常用於應繞過 DMPO 通道而直接傳送的非關鍵但受信任的網際網路應用程式。例如 Netflix。Netflix 被視為非商業的高頻寬應用程式,不應透過 DMPO 通道傳送。直接傳送的流量可在流量層級進行負載平衡。依預設,系統會為所有低優先順序的應用程式指定網路服務的直接動作。
- 多重路徑 (MultiPath):對於重要的應用程式,通常會提供此動作。透過插入多重路徑服務,網際網路型流量會傳送至 VMware SD-WAN 閘道。下表顯示指定服務類別的預設連結操控和隨選修復技術。依預設,系統會為高優先順序和一般優先順序的應用程式提供網路服務的多重路徑動作。
- 網際網路回傳 (Internet Backhaul):此動作會將網際網路應用程式重新導向至一個不見得有 VMware SD-WAN Edge 的企業位置。一般的使用案例是,在允許流量離開網際網路之前,強制重要的網際網路應用程式經過具有安全裝置 (例如防火牆、IPS 和內容篩選) 的站台。
使用傳輸群組將連結操控抽象化
在不同的分支和中樞位置中,可能有不同的 VMware SD-WAN Edge 型號,且具有不同的 WAN 介面和電信業者。為了使用設定檔強制執行集中式連結操控原則,請務必將介面和電信業者抽象化。傳輸群組可將在不同位置使用的裝置和電信業者的實際介面抽象化。設定檔層級的商務原則可改為套用至傳輸群組,而個別 Edge 層級的商務原則可套用至傳輸群組、WAN 連結 (電信業者) 和介面。
依傳輸群組的連結操控
不同的位置可能具有不同的 WAN 傳輸,例如 WAN 電信業者名稱、WAN 介面名稱、DMPO 使用傳輸群組的概念,從商務原則組態將基礎 WAN 電信業者或介面抽象化。商務原則組態可以指定傳輸群組 (公用有線、公用無線、私人有線等)。在操控原則中,可以跨不同的裝置類型或位置套用相同的商務原則組態,這可能會有完全不同的 WAN 電信業者和 WAN 介面等。DMPO 在執行 WAN 連結探索時,它也會將傳輸群組指派給 WAN 連結。這是在商務原則中指定連結時最理想的選項,因為 IT 管理員不需要知道實體連線或 WAN 電信業者。
依介面的連結操控
連結操控原則可套用至介面,例如 GE2、GE3,這會根據 Edge 型號和位置而有所不同。這是商務原則中最不理想的選項,因為 IT 管理員必須完全瞭解 Edge 的連線方式,才能指定要使用的介面。
連結操控和隨選修復
對於連結操控,有四個選項可用:自動 (Auto)、慣用 (Preferred)、必要 (Mandatory) 和可用 (Available)。
連結選取:必要 (Mandatory) - 將流量釘選到連結或傳輸群組。無論連結的狀況 (包括中斷) 如何,都不會操控流量。會觸發隨選修復,以緩解掉電狀況,例如:封包遺失和抖動。
範例:Netflix 是一個低優先順序的應用程式,且需要始終位於公用有線連結上。
連結選取:慣用 (Preferred) - 選取要標記為 [慣用 (preferred)] 的連結。根據 Edge 上可用的 WAN 連結類型,有三種可能的案例:
- 當慣用網際網路連結具有多個公用 WAN 連結時的替代方案:只要符合該應用程式的 SLA,應用程式流量就會保留在慣用連結上,一旦慣用連結無法滿足應用程式所需的 SLA,就會導向至其他公用連結。如果沒有可導向至的連結,表示所有公用連結都無法滿足應用程式所需的 SLA,則會啟用隨選修復。或者,DMPO 可以啟用隨選修復,直到降級嚴重到無法修復時,DMPO 就將應用程式導向至更好的連結 (而不是在目前連結無法滿足應用程式所需的 SLA 時立即將應用程式導離該連結)。
- 範例:慣用網際網路連結上的視訊協作應用程式,直到它無法滿足視訊所需的 SLA 時,就導向至符合此應用程式 SLA 的公用連結。
- 當慣用網際網路連結具有多個公用 WAN 連結和私人 WAN 連結時的替代方案:只要滿足該應用程式的 SLA,應用程式流量就會保留在慣用連結上,一旦慣用連結無法滿足應用程式所需的 SLA,就導向至另一個公用連結。萬一 SLA 失敗,慣用連結將不會導向至私人連結,並且僅當慣用連結和另一個公用連結都不穩定或完全關閉時,才會導向至該私人連結。如果沒有可導向至的連結,表示另一個公用連結無法滿足應用程式所需的 SLA,則會啟用隨選修復。或者,DMPO 可以啟用隨選修復,直到降級嚴重到無法修復時,DMPO 就將應用程式導向至更好的連結 (而不是在目前連結無法滿足應用程式所需的 SLA 時立即將應用程式導離該連結)。
- 範例 A:慣用網際網路連結上的視訊協作應用程式,直到它無法滿足視訊所需的 SLA 時,就導向至符合此應用程式 SLA 的公用連結。
- 範例 B:慣用網際網路連結上的視訊協作應用程式,直到它不穩定或被完全捨棄時,如果其他公用連結也不穩定或者也被完全捨棄,就導向至可用的私人連結。
- 當慣用網際網路連結僅具有私人 WAN 連結時的替代方案:無論該應用程式的 SLA 狀態如何,應用程式流量都將保留在慣用連結上,且不會導向至其他私人連結,即使慣用連結無法滿足應用程式所需的 SLA。在該應用程式的 SLA 失敗時,啟用隨選修復,而不是導向至私人連結。慣用連結將導向至私人連結,且只有在慣用連結不穩定或完全關閉時,才會導向至另一個私人連結。
- 範例:慣用網際網路連結上的視訊協作應用程式,直到連結不穩定或被完全捨棄時,就導向至可用的私人連結。
連結選取:可用 (Available) - 此選項會挑選可用的連結 (前提是該連結已啟動)。如果連結不符合 SLA,DMPO 會啟用隨選修復。除非連結已關閉,否則 DMPO 不會將應用程式流量導向至其他連結。
範例:只要網際網路連結處於作用中,就會經由網際網路連結,將 Web 流量回傳到使用網際網路連結的中樞站台,而不考慮是否符合 SLA。
連結選取:自動 (Auto) - 這是所有應用程式的預設選項。DMPO 會根據應用程式的類型,自動選取最佳連結,並在必要時啟用隨選修復。網際網路應用程式的連結操控和隨選修復有四種可能的組合。企業內的流量 (VPN) 一律會流經 DMPO 通道,因此一律可受益於隨選修復。
以下範例針對不同類型的應用程式和連結狀況,說明其預設 DMPO 行為。有關不同應用程式類型的預設 SLA,請參閱附錄一節。
範例:即時應用程式。
- 案例:有一個連結符合應用程式的 SLA。
預期 DMPO 行為:挑選最佳的可用連結。
- 案例:有一個連結的封包遺失率高於應用程式的 SLA。
預期 DMPO 行為:會針對此連結上的即時應用程式啟用 FEC。
- 案例:有兩個連結,且只有一個連結發生遺失。
預期 DMPO 行為:在兩個連結上啟用 FEC。
- 案例:有多個連結,且多個連結上發生遺失。
預期 DMPO 行為:在兩個最佳連結上啟用 FEC。
- 案例:有兩個連結,但有一個連結不穩定,例如,遺漏三個連續的活動訊號。
預期 DMPO 行為:將該連結標記為無法使用,並將流量導向至下一個最佳的可用連結。
- 案例:有兩個連結,且都發生抖動和遺失。
預期 DMPO 行為:在這兩個連結上啟用 FEC 和抖動緩衝區。當語音的抖動超過 7 毫秒,且視訊抖動超過 5 毫秒時,就會啟用抖動緩衝區。傳送 DMPO 端點會告知接收 DMPO 端點啟用抖動緩衝區。接收 DMPO 端點將緩衝處理最多 10 個封包或 200 毫秒的流量 (以先發生者為準)。它會使用 DMPO 標頭中的原始時間戳記,來計算消除抖動緩衝區的流動率。如果流量不固定,則會停用抖動緩衝。
範例:交易式和大量應用程式。如果封包遺失率超過每個應用程式類型可接受的臨界值 (請參考附錄以查看此值),則啟用 NACK。
保護流量傳輸
對於私人或內部流量,DMPO 使用端對端 IPSec 傳輸模式,來將裝載和通道標頭加密。裝載包含使用者流量。DMPO 支援使用 AES128 和 AES256 進行加密。它會使用 PKI 和 IKEv2 通訊協定,來進行 IPSec 金鑰管理和驗證。
使用的通訊協定和連接埠
DMPO 會使用以下連接埠:
- UDP/2426 – UDP/2426:此連接埠用於覆疊通道管理,以及兩個 DMPO 端點 (Edge 和閘道) 之間的資訊交換。它還適用於已受保護或不重要的資料流量,例如 Edge 與閘道之間從分支到雲端的 SFDC 流量。SFDC 流量會使用 TLS 進行加密。
- UDP/500 和 UDP/4500 – 這些連接埠用於 IKEv2 交涉和 IPSec NAT 通透性。
- IP/50 – 當兩個 DMPO 端點之間沒有 NAT 時,此通訊協定適用於原生 IP 通訊協定 50 上的 IPSec (ESP)。
附錄:QoE 臨界值和應用程式 SLA
對於不同類型的應用程式,DMPO 使用的 SLA 臨界值如下。當 WAN 連結狀況超過一或多個臨界值時,它會立即採取動作,以操控受影響的應用程式流量或執行隨選修復。封包遺失率的計算方法是:在最後 1 分鐘時間間隔內遺失的封包數除以封包總數。DMPO 端點會每秒傳輸一次遺失的封包數。QoE 報告也會反映此臨界值。
當 DMPO 在 300 毫秒內失去通訊 (無使用者資料或探查) 時,也會立即採取動作。