summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7334.txt
blob: 8a841349e78e0a58366ad640d4c253e914992fd5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
Internet Engineering Task Force (IETF)                           Q. Zhao
Request for Comments: 7334                                      D. Dhody
Category: Experimental                                 Huawei Technology
ISSN: 2070-1721                                                  D. King
                                                      Old Dog Consulting
                                                                  Z. Ali
                                                           Cisco Systems
                                                             R. Casellas
                                                                    CTTC
                                                             August 2014


               PCE-Based Computation Procedure to Compute
      Shortest Constrained Point-to-Multipoint (P2MP) Inter-Domain
                Traffic Engineering Label Switched Paths

Abstract

   The ability to compute paths for constrained point-to-multipoint
   (P2MP) Traffic Engineering Label Switched Paths (TE LSPs) across
   multiple domains has been identified as a key requirement for the
   deployment of P2MP services in MPLS- and GMPLS-controlled networks.
   The Path Computation Element (PCE) has been recognized as an
   appropriate technology for the determination of inter-domain paths of
   P2MP TE LSPs.

   This document describes an experiment to provide procedures and
   extensions to the PCE Communication Protocol (PCEP) for the
   computation of inter-domain paths for P2MP TE LSPs.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This document is a product of the Internet Engineering
   Task Force (IETF).  It represents the consensus of the IETF
   community.  It has received public review and has been approved for
   publication by the Internet Engineering Steering Group (IESG).  Not
   all documents approved by the IESG are a candidate for any level of
   Internet Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7334.




Zhao, et al.                  Experimental                      [Page 1]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





































Zhao, et al.                  Experimental                      [Page 2]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


Table of Contents

   1. Introduction ....................................................4
      1.1. Scope ......................................................4
      1.2. Requirements Language ......................................4
   2. Terminology .....................................................5
   3. Examination of Existing Mechanisms ..............................6
   4. Assumptions .....................................................7
   5. Requirements ....................................................8
   6. Objective Functions and Constraints .............................9
   7. P2MP Path Computation Procedures ...............................10
      7.1. General ...................................................10
      7.2. Core-Trees ................................................10
      7.3. Optimal Core-Tree Computation Procedure ...................13
      7.4. Sub-tree Computation Procedures ...........................15
      7.5. PCEP Protocol Extensions ..................................15
           7.5.1. Extension of RP Object .............................15
           7.5.2. Domain and PCE Sequence ............................16
      7.6. Using H-PCE for Scalability ...............................16
      7.7. Parallelism ...............................................17
   8. Protection .....................................................17
      8.1. End-to-End Protection .....................................17
      8.2. Domain Protection .........................................18
   9. Manageability Considerations ...................................18
      9.1. Control of Function and Policy ............................18
      9.2. Information and Data Models ...............................18
      9.3. Liveness Detection and Monitoring .........................19
      9.4. Verifying Correct Operation ...............................19
      9.5. Requirements on Other Protocols and Functional
           Components ................................................19
      9.6. Impact on Network Operation ...............................19
      9.7. Policy Control ............................................20
   10. Security Considerations .......................................20
   11. IANA Considerations ...........................................21
   12. Acknowledgements ..............................................21
   13. References ....................................................21
      13.1. Normative References .....................................21
      13.2. Informative References ...................................22
   14. Contributors' Addresses .......................................24












Zhao, et al.                  Experimental                      [Page 3]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


1.  Introduction

   Multicast services are increasingly in demand for high-capacity
   applications such as multicast VPNs, IPTV (which may be on-demand or
   streamed), and content-rich media distribution (for example, software
   distribution, financial streaming, or database replication).  The
   ability to compute constrained Traffic Engineering Label Switched
   Paths (TE LSPs) for point-to-multipoint (P2MP) LSPs in MPLS and GMPLS
   networks across multiple domains is therefore required.

   The applicability of the PCE [RFC4655] for the computation of such
   paths is discussed in [RFC5671], and the requirements placed on the
   PCE Communication Protocol (PCEP) for this are given in [RFC5862].

   This document details the requirements for inter-domain P2MP path
   computation and then describes the experimental procedure "core-tree"
   path computation, developed to address the requirements and
   objectives for inter-domain P2MP path computation.

   When results of implementation and deployment are available, this
   document will be updated and refined, and it will then be moved from
   Experimental status to Standards Track.

1.1.  Scope

   The inter-domain P2MP path computation procedures described in this
   document are experimental.  The experiment is intended to enable
   research for the usage of the PCE to support inter-domain P2MP path
   computation.

   This document is not intended to replace the intra-domain P2MP path
   computation approach defined by [RFC6006] and will not impact
   existing PCE procedures and operations.

1.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].












Zhao, et al.                  Experimental                      [Page 4]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


