Extended RSVP-TE for Multicast
LSP Tunnels

2002.11.8
NTTネットワークサービスシステム研究所
安川 正祥
Network Service Systems Laboratories

1次世代ブロードバンドサービスの開発ターゲット■ コンテンツ配信サービス
・ライブ/放送配信・VoD（Video on demand）
・TV会議■ 私設閉域網サービス
・IP VPN (Virtual Private Network)
・VPLS (Virtual Private LAN Service)

Network Service Systems Laboratories

2コンテンツ配信サービス* サポートするビデオ配信サービスの種類
オンデマンド型のライブ配信サービス
契約型のVoD/ビデオ画像配信サービス
テレビ会議サービス* ビデオ配信に求められる通信品質とネットワーク機能
デスクトップ品質(1.5 Mbps, WMT etc) からTV画像品質まで (6 Mbps, MPEG2)
ダイナミックなp-to-mp、p-to-pとp-to-mp混在の通信経路設定
Live streamingservers

Contentsservers

Contents Delivery
Network (CDN)

Video

Live streaming services

VoD serverVideo server
Mirror servers

VoD

Video

Video-on-demand services
Peer-to-peer services
Video streaming services
3
Network Service Systems Laboratories

既存のIPマルチキャスト技術は有効か？
• 課題1:QoS保障機能の欠如-マルチキャスト配信経路はできても、QoS配信経路は設定できない• 課題2:スケーラビリティの欠如-代表的なIPマルチキャストプロトコルであるPIM-SMは配信経路設定時に複数の状態を保持するなど複雑な動作メカニズムを持つためスケールしない• 課題3:トラヒックエンジニアリング機能の欠如-IPマルチキャスト配信経路は最短経路配信を基本とするため、任意の配信経路が設定できない-配信経路がダイミックに変動するため安定した配信経路設定ができない• 課題4:信頼性の欠如-バックアップ経路設定、配信経路の2重化機能が存在しない

Network Service Systems Laboratories

4既存のMPLS技術は適用できるのか？
• 既存のMPLS技術はp-to-pのLSPに対して- QoS保障機能- トラヒックエンジニアリング機能を備え、スケーラビリティ、信頼性に優れるが、p-to-mpの転送機能を備えない• 既存のMPLS技術の利点を保持しながらp-to-mpのLSP設定機能を備える「マルチキャストMPLS」技術が必要となる

Network Service Systems Laboratories

5提案するマルチキャストMPLSプロトコルの特徴
特徴1：マルチキャストトラヒックエンジニアリング機能
Tree Explicit Route Object (TERO)を用いてマルチキャスト配信経路のトポロジーを任意に制御
特徴2：ソース/リーフ起動のマルチキャストLSP設定メカニズム- トラヒック送信者に連動したソース起動のマルチキャストLSP設定- トラヒック受信者に連動したリーフ起動のマルチキャストLSP設定
特徴3：部分マルチキャスト修正メカニズム- 部分ツリーLSPのGraft（接木）メカニズム- 部分ツリーLSPのPrune（剪定）メカニズム- リーフLSPのJoin（参加）メカニズム- リーフLSPのLeave（離脱）メカニズム
特徴4：マルチキャスト/ユニキャスト混在のLSP設定メカニズム- CSPFメカニズムを用いたユニキャスト・マルチキャスト混在のLSP設定

Network Service Systems Laboratories

6

CSPFエンジンを用いたマルチキャストLSP設定• マルチキャスト LSPはツリー情報を記述したTEROによって設定• ユニキャストルーティングのTE拡張によりNWのトポロジー情報、リンク属性情報を収集し、CSPFエンジンがQoSを保障する最適ツリーを計算する• 各ノードがCSPFエンジンを搭載し自律分散的にマルチキャストLSPを設定
S1) OSPF-TE correct overall QoS
information.
Gold 150Mbps
Silver 220Mbps
Gold 70Mbps
Silver 50Mbps

S2) CSPF engine calculate optimal
multicast tree that satisfy required
constrain.
Destination group：#A, #B …
Gold 30Mbps
Required QoS: Bandwidth30Mbps, Gold class
N4
N1
N2

