...

スライド

by user

on
Category: Documents
11

views

Report

Comments

Transcript

スライド
トンネリング技術を⽤用いた
汎⽤用機器によるデータセンターマルチパスの実現 2015年年6⽉月25⽇日
第16回 インターネットテクノロジーワークショップ
東京⼤大学 情報理理⼯工学系研究科
中村 遼, ⽯石原知洋, 関⾕谷勇司, 江崎 浩
WIT 2015
15/06/25
背景
¤  データセンターネットワーク
¤  ⽇日々増え続けるデータセンタートラフィック
¤  クラウドコンピューティング etc
¤  既存機器による最短経路路だけのルーティングでは不不⼗十分
Juniper EX4200-48P
Google Data Center
Cisco Catalyst3750 Series
2
WIT 2015
15/06/25
既存⼿手法 : マルチパスの利利⽤用
¤  マルチパストポロジとその利利⽤用⼿手法
¤  Layer-3 : ECMP, VL2, MPTCP(Layer-4)
¤  Layer-2 : TRILL, SEATTLE, SPAIN,
[11] Al-Fares et.al., “A Scalable, Commodity
Data Center Network Architecture”
SIGCOMM’11
[4] Singla et.al., “Jellyfish: Networking
Data Centers Randomly“ NSDI’12
3
WIT 2015
15/06/25
Equal Cost Multi-Path
¤  実環境で最も使われている⼿手段
¤  Layer-3ネットワークの⾼高い可⽤用性
¤  P. Lapukhov, Building Scalable Data Centers: BGP is the
Better IGP, NANOG55
¤  既存の汎⽤用L3スイッチ(COTSスイッチ)で利利⽤用可能
¤  ただし、効率率率的に複数パスを利利⽤用することはできない
¤  ハッシュによる特定パスへの偏り
¤  利利⽤用できるリンクの不不⾜足
Overload!
wasted
path
4
WIT 2015
15/06/25
問題点 : デプロイの難しさ
¤  スイッチハードウェアへの変更更
¤  COTSスイッチはECMPのみ
¤  既存研究の多くはスイッチにハードウェアに変更更を追加
Ø  特殊なハードウェアはデプロイの障害に
p  ex) [6] Al-Fares et.al., “A Scalable, Commodity Data
Center Network Architecture” SIGCOMM’08
Single path
Multipath
5
WIT 2015
15/06/25
問題点 : トポロジ変更更への追従性
¤  事前にトポロジを取得、計算してセットアップ
¤  Ex) [3] Mudigonda et.al., SPAIN: COTS data-center Ethernet
for multipathing over arbitrary topologies, NSDI’10
1.  事前に全ホスト間で複数パスを通るVLANのセットアップを計算
2.  全スイッチに1.のVLANをセットアップ
¤  トポロジ変更更時には全スイッチに再設定が必要
トポロジの検知
とパスの計算
設定投⼊入
6
WIT 2015
15/06/25
既存研究の⽐比較
トポロジ
利利⽤用するパス
COTSスイッチ
を利利⽤用
トポロジ変更更
への追従性
TRILL
Arbitrary
ECMP
NO
YES
SEATTLE
Arbitrary
Single Path
NO
YES
PortLand
Fat-tree
ECMP
NO
NO
SPAIN
Arbitrary
Multiple Paths
YES
NO
VL2
Fat-tree
ECMP
YES
YES
SPAIN[12]に基づく既存研究の⽐比較
COTSスイッチを⽤用いながら、効率率率的なマルチパス利利⽤用と
トポロジ変更更への追従性(可⽤用性)を同時に実現できてはいない
7
WIT 2015
15/06/25
アプローチ
¤  前提
¤  Layer-3 Networkで構築
¤  IPネットワークの⾼高い可⽤用性、⼗十分に枯れた運⽤用技術
¤  P. Lapukhov[1], Facebook[2], VL2[13]
¤  スイッチハードウェアには⼿手を加えない
¤  COTS Layer-3スイッチを⽤用いる
¤ アプローチ
¤  エンドホスト(サーバ)がパスを選択する
¤  宛先へのトラフィックを⾃自律律的に複数パスへ分散
¤  サーバのソフトウェアネットワークスタックのみ変更更
8
WIT 2015
15/06/25
マルチパストポロジにおけるパス選択
¤  Ex) Fat-treeにおける任意のサーバ間のパスとは、
¤  送信元サーバからRootスイッチまでの最短経路路と
¤  Rootスイッチから宛先サーバへの最短経路路、の連結
Ø  つまりパスの選択とは、中継するスイッチの選択
9
WIT 2015
15/06/25
IPトンネルによる中継点の指定
¤  カプセル化を⽤用いたSource Routing
¤  最短経路路とは異異なるパスへパケットを通すには
1.  そのパスの中継スイッチを宛先としてカプセル化
2.  中継点のスイッチはカプセル化を解除
3.  オリジナルのパケットは宛先へと送信される
Switch B
Switch C
Switch A
Switch D
Dst : Switch C
Src : X.X.X.X
Dst : Server D
Src : Server S
Payload
Dst : Server D
Src : Server S
Payload
Server S
Server D
10
WIT 2015
15/06/25
トンネルの数の規模性
¤  フルメッシュトンネルは⾮非現実的
¤  全てのサーバが全てのスイッチを中継点として指定するためには
フルメッシュなトンネルが必要 = スイッチ数 ✕ サーバ数
¤  全サーバで同⼀一の送信元アドレスを利利⽤用
¤  トンネルを通るパケットは常に「サーバからスイッチ」への⽚片⽅方向
¤  全トンネルの送信元として同⼀一のアドレスを使えば、スイッチ上のト
ンネルは「From 同⼀一アドレス To スイッチ⾃自⾝身」の1本のみ
11
WIT 2015
15/06/25
利利⽤用可能なトンネリングプロトコル
¤  ステートレストンネル
¤  ステートフルトンネルは規模性の問題から使⽤用不不可
¤  ステートレスなトンネリングプロトコルは変更更無しで利利⽤用可能
プロトコル名
標準
標準化年年
IP in IP Tunneling
RFC1853
1995
GRE
RFC2784
2000
EtherIP
RFC3378
2002
LISP
RFC6830
2011
VXLAN
RFC7348
2014
NVGRE
Internet Draft
2012 ~
GUE
Internet Draft
2013 ~
Geneve
Internet Draft
2014 ~
利利⽤用可能なトンネリングプロトコル⼀一覧
12
WIT 2015
15/06/25
サーバネットワークスタックへの変更更
¤  特定宛先へのパケットにトンネルヘッダを追加
¤  トンネリングプロトコルも同時に指定 (ipip, gre, vxlan etc)
¤  ex: Dst 10.4.1.0/24 : Encap to A,B,C or D
A
B
Src X
Dst C
C
D
Src 10.1.2.2
Dst 10.4.1.2
Src 10.1.2.2
Dst 10.4.1.2
10.1.2.0/24
10.4.1.0/24
13
WIT 2015
15/06/25
iplb.ko : kernel module
¤  IP encapsulation based Load Balancing
¤  送信パケットが経路路表にマッチすると、中継点へカプセル化
¤  中継するスイッチはフロー(5-tuple)ごとに決定、保存
Netlink越しに
経路路表を操作
Userland
Match!
IP Packet
Kernel
Tun Hdr + IP
packet
iplb.ko
Dst Prefix
Relay Point
10.0.0.0/8
relay1, relay2, relay3
10.1.2.0/24
relay4, relay5
Network
14
WIT 2015
15/06/25
使⽤用例例 (iproute2 extension)
¤  宛先プレフィクスと中継点の追加
¤  経路路表の表⽰示
15
WIT 2015
15/06/25
Fat-treeトポロジへの適⽤用
¤  先⾏行行研究にて実施
¤  各フローのパスへの
割り当てアルゴリズム
¤  実機を⽤用いた予備実験
¤  Fat-treeトポロジでの評価
¤  Layer-3 Multipathing in Commodity-based Data Center
Networks, 18th IEEE Global Internet Symposium (April 27, 2015)
フローパターン
最短経路路のみ
ECMP
提案⼿手法
Same
47.91%
82.32%
100%
Random
N/A
84.00%
96.23%
Power-law
N/A
80.53%
90.39%
16
WIT 2015
15/06/25
Random Graph
¤  [4]Jellyfish: Networking Data Centers Randomly, NSDI’12
¤  「Random GraphはFat-treeよりもpath length, 障害時のス
ループットなどの観点からメリットが多い」
¤  「Random Graphでスループットを上げるにはECMPでは不不
⼗十分、k-shortest pathとMPTCPを使うのが良良い」
¤  しかし、k-shortest pathのために特殊/⾼高価なハードウェアの
利利⽤用を想定
17
WIT 2015
15/06/25
k-shortest path + Multipath TCP
¤  k-shortest path
¤  k番⽬目までの短いパス
¤  Yen’s loop-less k-shortest
path algorithm
1.  Path = shortest path by dijkstra
2.  Insert Path to path list
3.  Decide deviation link from
Path
4.  Path’ = Calculate SPF from
deviation node
5.  Path = Path’
6.  goto 2 up to len (path list) == k
¤  Multipath TCP
¤  エンドホストによる複数パ
スの利利⽤用⼿手法 ¤  DCネットワークでの利利
⽤用⼿手法も多数
¤  複数TCPセッションのため
の輻輻輳制御アルゴリズム
¤  Linked Increase
Congestion Control
Algorithm
One TCP
Session
(sub-flow)
18
WIT 2015
15/06/25
k-shortest path + Multipath TCP + iplb
¤  MPTCPでトラフィックを複数TCPサブフローに分割
¤  そして、iplbで各フローを異異なるk本のパスへ分散
Userland
Application
MPTCP
TCP
TCP
TCP
TCP
flow
flow
flow
iplb
flow
Kernel
Path 1
Path 2
Path 3
Path 4
Random Graph Network
19
WIT 2015
15/06/25
パスを代表する中継点の決定
¤  iplbはSource Routingのための⼿手法
¤  各パスの中継点とすべきスイッチは別途⾒見見つける必要がある
¤  Yen’s Algorithmでk本のパスを発⾒見見
¤  k本のパスへ通すのに中継すべき、k個の中継点リストを作成
k-paths (k = 6)
Src
< 8, 11, 1, 9, 17 >
< 8, 12, 3, 10, 17 >
< 8, 11, 2, 9, 17 >
< 8, 12, 4, 10, 17 >
< 8, 11, 1, 5, 2, 9, 17 >
< 8, 12, 3, 6, 4, 10, 17 >
Dst
20
WIT 2015
15/06/25
中継点リストの作成⼿手法
8
¤  k本のパスから⽊木構造を構築
¤  分岐する箇所を⾒見見つける
11
¤  異異なるホップにでてきた
スイッチは別ノードとして扱う
k-paths (k = 6)
< 8, 11, 1, 9, 17 >
< 8, 12, 3, 10, 17 >
< 8, 11, 2, 9, 17 >
< 8, 12, 4, 10, 17 >
< 8, 11, 1, 5, 2, 9, 17 >
< 8, 12, 3, 6, 4, 10, 17 >
1 hop
12
2 hop
1
2
4
3
5
9
10
6
2
17
9
4
10
3 hop
4 hop
5 hop
6 hop
17
21
WIT 2015
15/06/25
中継点リストの作成⼿手法 (続き)
8
¤  深さ優先探索索
¤  もし親ノードが複数の⼦子を持つなら
¤  ⾃自⾝身を中継点のリストに追加する
k-relay list (k = 6)
< 1, 5 >
< 1, 9 >
<2>
< 3, 6 >
< 3, 10 >
<4>
1 hop
11
12
2 hop
1
2
4
3
5
9
10
6
2
17
9
4
10
3 hop
4 hop
5 hop
6 hop
17
22
WIT 2015
15/06/25
コントロールプレーン
¤  OSPFによるグラフ情報の取得
¤  Link State Data Baseは完全なグラフの情報
¤  中継点のリストは前述のアルゴリズムでLSDBから計算可能
¤  トポロジ変更更にもOSPFによって追従可能
LSA Update/Delete
ospfd
processing
OSPF protocol
OSPF Protocol
iplbd
calculating relay
point from LSDB
Install relay point
via Netlink API
iplb.ko
relay point table
Kernel
Network
23
WIT 2015
15/06/25
評価
1. 
ランダムグラフにおけるスループットの向上
¤  ランダムグラフトポロジにおいて、提案⼿手法はECMPよりもネッ
トワーク全体の転送性能を上げることができるか
¤  カプセル化による転送量量の低下
2. 
サーバでのiplbモジュールによる転送性能の低下
¤  iplbはカーネル内にて、経路路表の検索索、フローごとにパスの決定、
カプセル化を⾏行行う
¤  スイッチはwire-rateで転送可能
3. 
トポロジ変更更への追従性
¤  リンクの切切断などに対して、現実的な時間でiplb内の経路路表を切切
り替えることができるか
24
WIT 2015
15/06/25
評価
1. 
ランダムグラフにおけるスループットの向上
¤  ランダムグラフトポロジにおいて、提案⼿手法はECMPよりもネッ
トワーク全体の転送性能を上げることができるか
¤  カプセル化による転送量量の低下
2. 
サーバでのiplbモジュールによる転送性能の低下
¤  iplbはカーネル内にて、経路路表の検索索、フローごとにパスの決定、
カプセル化を⾏行行う
¤  スイッチはwire-rateで転送可能
3. 
トポロジ変更更への追従性
¤  リンクの切切断などに対して、現実的な時間でiplb内の経路路表を切切
り替えることができるか
25
WIT 2015
15/06/25
実験環境
¤  ns-3 Direct Code Execution
¤  ns-3シミュレータ上でLinux Kernelが動作
¤  テストトラフィック
¤  Multipath TCP, 8サブフロー
¤  エンドホストはランダムに選択した宛先へテストトラフィックを送信
¤  評価項⽬目
¤  転送レート :
各ホストで 受信した合計量量(byte) / 送信した合計量量(byte)
¤  各テストトポロジにおいて、15回試⾏行行を⾏行行った平均
¤  テストトポロジ : ランダムグラフネットワーク
¤  最短経路路のみ, ECMP, k-shortest path (k = 2~8)
¤  4-port : 20 スイッチ 16 サーバ, 6-port : 45 スイッチ 54 サーバ,
8-port : 80 スイッチ128 サーバ
¤  上記のポート、スイッチ、サーバ数は3-level k-ary fat-treeに従う
26
WIT 2015
15/06/25
シミュレーション結果
¤  提案⼿手法は最短経路路のみとECMPよりも⾼高い転送性能を実現
¤  k = 3以上でECMP以上の性能, k = 6以上で最短経路路のみの1.3倍
¤  ECMPでは⼗十分なリンクを利利⽤用できていない
ECMP
k=2
k=3
k=4
k=5
k=6
k=7
k=8
4-port
1.120
1.178
1.222
1.231
1.221
1.230
1.190
1.171
6-port
1.213
1.192
1.278
1.304
1.279
1.300
1.304
1.314
8-port
1.246
1.162
1.277
1.309
1.306
1.314
1.301
1.304
最短経路路のみを⽤用いた場合を1として正規化した結果
27
WIT 2015
15/06/25
カプセル化のオーバーヘッド
¤  MTUサイズの減少
¤  IPIPなら20byte、GREなら24byteパケットサイズが減少
¤  複数回カプセル化すれば、パケットサイズはさらに減少
¤  8ポートなら9割以上のパスが3回のカプセル化で指定可能
¤  MTU 1500byte : 4.8 %のパケットサイズの減少
¤  MTU 9000byte : 0.8 %のパケットサイズの減少
1
CDF
0.8
0.6
0.4
0.2
0
8-port
12-port
0
1
2
3
4
Number of relay points
5
6
28
WIT 2015
15/06/25
結論論
¤  汎⽤用機器で構築したDCネットワークにおけるマルチパス⼿手法
¤ 
¤ 
¤ 
¤ 
複数パス選択の機能をエンドホストへ移⾏行行
様々な既存のトンネリングプロトコルを利利⽤用可能
ソフトウェアネットワークスタックへの⼩小さな変更更で実現可能
Random Graphトポロジにおける評価
¤  最短経路路のみを⽤用いた場合に対して1.3倍の性能向上
¤  ECMPよりも⾼高い転送率率率を実現
¤  今後の課題
¤  Random Graph以外のトポロジへの適⽤用
提案⼿手法
トポロジ
利利⽤用するパス
COTSスイッチを
利利⽤用
トポロジ変更更
への追従性
Fat-tree
Random Graph
Multiple Paths
YES
YES
29
Fly UP