2.  Terminology

   Terminology used in this document is consistent with the related
   MPLS/GMPLS and PCE documents [RFC4461], [RFC4655], [RFC4875],
   [RFC5376], [RFC5440], [RFC5441], [RFC5671], and [RFC5862].

   Additional terms are defined below:

   Core-Tree: a P2MP tree where the root is the ingress Label Switching
   Router (LSR) and the leaf nodes are the entry boundary nodes of the
   leaf domains.

   Entry BN of domain(n): a boundary node (BN) connecting domain(n-1) to
   domain(n) along a determined sequence of domains.

   Exit BN of domain(n): a BN connecting domain(n) to domain(n+1) along
   a determined sequence of domains.

   H-PCE: Hierarchical PCE (as per [RFC6805]).

   Leaf Domain: a domain with one or more leaf nodes.

   Path Tree: a set of LSRs and TE links that comprise the path of a
   P2MP TE LSP from the ingress LSR to all egress LSRs (the leaf nodes).

   Path Domain Sequence: the known sequence of domains for a path
   between the root domain and a leaf domain.

   Path Domain Tree: the tree formed by the domains that the P2MP path
   crosses, where the source (ingress) domain is the root domain.

   PCE(i): a PCE that performs path computations for domain(i).

   Root Domain: the domain that includes the ingress (root) LSR.

   Sub-tree: a P2MP tree where the root is the selected entry BN of the
   leaf domain and the leaf nodes are the destinations (leaves) in that
   domain.  The sub-trees are grafted to the core-tree.

   Transit/Branch Domain: a domain that has an upstream and one or more
   downstream neighbor domains.










Zhao, et al.                  Experimental                      [Page 5]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


3.  Examination of Existing Mechanisms

   The Path Computation Element (PCE) defined in [RFC4655] is an entity
   that is capable of computing a network path or route based on a
   network graph and applying computational constraints.  A Path
   Computation Client (PCC) may make requests to a PCE for paths to be
   computed.

   [RFC4875] describes how to set up P2MP TE LSPs for use in MPLS- and
   GMPLS-controlled networks.  The PCE is identified as a suitable
   application for the computation of paths for P2MP TE LSPs [RFC5671].

   [RFC5441] specifies a procedure relying on the use of multiple PCEs
   to compute point-to-point (P2P) inter-domain constrained shortest
   paths across a predetermined sequence of domains, using a Backward-
   Recursive PCE-Based Computation (BRPC) technique.  The technique can
   be combined with the use of Path-Keys [RFC5520] to preserve
   confidentiality across domains, which is sometimes required when
   domains are managed by different Service Providers.

   PCEP [RFC5440] was extended for point-to-multipoint (P2MP) path
   computation requests in [RFC6006].

   As discussed in [RFC4461], a P2MP tree is the ordered set of LSRs and
   TE links that comprise the path of a P2MP TE LSP from its ingress LSR
   to all of its egress LSRs.  A P2MP LSP is set up with TE constraints
   and allows efficient packet or data replication at various branching
   points in the network.  As per [RFC5671], selection of branch points
   is fundamental to the determination of the paths for a P2MP TE LSP.
   Not only is this selection constrained by the network topology and
   available network resources, but it is also determined by the
   objective functions (OFs) that may be applied to path computation.

   Generally, an inter-domain P2MP tree (i.e., a P2MP tree with source
   and at least one destination residing in different domains) is
   particularly difficult to compute even for a distributed PCE
   architecture.  For instance, while the BRPC may be well-suited for
   P2P paths, P2MP path computation involves multiple branching path
   segments from the source to the multiple destinations.  As such,
   inter-domain P2MP path computation may result in a plurality of
   per-domain path options that may be difficult to coordinate
   efficiently and effectively between domains.  That is, when one or
   more domains have multiple ingress and/or egress boundary nodes
   (i.e., when the domains are multiply inter-connected), existing
   techniques may be convoluted when used to determine which boundary
   node of another domain will be utilized for the inter-domain P2MP
   tree, and there is no way to limit the computation of the P2MP tree
   to those utilized boundary nodes.



Zhao, et al.                  Experimental                      [Page 6]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   A trivial solution to the computation of the inter-domain P2MP tree
   would be to compute shortest inter-domain P2P paths from source to
   each destination and then combine them to generate an inter-domain,
   shortest-path-to-destination P2MP tree.  This solution, however,
   cannot be used to trade cost to destination for overall tree cost
   (i.e., it cannot produce a Minimum Cost Tree (MCT)), and in the
   context of inter-domain P2MP TE LSPs, it cannot be used to reduce the
   number of domain boundary nodes that are transited.  Computing P2P TE
   LSPs individually does not guarantee the generation of an optimal
   P2MP tree for every definition of "optimal" in every topology.

   Per-domain path computation [RFC5152] may be used to compute P2MP
   multi-domain paths but may encounter the issues previously described.
   Furthermore, this approach may be considered to have scaling issues
   during LSP setup.  That is, the LSP to each leaf is signaled
   separately, and each boundary node needs to perform path computation
   for each leaf.

   P2MP MCT, i.e., a computation that guarantees the least cost
   resulting tree, typically is an NP-complete problem.  Moreover,
   adding and/or removing a single destination to/from the tree may
   result in an entirely different tree.  In this case, frequent MCT
   path computation requests may prove computationally intensive, and
   the resulting frequent tunnel reconfiguration may even cause network
   destabilization.

   This document presents a solution, procedures, and extensions to PCEP
   to support P2MP inter-domain path computation.