CSPF
EngineGold 110Mbps
Silver 350Mbps

Gold 210Mbps
Silver 190Mbps

S3) Create TERO andestablish multicast treeusing Path(TERO)
message.
N6N6Path(TERO)TERO{N1>N2>N3…..}N3

Sender node
OSPF-TEOSPF-TE corrects routing
Information automatically
CSPF: Constrained Shortest Path First
TERO: Tree Explicit Route Object

Network Service Systems Laboratories

7マルチキャストサービス環境に要求されるTE技術• マルチキャストLSP設定時にツリー設定に部分的に失敗した場合、ツリー全体を再設定するのは非効率• Graftメカニズムを用いて既設定部分に修正ツリーを部分追加する• マルチキャスト環境下では部分ツリー制御メカニズムであるGraft/Pruneが有効

Contentservers

Graft (TERO)
Sender nodesuccess

PathErr

failureNetwork Service Systems Laboratories

8マルチキャストLSPトンネル、セッション定義
MULTICAST_LSP_TUNNEL を新しいセッションオブジェクトとして定義し、送信者アドレスとトンネルIDを格納• MULTICAST_LSP_TUNNELセッションオブジェクトとSENDER_TEMPLATE
オブジェクトを用いてユニークにマルチキャストLSPを識別する•

Class = SESSION, C‑Type = MULTICAST̲ LSP̲TUNNEL̲IPv401230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+￨
IPv4 tunnel sender address￨+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+￨MUST be zero￨
Tunnel ID￨+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+

Multicast LSP tunnel A

Multicast LSP tunnel B

Multicast TE tunnel
Multicast LSP tunnel C
Network Service Systems Laboratories

9Tree Explicit Route Object (TERO)•TEROはサブオブジェクトのリストで構成され、設定するマルチキャストツリー
LSPのトポロジー情報を示す。
• サブオブジェクトはdepth-first-orderで配置され、送信者からの到達ホップ数情報を含む
A￨+‑‑‑‑+‑‑‑‑+￨
￨
￨
BIJ
￨
￨
+‑‑‑+‑‑‑+ +‑+‑+￨ ￨ ￨ ￨ ￨C F G K L￨￨+‑+‑+￨￨ ￨￨D EH
T={A(0),B(1),C(2),D(3),E(3),F(2),G(2),H(3),I(1),J(1),K(2),L(2)}Class = TREE̲EXPLICIT̲ROUTE, Type = IPv4̲ADDRESS
01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+￨L￨ Type (1) ￨Length￨T￨ Distance ￨ Sequence￨+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+￨IPv4 address (4 bytes)￨+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+
LThe L bit is an attribute of the subobject. The L bit is set if the route of a path
between the node specified by this subobject and its upstream node is not specified.
Distance
The distance from the sender node to the node specified by the subobject.
TThe T bit (terminating node) is set to 1 to indicate that the node in this hop is adata terminating node and has locally attached clients (receivers of the data).
SequenceThe sequence number associated with this TERO hop.

Network Service Systems Laboratories

10Tree Record Route Object (TRRO)•TRROはサブオブジェクトのリストで構成され、設定されたマルチキャストサブツリーLSPのトポロジー情報を示す。
• サブオブジェクトはdepth-first-orderで配置され、分岐ノードまでの到達ホップ数情報を含む￨+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑￨‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+￨ Multicast￨￨￨ tree TN￨￨￨￨￨+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+￨
￨
￨
￨
￨
￨
￨ +‑‑‑‑‑‑‑‑‑‑‑+ +‑‑‑‑‑‑‑‑‑‑‑+ +‑‑‑‑‑‑‑‑‑‑‑+ ￨￨ ￨ Subtree 1 ￨ ￨ Subtree 2 ￨ ￨ Subtree n ￨ ￨￨ +‑‑‑‑‑‑‑‑‑‑‑+ +‑‑‑‑‑‑‑‑‑‑‑+ +‑‑‑‑‑‑‑‑‑‑‑+ ￨+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+

