ラベルスイッチルータにおけるパケットフローアグリゲーションと優先的転送

ラベルスイッチルータにおける
OSPFフローアグリゲーションの実現
今泉英明
慶應義塾大学政策・メディア研究科
永見健一
東芝
杉浦一徳
通信総合研究所
村井純
慶応大学
研究概要
• LSR網における必要ラベル数の最適化
– 必要ラベル数
• 現状では冗長なラベルが利用されている
– 同一OSPFエリア内のLSR網
– OSPF内のトポロジ情報を用いてラベル数を最適化す
る手法
– LSR網の境界LSR数をN
• 必要ラベル数 = (N * (N – 1))
– 評価実験では約56%のラベルを削減し、最適化した
発表内容
• ラベルスイッチ(Multi Protocol Label
Switch)技術の概要
• 現状の問題点
• OSPFフローアグリゲーションの機能・実装
ラベルスイッチ技術概要
• Layer-3 パケットストリームをLayer-2の固定長ラベルに対
応させて、そのラベル情報をもとにパケット転送する技術
– Layer3転送/Layer2転送
• LSR(Label Switch Router)
– ラベルスイッチ技術を用いたルータ
• LSR網(LSR Network)
– LSRで構成されるネットワーク
– 内部(Core)LSRと境界(Edge)LSR
• LDP(Label Distribution Protocol)
– パケットストリームとラベルの対応を隣接LSRと交換
• IETF MPLS WG
LSR Network
Core LSR
Edge LSR
Default VC
Label Switched VC
Edge LSR
Layer-3 Forwarder
Layer-2 Forwarder
Layer3転送
Core LSR
packet
Edge LSR
packet
packet
Default VC
Label Switched VC
Edge LSR
packet
packet
Layer-3 Forwarder
Layer-2 Forwarder
Layer2転送
Core LSR
LDP
Edge LSR
LDP
Edge LSR
LSP(Label Switched Path)
Default VC
Label Switched VC
Layer-3 Forwarder
Layer-2 Forwarder
Layer2転送
Core LSR
Edge LSR
Edge LSR
packet
packet
packet
packet
LSP(Label Switched Path)
1つのLSPに1つのラベル
Default VC
Label Switched VC
Layer-3 Forwarder
Layer-2 Forwarder
必要ラベル数
• 必要ラベル数は以下の二つに依存して増減する
– ラベルを割り当てるパケットストリームの粒度
• source port/address - destination port/address
• source address - destination address
• source network - destination network
• 以上の組み合わせの集合など
– 割り当てポリシー
• トラッフィクドリブン
• トポロジードリブン
トラフィックドリブンの動作
Core LSR
Edge LSR
Default VC
Label Switched VC
Edge LSR
Layer-3 Forwarder
Layer-2 Forwarder
トラフィックドリブンの動作
Core LSR
packet
Edge LSR
packet
packet
Default VC
Label Switched VC
Edge LSR
packet
packet
Layer-3 Forwarder
Layer-2 Forwarder
トラフィックドリブンの動作
このパケットがラベル付けされる
べきパケットストリームの場合
Core LSR
LDP
Edge LSR
LDP
Edge LSR
このパケットストリーム用にLSPを設定
Default VC
Label Switched VC
Layer-3 Forwarder
Layer-2 Forwarder
トラフィックドリブンの動作
Core LSR
Edge LSR
packet
packet
Edge LSR
packet
packet
一定時間パケットが流れないと
LSPは解放される
Default VC
Label Switched VC
Layer-3 Forwarder
Layer-2 Forwarder
トラフィックドリブンの特徴
• 利点
– パケットストリーム(ラベル)単位でのQoS制御
• 排他的帯域制御
• RSVPとの親和性
• 欠点
– 必要とされるラベル数が多い
• 存在するフローの数に依存
– LSPの生成遅延
– Layer3転送によるパケット転送の存在
トポロジードリブン
• あらかじめ、経路表のエントリ全てに対して
ラベルを割り当てる
• 必要ラベル数は経路表のエントリ数に依
存
トポロジードリブンの動作
Establish LSP for 10.1/16
LDP
Core LSR
LDP
Edge A
10.1/16: CoreLSR
10.2/16:CoreLSR
………………...
Default VC
Label Switched VC
Edge B
10.1/16: Edge B
10.2/16: Edge B
10.3/16: Edge A
10.4/16: Edge A
………………...
10.3/16: CoreLSR
10.4/16:CoreLSR
………………...
Layer-3 Forwarder
Layer-2 Forwarder
トポロジードリブンの動作
Establish LSP for 10.3/16
LDP
Core LSR
LDP
Edge A
10.1/16: CoreLSR
10.2/16:CoreLSR
………………...
Default VC
Label Switched VC
Edge B
10.1/16: Edge B
10.2/16: Edge B
10.3/16: Edge A
10.4/16: Edge A
………………...
10.3/16: CoreLSR
10.4/16:CoreLSR
………………...
Layer-3 Forwarder
Layer-2 Forwarder
トポロジードリブンの動作
Establish LSP for 10.2/16
and LSP for 10.4/16 LDP
Core LSR
LDP
Edge A
10.1/16: CoreLSR
10.2/16:CoreLSR
………………...
Default VC
Label Switched VC
Edge B
10.1/16: Edge B
10.2/16: Edge B
10.3/16: Edge A
10.4/16: Edge A
………………...
10.3/16: CoreLSR
10.4/16:CoreLSR
………………...
Layer-3 Forwarder
Layer-2 Forwarder
トポロジードリブンの動作
Core LSR
Edge A
10.1/16: CoreLSR
10.2/16:CoreLSR
………………...
Default VC
Label Switched VC
Edge B
10.1/16: Edge B
10.2/16: Edge B
10.3/16: Edge A
10.4/16: Edge A
………………...
10.3/16: CoreLSR
10.4/16:CoreLSR
………………...
Layer-3 Forwarder
Layer-2 Forwarder
トポロジードリブンの特徴
• 利点
– 必要ラベル数がトラフィックドリブンよりも少ない
– LSPの生成遅延がない
– 全てのパケットをLayer2転送できる
• 欠点
– 細かいフローの単位でQoS制御ができない
• 排他的帯域制御やRSVPなどに利用できない
– 必要ラベル数は経路数に依存し増加
現状の問題点
• ラベルの冗長性
– 同一Edge LSRペアに複数のLSP
• 利用可能ラベル数の制限
– 実装形態がATM-LSRの場合
• ラベルとしてvci/vpi
• ATM NICのリアセンブルバッファの量に依存
現状のラベル割り当て
Edge AがNetwork A当ての
LSPを設定
Network A
Edge B
Network B
Core
Edge A
現状のラベル割り当て
Edge AがNetwork B当ての
LSPを設定
Network A
Edge B
Network B
Core
Edge A
現状のラベル割り当て
•Layer2転送できるのは、Edge-Edge間だけ
•同一Edge-Edge間で複数のLSP
Network A
Edge B
Network B
Core
Edge A
問題に対する解決案
• 冗長なラベルの最適化
– 各Edge LSR - Edge LSRの組に対し、ひとつラ
ベルを割り当てる方式
• (EdgeLSR – EdgeLSR) のパケットフローへ集約
– ラベル数は(EdgeLSR数 * (EdgeLSR数 – 1))
Flow Aggregate
Edge
Edge
Core
Edge
Edge
Core
Edge
Edge
各Edge LSRから他のEdgeへ1つのラベルを割り当て
LSR網全体の総ラベル数は常に
EdgeLSR数*(EdgeLSR数-1)
Flow Aggregate
Edge
Edge
Core
Edge
Edge
Core
Edge
Edge
各Edge LSRから他のEdgeへ1つのラベルを割り当て
LSR網全体の総ラベル数は常に
EdgeLSR数*(EdgeLSR数-1)
実現するために必要な機能
• このフローアグリーゲーションを実現する
ための機能
– 経路ごとにどのEdge LSRを通るかを検出する
機能
• OSPF/ISISなどのLink State型Routing Protocol
– 他のEdge LSRを検知する機能
– それぞれのEdge LSRに対する経路をLDPモ
ジュールに対して通知する機能
OSPFを用いたフローアグリゲーション
• 本研究ではOSPFを利用
– OSPF内のトポロジ情報を用い以下の機能を
実現
• SPF木を構成する際に、経路がどのEdge
LSRを通るかを検出する機能
OSPF SPF Tree
A
Network A
C
B
B
A
D
E
G
C
E
F
G
F
Network A
Network B
D
Network B
OSPF SPF Tree in LSR Network
A
Network A
C
B
B
A
D
E
G
C
E
F
G
F
Network A
Network B
D
Network B
Flow Aggregate using LSDB
Network A
C
B
A
D
E
G
Network B
F
Edge LSR A
1. Map Edge E a label
2. Map G same label
3. Map F same label
4. Map Network B same label
Flow Aggregate using LSDB
Network A
それぞれのEdgeLSRは自分以外
のEdgeLSRへラベルを割り当てる
C
B
A
D
E
G
Network B
F
常に全体の総ラベル数は
(Edge LSR数-1) * Edge LSR数
OSPF Flow Aggregateの実装
• 他のEdge LSRを検出する機能
– OSPFルータIDを静的に設定
• 他にOpaque LSAの利用やLDPの拡張
• LDPモジュールに対する通知
– 経路とEdgeLSRの対応を通知
– UNIXドメインソケットを利用
• 東芝のCSR(Cell Switch Router)上
• Gated-3.5.9を利用
実装モデル
gated
OSPF
モジュール
経路情報
Edgeと対応した
経路情報
LDPモジュール
ラベルとパケットストリームの
対応情報
Kernel
98秋WIDE合宿での実験
• OSPFフローアグリゲーションの評価実験
– CSRを利用
– 130台のホストの接続するネットワーク上で4日
間の実験
– OSPFフローアグリゲーション機能をON/OFF
の時の利用ラベル数の比較
実験トポロジー
ATM
100BaseTX
Core CSR
Edge 1
Edge 5
external
ASX200WG
Edge 2
Edge 3
Edge 4
実験内容
• 以下の設定で利用されたラベル数を取得
– 方式1
• トラフィックドリブン
• Telnet,http,ssh,nntpのパケットに対して、始点、終点
ホストペアに対するLSPを動的に設定する
– 方式2
• トポロジドリブン
• 本研究で実装したフローアグリゲートされたLSPを
あらかじめ設定する
実験結果
方式1のラベル数の推移
方式2のラベル数の推移
実験の評価
• 方式2ではエッジCSRが5台あるために、常
にラベル数は20に最適化
• 最大で56%のラベルを削減
結論
• OSPFフローアグリゲーション
– 最大56%のラベルを削減した
– 最適なラベルの利用を実現
– 常にラベル数を以下にできる
• (EdgeLSR数 * (EdgeLSR数 –1))
– 大規模なネットワークでも利用可能
• 瞬間のフロー数や経路エントリ数などに依存せず
にEdgeLSR数に依存
今後の課題
• Opaque LSAによるEdge LSRの検知
– rfc2370
• 様々な規模のネットワークで評価実験