4.  Assumptions

   Within this document we make the following assumptions:

   o  Due to deployment and commercial limitations (e.g., inter-AS
      (Autonomous System) peering agreements), the path domain tree will
      be known in advance.

   o  Each PCE knows about any leaf LSRs in the domain it serves.

   Additional assumptions are documented in [RFC5441] and are not
   repeated here.










Zhao, et al.                  Experimental                      [Page 7]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


5.  Requirements

   This section summarizes the requirements specific to computing
   inter-domain P2MP paths.  In these requirements, we note that the
   actual computation time taken by any PCE implementation is outside
   the scope of this document, but we observe that reducing the
   complexity of the required computations has a beneficial effect on
   the computation time regardless of implementation.  Additionally,
   reducing the number of message exchanges and the amount of
   information exchanged will reduce the overall computation time for
   the entire P2MP tree.  We refer to the "complexity of the
   computation" as the impact on these aspects of path computation time
   as various parameters of the topology and the P2MP TE LSP are
   changed.

   It is also important that the solution can preserve confidentiality
   across domains, which is required when domains are managed by
   different Service Providers via the Path-Key mechanism [RFC5520].

   Other than the requirements specified in [RFC5862], a number of
   requirements specific to inter-domain P2MP are detailed below:

   1.  The complexity of the computation for each sub-tree within each
       domain SHOULD be dependent only on the topology of the domain,
       and it SHOULD be independent of the domain sequence.

   2.  The number of PCReq (Path Computation Request) and PCRep (Path
       Computation Reply) messages SHOULD be independent of the number
       of multicast destinations in each domain.

   3.  It SHOULD be possible to specify the domain entry and exit nodes
       in the PCReq.

   4.  Specifying which nodes are to be used as branch nodes SHOULD be
       supported in the PCReq.

   5.  Reoptimization of existing sub-trees SHOULD be supported.

   6.  It SHOULD be possible to compute diverse P2MP paths from existing
       P2MP paths.











Zhao, et al.                  Experimental                      [Page 8]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


6.  Objective Functions and Constraints

   For the computation of a single or a set of P2MP TE LSPs, a request
   to meet specific optimization criteria, called an objective function
   (OF), MAY be used.  SPT (Shortest Path Tree) and MCT (Minimum Cost
   Tree), defined in [RFC6006], are two such OF optimization criteria
   for the sub-tree within each domain used to select the "best"
   candidate path.

   In addition to the OFs, the following constraints MAY also be
   beneficial for inter-domain P2MP path computation:

   1.  The computed P2MP "core-tree" SHOULD be optimal when only
       considering the paths to the leaf domain entry BNs.

   2.  Grafting and pruning of multicast destinations (sub-trees) within
       a leaf domain SHOULD ensure minimal impact on other domains and
       on the core-tree.

   3.  It SHOULD be possible to choose to optimize the core-tree.

   4.  It SHOULD be possible to choose to optimize the entire tree (P2MP
       LSP).

   5.  It SHOULD be possible to combine the aforementioned OFs and
       constraints for P2MP path computation.

   When implementing and operating P2MP LSPs, the following need to be
   taken into consideration:

   o  The complexity of computation.

   o  The optimality of the tree (core-tree as well as full P2MP LSP
      tree).

   o  The stability of the core-tree.

   The solution SHOULD allow these trade-offs to be made at computation
   time.

   The algorithms used to compute optimal paths using a combination of
   OFs and multiple constraints are out of the scope of this document.









Zhao, et al.                  Experimental                      [Page 9]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


7.  P2MP Path Computation Procedures

7.1.  General

   A P2MP path computation can be broken down into two steps: core-tree
   computation and grafting of sub-trees.  Breaking the procedure into
   these specific steps has the following impact, allowing the core-
   tree-based solution to provide an optimal inter-domain P2MP TE LSP:

   o  The core-tree and sub-tree are smaller in comparison to the full
      P2MP tree and are thus easier to compute.

   o  An implementation MAY choose to keep the core-tree fairly static
      or computed offline (trade-off with optimality).

   o  Adding/pruning of leaves requires changes to the sub-tree in the
      leaf-domain only.

   o  The PCEP message size is smaller in comparison.

   The following sub-sections describe the core-tree-based mechanism,
   including procedures and PCEP extensions that satisfy the
   requirements and objectives specified in Sections 5 and 6 of this
   document.