Type = IPv4̲ADDRESS01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+￨
Type (1) ￨Length￨T￨ Distance ￨Flags￨+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+￨IPv4 address (4 bytes)￨+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+

T = {R(0),T1,T2,...,Tn}
Ti = {TRRO describing subtree i}
Network Service Systems Laboratories

11送信者起動のマルチキャストLSP設定• 送信ノードが設定するマルチキャストLSPのトポロジー情報を示すTEROを含む
Pathメッセージを送出• Pathメッセージを受信した中継ノードは、自身の下流ツリー情報を示すTERO
情報を抽出し、下流ノードに送出• リーフノードがLABEL、TRROオブジェクトを含んだResvメッセージで応答し、下流からパスを確定
分岐ノードでは下流からのResvメッセージをマージしながら上流に向けてパスを確定
Content
servers

Sender node

DnodeA

B
Path(TERO)

Path (TERO)…

C…

•LeafEF

Path (TERO)Path (TERO)

Resv(TRRO)

Path (TERO)
Resv (TRRO)

Resv(TRRO)
Resv(TRRO)
Resv(TRRO)

Network Service Systems Laboratories

12送信者起動のGraftメカニズム• Graftメカニズムにより既設定のマルチキャストLSPに部分ツリーLSPを追加• 送信ノードが新たにGraftingする部分ツリー情報を追加した修正TEROを含む
Pathメッセージを下流に非同期で送出する
TEROにはシーケンス番号が付与され、Graftノードまでの中継ノード、部分ツリー構成
ノード情報には既に設定されているシーケンス番号をインクリメントしたシーケンス番号が付与される
C

B(1,23), C(2,23), D(2,23)
Graft node

Sender nodeA

D

Path(TERO)

B

F

E
Path (TERO)

B(1,24), C(2,23), D(2,23),
E(2,24), F(3, 24), G(3,24)

Leaf

…

Contentservers…

•

E(2,24), F(3, 24),
G(3,24)

Leaf

G
Path (TERO)

F(3, 24)
Path (TERO)

G(3, 24)
Resv (TRRO)
Resv (TRRO)
Resv(TRRO)
Resv(TRRO)

Network Service Systems Laboratories

13送信者起動のPruneメカニズム• Pruneメカニズムにより既設定のマルチキャストLSPから不要となった部分ツリー
LSPを削除• 送信ノードが新たにPruningする部分ツリー情報を削除した修正TEROを含む
Pathメッセージを下流に非同期で送出する
TEROにはシーケンス番号が付与され、Pruneノードまでの中継ノード、部分ツリー構成
ノード情報には既に設定されているシーケンス番号をインクリメントしたシーケンス番号が付与される

D

Prune node

Sender nodeA

C

Path(TERO)

B(1,24), C(2,23), D(2,23)
Resv(TRRO)

B

Leaf

…

Contentservers

B(1,23), C(2,23),
D(2,23), E(2,23),
F(3,23), G(3,23)

…

•F

E
Path Tear

Leaf

G
Path Tear
Path Tear

Network Service Systems Laboratories

14

リーフ起動のJoinメカニズム•••

Joinメカニズムにより既設定のマルチキャストLSPにリーフLSPを追加
リーフノードより送信ノードにJoinメッセージを送出
送信ノードが追加するリーフLSP経路を計算し、リーフLSP経路を追加した
TEROを含むPathメッセージを非同期に送出• TEROにはシーケンス番号が付与され、Graftノードまでの中継ノード、部分ツリー構成
ノード情報には既に設定されているシーケンス番号をインクリメントしたシーケンス番号が付与される
C…

B(1,23), C(2,23), D(2,23)
Graft node

Sender node

A

D

B

…

Contentservers

Leaf

F

E
Join (LEAF_NODE_ID)

Path(TERO)

B(1,24), C(2,23), D(2,23),
E(3,24), F(3,24)

Resv(TRRO)

Path(TERO)

E(3,24), F(3,24)
Resv(TRRO)

Path(TERO)

F(3,24)
Resv(TRRO)

Network Service Systems Laboratories

15

