ポリシーコントローラを使用したアプリケーションとMPLS網の連携技術について

ネットワンシステムズ株式会社
川端 真
m-kawabata@netone.co.jp

自己紹介

ネットワンシステムズ入社5年目
主にキャリア向けエッジルーターを担当
ルーターへの興味が薄れ始め、2005年辺りから上位レイヤ周りの製品へ触手を伸ばし始める
32歳、子供2人、鬼嫁1人
小遣い１００００円/月
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

2

NGNって。。。

巷にNGNという言葉が登場して随分久しいですが。。。

正直良く解らない人って多くないですか？

・・・・・

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

3

そこで！！

初心に帰って考えてみました！

20代前半の人はコレ知らな
これ“デロリアン”っていんじゃ無いでしょうか？
いいます

未来予測してみましょう？
IP Network

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

4

やっぱりアプリケーションと連動して情報伝送の品質を担保してくれるネットワークって要りますよね？

安心してネットワーク上じゃないと。。。のアプリを使えません
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

5つまり要求に応じてQoSをネットワーク側で担保することは必要だと思います
特に必要なのは帯域の保障
確実に保障するにはDiff-servでは不十分
やっぱりMPLS-TEですよね？

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

6でもMPLS-TEは明示的にパスを張らなきゃいけません
パスを張るのはルーターです
ダイナミックにやるためにはアプリケーションとルーターが連携しなければいけません

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

7

更にMPLS-TEのパスを張るだけでは駄目です
特定のトラフィックだけをそのパスに突っ込まないといけません

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

8

実際のところアプリケーションを作るのは当然アプリ屋さんです
ネットワーク屋さんではありません
やっぱりアプリケーションを作る人の立場を考えなければいけません。

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

9

アプリ屋さんって楽して面白い（便利な）もの作りたいですよね？
楽していじれるインターフェースの代表格
SOAP
REST

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

10

SOAPを試すだけなら普段コードを書かない私でも出来ました
ネットで検索してSOAP UIというツールを発見

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

11

SOAP UIWSDLファイルを読み込んでメソッドを自動的に生成

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

12SOAP UISOAP request messageも自動的に生成（タグの中身を入れるだけ）

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

13

SOAP UIURIも自動生成

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

14

SOAP UI

あとはボタンを押すだけ

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

15

SOAP UI

Responseも表示されます

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

16

ということでSOAPってとっても楽そうです
SOAでもSOAP使ってますし、SOAPで良いですよね？
ネットワークの制御にもSOAPをつかってみましょう！

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

17

でもネットワークでやりたい事全てに関してSOAPのインターフェースを作るのはサービスを提供する側も使う側もちょっと大変。。。
帯域を広げるメソッド

最優先転送するメソッド

帯域を狭めるメソッド

高優先転送するメソッド

TOSを変えるメソッド

Etc…

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

18

そこでサービスという言葉で抽象化しちゃいましょう
すると。。。
サービスを → 起動するサービスを → 停止する
サービスを → 変更する
このようにシンプルな形になります
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

19つまりアプリケーション屋さんはサービス名とその付属パラメータを付けて、SOAP経由でサービスを起動、停止、変更するだけで良く、サービス毎にメソッドを変更する必要が無くなります。

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

20

またサービスを提供する側も、サービスの追加、削除、変更によるメソッドの追加が必要ないため、サービスの生成やメンテナンスが容易になります。

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

21

そこで！ポリシーコントローラ

ネットワーク側の振る舞いをサービスという形で抽象化するポリシーコント
ローラと呼ばれる分野の製品があります。
Application

PolicyController

サービス起動Network

ポリシー割り当て

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

22

何が出来る？

ルーターのIP interfaceのポリシーをダイナミックに操作できます
Activate Service “xxxxx”

こういうところのポリシーを操作できる

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

23

ポリシーとは？

色々な定義があると思いますがここでは以下のように定義します

ポリシー＝パケット識別＋

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

アクション

24

ポリシーとは？

ベンダー毎に多少の差は有ると思いますが、大体似たようなことは出来るはずです
パケット識別アクション

・宛先、送信元IPアドレス

・フィルター

・宛先、送信元ポート番号

・TOSビット変更

・TOSビット・CAR、Rate Limit・プロトコル番号

・Next-hop指定

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

25

ちょっとやってみました

ポリシーのダイナミックな変更
SOAP

Policy Controller

Activate Service“Premium”

COPS

Premium
Default
PolicyPolicyPC