7.2.  Core-Trees

   A core-tree is defined as a tree that satisfies the following
   conditions:

   o  The root of the core-tree is the ingress LSR in the root domain.

   o  The leaves of the core-tree are the entry boundary nodes in the
      leaf domains.

   To support confidentiality, these nodes and links MAY be hidden using
   the Path-Key mechanism [RFC5520], but they MUST be computed and be a
   part of the core-tree.













Zhao, et al.                  Experimental                     [Page 10]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   For example, consider the domain tree in Figure 1, representing a
   domain tree of 6 domains and part of the resulting core-tree, which
   satisfies the aforementioned conditions.

                             +----------------+
                             |                |Domain D1
                             |        R       |
                             |                |
                             |        A       |
                             |                |
                             +-B------------C-+
                              /              \
                             /                \
                            /                  \
            Domain D2      /                    \ Domain D3
            +-------------D--+             +-----E----------+
            |                |             |                |
            |  F             |             |                |
            |          G     |             |       H        |
            |                |             |                |
            |                |             |                |
            +-I--------------+             +-J------------K-+
             /\                             /              \
            /  \                           /                \
           /    \                         /                  \
          /      \                       /                    \
         /        \                     /                      \
        /          \                   /                        \
       / Domain D4  \      Domain D5  /              Domain D6   \
     +-L-------------W+       +------P---------+      +-----------T----+
     |                |       |                |      |                |
     |                |       |  Q             |      |   U            |
     |  M        O    |       |         S      |      |                |
     |                |       |                |      |          V     |
     |          N     |       |   R            |      |                |
     +----------------+       +----------------+      +----------------+

                          Figure 1: Domain Tree Example













Zhao, et al.                  Experimental                     [Page 11]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


                                    (R)
                                     |
                                    (A)
                                    / \
                                   /   \
                                 (B)   (C)
                                 /       \
                                /         \
                              (D)         (E)
                              /            |
                             /             |
                           (G)            (H)
                           /              / \
                          /              /   \
                        (I)            (J)   (K)
                        / \            /       \
                       /   \          /         \
                     (L)   (W)      (P)         (T)


                           Figure 2: Core-Tree

   A core-tree is computed such that the root of the tree is R and the
   leaf nodes are the entry nodes of the destination domains (L, W, P,
   and T).  The Path-Key mechanism can be used to hide the internal
   nodes and links in the final core-tree as shown below for domains D2
   and D3 (nodes G and H are hidden via Path-Keys PK1 and PK2,
   respectively).























Zhao, et al.                  Experimental                     [Page 12]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


                                    (R)
                                     |
                                    (A)
                                    / \
                                   /   \
                                 (B)   (C)
                                 /       \
                                /         \
                              (D)         (E)
                              /            |
                             /             |
                          |PK1|          |PK2|
                           /              / \
                          /              /   \
                        (I)            (J)   (K)
                        / \            /       \
                       /   \          /         \
                     (L)   (W)      (P)         (T)

                    Figure 3: Core-Tree with Path-Key

7.3.  Optimal Core-Tree Computation Procedure

   Applying the core-tree procedure to large groups of domains, such as
   the Internet, is not considered feasible or desirable and is out of
   the scope of this document.

   The following extended BRPC-based procedure can be used to compute
   the core-tree.  Note that a root PCE MAY further use its own enhanced
   optimization techniques in the future to compute the core-tree.

   A BRPC-based core-tree path computation procedure is described below:

   1.  Use the BRPC procedures to compute the VSPT(i) (Virtual Shortest
       Path Tree) for each leaf BN(i), i=1 to n, where n is the total
       number of entry nodes for all the leaf domains.  In each VSPT(i),
       there are a number of P(i) paths.

   2.  When the root PCE has computed all the VSPT(i), i=1 to n, take
       one path from each VSPT and form all possible sets of paths.  We
       call them PathSet(j), j=1 to M, where M=P(1)xP(2)...xP(n).

   3.  For each PathSet(j), there are n S2L (Source-to-Leaf) BN paths.
       Form these n paths into a core-tree(j).

   4.  There will be M number core-trees computed from step 3.  An
       optimal core-tree is selected based on the OF and constraints.




