メインコンテンツまでスキップ

WAN高速化装置

WAN 高速化装置 とは

WAN 高速化装置(WAN Acceleration System, WAS)は拠点とデータセンター等に機器を配置し、データのやりとりを高速化仕組みのことをいう。

WASの構成

ネットワークスペシャリスト平成 26 年午後 1問 1 では CIFS(Common Internet File System)を例に扱っている。

CIFS は SMB(Server Message Block)の方言であるとMicrosoftは述べています。

Microsoftの定義

CIFS はこちらの記事にもあるようにCIFS = SMB 1.0と言えるので、以後は CIFS = SMB 1.0 として考える。

SMB 1.0 はリクエスト・レスポンスがセットとしてやりとりが行われる。 SMB 1.0 の 1 回のやり取りサイズはWikipediaでも紹介されているように 64K となっている。

全文

Microsoft has explained that performance issues come about primarily because SMB 1.0 is a block-level rather than a streaming protocol, that was originally designed for small LANs; it has a block size that is limited to 64K, SMB signing creates an additional overhead and the TCP window size is not optimized for WAN links. Solutions to this problem include the updated SMB 2.0 protocol, Offline Files, TCP window scaling and WAN optimization devices from various network vendors that cache and optimize SMB 1.0 and 2.0.

つまり、この制限されたサイズ以上のデータを読み出す場合には何度もリクエスト・レスポンスのやりとりを行う必要がある。

WAS はリクエスト・レスポンスの代理応答と一括転送の仕組みを用いて WAN 経由のファイル転送を高速化することができ、 図の本社側の WAS はデータセンターに存在する File Server のように振る舞い、データセンターの WAS は PC のように振る舞う。

WASの通信の流れ

WAS による応答時間の違い

1 往復(リクエスト \rightarrow レスポンスを受け取るまで)あたりの所要時間は次の式で求めることができる。

1往復あたりの所要時間[]=RTT[]+遅延[]{1往復あたりの所要時間}_{[秒]} = {RTT}_{[秒]} + {遅延}_{[秒]}

ここで、RTT (Round Trip Time)は TCP のパケットを送信し、 そのレスポンスを受け取るまでの時間を意味している。

また、遅延はいくつか種類が存在するが、遅延が小さく無視できる、また RTT に含まれるため、シリアル化遅延時間のみを考える。 シリアル化遅延時間は次の式で求めることができる。

シリアル化遅延時間[]=パケットサイズ[ビット]帯域幅[ビット]{シリアル化遅延時間}_{[秒]} = \frac{{パケットサイズ}_{[ビット]}}{{帯域幅}_{[\frac{ビット}{秒}]}}

計算条件

項目
帯域幅1.0×108[ビット]1.0 \times {10}^{8} { }_{[\frac{ビット}{秒}]}
RTT5.0×102[]5.0 \times {10}^{-2} { }_{[秒]}
ファイルサイズ1.0×108[バイト]1.0 \times {10}^{8} { }_{[バイト]}

WAS なし

項目
転送データサイズ5.0×103[バイト]5.0 \times {10}^{3} { }_{[バイト]}
往復数1.0×1085.0×103=2.0×104[]\frac{1.0 \times {10}^{8}}{5.0 \times {10}^{3}} = 2.0 \times {10}^{4} { }_{[回]}

シリアル化遅延時間=5.0×103×81.0×108=4×104\begin{align*} シリアル化遅延時間 &= \frac{5.0 \times {10}^{3} \times 8}{1.0 \times {10}^{8}} \\ &= 4 \times {10}^{-4} \\ \end{align*}1往復あたりの所要時間=5.0×102+0.04×102=5.04×102\begin{align*} 1往復あたりの所要時間 &= 5.0 \times {10}^{-2} + 0.04 \times {10}^{-2} \\ &= 5.04 \times {10}^{-2} \\ \end{align*}転送の所要時間=5.04×102×2.0×104=1008\begin{align*} 転送の所要時間 &= 5.04 \times {10}^{-2} \times 2.0 \times {10}^{4} \\ &= 1008\\ \end{align*}

WAS あり

項目
1 往復での転送データサイズ1.0×104[バイト]1.0 \times {10}^{4} { }_{[バイト]}
往復数1.0×1081.0×104=1.0×104[]\frac{1.0 \times {10}^{8}}{1.0 \times {10}^{4}} = 1.0 \times {10}^{4} { }_{[回]}

WAS での一括転送のサイズをなしの時の 2 倍として計算する。

シリアル化遅延時間=1.0×104×81.0×108=8×104\begin{align*} シリアル化遅延時間 &= \frac{1.0 \times {10}^{4} \times 8}{1.0 \times {10}^{8}} \\ &= 8 \times {10}^{-4} \\ \end{align*}1往復あたりの所要時間=5.0×102+0.08×102=5.08×102\begin{align*} 1往復あたりの所要時間 &= 5.0 \times {10}^{-2} + 0.08 \times {10}^{-2} \\ &= 5.08 \times {10}^{-2} \\ \end{align*}転送の所要時間=5.08×102×1.0×104=508\begin{align*} 転送の所要時間 &= 5.08 \times {10}^{-2} \times 1.0 \times {10}^{4} \\ &= 508\\ \end{align*}

となり、WAS を使った方が転送にかかる時間が短くなっている。WAS とやりとりする際は WAN ではなく LAN を使ってやりとりを行うため RTT が小さくなる。 そのため、RTT が大きい場合に WAS を使うとより恩恵を受けることができる。

参考