MPLS JAPAN 2008

MPLS/PWE QoSとATM QoS

Tetsuya Innami
SoftBank Mobile Corp.
<tinnami@bb.softbank.co.jp>

October 29th, 2008
© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

ATMをMPLS Pseudowireで!?
 Motivation。私の場合。
 いま使ってるATM S/WはそろそろEoLなりそう。ATM自体はまだまだ消えそうもない・・・。むしろ増えてる?!
 普通に考えたら新規のATM S/W買って、入れ替えたり増設すればいいんだけど。。。
• ATM S/Wをこの先いつまで使うかと聞かれると、つらい。
• ATM専用機器だとなかなかお金出してもらえない・・・。高いし・・・。

 そもそも回線の容量が足りてない?
• ってことは、ATM S/Wの台数も増やしてかなきゃいけない?!
• Fibre・回線もATM用に取ってこなくちゃいけない?!

 Routerでなんとかやってみる？！
 RouterにATMカードをいれてPWE。
• ATMカード以外、Routerは別用途にも使える。

 インフラの回線まで含めて集約することで、スケールメリットがでてくれば、コストも安くなるはず。

しかしQoSでで大きな落しかしきな落とし穴とし穴がありました・・・ありました・・・。
・・・。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

まずは、
まずは、基本的なことの基本的なことの復習なことの復習。
復習。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

ところでATMのQoSってどんなだったっけ？！ってどんなだったっけ？！
 ATMでは、いろいろなアプリケーション・ペイロードの性質(帯域・バースト性・遅延・etc)に合わせた、サービス品質を提供するメカニズムが用意されています。
代表的な代表的なATM QoS Class

CBR (Constant Bit Rate)

VBR (Variable Bit Rate)UBR (Unspecified Bit Rate)

固定ビットレート

連続的な一定セル・ペイロードの転送に向いています。送信者が要求する帯域・遅延の等の品質が、ATM網によって保証される最も優先度の高いQoS Classです。

可変ビットレート

セル・ペイロードが変動するような転送に向いています。ATM網が保障するセル・レートとバース
ト幅の最大値を指定できます。さらに音声データの様に遅延に弱いアプリケーション用のrt-VBR、それ以外アプリケーションに使われるnrt-VBRに分類されます。

未指定ビットレート

ベストエフォート型の転送に向いています。帯域は保障されませんが、利用可能な空き帯域が割り当てられます。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

MPLSにおけるQoS
 ATMと異なり、MPLSの転送メカニズム自体にはQoSを担保する仕組みがありません。
 IP転送と同様に、Label Header内のExperimental Use FieldをコードポイントとしたDiffServ ModelのQoSを使うことが一般的です(E-LSP: EXP-Inferred-PSC
LSP)。
 異なるQoS Classのペイロードを、Class毎に確立したLSPに割り当てる方式も存在します(L-LSP: Label-Only-Inferred-PSC LSP)。
E-LSP Model
E-LSP Model

Label
Label(20)(20)

Exp
Exp SS TTLTTL(3)(3) (1)(1) (8)(8)

Labelを用いてLabelを用いてLSPを決定
LSPを決定EXPを用いてEXPを用いてPSCを決定
PSCを決定EF

BE

ひとつのLSPで、Expで識別される異なるクラスのペイロードが転送される。

L-LSP Model
L-LSP Model

Label
Label(20)
(20)

AF

EF

Exp
Exp SS TTL
TTL
(3)
(1)
(8)
(3) (1) (8)AF
BELabelを用いてLSP
Labelを用いてLSPとPSCを決定とPSCを決定

異なるクラスのペイロードは、異なるLSPで転送される。
© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

ちょっとややこしいこと。
ちょっとややこしいこと。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

私がPseudowireにのせたいATM Traffic Pseudowire
 VPで数千～数万本。
 各VPには十数本のVCが含まれる。
 わりと頻繁にVPC単位の新設・繋ぎ換えの作業が発生します。
 運用的な理由により、Pseudowireの数は極力抑えなければならない。

 QoS Class 1つのVPに含まれるいくつかのVCには、異なるQoS Classのものが含まれてます。
 一部帯域を保証する必要があるようなClassがあります。

 MPLS PSN
 ATM PW以外にも多くのTrafficが流れてます。
 もちろんいろいろなQoS Classが混ざってます。って言うか、ルーターでやるってことは普通の優って言うか、ルーターでやるってことは普通の優先制御でなんとかするってことってだよね？！
先制御でなんとかするってことってだよね？！
がっつり、帯域確保なんて無理っぽいんだけど…
がっつり、帯域確保なんて無理っぽいんだけど…
© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

帯域確保が帯域確保が必要な必要なQoS Classの実現

Ingress Interface

MarkingMarking
Classification
Classification

Classification
Policing
Policing&?

AF

AFx1

AFx2

Code Point (Exp等)を参照しQoSClassを決定します。

Profile内のRateであるかを比較します。上限帯域が設定されている場合は、過剰なTrafficを破棄することもあります。