Zhao, et al.                  Experimental                     [Page 13]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   Note that since the point-to-point BRPC procedure is used to compute
   VSPT, the path request and response message formats defined in
   [RFC5440] are used.

   Also note that the application of BRPC in the aforementioned
   procedure differs from the typical one since paths returned from a
   downstream PCE are not necessarily pruned from the solution set
   (extended VSPT) by intermediate PCEs.  The reason for this is that if
   the PCE in a downstream domain does the pruning and returns the
   single optimal sub-path to the upstream PCE, the combination of these
   single optimal sub-paths into a core-tree is not necessarily optimal
   even if each S2L (Source-to-Leaf) sub-path is optimal.

   Without trimming, the ingress PCE will obtain all the possible S2L
   sub-paths set for the entry boundary nodes of the leaf domain.  By
   looking through all the combinations and taking one sub-path from
   each set to build one tree, the PCE will then select the optimal
   core-tree.

   A PCE MAY add equal-cost paths within the domain while constructing
   an extended VSPT.  This will provide the ingress PCE more candidate
   paths for an optimal core-tree.

   The proposed method may present a scalability problem for the dynamic
   computation of the core-tree (by iterative checking of all
   combinations of the solution space), especially with dense/meshed
   domains.  Considering a domain sequence D1, D2, D3, D4, where the
   leaf boundary node is at domain D4, PCE(4) will return 1 path.
   PCE(3) will return N paths, where N is E(3) x X(3), where E(k) x X(k)
   denotes the number of entry nodes times the number of exit nodes for
   that domain.  PCE(2) will return M paths, where M = E(2) x X(2) x N =
   E(2) x X(2) x E(3) x X(3) x 1, etc.  Generally speaking, the number
   of potential paths at the ingress PCE Q = prod E(k) x X(k).

   Consequently, it is expected that the core-tree will typically be
   computed offline, without precluding the use of dynamic, online
   mechanisms such as the one presented here, in which case it SHOULD be
   possible to configure transit PCEs to control the number of paths
   sent upstream during BRPC (trading trimming for optimality at the
   point of trimming and downwards).











Zhao, et al.                  Experimental                     [Page 14]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


7.4.  Sub-tree Computation Procedures

   Once the core-tree is built, the grafting of all the leaf nodes from
   each domain to the core-tree can be achieved by a number of
   algorithms.  One algorithm for doing this phase is that the root PCE
   will send the request with the C-bit set (as defined in Section 7.5.1
   of this document) for the path computation to the destination(s)
   directly to the PCE where the destination(s) belong(s) along with the
   core-tree computed per Section 7.2.

   This approach requires that the root PCE manage a potentially large
   number of adjacencies (either in persistent or non-persistent mode),
   including PCEP adjacencies to PCEs that are not within neighbor
   domains.

   An alternative would involve establishing PCEP adjacencies that
   correspond to the PCE domain tree.  This would require that branch
   PCEs forward requests and responses from the root PCE towards the
   leaf PCEs and vice versa.

   Note that the P2MP path request and response format is as per
   [RFC6006], where Record Route Objects (RROs) are used to carry the
   core-tree paths in the P2MP grafting request.

   The algorithms to compute the optimal large sub-tree are outside the
   scope of this document.

7.5.  PCEP Protocol Extensions

7.5.1.  Extension of RP Object

   This experiment will be carried out by extending the RP (Request
   Parameters) object (defined in [RFC5440]) used in PCEP requests and
   responses.

   The extended format of the RP object body to include the C-bit is as
   follows:

   The C-bit is added in the flag bits field of the RP object to signal
   the receiver of the message whether or not the request/reply is for
   inter-domain P2MP core-tree.










Zhao, et al.                  Experimental                     [Page 15]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   The following flag is added in this document:

      Bit Number     Name Flag
      17             Core-tree computation (C-bit)

      C-bit (Core-Tree bit - 1 bit):

      0:  Indicates that this is not for an inter-domain P2MP core-tree.

      1:  Indicates that this is a PCEP request or a response for the
          computation of an inter-domain core-tree or for the grafting
          of a sub-tree to an inter-domain core-tree.

7.5.2.  Domain and PCE Sequence

   The procedure described in this document requires the domain tree to
   be known in advance.  This information MAY be either administratively
   predetermined or dynamically discovered by some means, such as the
   Hierarchical PCE (H-PCE) framework [RFC6805], or derived through the
   IGP/BGP routing information.

   Examples of ways to encode the domain path tree are found in
   [RFC5886], which uses PCE-ID Objects, and [DOMAIN-SEQ].

7.6.  Using H-PCE for Scalability

   The ingress/root PCE is responsible for the core-tree computation as
   well as grafting of sub-trees into the multi-domain tree.  Therefore,
   the ingress/root PCE will receive all computed path segments from all
   the involved domains.  When the ingress/root PCE chooses to have a
   PCEP session with all involved PCEs, this may cause an excessive
   number of sessions or added complexity in implementations.

   The H-PCE framework [RFC6805] may be used to establish a dedicated
   PCE with the capability (memory and CPU) and knowledge to maintain
   the necessary PCEP sessions.  The parent PCE would be responsible for
   sending an intra-domain path computation request to the PCEs,
   combining them, and returning the overall P2MP tree.













Zhao, et al.                  Experimental                     [Page 16]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


