summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8361.txt
blob: ae7be1d69df1d6ef70edfac0ff15e9d87c9bf5b1 (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
Internet Engineering Task Force (IETF)                            W. Hao
Request for Comments: 8361                                         Y. Li
Updates: 6325                                        Huawei Technologies
Category: Standards Track                                     M. Durrani
ISSN: 2070-1721                                                  Equinix
                                                                S. Gupta
                                                             IP Infusion
                                                                   A. Qu
                                                                MediaTec
                                                              April 2018


         Transparent Interconnection of Lots of Links (TRILL):
               Centralized Replication for Active-Active
        Broadcast, Unknown Unicast, and Multicast (BUM) Traffic

Abstract

   In Transparent Interconnection of Lots of Links (TRILL) active-active
   access, a Reverse Path Forwarding (RPF) check failure issue may occur
   when using the pseudo-nickname mechanism specified in RFC 7781.  This
   document describes a solution to resolve this RPF check failure issue
   through centralized replication.  All ingress Routing Bridges
   (RBridges) send Broadcast, Unknown Unicast, and Multicast (BUM)
   traffic to a centralized node with unicast TRILL encapsulation.  When
   the centralized node receives the BUM traffic, it decapsulates the
   packets and forwards them to their destination RBridges using a
   distribution tree established per the TRILL base protocol (RFC 6325).
   To avoid RPF check failure on an RBridge sitting between the ingress
   RBridge and the centralized replication node, some change in the RPF
   calculation algorithm is required.  RPF checks on each RBridge MUST
   be calculated as if the centralized node was the ingress RBridge,
   instead of being calculated using the actual ingress RBridge.  This
   document updates RFC 6325.

Status of This Memo

   This is an Internet Standards Track document.

   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).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

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



Hao, et al.                  Standards Track                    [Page 1]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