Queuing & Scheduling
Queuing & Scheduling
Queue
AFx1
PLP: Lowfor
Low PLP

PLP: High

Profile内のTrafficは、破棄優先度”低”、Profile外であれば破棄優先度”高”をCodeします。

AFx2

QueueforHigh PLP

Markされた情報に従い、破棄優先度毎のQueueを選択し、Queueに応じたScheduleに基づき出力を行います。
PLP: Packet Loss Priority

ATMのCLPは消えてるかもATMのCLPは消えてるかもなので、Oversubscribeしてなので、Oversubscribeしてるときとか気をつけよう。
るときとか気をつけよう。
© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

この動作をこの動作をHop毎に繰りHop毎に繰り返します。
返します。

Egress Interface

 特定のClassに属するTrafficの一部の帯域を保証するためには、input rateに応じたMarkingを行いqueuing/schedulingに反映させることで実現します。

Code Pointの問題
 E-LSP Modelで使えるCode Point(Exp)は3bitsだけ。
 23=8通りしかありません。
 各Classで破棄優先度を区別する必要があると4 Classしか使用できない・・・。例えば、Class Of Service

Network Control
Expedited Forwarding
Assured Forwarding
Best Effort

Packet Loss PriorityExpLow

7High6Low

5High4Low

3High2Low

1High0

実際は他のTrafficも含めてもう少し細かい分け方
実際は他のTrafficも含めてもう少し細かい分け方をしたくなるので、少し節約しないとExpだけでのをしたくなるので、少し節約しないとExpだけでのCodingでは足らなくなってしまいます。。。
Codingでは足らなくなってしまいます。。。
© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

実際の実際のインプリ方針
インプリ方針。
方針。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

ATM Traffic Encapsulation Modes
 RFC4717
 “One-to-One” Mode•

1つのコネクション(VCC or VPC)を1つのPWに “N-to-One” Mode

VCI=1
VCI=2
VCI=3

Attachment
Circuit

Provider Edge

N本(N≧1)のコネクション(VCC or VPC)を1つのPWに

Provider Edge

•

VCI=1
VCI=2
VCI=3

Pseudowire“One-to-One” Modeの例: 3つのVCCをそれぞれ1つづつ、計3本のPWにEncapする。

Attachment
CircuitPseudowire“N-to-One” Modeの例: 3つのVCCをひとつのPWにEncapする。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

Modeの選択
 どの方法を選ぶかを決めるとき、気をつけること。今回は、
1. VC単位で異なるQoS Classが存在してます。
2. VP単位で頻繁にProvisioningが発生する。
3. Pseudowireの数は極力少ない方がいい。

 1.の要件を満たすために、 Attachment Circuit毎に、VCIを参照して適当なExp値をMarkingする。

 2.と3.を満たすために、
 Attachment CircuitのVPI毎に1つのPWを設定する。
Encapsulation
Encapsulation
は、”N-to-One”
は、”N-to-One”
Modeで、VPC
Modeで、VPCPseudowireにすPseudowireにすることにしましることにしました！
た！

こまった・・・
こまった
こまった・・・・・・
こまった・・・
ところが・・・
ところが・・・
ところが・・・・・・、
ところが・・・、・・・、、使おうと思ってたRouterは、み使おうと思ってたRouterは、みんな”N-to-One”
んな”N-to-One”Modeのとき
Modeのとき
N=1しかサポートしていなかっN=1しかサポートしていなかった・・・。
た・・・。というか、”One-to-One”というか、”One-to-One”Mode
Modeも完全にサポートされていないも完全にサポートされていない
ので、事実上N=1の”N-toので、事実上N=1の”N-toOne”
One”Modeしか選択肢がなかModeしか選択肢がなかった。。。
った。。。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

妥協案・・・
妥協案・・・
 妥協案その１

 妥協案その２

 “N-to-One (N=1)” ModeのEncapsulation、PWはVCCにする。
 Exp Markingはちゃんとできるけど、PWの数がVPCのときの十数倍になる。

 “N-to-One (N=1)” ModeのEncapsulation、PWはVPCにする。
 PWの数は増えないけど、VCI毎のMarkingが出来ない。

Attachment
CircuitEF
VCI=1

PW:2

VPI=100/VCI=2

AF

PW:3

VPI=100/VCI=3BE

VCI=2
VCI=3

Pseudowire

妥協案1: PWの本数が非常に多くなり、VP単位のOperationが煩雑になる。

Attachment
CircuitPW

VPI=100/VCI=1

VPI=100

VCI=3

PW:1

A/C:
VPI=100

VCI=2

Provider Edge

VCI=1

A/C:
VPI=100• 運用の人に嫌われそう。
• Provisioningも大変・・・。

Provider Edge

• 一番優先度の高いClassのMarkingをすべてのVCに行うことになるので、帯域の無駄使い・・・。全体のTrafficに余裕があるうちはいいけど。。。

VCI=1

EF

VCI=2

EF

VCI=3

EF

Pseudowire

妥協案2: QoS PolicyがVPC単位でしか設定できないので、VPCに含まれるVCはすべて同じPHBが適用される。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