7.7.  Parallelism

   In order to minimize latency in path computation in multi-domain
   networks, intra-domain path segments and intra-domain sub-trees can
   be computed in parallel when possible.  The proposed procedures in
   this document present opportunities for parallelism:

   1.  The BRPC procedure for each leaf boundary node can be launched in
       parallel by the ingress/root PCE for dynamic computation of the
       core-tree.

   2.  The grafting of sub-trees can be triggered in parallel once the
       core-tree is computed.

   One of the potential issues of parallelism is that the ingress PCE
   would require a potentially high number of PCEP adjacencies to
   "remote" PCEs at the same time; this situation may not be desirable.

8.  Protection

   It is envisaged that protection may be required when deploying and
   using inter-domain P2MP TE LSPs.  The procedures and mechanisms
   defined in this document do not prohibit the use of existing and
   proposed types of protection, including end-to-end protection
   [RFC4872] and domain protection schemes.

   Segment or facility (link and node) protection is problematic in
   inter-domain environments due to the limit of fast reroute (FRR)
   [RFC4875] requiring knowledge of its next hop across domain
   boundaries while maintaining domain confidentiality.  However, the
   FRR protection might be implemented if next-hop information was known
   in advance.

8.1.  End-to-End Protection

   An end-to-end protection (for nodes and links) principle can be
   applied for computing backup P2MP TE LSPs.  During computation of the
   core-tree and sub-trees, protection may also be taken into
   consideration.  A PCE may compute the primary and backup P2MP TE LSP
   together or sequentially.











Zhao, et al.                  Experimental                     [Page 17]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


8.2.  Domain Protection

   In this protection scheme, a backup P2MP tree can be computed that
   excludes the transit/branch domain completely.  A backup domain path
   tree is needed with the same source domain and destination domains
   and a new set of transit domains.  The backup path tree can be
   applied to the above procedure to obtain the backup P2MP TE LSP with
   disjoint transit domains.

9.  Manageability Considerations

   [RFC5862] describes various manageability requirements in support of
   P2MP path computation when applying PCEP.  This section describes how
   the manageability requirements mentioned in [RFC5862] are supported
   in the context of PCEP extensions specified in this document.

   Note that [RFC5440] describes various manageability considerations in
   PCEP, and most of the manageability requirements mentioned in
   [RFC6006] are already covered there.

9.1.  Control of Function and Policy

   In addition to the PCE configuration parameters listed in [RFC5440]
   and [RFC6006], the following additional parameters might be required:

   o  The ability to enable or disable multi-domain P2MP path
      computations on the PCE.

   o  Configuration of the PCE to enable or disable the advertisement of
      its multi-domain P2MP path computation capability.

9.2.  Information and Data Models

   A number of MIB objects have been defined for general PCEP control
   and monitoring of P2P computations in [PCEP-MIB].  [RFC5862]
   specifies that MIB objects will be required to support the control
   and monitoring of the protocol extensions defined in this document.
   [PCEP-P2MP-MIB] describes managed objects for modeling of PCEP
   communications between a PCC and PCE, communication between PCEs, and
   P2MP path computation requests and responses.











Zhao, et al.                  Experimental                     [Page 18]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


9.3.  Liveness Detection and Monitoring

   No changes are necessary to the liveness detection and monitoring
   requirements as already embodied in [RFC4657].

   It should be noted that multi-domain P2MP computations are likely to
   take longer than P2P computations and single-domain P2MP
   computations.  The liveness detection and monitoring features of the
   PCEP SHOULD take this into account.

9.4.  Verifying Correct Operation

   There are no additional requirements beyond those expressed in
   [RFC4657] for verifying the correct operation of the PCEP.  Note that
   verification of the correct operation of the PCE and its algorithms
   is out of the scope of the protocol requirements, but a PCC MAY send
   the same request to more than one PCE and compare the results.

9.5.  Requirements on Other Protocols and Functional Components

   A PCE operates on a topology graph that may be built using
   information distributed by TE extensions to the routing protocol
   operating within the network.  In order that the PCE can select a
   suitable path for the signaling protocol to use to install the P2MP
   TE LSP, the topology graph MUST include information about the P2MP
   signaling and branching capabilities of each LSR in the network.

   Mechanisms for the knowledge of other domains and the discovery of
   corresponding PCEs and their capabilities SHOULD be provided, and
   this information MAY be collected by other mechanisms.

   Whatever means is used to collect the information to build the
   topology graph, the graph MUST include the requisite information.  If
   the TE extensions to the routing protocol are used, these SHOULD be
   as described in [RFC5073].

9.6.  Impact on Network Operation

   The use of a PCE to compute P2MP paths is not expected to have
   significant impact on network operations.  However, it should be
   noted that the introduction of P2MP support to a PCE that already
   provides P2P path computation might change the loading of the PCE
   significantly, and that might have an impact on the network behavior,
   especially during recovery periods immediately after a network
   failure.