Copyright Notice

   Copyright (c) 2018 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
   (https://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.

Table of Contents

   1. Introduction ....................................................2
   2. Conventions Used in This Document ...............................3
   3. Centralized Replication Solution Overview .......................4
   4. Frame Duplication from Remote RBridge ...........................6
   5. Local Forwarding Behavior on Ingress RBridge ....................6
   6. Loop Prevention among RBridges in an Edge Group .................8
   7. Centralized Replication Forwarding Process ......................9
   8. BUM Traffic Load-Balancing among Multiple Centralized Nodes ....10
   9. Coexisting with the CMT Solution (RFC 7783) ....................11
   10. Network Upgrade Analysis ......................................12
   11. TRILL Protocol Extensions .....................................13
      11.1. "R" and "C" Flag in the Nickname Flags APPsub-TLV ........13
   12. Security Considerations .......................................14
   13. IANA Considerations ...........................................14
   14. References ....................................................15
      14.1. Normative References .....................................15
      14.2. Informative References ...................................16
   Acknowledgments ...................................................17
   Authors' Addresses ................................................17

1.  Introduction

   The IETF TRILL protocol [RFC6325] provides multipath data forwarding
   that is loop free and per-hop based with minimum configuration.
   TRILL uses IS-IS [RFC6165] [RFC7176] as its control plane routing
   protocol and defines a TRILL-specific header for user data.

   Customer Equipment (CE) devices can be multihomed to a set of edge
   RBridges forming an edge group where active-active service can be
   provided.  In that case, all of the uplinks from a CE are handled via
   a Local Active-Active Link Protocol (LAALP) [RFC7379] such as Multi-



Hao, et al.                  Standards Track                    [Page 2]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   Chassis Link Aggregation (MC-LAG) or Distributed Resilient Network
   Interconnect (DRNI) [IEEE802.1AX].  An active-active flow-based load-
   sharing mechanism can achieve better load-balancing and high
   reliability.  A CE device can be a Layer 3 (L3) end system by itself
   or a bridge switch through which L3 end systems access the TRILL
   campus.

   In active-active access, the pseudo-nickname solution in [RFC7781]
   can be used to avoid Media Access Control (MAC) flip-flop on remote
   RBridges.  The basic idea is to use a virtual RBridge (RBv) with a
   single pseudo-nickname to represent an edge group.  Any member
   RBridge of that edge group uses this pseudo-nickname rather than its
   own nickname as the ingress nickname when it injects TRILL data
   frames to the TRILL campus.  The use of the nickname solves the
   address flip-flop issue by setting the nickname learned by a remote
   RBridge to be the pseudo-nickname.  However, it introduces another
   issue of incorrect packet dropping as follows: When a pseudo-nickname
   is used by an edge RBridge as the ingress nickname to forward BUM
   traffic, any RBridges (RBn) sitting between the ingress RBridge and
   the distribution tree root will treat the traffic as if it were
   ingressed from the RBv.  If the same distribution tree is used by
   different edge RBridges of the same RBv, the traffic may arrive at
   some RBn from different ports.  Then, the Reverse Path Forwarding
   (RPF) check required by TRILL [RFC6325] fails, and the BUM traffic
   received on unexpected ports will be dropped by RBn.

   This document specifies a centralized replication solution for BUM
   traffic forwarding to resolve the issue of incorrect packet drop
   caused by the RPF check failure in the virtual RBridge case.  The
   basic idea is that all ingress RBridges send BUM traffic to a
   centralized node, which MUST be a distribution tree root, using
   unicast TRILL encapsulation.  When the centralized node receives the
   packets, it decapsulates and forwards them to their destination
   RBridges using a distribution tree established as per the TRILL base
   protocol.  This document updates [RFC6325]; per [RFC6325], multi-
   destination traffic is ingressed to a multi-destination TRILL data
   packet.  However, per this document, when using the centralized
   replication feature, multi-destination traffic is initially ingressed
   to a unicast TRILL data packet.

2.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.




Hao, et al.                  Standards Track                    [Page 3]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   The abbreviations and terminology in [RFC6325] are used herein with
   the following additions:

   BUM:           Broadcast, Unknown unicast, and Multicast

   CE:            Customer Equipment (as in [RFC7783]), as relates to a
                  device (end station or bridge).  The device can be
                  either physical or virtual equipment.

   Data Label:    VLAN or Fine-Grained Labeled (FGL) [RFC7172]

   DF:            Designated Forwarder [RFC7781]

   FGL:           Fine-Grained Label [RFC7172]

   LAALP:         Local Active-Active Link Protocol [RFC7379]

   MAC flip flop: A problem where the attachment point of a MAC address
                  appears to a remote switch to keep changing.  See
                  Section 3.3 of [RFC7379].

   MC-LAG:        Multi-Chassis Link Aggregation

   RPF:           Reverse Path Forwarding

3.  Centralized Replication Solution Overview

   When an edge RBridge receives BUM traffic from a CE device, it uses
   unicast TRILL encapsulation instead of multicast encapsulation to
   send the packets to a centralized node.  The centralized node MUST be
   a distribution tree root.  Distribution tree roots are normally
   chosen to be high-capacity core RBridges with many high-bandwidth
   adjacencies.  This constraint makes it practical, as described below,
   to support centralized replication with only software changes to
   transit RBridges.

   The TRILL header of the unicast TRILL encapsulation contains an
   "ingress RBridge nickname" field and an "egress RBridge nickname"
   field [RFC6325].  If the ingress RBridge receives the BUM packet from
   a port that is in an active-active edge group using [RFC7781], it
   sets the ingress RBridge nickname to be the pseudo-nickname rather
   than its own nickname to avoid MAC flip-flop (see Section 3.3 of
   [RFC7379]) on remote RBridges.  The egress RBridge nickname is set to
   a special nickname of the centralized node that is used to
   differentiate the centralized replication purpose unicast TRILL
   encapsulation from a normal unicast TRILL encapsulation.  This
   special nickname is called an "R-nickname".




Hao, et al.                  Standards Track                    [Page 4]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   When the centralized RBridge receives a unicast TRILL-encapsulated
   packet with its R-nickname as the egress nickname, it decapsulates
   the packet.  Then, the centralized RBridge replicates and forwards
   the BUM packet to the packet's destination RBridges using one of the
   distribution trees established per the TRILL base protocol [RFC6325].
   It MUST use a distribution tree whose tree root is the centralized
   RBridge itself.  (An RBridge may be the root of more than one tree.)
   When the centralized RBridge forwards the BUM traffic, it simply
   sends it on the distribution tree as if it were a locally ingressed
   frame, except that the ingress nickname remains the same as that in
   the packet it received to ensure that the MAC address learning by all
   egress RBridges is bound to the pseudo-nickname.

   When the replicated packet is forwarded by each RBridge along the
   distribution tree starting from the centralized node, an RPF check is
   performed per [RFC6325].  For any RBridge sitting between the ingress
   RBridge and the centralized replication node, the incoming port of
   such a BUM packet should be the centralized-node-facing port, as the
   multicast traffic always comes from the centralized node in this
   solution.  However, the RPF port as the result of distribution tree
   calculation as specified in [RFC6325] will be the real ingress
   RBridge-facing port, as it uses the edge group's virtual RBridge as
   the ingress RBridge, so the RPF check will fail.

   To solve this problem, some change in the RPF test is required.  In
   this case, the RPF calculation on each RBridge should use the
   centralized node as the ingress RBridge for each tree for which that
   node is the root instead of the real ingress virtual RBridge to
   perform the calculation.  As a result, the RPF check will accept
   traffic on the centralized-node-facing port of the RBridge for multi-
   destination traffic.  This prevents incorrect frame drops by the RPF
   check.

   The change in the actual RPF check on a received multi-destination
   TRILL data packet is easy.  The RPF check from [RFC6325] is a check
   to see if a triple of {ingress nickname, tree, receiving RBridge
   port} is allowed.  (The tree is indicated by the nickname of its
   root, which is stored in the TRILL Header "egress nickname" field.)
   When determining the RPF check, if "ingress nickname" is using
   centralized replication (indicated by a C-nickname, see Section 9),
   then the check is based on distribution from the tree root.  If
   "ingress nickname" is not using centralized replication, then the
   check is based on distribution from the RBridge having the ingress
   nickname.

   To differentiate the centralized replication unicast TRILL
   encapsulation from normal unicast TRILL encapsulation, the R-nickname
   is introduced for centralized replication.  When the centralized node



Hao, et al.                  Standards Track                    [Page 5]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   receives unicast TRILL encapsulation traffic with the egress nickname
   R-nickname, it decapsulates the packet and then forwards the packet
   to the destination RBridges through a distribution tree for which it
   is the root by re-encapsulation as aforementioned.  In TRILL,
   RBridges can hold multiple nicknames, so the centralized RBridge
   simply obtains another nickname to use as the R-nickname.  The
   centralized RBridge or RBridges should announce their R-nickname to
   all TRILL campuses through the TRILL Link State PDU (LSP) extension
   specified in Section 11.

4.  Frame Duplication from Remote RBridge

   Frame duplication may occur when a remote host sends a multi-
   destination frame to a local CE that has an active-active connection
   to the TRILL campus.  To avoid the local CE receiving multiple copies
   from a remote RBridge, the Designated Forwarder (DF) mechanism is
   supported for egress-direction multicast traffic.

   The DF election mechanism [RFC7781] allows only one port of one
   RBridge in an active-active group to forward multicast traffic from
   the TRILL campus to the local access side for each VLAN.  The basic
   idea of using DF is to elect one RBridge per VLAN from an edge group
   to be responsible for egressing the BUM traffic.  [RFC7781] describes
   the DF election mechanism among member RBridges involved in an edge
   group.

   If the DF election mechanism is used for frame-duplication
   prevention, access ports on an RBridge are categorized as one of
   three types: non-group, group DF port, and group non-DF port.  The
   last two types can be called group ports.  Each of the group ports is
   associated with a pseudo-nickname.  If consistent nickname allocation
   to edge group RBridges is used, it is possible that the same pseudo-
   nickname is associated with more than one port on a single RBridge.
   A typical scenario is that CE1 is connected to RB1 and RB2 by LAALP1,
   whereas CE2 is connected to RB1 and RB2 by LAALP2.  In order to
   conserve the number of pseudo-nicknames used, member ports for both
   LAALP1 and LAALP2 on RB1 and RB2 are all associated with the same
   pseudo-nickname.

5.  Local Forwarding Behavior on Ingress RBridge

   When an ingress RBridge (RB1) receives BUM traffic from a local
   active-active connected CE (CE1) device, the traffic will be injected
   into the TRILL campus with TRILL encapsulation; it will be replicated
   and forwarded to all destination RBridges through central
   replication, including the ingress RBridge itself, along a TRILL





Hao, et al.                  Standards Track                    [Page 6]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   distribution tree.  To avoid the traffic looping back to the original
   sender CE, an ingress nickname of the CE group's pseudo-nickname is
   used for traffic filtering.

   However, if there are two CEs, say CE1 and CE2, connecting to the
   ingress RB1 and each associated with the same pseudo-nickname, RB1
   needs to locally replicate and forward to CE2, because another copy
   of the BUM traffic between CE1 and CE2 through the TRILL campus will
   be blocked by the traffic filtering.

   If CE1 and CE2 are not associated with the same pseudo-nickname, the
   copy of the BUM traffic between CE1 and CE2 through the TRILL campus
   won't be blocked by the traffic filtering.  To avoid duplicated
   traffic on receiver CE, there cannot be local replicated BUM traffic
   between these two CEs on ingress RB1.

   In summary, to ensure correct BUM traffic forwarding behavior for
   each CE, the local replication behavior on the ingress RBridge is as
   follows:

   1.  Replicate to the active-active group ports associated with the
       same pseudo-nickname as that associated with the incoming port.

   2.  Do not replicate to active-active group ports associated with
       other pseudo-nicknames.

   3.  Do not replicate to non-edge-group ports.

   The above local forwarding behavior on the ingress RBridge of RB1 can
   be called "centralized replication local forwarding behavior A".

   If ingress RBridge RB1 itself is the centralized replication node,
   BUM traffic injected by RB1 into the TRILL campus won't loop back to
   RB1.  In this case, the local forwarding behavior is called
   centralized replication local forwarding behavior B.  Behavior B on
   RB1 is as follows:

   1.  Local replication to the ports associated with the same pseudo-
       nickname as that associated with the incoming port.

   2.  Local replication to the group DF port associated with different
       pseudo-nicknames.  Do not replicate to group non-DF ports
       associated with different pseudo-nicknames.

   3.  Local replication to non-edge-group ports.






Hao, et al.                  Standards Track                    [Page 7]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


6.  Loop Prevention among RBridges in an Edge Group

   If a CE sends a BUM packet through a DF port to an ingress RBridge,
   that RBridge will forward that packet to all or a subset of the other
   RBridges that only have non-DF ports for that active-active group.
   Because BUM traffic forwarding to non-DF ports isn't allowed, in this
   case, the frame won't loop back to the CE.

   If a CE sends a BUM packet through a non-DF port to an ingress
   RBridge, say RB1, then RB1 will forward that packet to other RBridges
   that have a DF port for that active-active group.  In this case, the
   frame will loop back to the CE and the traffic split-horizon
   filtering mechanism is used to avoid looping back among RBridges in
   the edge group.

   This split-horizon mechanism relies on the ingress nickname field in
   the TRILL header to check if a packet's egress port belongs to the
   same active-active group as the packet's incoming port to the TRILL
   campus.

   When the ingress RBridge receives BUM traffic from an active-active
   connected CE device, the traffic will be sent through the TRILL
   campus with TRILL encapsulation to a centralized RBridge.  There it
   will be replicated and forwarded to its destination RBridges, which
   include the ingress RBridge itself, through a TRILL distribution
   tree.  If the same pseudo-nickname is used for two active-active
   access CEs as the ingress nickname, an egress RBridge can use that
   nickname to filter traffic forwarding to all local CEs.  In this
   case, the traffic between these two CEs goes through the local
   RBridge and another copy of the traffic from the TRILL campus is
   filtered.  If different ingress nicknames are used for two connecting
   CE devices, the access ports connecting to these two CEs should be
   isolated from each other.  The BUM traffic between these two CEs
   should go through the TRILL campus; otherwise, the destination CE
   connected to same RBridge with the sender CE will receive two copies
   of the traffic.















Hao, et al.                  Standards Track                    [Page 8]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


7.  Centralized Replication Forwarding Process

                             +-----------+
                             |   (RB5)   |
                             +-----------+
                                   |
                             +-----------+
                             |   (RB4)   |
                             +-----------+

                              |     |    |
                      --------      |     --------
                     |              |             |
                   +------+      +------+      +------+
                   |(RB1) |      |(RB2) |      | (RB3)|
                   +------+      +------+      +------+
                     *   |         *  |          * |  ^
                     *   |         *  |          * |   ^
                     *   ----------*-------------*--    ^
                     ***************************** |     ^
                     *                             |      ^
              LAALP1 *                      LAALP2 |       ^
                 +------+                    +------+    +------+
                 |  CE1 |                    | CE2  |    | CE3  |
                 +------+                    +------+    +------+

                   Figure 1: TRILL Active-Active Access

   Note: The asterisk line, hyphen & vertical bar line, and circumflex
   line in this figure indicate the connection of the various CEs to the
   various RBs.

   Assuming the centralized replication solution is used in the example
   network of above Figure 1: RB5 is the distribution tree root and
   centralized replication node; CE1 and CE2 are active-active accessed
   to RB1, RB2, and RB3 through LAALP1 and LAALP2, respectively; and CE3
   is single-homed to RB3.  The RBridge's own nicknames of RB1 to RB5
   are nick1 to nick5, respectively.  RB1, RB2, and RB3 use the same
   pseudo-nickname for LAALP1 and LAALP2; that pseudo-nickname is
   P-nick.  The R-nickname on the centralized replication node of RB5 is
   S-nick.










Hao, et al.                  Standards Track                    [Page 9]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   The BUM traffic forwarding process from CE1 to CE2 and CE3 is as
   follows:

   1.  CE1 sends BUM traffic to RB3.

   2.  RB3 replicates and sends the BUM traffic to CE2 locally.  RB2
       also sends the traffic to RB5 using unicast TRILL encapsulation.
       In the TRILL Header, the ingress nickname is set as P-nick and
       the egress nickname is set as S-nick.

   3.  RB5 decapsulates the unicast TRILL data packet.  Then, it uses a
       distribution tree for which it is the root to forward the packet
       as a multi-destination TRILL data packet.  The egress nickname in
       the multi-destination TRILL Header is the nick5 and the ingress
       nickname is still P-nick.  If RB3 had sent the unicast to some
       nickname that was not an R-nickname, the packet would not be
       re-encapsulated.  If it is sent to an R-nickname that is not a
       tree root, it either will not be forwarded at all or, if it is
       re-encapsulated and forwarded, will be subject to incorrect
       pruning and will not be delivered to all of its intended
       recipients.

   4.  RB4 receives multicast TRILL traffic from RB5.  The incoming
       traffic port is the up port facing the distribution tree root.
       RB4's RPF check will be correct based on the changed RPF port
       calculation algorithm in this document.  After the RPF check is
       performed, it forwards the traffic to all other egress RBridges
       (RB1, RB2, and RB3).

   5.  RB3 receives multicast TRILL traffic from RB4.  It decapsulates
       the multi-destination TRILL data packet.  Because the ingress
       nickname of P-nick is equivalent to the nickname of local LAALPs
       connecting to CE1 and CE2, RB3 doesn't forward the traffic to CE1
       and CE2 to avoid a duplicated frame.  RB3 only forwards the
       packet to CE3.

   6.  RB1 and RB2 receive multicast TRILL traffic from RB4.  The
       forwarding process is similar to the process on RB3, i.e.,
       because the ingress nickname of P-nick is equivalent to the
       nickname of the local LAALPs connecting CE1 and CE2, they also
       don't forward the traffic to local CE1 and CE2.

8.  BUM Traffic Load-Balancing among Multiple Centralized Nodes

   To support unicast TRILL encapsulation BUM traffic load-balancing,
   multiple centralized replication nodes can be deployed and the
   traffic can be spread over these nodes based on data label (VLAN or
   FGL).  Furthermore, if it was desirable for a centralized node to be



Hao, et al.                  Standards Track                   [Page 10]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   sent more of this BUM traffic, it could hold two or more R-nicknames.
   The share of BUM traffic it would receive would be proportional to
   the number of R-nicknames it held.

   Assuming there are k different R-nicknames held by centralized nodes
   in a TRILL campus, the VLAN-based (or FGL-based [RFC7172]) load-
   balancing algorithm used by an ingress active-active access RBridge
   is as follows:

   1.  All R-nicknames are ordered and numbered from 0 to k-1 in
       ascending order, treating the nicknames as unsigned 16-bit
       integers.

   2.  For data label ID m, choose the R-nickname whose index is given
       by (m mod k) as egress nickname for BUM traffic unicast TRILL
       encapsulation.

   For example, there are three R-Nicknames (RNs).  The RNs will be
   ordered RN0 to RN2.  Assuming there are five VLANs from VLAN ID1 to
   ID5 spreading among edge RBridges, the traffic in VLAN1 will go to
   RN1, VLAN2 will go to RN2, and so on.

   When an ingress RBridge participating in an active-active connection
   receives BUM traffic from a local CE, the RBridge decides which
   R-nickname to send the traffic to based on the VLAN-based load-
   spreading algorithm; thus, data-label-based load-balancing for the
   BUM traffic can be achieved using multiple centralized nodes/multiple
   R-nicknames.

9.  Coexisting with the CMT Solution (RFC 7783)

                    +------+    +------+
                    |(RB6) |    |(RB7) |
                    +------+    +------+
      ------------------|-----------|----------------------
      |            |              |          |            |
   +------+    +------+       +------+    +------+     +------+
   |(RB1) |    |(RB2) |       |(RB3) |    |(RB4) |     |(RB5) |
   +------+    +------+       +------+    +------+     +------+
       |          |               |          |            |
       ------------               -------------------------
             |                               |
         +------+                         +------+
         |  CE1 |                         |  CE2 |
         +------+                         +------+

       Figure 2: CMT and Centralized Replication Coexisting Scenario




Hao, et al.                  Standards Track                   [Page 11]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   Both the centralized replication solution and the Coordinated
   Multicast Trees (CMT) solution from [RFC7783] rely on using pseudo-
   nicknames to avoid MAC flip-flop on remote RBridges.  These two
   solutions can coexist in a single TRILL campus.  Each solution can be
   selected by each active-active edge group of RBridges independently.

   As illustrated in Figure 2, RB1 and RB2 use CMT for CE1's active-
   active access; RB3, RB4, and RB5 use the centralized replication for
   CE2's active-active access.

   For the centralized replication solution, edge group RBridges MUST
   announce the local pseudo-nickname using the Nickname Flags APPsub-
   TLV with C flag set.  A nickname with the C flag set is called a
   "C-nickname".  A transit RBridge will perform the centralized
   replication-specific RPF check algorithm if it receives TRILL data
   packets with a C-nickname as the ingress nickname.

   An edge group using CMT [RFC7783] MUST NOT set the C flag on the
   pseudo-nickname it is using.  This is already mandatory behavior
   because any RBridge originating a Nickname Flags APPsub-TLV is
   required by [RFC7780] to set any flag bit it does not know about to
   zero.  If an edge RBridge using CMT [RFC7783] nevertheless set the
   C-bit for an edge group pseudo-nickname, it is very likely that BUM
   traffic encapsulated with that nickname as ingress would be
   incorrectly pruned early in its distribution and would, thus, reach
   few (possibly none) of its intended targets.  To avoid confusion, a
   pseudo-nickname MUST NOT be shared between a centralized replication
   edge group and a CMT-based edge group.

10.  Network Upgrade Analysis

   Centralized nodes will typically need software and hardware upgrades
   to support centralized replication, which stitches together the TRILL
   unicast traffic decapsulation process and the process of normal TRILL
   multicast traffic forwarding along the distribution tree.

   Active-active connection edge RBridges will typically need software
   and hardware upgrades to support unicast TRILL encapsulation for BUM
   traffic; the process is similar to other head-end replication
   processes.

   Transit nodes typically need only a software upgrade to support the
   changed RPF port calculation algorithm.








Hao, et al.                  Standards Track                   [Page 12]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


11.  TRILL Protocol Extensions

   Two new flags, "R" and "C", are specified in the Nickname Flags
   APPsub-TLV [RFC7780].  A nickname with the R flag set is called an
   "R-nickname" and a nickname with the C flag set is called a
   "C-nickname".  The R-nickname is a specialized nickname attached to a
   centralized node to differentiate unicast TRILL-encapsulated BUM
   traffic from normal unicast TRILL traffic.  The C-nickname flag is
   set on the pseudo-nickname for each edge group that uses the
   centralized replication.  A C-nickname is a specialized pseudo-
   nickname for which transit RBridges perform a different RPF check
   algorithm for TRILL data packets with the C-nickname in the ingress
   nickname field.

   When active-active edge RBridges use centralized replication to
   forward BUM traffic, the R-nickname is used as the egress nickname
   and the C-nickname is used as ingress nickname in the TRILL header
   for the unicast TRILL encapsulation of BUM traffic.

11.1.  "R" and "C" Flag in the Nickname Flags APPsub-TLV

   If this APPsub-TLV is being advertised by an RBridge that does not
   have the nickname appearing in the Nickname Flags APPsub-TLV, the R
   and C flag bits in the APPsub-TLV MUST be treated as if they were
   zero.  If an RBridge that is not a distribution tree root advertises
   an R-nickname, that nickname MUST NOT be treated as an R-nickname but
   rather as an ordinary nickname; that is, the R-nickname flag is
   ignored for all purposes if the nickname is held by an RBridge that
   is not a tree root.

              0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
             +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
             |   Nickname                                    |
             +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
             |IN|SE|R | C|    RESV                           |
             +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
                             NICKFLAG RECORD

   o  R = If the R flag is one, it indicates that the advertising TRILL
      switch holding Nickname is a centralized replication node, and
      Nickname is used as egress nickname for edge group RBridges to
      inject BUM traffic into the TRILL campus when the edge group
      RBridges use this centralized replication solution for active-
      active access.  If the R flag is zero, that nickname will not be
      used for that purpose.






Hao, et al.                  Standards Track                   [Page 13]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


   o  C = If C flag is one, it indicates that the TRILL traffic with
      this nickname as an ingress nickname requires the special RPF
      check algorithm specified in Section 3.  If the C flag is zero,
      that nickname will not be used for that purpose.

   Due to errors or due to transient inconsistent LSPs when the link
   state database is converging after a configuration change or the
   like, it is possible for there to be inconsistent Nickname Flags
   APPsub-TLVs for the same nickname.  In this case, it is RECOMMENDED
   that the nickname be treated as if the R / C flag were set if any
   Nickname Flags APPsub-TLV for that nickname has the R / C flag set.

12.  Security Considerations

   This document does not introduce any extra security risks.  A rogue
   RBridge that is a tree root can attract traffic by advertising an
   R-nickname.  However, this does not represent a substantial increase
   in risk as RBridges could cause problems in a number of other ways by
   advertising low-cost adjacencies or making themselves the highest
   priority tree root or the like.  In general, the protection against
   an untrusted device acting as an RBridge and wrecking havoc is to use
   IS-IS authentication [RFC5310] and configure and administer the TRILL
   campus so that only trusted RBridges have the authentication key.

   For general TRILL security considerations, see [RFC6325].  For
   security considerations related to pseudo-nickname active-active, see
   [RFC7781].

13.  IANA Considerations

   IANA has assigned two bits in the Nickname Flags APPsubTLV flags for
   the R and C bits discussed in Section 11.1 and update the "NickFlags
   Bits" subregistry of the "Transparent Interconnection of Lots of
   Links (TRILL) Parameters" registry as follows:

              Bit  Mnemonic   Description          Reference
             ---  --------  --------------------  -----------
               2    R        Replication Nickname  [RFC8361]
               3    C        Special RPF Check     [RFC8361]












Hao, et al.                  Standards Track                   [Page 14]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


14.  References

14.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5310]  Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
              and M. Fanto, "IS-IS Generic Cryptographic
              Authentication", RFC 5310, DOI 10.17487/RFC5310, February
              2009, <https://www.rfc-editor.org/info/rfc5310>.

   [RFC6165]  Banerjee, A. and D. Ward, "Extensions to IS-IS for Layer-2
              Systems", RFC 6165, DOI 10.17487/RFC6165, April 2011,
              <https://www.rfc-editor.org/info/rfc6165>.

   [RFC6325]  Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A.
              Ghanwani, "Routing Bridges (RBridges): Base Protocol
              Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011,
              <https://www.rfc-editor.org/info/rfc6325>.

   [RFC7172]  Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R., and
              D. Dutt, "Transparent Interconnection of Lots of Links
              (TRILL): Fine-Grained Labeling", RFC 7172,
              DOI 10.17487/RFC7172, May 2014,
              <https://www.rfc-editor.org/info/rfc7172>.

   [RFC7176]  Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt,
              D., and A. Banerjee, "Transparent Interconnection of Lots
              of Links (TRILL) Use of IS-IS", RFC 7176,
              DOI 10.17487/RFC7176, May 2014,
              <https://www.rfc-editor.org/info/rfc7176>.

   [RFC7780]  Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A.,
              Ghanwani, A., and S. Gupta, "Transparent Interconnection
              of Lots of Links (TRILL): Clarifications, Corrections, and
              Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016,
              <https://www.rfc-editor.org/info/rfc7780>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.