どうしてこんなことに・・・
どうしてこんなことに・・・。
・・・。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

今時の今時のRouterのしくみ
 IngressのModuleで、
 Egress Module/Interface/Labelの決定 Classification, Policing
 Marking Encapsulation
 Switch Fabricへの転送という、一連の流れをやってしまいます。
 再帰的にLookupしてClassification/Makingを行ったり、転送先のLookupとClassificationを完全に別々に行うのは不得意・・・。
 EgressのModuleでは、Ingressで決定されたRuleに従った転送を実施するだけ？！

VP
VPConnectionのConnectionのPseudowireでもPseudowireでもVCI
VCILookupしてLookupしてclassificationできな
classificationできな
いかなぁ・・・。、
いかなぁ・・・。、

EgressEgressModuleでModuleでPseudowireのペイロー
Pseudowireのペイロー
ドの奥の方(VCI)まで覗ドの奥の方(VCI)まで覗き込んで、Exp値をき込んで、Exp値をRewriteしてくれるとか、Rewriteしてくれるとか、しちゃったりして・・・。
しちゃったりして・・・。

なんとかならないかなぁ・・・
なんとかならないかなぁ・・・
なんとかならないかなぁ・・・・・・。
なんとかならないかなぁ・・・。
・・・。。
© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

例えばこんなRouter

Buffer書
書き込み

Buffer
MemoryHeader作成
作成
Buffer読
読み込み

Buffer
MemoryIngress Moduleで行われる
Lookup/Classificationは基本的にL3(v4/v6)またはLabel参照で解決されます。従って、PW等の様に特定のMediaに依存したものは予め作成しておいた
Label TableにEntryがないとたいしたことが出来ないかも・・・。

Egress Moduleでは、IngressのMediaに依存した処理は基本的にできないらしい・・・© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

PHY参照Key抽出抽出参照

Queue Control+
Scheduling

Forwarding Lookup

Fabric Interface ASIC

Forwarding Lookup+
Classification/Policing
Switch FabricEgress Module

Fabric Interface ASIC

Ingress Module

Queue Control+
SchedulingPHY よくありそうなRouterの転送ロジック

そもそもATM QoSって IPやMPLSのTrafficは、ばらばらと(Connectionlessで)流れてくるので、それぞれのDatagramにCode Pontを持っています。
 各Hopはそれら一つ一つのCode Pointを参照して振る舞いを決めます。

 ATMは、VPやVCなどの予め設定されたConnection単位にQoS的な振る舞いが予め決められています。
 Connectionの識別ができれば、QoS的な振る舞いを決定できる。

本当は、L-LSPModelの方がATM
Pseudowireには適応しやすいかも・・・。

でも、Classification/Markingの問題はL-LSPでも解決できない・・・。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

それでもやめるわけにはいかない・・・
それでもやめるわけにはいかない・・・。
・・・。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

当面の当面の妥協案と妥協案と目指す
目指す最終ゴール
最終ゴール
 まずは、
 “妥協案2”で行きます。 “N-to-One (N=1)” ModeのEncapsulation、PWはVPCではります。
 当面はキャパシティー的に余裕があるので、PWのTrafficは最優先として扱います。

 そのうち、Attachment
Circuit

VCI=2

EF

VCI=2

VCI=3

EF

VCI=3

Attachment
CircuitPseudowire

当初は、VPCのN-to-One N=1 Modeではじめます。
VPIを元にMarkingを行うので、すべてのVCは同じ優先度で転送されます。

VPI=100

VCI=1

PW

EF

Provider Edge

VCI=1

A/C:
VPI=100

VPI=100

VCI=3

PW

VCI=2

A/C:
VPI=100

VCI=1

Provider Edge

 Ingress PEでclassificationするときにVCIまでlookupしてもらえるようになる日がいつかやってくることを期待します。
 この細工は、他の解決法と比較してもまだ実現される見込みが高いような気がしてます。
 最初に“妥協案2”で始めておけば、移行も楽なはず。

VCI=1

EF

VCI=2

AF

VCI=3

BE

Pseudowire

やがて、ModeはそのままにVPI/VCIまで参照してMarkingが出来るようになる日を信じて待ちます。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.

まとめ MPLS Pseudowireを使ってもATM S/Wの機能を手に入れられるわけではありません。
 今あるATM網を完全にのせかえようとすると、やがて無理なことを見付けてしまうかも・・・。
 QoSだけでも、こんだけネタがありました。

 むしろ、MPLSやPseudowireを前提としたATMの構成に近づけていく方が自然かもしれない。
 ATMのQoSに固執しなくていい部分(UBRとか?!)だけのせてみるとか。

 まだATMを使っている・使い続けている人は多いけど、Routerにしたって、昔ほどATM関連製品を開発しているわけじゃないみたいです。
 QoS以外にも、Convergence, OAM, Redundancyなどたくさん難問がありますよ・・・。

© 2008 SOFTBANK MOBILE Corp.
All rights reserved.