Zhao, et al.                  Experimental                     [Page 19]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   The dynamic computation of core-trees might also have an impact on
   the load of the involved PCEs as well as path computation times.

   It should be noted that pre-computing and maintaining domain trees
   might introduce considerable administration effort for the operator.

9.7.  Policy Control

   [RFC5394] provides additional details on policy within the PCE
   architecture and also provides context for the support of PCE Policy.
   They are also applicable to inter-domain P2MP path computation via
   the core-tree mechanism.

10.  Security Considerations

   As described in [RFC5862], P2MP path computation requests are more
   CPU-intensive and also utilize more link bandwidth.  In the event of
   an unauthorized P2MP path computation request or a denial-of-service
   attack, the subsequent PCEP requests and processing may be disruptive
   to the network.  Consequently, it is important that implementations
   conform to the relevant security requirements of [RFC5440] that
   specifically help to minimize or negate unauthorized P2MP path
   computation requests and denial-of-service attacks.  These mechanisms
   include:

   o  Securing the PCEP session requests and responses using TCP
      security techniques (Section 10.2 of [RFC5440]).

   o  Authenticating the PCEP requests and responses to ensure the
      message is intact and sent from an authorized node (Section 10.3
      of [RFC5440]).

   o  Providing policy control by explicitly defining which PCCs, via IP
      access lists, are allowed to send P2MP path requests to the PCE
      (Section 10.6 of [RFC5440]).

   PCEP operates over TCP, so it is also important to secure the PCE and
   PCC against TCP denial-of-service attacks.  Section 10.7.1 of
   [RFC5440] outlines a number of mechanisms for minimizing the risk of
   TCP-based denial-of-service attacks against PCEs and PCCs.

   PCEP implementations SHOULD also consider the additional security
   provided by the TCP Authentication Option (TCP-AO) [RFC5925].

   Finally, any multi-domain operation necessarily involves the exchange
   of information across domain boundaries.  This may represent a
   significant security and confidentiality risk, especially when the
   domains are controlled by different commercial entities.  PCEP allows



Zhao, et al.                  Experimental                     [Page 20]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   individual PCEs to maintain confidentiality of their domain path
   information by using Path-Keys [RFC5520] and would allow for securing
   of domain path information when performing core-tree-based path
   computations.

11.  IANA Considerations

   IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
   registry and the "RP Object Flag Field" sub-registry.

   IANA has allocated a new bit from this registry as follows:

      Bit             Description                        Reference
      17              Core-tree computation (C-bit)      [RFC7334]

12.  Acknowledgements

   The authors would like to thank Adrian Farrel, Dan Tappan, Olufemi
   Komolafe, Oscar Gonzalez de Dios, and Julien Meuric for their
   valuable comments on this document.

13.  References

13.1.  Normative References

   [RFC2119]        Bradner, S., "Key words for use in RFCs to Indicate
                    Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5440]        Vasseur, JP., Ed., and JL. Le Roux, Ed., "Path
                    Computation Element (PCE) Communication Protocol
                    (PCEP)", RFC 5440, March 2009.

   [RFC5441]        Vasseur, JP., Ed., Zhang, R., Bitar, N., and JL. Le
                    Roux, "A Backward-Recursive PCE-Based Computation
                    (BRPC) Procedure to Compute Shortest Constrained
                    Inter-Domain Traffic Engineering Label Switched
                    Paths", RFC 5441, April 2009.

   [RFC6006]        Zhao, Q., Ed., King, D., Ed., Verhaeghe, F., Takeda,
                    T., Ali, Z., and J. Meuric, "Extensions to the Path
                    Computation Element Communication Protocol (PCEP)
                    for Point-to-Multipoint Traffic Engineering Label
                    Switched Paths", RFC 6006, September 2010.








Zhao, et al.                  Experimental                     [Page 21]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