Hao, et al.                  Standards Track                   [Page 15]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


14.2.  Informative References

   [RFC7781]  Zhai, H., Senevirathne, T., Perlman, R., Zhang, M., and Y.
              Li, "Transparent Interconnection of Lots of Links (TRILL):
              Pseudo-Nickname for Active-Active Access", RFC 7781,
              DOI 10.17487/RFC7781, February 2016,
              <https://www.rfc-editor.org/info/rfc7781>.

   [RFC7379]  Li, Y., Hao, W., Perlman, R., Hudson, J., and H. Zhai,
              "Problem Statement and Goals for Active-Active Connection
              at the Transparent Interconnection of Lots of Links
              (TRILL) Edge", RFC 7379, DOI 10.17487/RFC7379, October
              2014, <https://www.rfc-editor.org/info/rfc7379>.

   [RFC7783]  Senevirathne, T., Pathangi, J., and J. Hudson,
              "Coordinated Multicast Trees (CMT) for Transparent
              Interconnection of Lots of Links (TRILL)", RFC 7783,
              DOI 10.17487/RFC7783, February 2016,
              <https://www.rfc-editor.org/info/rfc7783>.

   [IEEE802.1AX]
              IEEE, "IEEE Standard for Local and metropolitan area
              networks -- Link Aggregation", IEEE 802.1AX,
              DOI 10.1109/IEEESTD.2017.7888436, March 2017,
              <http://ieeexplore.ieee.org/document/7888436/>.


























Hao, et al.                  Standards Track                   [Page 16]
^L
RFC 8361         Centralized Replication for BUM Traffic      April 2018


Acknowledgments

   The authors wish to acknowledge the important contributions of Donald
   Eastlake, Hongjun Zhai, Xiaomin Wu, Liang Xia, and Francis Dupont.

Authors' Addresses

   Weiguo Hao
   Huawei Technologies
   101 Software Avenue,
   Nanjing 210012
   China

   Email: haoweiguo@huawei.com


   Yizhou Li
   Huawei Technologies
   101 Software Avenue,
   Nanjing 210012
   China

   Email: liyizhou@huawei.com


   Muhammad Durrani
   Equinix

   Email: mdurrani@equinix.com


   Sujay Gupta
   IP Infusion
   RMZ Centennial
   Mahadevapura Post
   Bangalore - 560048
   India

   Email: sujay.gupta@ipinfusion.com


   Andrew Qu
   MediaTec

   Email: laodulaodu@gmail.com






Hao, et al.                  Standards Track                   [Page 17]
^L