リーフ起動のLeaveメカニズム• Leaveメカニズムにより既設定のマルチキャストLSPからリーフLSPを削除• リーフノードより送信ノードにLeaveメッセージを送出• 送信ノードが追加するリーフLSP経路を計算し、リーフLSP経路を削除したTEROを含む
Pathメッセージを非同期に送出• TEROにはシーケンス番号が付与され、Pruneノードまでの中継ノード、部分ツリー構成
ノード情報には既に設定されているシーケンス番号をインクリメントしたシーケンス番号が付与される
C

A

B

…

D

Prune node

Sender node…

Contentservers

B(1,23), C(2,23), D(2,23),
E(2,23), F(3,23)

Leaf

F

E
Leave (LEAF_NODE_ID)

Path(TERO)

B(1,24), C(2,23), D(2,23)
PathTearResv(TRRO)

PathTear

Network Service Systems Laboratories

16

Graft Error処理• ツリー設定時のエラー通知するためにMulticastErrメッセージを定義• 分岐ノードでメッセージマージ処理後、送信ノードに直接転送される• グラフトノードでエラー検出時も送信ノードに直接転送される
C

Path(TERO)

B

Leaf

…

A

D

Graft node

Sender node…

Contentservers

F

E

Leaf

G

Path (TERO)
Path (TERO)

Leaf

H

Path (TERO)
Path (TERO)
Resv (TRRO)
PathErr
Resv(TRRO)

PathErr

Resv(TRRO)
MulticastErr
MulticastErr

Network Service Systems Laboratories

17

Join Error処理
Join処理の失敗時に送信ノードがらJoin起動リーフノードにエラー通知するためにJoinErrメッセージが使用される

C
D

Graft node

Sender node

A

B

…

Contentservers

…

•E

Leaf

F

Join (LEAF_NODE_ID)
Path(TERO)
PathErr
JoinErr

Network Service Systems Laboratories

18

Leave Error処理
Leave処理の失敗時に送信ノードがらLeave起動リーフノードにエラー通知するためにLeaveErrメッセージが使用される

C
Sender nodeA

D

Graft node

B…

Content
servers

…

•E

Leaf

F

Leave (LEAF_NODE_ID)

LeaveErr

Network Service Systems Laboratories

19

展開シナリオ• 既存ユニキャストMPLS網にマルチキャストMPLSノードを導入することでユニキャスト、マルチキャスト混在のMPLSネットワークを構築可能• ユニキャストネットワークで規定されているTE拡張ルーティングとCSPF計算エンジンを導入することでマルチキャストCSPFルートを自動的に設定可能
VoD
ServerMulticastServerMulticast MPLS
MulticastSender node

OSPF-TEUnicast MPLS
Unicast link
Multicast & UnicastlinkMulticast
Leaf nodeVoD
Mcastclient #1 client #1

Mcastclient #2

Mcast
Mcast
client #3 client #4

Mcast
VoD
Video
Mcast
Mcast
clientService
Systemsclient#3 Laboratories
client #8
client #5 client #2Network#620

将来の拡張プラン• MPLS VPN/VPLS技術への展開- BGP/MPLS VPNのQoSマルチキャスト転送技術- VPLS(L2/MPLS) バックボーン技術• GMPLS技術への展開- 双方向のmp-to-mp LSP技術- 双方向のring LSP技術

Network Service Systems Laboratories

21関連するドラフト• draft-cheng-mpls-rsvp-multicast-er-00.txt• draft-ooms-mpls-multicast-te-01.txt• draft-farinacci-mpls-multicast-03.txt• draft-chung-mpls-rsvp-multicasting-00.txt

Network Service Systems Laboratories

22おわりに• マルチキャストMPLSプロトコルコードを開発中• 次のステップはシステム化！

連絡先
NTTネットワークサービスシステム研究所 安川正祥
TEL：0422-59-4769
E-mail：yasukawa.seisho@lab.ntt.co.jp
http://www.ietf.org/internet-drafts/draft-yasukawa-mpls-rsvp-multicast-01.txt

Network Service Systems Laboratories

23