「第2のルーティングテーブルを用いた柔軟な負荷分散手法」(PDF

第2のルーティングテーブルを用いた
柔軟な負荷分散手法
和歌山大学 システム工学研究科
◎ 山本 徹
吉廣 卓哉
1
発表内容
„
„
„
„
„
研究背景・目的
バックアップモデル
プロトコル
(バックアップモデルの負荷分散への適用)
シミュレーションと結果
まとめと考察
2
研究背景
„
„
インターネット利用者の増加
ネットワークを流れるトラフィックの増加と多様化
„
„
„
IP電話
映像・音声の配信
インターネット放送など
通信品質の改善がより一層求められている
3
現状の解決策
„
現状の解決策(負荷分散)
„
OSPF-ECMP(Equal-Cost MultiPath)
等しいコストの経路にトラフィックを分散
„ 利用できる経路が限られている
„
„
OSPF-OMP(Optimized MultiPath)
ECMPの改良版(ネットワーク全体の負荷情報を収集)
„ 負荷情報に応じて流量を調整
„ 実験段階にある状態
„
2つの経路のコストが同じであることが必要
しかし、等しいコストの経路は限られている
4
研究目的
„
通信品質を改善できるような新しい負荷分散
モデルの提案
„
„
バックアップモデルを応用
より柔軟な経路制御による輻輳回避
パケット転送に使える経路を増やす
„ ドロップするパケットを減らし、受信パケットを増やす
„ スループットの改善
„
5
バックアップモデル
„
どのルータも第2のルーティングテーブルを持つ
„
„
„
「バックアップ」または「スイッチ」のいずれか
各ルータからの迂回路を計算できるアルゴリズム[1]
どのルータも次ホップリンク故障時には迂回路を利
用して回復できる
プライマリテーブル
1
バックアップテーブル
[1] T. Yohsihiro, et al., "Single Backup Table
Schemes for Shortest-Path Routing,”
Theoretical Computer Science, 2004.
スイッチテーブル
リンクの障害
2
5
3
6
8
宛先 10
4
7
9
6
迂回路の利用
„
„
パケットヘッダに1bitの「切替フラグ」を追加
1
2
ルータの動作
„
切替フラグが”0”の時には
„
1
0
プライマリへ転送
(迂回路を使いたい場合)
„
„
フラグを”1”にして
バックアップまたはスイッチへ転送
切替フラグが”1”の時には
„
„
バックアップもしくはスイッチへ転送
スイッチならばフラグを”0”にして転送
5
1
1→0
3
4
0
6
7
0
0
8
9
0
10
宛先
プライマリテーブル
バックアップテーブル
スイッチテーブル
0 or 1 :切替フラグ
7
負荷分散手法の提案
„
„
隣接リンクのトラフィック流量を監視
次ホップリンクの流量に応じて迂回路へ転送
„
„
„
どのルータからでも迂回路へ転送可能
リンク負荷の軽減
リンクの空き帯域を有効活用
1
2
5
3
6
8
4
7
9
リンクの輻輳
10
宛先
8
パケットループ問題の回避
„
„
ルーティングテーブルを切り替えただけでは
パケットが転送され続けることも
解決策
„
„
2度目は迂回路へ転送しない
1
切り替えフラグビットとは
別のフラグビットで対応
2
5
3
6
8
4
7
9
10
宛先
9
フラグの実装
„
IPパケットヘッダ上の2ビットを使用
„
IPv4の場合
„
„
通常利用されていないTOSフィールド
IPv6の場合
„
拡張ヘッダ
IPパケットのフォーマットを変更せずに実装可能
10
AS境界でのフラグクリア
„
フラグがクリアされずに、他のASに渡ると?
„
„
„
他のAS内でのサービスを妨害する?
エラーパケットとしての誤認識?
使用したフラグをクリアすればよい
„
„
ASの境界(入口と出口)でフラグを確認
フラグビットが”1”ならば”0”にクリア
11
経路計算の変更
„
リンクステート型のルーティングプロトコルを拡張
1、経路情報のFlooding
2、Dijkstra法による最短路計算
3、第2のルーティングテーブルの計算
„
1,2までが完了していれば、3が完了していなくても
パケット転送に影響はない
„
3が完了する前はプライマリテーブルのみを使用
12
既存プロトコルへの拡張のまとめ
„
既存のリンクステート型プロトコルに次の拡張が必要
„
„
„
第2のルーティングテーブルの追加
2bitのフラグビット領域をパケットヘッダに追加
フラグビット操作の実装
„
„
„
„
各ルータにおける切り替えフラグビットの操作
AS境界でのフラグクリア
バックアップテーブル計算アルゴリズムの実装
その他、各プロトコル依存の処理
„
OSPFの場合、階層ルーティングの対応など
13
シミュレーション方法
„
„
NS-2への実装(バックアップモデルと負荷分散)
2つのケースを用意
„
„
„
上記の2ケースにおいて2方式を比較
„
„
„
リング型トポロジ
メッシュ型トポロジ
ECMP(Equal-Cost MultiPath)
提案する負荷分散手法
比較指標
„
UDPを用いたパケット到達率
14
シミュレーション環境
„
PCサーバ(Fedora Core)
„
„
„
CPU : Intel Pentium 4 3.00GHz
メモリ : 768MB
NS-2の設定内容
„
„
„
各リンクの遅延は10ms
ルータの出力キューはFIFO型
パケットはUDPのCBR(Constant Bit Rate)
„
„
パケットサイズは500bytes
出力キューの容量が90%を超えたら迂回路へ転送
15
シナリオ1:リング型トポロジ
„
„
各ノードを環状に接続した形態
ECMPと提案手法の比較
„
フロー3をルータ1から5へ送るように設定した場合
„
„
宛先までのコストが等しい迂回路が存在しない
フロー3をルータ0から5へ送るように設定した場合
„
宛先までのコストが等しい迂回路が存在
1
0
9
フロー1
フロー2
フロー3
0 1 2 3
21 22 23
シミュレーション時間(s)
各リンクは1Mbps、コストは一定
2
8
3
7
4
フロー2
0.8Mbps
6
5
フロー1
16
0.8Mbps
シナリオ1のシミュレーションと結果
〜ECMPが有効でない場合〜
„
ECMPが有効でない=迂回路を利用できない
„
„
片方の帯域しか使い切れない
提案手法は迂回路を利用可能
„
迂回路の帯域も使いきれる
ECMP
提案手法
2
3
送出パケット数(a)
13000
13000
到着パケット数(b)
9252
10489
パケット到着率(b/a)
0.712
1
フロー2
0.807 0.8Mbps
0
9
8
フロー3
1.0Mbps
4
7
6
5
フロー1
0.8Mbps
提案手法
17
シナリオ1のシミュレーションと結果
〜ECMPが有効にはたらく場合〜
„
ECMP、提案手法どちらも迂回路を利用可能
„
„
迂回路の帯域も使いきれる
提案手法もECMPと
同等の性能を発揮
1
ECMP
提案手法
2
3
送出パケット数(a)
13000
13000
到着パケット数(b)
10327
10489
パケット到着率(b/a)
0.794
0.807
9
8
フロー3
1.0Mbps
4
フロー2
0.8Mbps
0
7
6
5
フロー1
0.8Mbps
提案手法
18
シナリオ2:メッシュ型トポロジ
„
„
各ノードを網目上に接続した形態
通常のルーティング、ECMP、提案手法の比較
„
フロー3をルータ8から0へ送るように設定した場合
„
„
あて先までのコストが等しい迂回路が存在
ECMPが最も有効にはたらく場合といえる
フロー1
フロー2
フロー1
0.8Mbps
0
1
2
3
4
5
フロー3
0 1 2 3
21 22 23
シミュレーション時間(s)
各リンクは1Mbps、コストは一定
フロー2
0.8Mbps
フロー3
1.0Mbps
6
7
8
19
シナリオ2のシミュレーションと結果
„
„
通常のルーティングよりもECMPが有利
提案手法もECMPと同等の性能を発揮
„
„
フロー1 0.8Mbps
フロー2 0.8Mbps
フロー3 1.0Mbps
どちらも迂回路を利用
どちらも帯域を使い切っている
通常
ECMP
1
2
3
4
5
6
7
8
提案手法
送出パケット数(a)
13000
13000
13000
到着パケット数(b)
9451
10390
10477
0.727
0.799
0.806
パケット到着率(b/a)
0
提案手法
20
まとめ
„
„
„
バックアップモデルを応用した負荷分散の提案
NS-2への提案手法の実装
2つのシナリオでのシミュレーション実験
„
„
„
リング型、メッシュ型
ECMPとバックアップモデルの比較
ECMPが最も有効にはたらく条件下においても
提案手法が同等の有効性を確認
21
今後の課題
„
„
さらに様々な状況でのシミュレーション実験
TCPへの対応
„
„
„
パケットではなく、フロー単位での振り分けで対応
TCPの輻輳制御への影響
迂回路へ流すことで起こる、他リンクの通信
品質悪化についての検討
22