Router

192.168.1.1
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

26

ちょっとやってみました

デフォルトポリシーの確認
hogehoge#show ip interface ip192.168.1.1
ip192.168.1.1 line protocol Ethernet is up, ip is up＊＊＊一部省略＊＊＊
IP policy input 10005-ssc-0
classifier-group SSC30001AAAAAAAx entry 1200 packets, 118800 bytes
forwardclassifier-group SSC30001AAAAAAAv entry 1
0 packets, 0 bytes
forward
IP policy output 10005-ssc-1
classifier-group SSC30001AAAAAAAz entry 1
56 packets, 33264 bytes
forward

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

ポリシー

27

ちょっとやってみました

SOAPメッセージ送信<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:DynamicServiceActivation"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><soapenv:Body><ns1:Subscriber_activateService
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://10.40.13.6:8080/dsa/services/DynamicServiceActivation"><subscriberId xsi:type="xsd:string">ip:ipAddress=192.168.1.1</subscriberId><serviceId xsi:type="xsd:string">Premium</serviceId><sessionName xsi:type="xsd:string"></sessionName><activationAttributes xsi:type="soapenc:Array" soapenc:arrayType="ns1:Attr[1]"xmlns:ns1="DynamicServiceActivation"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"></activationAttributes></ns1:Subscriber_activateService></soapenv:Body></soapenv:Envelope>

メソッド名

サービス名Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

28

ちょっとやってみました

変更後ポリシーの確認
hogehoge#show ip interface ip192.168.1.1
ip192.168.1.1 line protocol Ethernet is up, ip is up＊＊＊一部省略＊＊＊

markアクションのポリシーが追加

IP policy input 10005-ssc-0
classifier-group SSC30001AAAAAAAx entry 1
324 packets, 192456 bytes
forwardclassifier-group SSC30001AAAAAAAv entry 1
0 packets, 0 bytes
forwardclassifier-group SSC30001AAAAAABi entry 1
0 packets, 0 bytes
mark 255 mask 255
IP policy output 10005-ssc-1
classifier-group SSC30001AAAAAAAz entry 1
92 packets, 54648 bytes
forward
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

29

何が出来る？

更にMPLSならLSPをダイナミックに張ったり、消したり、変更したりすることが出来ます

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

30

例えば“Dynamic_LSP”というサービスを用意します
これをActivateするとTE-LSP生成
Modifyすると帯域変更
DeactivateするとTE-LSP削除

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

31

ちょっとやってみました

LSP生成Activate Service “Dynamic_LSP”
LSP egress = xxxxx
LSP bandwidth = xxxxx
LSP name =xxxxx

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

32

ちょっとやってみました

SOAPメッセージ送信 メソッド名<soapenv:Body><urn:Subscriber_activateService
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><in0 xsi:type="soapenc:string">ip:ipAddress=1.1.1.1</in0><in1 xsi:type="soapenc:string">Dynamic_LSP</in1><in2 xsi:type="soapenc:string"></in2><in3 xsi:type="urn:ArrayOfAttr" soapenc:arrayType="urn:Attr[2]"><item><name xsi:type="xsd:string">downStreamBandwidth</name><values xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[1]"><item>10000000</item></values></item><item><name xsi:type="xsd:string">substitutions</name><values xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[2]"><item>CP_LSP_Egress_IP=2.2.2.2</item><item>CP_LSP_Name=LSP1</item></values></item></in3></urn:Subscriber_activateService>
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.
33</soapenv:Body>

サービス名帯域

LSP終端点LSP名ちょっとやってみました

LSP確認
Hogehoge> show mpls lsp extensive
Ingress LSP: 1 sessions

LSP終端点2.2.2.2
From: 1.1.1.1, State: Up, ActiveRoute: 0, LSPname: LSP1
ActivePath: (primary)
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
*Primary
State: Up
Bandwidth: 10Mbps
SmartOptimizeTimer: 180
Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W
8=Node 10=SoftPreempt):192.168.1.2
4 Sep 28 16:55:06.052 Selected as active path
3 Sep 28 16:55:06.051 Record Route: 192.168.1.2
2 Sep 28 16:55:06.050 Up
1 Sep 28 16:55:06.018 Originate Call
Created: Fri Sep 28 16:55:05 2007
Total 1 displayed, Up 1, Down 0LSP名

帯域

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

34

ちょっとやってみました

帯域変更
Modify Service “Dynamic_LSP”
LSP bandwidth = xxxxx

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