13.2.  Informative References

   [RFC4461]        Yasukawa, S., Ed., "Signaling Requirements for
                    Point-to-Multipoint Traffic-Engineered MPLS Label
                    Switched Paths (LSPs)", RFC 4461, April 2006.

   [RFC4655]        Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
                    Computation Element (PCE)-Based Architecture", RFC
                    4655, August 2006.

   [RFC4657]        Ash, J., Ed., and J. Le Roux, Ed., "Path Computation
                    Element (PCE) Communication Protocol Generic
                    Requirements", RFC 4657, September 2006.

   [RFC4872]        Lang, J., Ed., Rekhter, Y., Ed., and D.
                    Papadimitriou, Ed., "RSVP-TE Extensions in Support
                    of End-to-End Generalized Multi-Protocol Label
                    Switching (GMPLS) Recovery", RFC 4872, May 2007.

   [RFC4875]        Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
                    Yasukawa, Ed., "Extensions to Resource Reservation
                    Protocol - Traffic Engineering (RSVP-TE) for Point-
                    to-Multipoint TE Label Switched Paths (LSPs)", RFC
                    4875, May 2007.

   [RFC5073]        Vasseur, J., Ed., and J. Le Roux, Ed., "IGP Routing
                    Protocol Extensions for Discovery of Traffic
                    Engineering Node Capabilities", RFC 5073, December
                    2007.

   [RFC5152]        Vasseur, JP., Ed., Ayyangar, A., Ed., and R. Zhang,
                    "A Per-Domain Path Computation Method for
                    Establishing Inter-Domain Traffic Engineering (TE)
                    Label Switched Paths (LSPs)", RFC 5152, February
                    2008.

   [RFC5376]        Bitar, N., Zhang, R., and K. Kumaki, "Inter-AS
                    Requirements for the Path Computation Element
                    Communication Protocol (PCECP)", RFC 5376, November
                    2008.

   [RFC5394]        Bryskin, I., Papadimitriou, D., Berger, L., and J.
                    Ash, "Policy-Enabled Path Computation Framework",
                    RFC 5394, December 2008.







Zhao, et al.                  Experimental                     [Page 22]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


   [RFC5520]        Bradford, R., Ed., Vasseur, JP., and A. Farrel,
                    "Preserving Topology Confidentiality in Inter-Domain
                    Path Computation Using a Path-Key-Based Mechanism",
                    RFC 5520, April 2009.

   [RFC5671]        Yasukawa, S. and A. Farrel, Ed., "Applicability of
                    the Path Computation Element (PCE) to Point-to-
                    Multipoint (P2MP) MPLS and GMPLS Traffic Engineering
                    (TE)", RFC 5671, October 2009.

   [RFC5862]        Yasukawa, S. and A. Farrel, "Path Computation
                    Clients (PCC) - Path Computation Element (PCE)
                    Requirements for Point-to-Multipoint MPLS-TE", RFC
                    5862, June 2010.

   [RFC5886]        Vasseur, JP., Ed., Le Roux, JL., and Y. Ikejiri, "A
                    Set of Monitoring Tools for Path Computation Element
                    (PCE)-Based Architecture", RFC 5886, June 2010.

   [RFC5925]        Touch, J., Mankin, A., and R. Bonica, "The TCP
                    Authentication Option", RFC 5925, June 2010.

   [RFC6805]        King, D., Ed., and A. Farrel, Ed., "The Application
                    of the Path Computation Element Architecture to the
                    Determination of a Sequence of Domains in MPLS and
                    GMPLS", RFC 6805, November 2012.

   [PCEP-MIB]       Koushik, A., Stephan, E., Zhao, Q., King, D., and J.
                    Hardwick, "Path Computation Element Protocol (PCEP)
                    Management Information Base", Work in Progress,
                    July 2014.

   [PCEP-P2MP-MIB]  Zhao, Q., Dhody, D., Palle, U., and D. King,
                    "Management Information Base for the PCE
                    Communications Protocol (PCEP) When Requesting
                    Point-to-Multipoint Services", Work in Progress,
                    August 2012.

   [DOMAIN-SEQ]     Dhody, D., Palle, U., and R. Casellas, "Standard
                    Representation Of Domain-Sequence", Work in
                    Progress, July 2014.










Zhao, et al.                  Experimental                     [Page 23]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


14.  Contributors' Addresses

   Siva Sivabalan
   Cisco Systems
   2000 Innovation Drive
   Kanata, Ontario  K2K 3E8
   Canada

   EMail: msiva@cisco.com


   Tarek Saad
   Cisco Systems, Inc.
   2000 Innovation Drive
   Kanata, Ontario  K2K 3E8
   Canada

   EMail: tsaad@cisco.com

































Zhao, et al.                  Experimental                     [Page 24]
^L
RFC 7334            PCEP P2MP Inter-Domain Procedures        August 2014


Authors' Addresses

   Quintin Zhao
   Huawei Technology
   125 Nagog Technology Park
   Acton, MA  01719
   US

   EMail: quintin.zhao@huawei.com


   Dhruv Dhody
   Huawei Technology
   Leela Palace
   Bangalore, Karnataka  560008
   India

   EMail: dhruv.dhody@huawei.com


   Daniel King
   Old Dog Consulting
   UK

   EMail: daniel@olddog.co.uk


   Zafar Ali
   Cisco Systems
   2000 Innovation Drive
   Kanata, Ontario  K2K 3E8
   Canada

   EMail: zali@cisco.com


   Ramon Casellas
   CTTC
   Av. Carl Friedrich Gauss n7
   Castelldefels, Barcelona  08860
   Spain

   EMail: ramon.casellas@cttc.es








Zhao, et al.                  Experimental                     [Page 25]
^L