1. HOME
  2. ブログ
  3. SD-WAN
  4. VMware SD-WAN DMPO(Dynamic Multipath Optimization)による最適化

BLOG

ブログ

SD-WAN

VMware SD-WAN DMPO(Dynamic Multipath Optimization)による最適化

VMware SD-WANはDMPO(Dynamic Multipath Optimization)と呼ばれる最適化機能が備わっています。DMPOによる制御を行えば、低遅延が求められるアプリケーションならば低遅延の回線を使用するようになり、帯域が求められるようなアプリケーションならば複数回線を同時利用します。この記事では、ナレッジベース「VMware SD-WAN Dynamic Multipath Optimization (DMPO) (2733094)」の噛み砕いた説明と動作確認方法を記します。

低遅延優先

VMware SD-WANのDMPOは低遅延が求められるアプリケーションに対して、低遅延の回線を割り当てようとします。ナレッジベースには以下のように書かれています。

Smart Defaults specifies that Microsoft Lync is High Priority and is Real-Time application. Assuming there are 2 links with latency of 50 ms and 60ms respectively. Assume all other SLAs are equal or met. DMPO will chose the link the better latency, i.e. link with 50ms latency. If the current link to which the Lync traffic is steered experiences high latency of 200 ms, within less than a second the packets for the Lync same flow is steered on to another link which has better latency of 60 ms.

これを機械翻訳すると以下のようになります。

Smart Defaultsでは、Microsoft Lyncは優先度が高く、リアルタイムアプリケーションであると指定されています。遅延がそれぞれ50msと60msの2つのリンクがあると仮定します。他のすべてのSLAが等しいか、満たされていると仮定する。DMPOはレイテンシーの良いリンク、つまりレイテンシー50msのリンクを選択する。Lyncトラフィックが転送される現在のリンクが200msの高レイテンシであった場合、1秒以内にLyncと同じフローのパケットは60msのより良いレイテンシを持つ別のリンクに転送される。

VMware SD-WANはデフォルト設定のビジネスポリシーによって、優先度とサービスクラスが定義されています。Smart Defaultsとはデフォルト設定のビジネスポリシーの事で、Microsoft Lyncは優先度「高」サービスクラス「リアルタイム」として取り扱われます。

VMware SD-WAN by VeloCloud の低遅延優先のデフォルト設定

このような「リアルタイム」として取り扱われるトラフィックは、低遅延の回線が優先的に割り当てられます。複数回線でロードバランスするよりも最も遅延が少ない回線を使用した方が、音声通話やビデオ会議は快適になるでしょう。それでは、実際に低遅延の回線が割り当てられるかどうかを動作確認します。以下のような構成で、50msecと60msecの2回線を疑似します。遅延の擬似方法は「インターネット回線の擬似」などを参照ください。

VMware SD-WAN by VeloCloud の低遅延優先の動作確認構成図

もし、Microsoft Lyncを用いた動作確認が難しい場合は、他のアプリケーションでも代用可能です。今回はiper3によって生成されたudpトラフィックで代用する例を示します。まず、ビジネスポリシーの設定で、代用するトラフィックがサービスクラス「リアルタイム」に分類されるように定義します。

VMware SD-WAN by VeloCloud の低遅延優先のビジネスポリシー

想定通りの分類がなされているかどうかは、リモート診断の「List Active Flows」から確認するのがお勧めです。

VMware SD-WAN by VeloCloud の低遅延優先のビジネスポリシー確認

「監視」「リンク」の画面を見ると、どの回線を使用しているかを確認できます。以下スクリーンショットが示すように、低遅延であるinternet02のみを使用するのが分かります。

VMware SD-WAN by VeloCloud の低遅延優先の帯域使用状況

帯域優先

VMware SD-WANのDMPOはファイル転送のような高帯域が求められるアプリケーションに対して、複数回線をActive/Activeで使用します。このActive/Activeは、単一フローであってもパケット単位の負荷分散を実現します。ナレッジベースには以下のように書かれています。

Bandwidth Aggregation for Single Flow: For the type of applications that can benefit from more bandwidth, e.g. file transfer, DMPO performs per-packet load balancing, utilizing all available links to deliver all packets of a single flow to the destination. DMPO takes into account the real time WAN performance and decides which paths should be use for sending the packets of the flow. It also performs resequencing at the receiving end to ensure there is no out-of-order packets introduced as a result of per-packet load balancing

Example: Two 50 Mbps links deliver 100Mbps of aggregated capacity for a single traffic flow. QoS is applied at both the aggregate and individual link level.

これを機械翻訳すると以下のようになります。

単一フローの帯域幅アグリゲーション : ファイル転送など、より多くの帯域幅の恩恵を受けられるタイプのアプリケーションでは、DMPOはパケット単位の負荷分散を実行し、単一のフローのすべてのパケットを宛先に送信するために利用可能なすべてのリンクを利用します。DMPOはリアルタイムのWANパフォーマンスを考慮し、フローのパケット送信に使用すべきパスを決定します。また、受信側で再順序付けを行い、パケットごとの負荷分散の結果、順序外のパケットが発生しないようにします。

例 : 2本の50Mbpsリンクは、1つのトラフィックフローに対して100Mbpsのアグリゲート容量を提供します。QoSはアグリゲートレベルと個々のリンクレベルの両方で適用されます。

それでは、実際に負荷分散がなされるかどうかを確認します。以下のような構成で、50Mbpsの2回線を疑似します。遅延の擬似方法は「インターネット回線の擬似」などを参照ください。

VMware SD-WAN by VeloCloud の帯域優先の動作確認構成図

VMware SD-WANはサービスクラスが「トランザクション」「バルク」であるトラフィックを負荷分散します。今回はscpによるファイル転送を負荷分散する操作例を紹介します。scpがサービスクラス「トランザクション」に分類されるようなビジネスポリシーを定義します。

VMware SD-WAN by VeloCloud の帯域優先のビジネスポリシー設定

想定通りの分類がなされているかどうかは、リモート診断の「List Active Flows」から確認するのがお勧めです。

VMware SD-WAN by VeloCloud の帯域優先のビジネスポリシー確認

「監視」「リンク」の画面を見ると、どの回線を使用しているかを確認できます。以下スクリーンショットが示すように、internet01とinternet02の両方を使用するのが分かります。

VMware SD-WAN by VeloCloud の帯域優先の帯域使用状況

また、scpコマンドの出力などからも50Mbpsの2回線を使用している事が読み取れます。以下ログは転送速度が10.4MB/sと記録されています。これはバイト単位の出力なので、ビット単位に換算すると83.2Mbpsになります。つまり、ほぼ100Mbps程度の帯域である事が分かります。

[root@linux030 ~]# scp 1G.txt 200.100.1.100:/dev/null
1G.txt 85% 874MB 10.4MB/s 00:14 ETA

関連記事