35

ちょっとやってみました

SOAPメッセージ送信 メソッド名<soapenv:Body><urn:Subscriber_modifyService
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><in0 xsi:type="soapenc:string">ip:ipAddress=1.1.1.1</in0><in1 xsi:type="soapenc:string">Dynamic_LSP</in1><in2 xsi:type="soapenc:string"></in2><in3 xsi:type="urn:ArrayOfAttr" soapenc:arrayType="urn:Attr[1]"><item><name xsi:type="xsd:string">downStreamBandwidth</name><values xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[1]"><item>20000000</item></values></item></in3></urn:Subscriber_modifyService></soapenv:Body>

サービス名帯域

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

36

ちょっとやってみましたLSP確認Hogehoge> run show mpls lsp extensive
Ingress LSP: 1 sessions

LSP終端点2.2.2.2
From: 1.1.1.1, State: Up, ActiveRoute: 0, LSPname: LSP1
ActivePath: (primary)
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
*Primary
State: Up
Bandwidth: 20Mbps
SmartOptimizeTimer: 180
Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W
8=Node 10=SoftPreempt):192.168.1.2
8 Sep 28 17:10:51.066 Record Route: 192.168.1.2
7 Sep 28 17:10:51.064 Up
6 Sep 28 17:10:51.029 Originate Call
5 Sep 28 17:10:51.028 Clear Call
4 Sep 28 16:55:06.052 Selected as active path
3 Sep 28 16:55:06.051 Record Route: 192.168.1.2
Created: Fri Sep 28 16:55:06 2007
Total 1 displayed,
Up 1,©Down
0 One Systems Co., Ltd. All rights reserved.
Copyright
2007 Net

LSP名

帯域

37

ちょっとやってみました

LSP削除
Deactivate Service “Dynamic_LSP”

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

38

ちょっとやってみました

SOAPメッセージ送信 メソッド名<soapenv:Body><ns1:Subscriber_deactivateService
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://10.40.13.6:8080/dsa/services/DynamicServiceActivation"><subscriberId xsi:type="xsd:string">ip:ipAddress=1.1.1.1</subscriberId><serviceId xsi:type="xsd:string">Dynamic_LSP</serviceId><sessionName xsi:type="xsd:string"></sessionName></ns1:Subscriber_deactivateService></soapenv:Body>

サービス名

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

39

ちょっとやってみました

LSP確認
Hogehoge> run show mpls lsp extensive
Ingress LSP: 0 sessions
Total 0 displayed, Up 0, Down 0

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

40

更にポリシー操作とLSP操作を1つのサービスとしてまとめて、同時に行うこともできます

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

41

例えば
Activate Service “Assure_Transport”

Activate Service “Premium”
Next-hop action

Activate Service “Dynamic_LSP”
LSP egress = xxxxx
LSP bandwidth = xxxxx
LSP name =xxxxx

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

42

これを応用すれば特定トラフィックをダイナミックに生成したLSPに突っ込むことができます
PC AからPC Bまで10Mbpsの帯域を確保

Policy Controller

PC B

PC A
AからBへのトラフィックをLSPに流すポリシーを割り当て

LSPを生成AからBへのトラフィックを優先制御するQoSを割り当て

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

43

しかし実際に運用を考えれば、適切にAdmission controlをする必要があります

新規要求
物理帯域使用中Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

44でもポリシーコントローラでAdmissioncontrolもできます
Activate ServiceOK

Policy Controller

NG

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

45

Admission Control

LSPの生成に失敗した場合に、サービスの起動に失敗したとみなすことで実現可能
１０G
１G
１G

１G

１０G

CSPF １０G
１０G

１G

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

46

何か応用できそう？

こんな技術はどうですか？
MPLSプロフェッショナルの意見を聞かせて下さい

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

47

まとめ

ポリシーコントローラを使えば、アプリケーションとMPLS網との連携が、比較的簡単に行えます
アプリケーションはSOAPというシンプルなインターフェースでネットワークを操作できます
このような仕組みの導入により、MPLS-TEが本格的に使えそうです
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

48

現状の問題点

マルチベンダー連携が難しい
アプリケーションとポリシーコントロー
ラの間のインターフェース仕様がベンダー間で統一されておらず、使いづらい
ポリシーのダイナミックな変更についてこれるルーターが限られている
Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

49

御静聴有難う御座いました

Copyright © 2007 Net One Systems Co., Ltd. All rights reserved.

50