summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8099.txt
blob: 30d80dd32234b3a142ebe81392d90f8c279c0eac (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
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
Internet Engineering Task Force (IETF)                           H. Chen
Request for Comments: 8099                                         R. Li
Category: Experimental                               Huawei Technologies
ISSN: 2070-1721                                                A. Retana
                                                     Cisco Systems, Inc.
                                                                 Y. Yang
                                                                Sockrate
                                                                  Z. Liu
                                                            China Mobile
                                                           February 2017


                     OSPF Topology-Transparent Zone

Abstract

   This document presents a Topology-Transparent Zone (TTZ) in an OSPF
   area.  A TTZ comprises a group of routers and a number of links
   connecting these routers.  Any router outside of the zone is not
   aware of the zone.  A TTZ hides the internal topology of the TTZ from
   the outside.  It does not directly advertise any internal information
   about the TTZ to a router outside of the TTZ.  The information about
   the links and routers such as a link down inside the TTZ is not
   advertised to any router outside of the TTZ.

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 7841.

   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/rfc8099.









Chen, et al.                  Experimental                      [Page 1]
^L
RFC 8099                Topology-Transparent Zone          February 2017


Copyright Notice

   Copyright (c) 2017 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.





































Chen, et al.                  Experimental                      [Page 2]
^L
RFC 8099                Topology-Transparent Zone          February 2017


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Conventions Used in This Document . . . . . . . . . . . . . .   5
   4.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   5
   5.  Topology-Transparent Zone . . . . . . . . . . . . . . . . . .   5
     5.1.  Overview of Topology-Transparent Zone . . . . . . . . . .   5
     5.2.  TTZ Example . . . . . . . . . . . . . . . . . . . . . . .   6
   6.  Extensions to OSPF Protocols  . . . . . . . . . . . . . . . .   8
     6.1.  General Format of TTZ LSA . . . . . . . . . . . . . . . .   8
     6.2.  TTZ ID TLV  . . . . . . . . . . . . . . . . . . . . . . .   9
     6.3.  TTZ Router TLV  . . . . . . . . . . . . . . . . . . . . .   9
     6.4.  TTZ Options TLV . . . . . . . . . . . . . . . . . . . . .  10
     6.5.  Link Scope TTZ LSA  . . . . . . . . . . . . . . . . . . .  12
   7.  Constructing LSAs for TTZ . . . . . . . . . . . . . . . . . .  12
     7.1.  TTZ Migration Process . . . . . . . . . . . . . . . . . .  13
   8.  Establishing Adjacencies  . . . . . . . . . . . . . . . . . .  14
     8.1.  Discovery of TTZ Neighbors  . . . . . . . . . . . . . . .  14
     8.2.  Adjacency between TTZ Edge and TTZ-External Router  . . .  17
   9.  Advertisement of LSAs . . . . . . . . . . . . . . . . . . . .  17
     9.1.  Advertisement of LSAs within TTZ  . . . . . . . . . . . .  17
     9.2.  Advertisement of LSAs through TTZ . . . . . . . . . . . .  18
   10. Computation of Routing Table  . . . . . . . . . . . . . . . .  18
   11. Operations  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     11.1.  Configuring TTZ  . . . . . . . . . . . . . . . . . . . .  18
     11.2.  Migration to TTZ . . . . . . . . . . . . . . . . . . . .  19
     11.3.  Adding a Router into TTZ . . . . . . . . . . . . . . . .  21
   12. Manageability Considerations  . . . . . . . . . . . . . . . .  22
   13. Security Considerations . . . . . . . . . . . . . . . . . . .  22
   14. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  22
   15. References  . . . . . . . . . . . . . . . . . . . . . . . . .  23
     15.1.  Normative References . . . . . . . . . . . . . . . . . .  23
     15.2.  Informative References . . . . . . . . . . . . . . . . .  23
   Appendix A.  Prototype Implementation . . . . . . . . . . . . . .  24
     A.1.  What Is Implemented and Tested  . . . . . . . . . . . . .  24
     A.2.  Implementation Experience . . . . . . . . . . . . . . . .  25
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  26
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  26
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  27











Chen, et al.                  Experimental                      [Page 3]
^L
RFC 8099                Topology-Transparent Zone          February 2017


1.  Introduction

   Networks expand as business grows and traffic increases.  For
   scalability and manageability, a hierarchical network architecture is
   usually deployed in OSPF networks by regrouping routers into areas,
   which is often challenging and causes service interruptions.

   At first, reorganizing a network from one area into multiple areas or
   from a number of existing areas into even more areas is a very
   challenging and time-consuming task since it involves significant
   network architecture changes.  Considering the one area case,
   originally the network has only one area, which is the backbone.
   This original backbone area will be reorganized into a new backbone
   and a number of non-backbone areas.  In general, each of the
   non-backbone areas is connected to the new backbone area through the
   Area Border Routers (ABRs) between the non-backbone and the backbone
   area (refer to RFC 2328, Section 3).  It demands careful redesigning
   of network topology in advance to guarantee backbone area continuity
   and non-backbone-area reachability, and it requires significant
   modifications of configurations on many routers to ensure consistent
   routing.

   Second, the services carried by the network may be interrupted while
   the network is being reorganized from one area into multiple areas or
   from a number of existing areas into even more areas since every OSPF
   interface with an area change is going down with its old area and
   then up with a new area.

   This document presents a Topology-Transparent Zone (TTZ) in an OSPF
   area and describes extensions to OSPFv2 for supporting the TTZ, which
   is scalable and resolves the issues above.  A TTZ hides the internal
   topology of the TTZ from the outside.  It does not directly advertise
   any internal information about the TTZ to any router outside of the
   TTZ.

2.  Terminology

   TTZ link or TTZ-internal link:
       A link whose ends are within a single TTZ.

   TTZ-internal router:
       A router whose links are TTZ-internal links inside a single TTZ.

   TTZ-external router:
       A router outside of a TTZ that has no TTZ-internal links.

   TTZ-external link:
       A link not configured to be within a TTZ.



Chen, et al.                  Experimental                      [Page 4]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   TTZ edge router:
       A router is called a TTZ edge router if some, but not all, of its
       links are within a single TTZ.

   TTZ router:
       A TTZ-internal router or a TTZ edge router.

3.  Conventions Used in This Document

   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 [RFC2119].

4.  Requirements

   A Topology-Transparent Zone may be deployed to resolve some critical
   issues in existing networks and future networks.  The requirements
   for a TTZ are listed as follows:

   o  Routers outside a TTZ MUST NOT require any changes to operate with
      the TTZ.

   o  A TTZ MUST be enclosed in a single area.

   o  A TTZ MUST hide the topology of the TTZ from any router outside of
      the TTZ.

5.  Topology-Transparent Zone

5.1.  Overview of Topology-Transparent Zone

   A Topology-Transparent Zone is identified by a TTZ identifier (ID),
   and it consists of a group of routers and a number of links
   connecting the routers.  A TTZ MUST be contained within an OSPF area.

   A TTZ ID is a 32-bit number that is unique for identifying a TTZ.
   The TTZ ID SHOULD NOT be 0 in order to avoid confusion with Area 0.
   The same TTZ ID MUST be configured on the routers and/or links that
   make up a specific instance of a TTZ.  All TTZ instances in an OSPF
   area MUST be unique.

   In addition to having similar functions of an OSPF area, an OSPF TTZ
   makes some improvements on an OSPF area, which include:

   o  An OSPF TTZ represents a set of TTZ edge routers, connected by a
      full mesh of virtual connections between them.





Chen, et al.                  Experimental                      [Page 5]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   o  Non-TTZ link-state information is handled as normal.  TTZ routers
      receive the link-state information about the topology outside of
      the TTZ, store the information, and flood the information through
      the TTZ to the routers outside of the TTZ.

5.2.  TTZ Example

   The figure below shows an area containing a TTZ: TTZ 600.

                 TTZ 600                       ---- TTZ-Internal Link
                   \                           ==== Normal Link
     Area X         \ ^~^~^~^~^~^~^~^~^~^~^~^~
                     (                        )
    ===[R15]========(==[T61]----[T81]---[T63]==)======[R29]===
        ||         (   |    \          /    |   )       ||
        ||         (   |     \        /     |   )       ||
        ||         ( [T75]    \      /      |   )       ||
        ||         (   |    ___\    /       |   )       ||
        ||         (   |   /   [T71]     [T79]  )       ||
        ||         (   | [T73] /    \       |   )       ||
        ||         (   |      /      \      |   )       ||
        ||         (   |     /        \     |   )       ||
        ||         (   |    /          \    |   )       ||
    ===[R17]========(==[T65]---[T77]----[T67]==)======[R31]===
         \\          (//                    \\)       //
          ||         //v~v~v~v~v~v~v~v~v~v~v~\\      ||
          ||        //                        \\     ||
          ||       //                          \\    ||
           \\     //                            \\  //
       ======[R23]==============================[R25]=====
             //                                     \\
            //                                       \\

   All the routers in the figure are in area X.  Routers with T (i.e.,
   T61, T63, T65, T67, T71, T73, T75, T77, T79, and T81) are also in TTZ
   600, which contains the TTZ-internal links connecting them.  To
   create a TTZ, we need to configure it (refer to Section 11).

   There are two types of routers in a TTZ: TTZ-internal and TTZ edge
   routers.  TTZ 600 has four TTZ edge routers: T61, T63, T65, and T67.
   Each of them has at least one adjacent router in TTZ 600 and one
   adjacent router outside of TTZ 600.  For instance, router T61 is a
   TTZ edge router since it has an adjacent router, R15, outside of TTZ
   600 and three adjacent routers T71, T75, and T81 in TTZ 600.

   In addition, TTZ 600 comprises six TTZ-internal routers: T71, T73,
   T75, T77, T79, and T81.  Each of them has all its adjacent routers in
   TTZ 600.  For instance, router T71 is a TTZ-internal router since its



Chen, et al.                  Experimental                      [Page 6]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   adjacent routers, T61, T63, T65, T67, and T73, are all in TTZ 600.
   It should be noted that, by definition, a TTZ-internal router cannot
   also be an ABR.

   A TTZ hides the internal topology of the TTZ from the outside.  It
   does not directly advertise any internal information about the TTZ to
   any router outside of the TTZ.

   For instance, TTZ 600 does not send the information about TTZ-
   internal router T71 to any router outside of TTZ 600; it does not
   send the information about the link between TTZ routers T61 and T71
   to any router outside of TTZ 600.

   The figure below illustrates area X from the point of view of a
   router outside of TTZ 600 after TTZ 600 is created.

     Area X                                    ==== Normal Link

    ===[R15]===========[T61]=========[T63]=========[R29]===
        ||             ||  \\      //   ||           ||
        ||             ||   \\    //    ||           ||
        ||             ||    \\  //     ||           ||
        ||             ||     \\//      ||           ||
        ||             ||      //\      ||           ||
        ||             ||     // \\     ||           ||
        ||             ||    //   \\    ||           ||
        ||             ||   //     \\   ||           ||
        ||             ||  //       \\  ||           ||
    ===[R17]===========[T65]=========[T67]=========[R31]===
         \\           //                  \\        //
          ||         //                    \\      ||
          ||        //                      \\     ||
          ||       //                        \\    ||
           \\     //                          \\  //
       ======[R23]============================[R25]=====
             //                                   \\
            //                                     \\

   From a router outside of the TTZ, a TTZ is seen as the TTZ edge
   routers connected to each other.  For instance, router R15 sees that
   T61, T63, T65, and T67 are connected to each other.

   In addition, a router outside of the TTZ sees TTZ edge routers having
   normal connections to the routers outside of the TTZ.  For example,
   router R15 sees that T61, T63, T65, and T67 have the normal
   connections to R15; R29; R17 and R23; and R25 and R31, respectively.





Chen, et al.                  Experimental                      [Page 7]
^L
RFC 8099                Topology-Transparent Zone          February 2017


6.  Extensions to OSPF Protocols

   The link-state information about a TTZ includes router Link-State
   Advertisements (LSAs), which can be contained and advertised in
   opaque LSAs [RFC5250] within the TTZ.  Some control information
   regarding a TTZ can also be contained and advertised in opaque LSAs
   within the TTZ.  These opaque LSAs are called TTZ opaque LSAs or TTZ
   LSAs for short.

6.1.  General Format of TTZ LSA

   The following is the general format of a TTZ LSA.  It has a Link-
   State (LS) Type = 10/9 and TTZ LSA Type, and it contains a number of
   TLVs.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            LS age             |     Options   | LS Type = 10/9|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |TTZ LSA Type(9)|                   Instance ID                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Advertising Router                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      LS Sequence Number                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         LS checksum           |           Length              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                              TLVs                             ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   There are three TTZ LSAs of LS Type 10 defined:

   o  TTZ router LSA: a TTZ LSA containing a TTZ ID TLV and a TTZ Router
      TLV.

   o  TTZ control LSA: a TTZ LSA containing a TTZ ID TLV and a TTZ
      Options TLV.

   o  TTZ indication LSA: a TTZ LSA containing a TTZ ID TLV with E = 0,
      which indicates that the router originating this LSA is a TTZ-
      internal router.

   There is one TTZ LSA of LS Type 9:

   o  TTZ discovery LSA: a TTZ LSA containing a TTZ ID TLV and an
      optional TTZ Options TLV.



Chen, et al.                  Experimental                      [Page 8]
^L
RFC 8099                Topology-Transparent Zone          February 2017


6.2.  TTZ ID TLV

   A TTZ ID TLV has the following format.  It contains a TTZ ID (refer
   to Section 5.1) and some flags.  It has the TLV-Length of 8 octets.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      TTZ ID TLV Type (1)      |        TLV-Length (8)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            TTZ ID                             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                 Reserved (MUST be zero)                   |E|Z|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      E = 1: Indicating a router is a TTZ edge router
      Z = 1: Indicating a router has migrated to TTZ

   When a TTZ router originates a TTZ LSA containing a TTZ ID TLV, it
   MUST set flag E to 1 in the TTZ ID TLV if it is a TTZ edge router and
   to 0 if it is a TTZ-internal router.  It MUST set flag Z to 1 after
   it has migrated to TTZ and to 0 before it migrates to TTZ or after it
   rolls back from TTZ (refer to Section 6.4).

6.3.  TTZ Router TLV

   The format of a TTZ Router TLV is as follows.  It has the same
   content as a standard OSPF router LSA (RFC 2328) with the following
   modifications.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      TTZ RT TLV Type (2)      |          TLV-Length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     0   |V|E|B|        0      |            # links            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Link ID                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Link Data                             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |     # TOS     |            metric             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                              ...                              ~

      Note: TOS = Type of Service





Chen, et al.                  Experimental                      [Page 9]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   For a router link, the existing 8-bit Link Type field for a router
   link is split into two fields as follows:

         0   1   2   3   4   5   6   7
       +---+---+---+---+---+---+---+---+
       | I |         Type-1            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

       I bit flag:
         1: Router link is a TTZ-internal link.
         0: Router link is a TTZ-external link.
       Type-1: The kind of the link.  The values for Type-1 are the same
               as those for Type defined in RFC 2328, Section 12.4.1.

   The Link Type field is 8 bits and the values 128-255 of the field are
   reserved (refer to [RFC4940]), which allows the reuse of the bottom 7
   bits to indicate the type of TTZ-internal or external link.

6.4.  TTZ Options TLV

   The format of a TTZ Options TLV is as follows.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      TTZ OP TLV Type (3)      |          TLV-Length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  OP |                 Reserved (MUST be zero)                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

       OP Value    Meaning (Operation)
       0x001 (T):  Advertising TTZ Topology Information for Migration
       0x010 (M):  Migrating to TTZ
       0x011 (N):  Advertising Normal Topology Information for Rollback
       0x100 (R):  Rolling Back from TTZ

   An OP field of 3 bits is defined.  It may have a value of 0x001 for
   T, 0x010 for M, 0x011 for N, or 0x100 for R, which indicates one of
   the four operations above.  When any of the other values is received,
   it is ignored.

   Advertising TTZ Topology Information for Migration (T):
       After a user configures a TTZ router to advertise TTZ topology
       information, advertising TTZ topology information for migration
       is triggered.  The TTZ router originates a TTZ control LSA having
       a TTZ Options TLV with OP for T.  It also originates its other





Chen, et al.                  Experimental                     [Page 10]
^L
RFC 8099                Topology-Transparent Zone          February 2017


       TTZ LSA such as a TTZ router LSA or TTZ indication LSA.  When
       another TTZ router receives the LSA with OP for T, it originates
       its TTZ LSA as described in Section 7.

   Migrating to TTZ (M):
       After a user configures a TTZ router to migrate to TTZ, migrating
       to TTZ is triggered.  The TTZ router originates a TTZ control LSA
       having a TTZ Options TLV with OP for M and migrates to TTZ.  When
       another TTZ router receives the LSA with OP for M, it also
       migrates to TTZ.  When a router migrates to TTZ, it computes
       routes using the TTZ topology and the topology outside of the
       TTZ.  For a TTZ-internal router, it also updates its TTZ
       indication LSA with Z = 1.  For a TTZ edge router, it updates its
       TTZ router LSA with Z = 1 and its router LSA for virtualizing the
       TTZ.  A TTZ router determines whether it is internal or edge
       based on configurations (refer to Section 11.1).

   Advertising Normal Topology Information for Rollback (N):
       After a user configures a TTZ router to advertise normal topology
       information, advertising Normal topology information for rollback
       is triggered.  The TTZ router originates a TTZ control LSA having
       a TTZ Options TLV with OP for N.  It also advertises its normal
       LSAs such as its normal router LSA and stops advertising its
       other TTZ LSAs.  When another TTZ router receives the LSA with OP
       for N, it forwards the LSA, advertises its normal LSAs, and stops
       advertising its TTZ LSAs.

   Rolling back from TTZ (R):
       After a user configures a TTZ router to roll back from TTZ,
       rolling back from TTZ is triggered.  The TTZ router originates a
       TTZ control LSA having a TTZ Options TLV with OP for R and rolls
       back from TTZ.  When another TTZ router receives the LSA with OP
       for R, it also rolls back from TTZ.

   After a TTZ router originates a TTZ control LSA in response to a
   configuration described above to control TTZ, it flushes the TTZ
   control LSA if OP in the LSA is set for the configuration and the
   configuration is removed.













Chen, et al.                  Experimental                     [Page 11]
^L
RFC 8099                Topology-Transparent Zone          February 2017


6.5.  Link Scope TTZ LSA

   A TTZ LSA of LS Type 9 has the following format.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            LS age             |     Options   | LS Type = 9   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |TTZ LSA Type(9)|                   Instance ID                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Advertising Router                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      LS Sequence Number                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         LS checksum           |           Length              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                           TTZ ID TLV                          ~
      +---------------------------------------------------------------+
      |                                                               |
      ~                        (TTZ Options TLV)                      ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   It contains a mandatory TTZ ID TLV, which may be followed by an
   optional TTZ Options TLV.  It is used to discover a TTZ neighbor.

7.  Constructing LSAs for TTZ

   For a TTZ, its topology is represented by the LSAs generated by its
   TTZ routers for the link states in the TTZ, which include TTZ router
   LSAs by TTZ edge routers, TTZ indication LSAs by TTZ-internal
   routers, normal router LSAs, and network LSAs.  The TTZ router LSAs
   and TTZ indication LSAs MUST be generated after advertising TTZ
   topology information for migration is triggered.

   A TTZ edge router generates a TTZ router LSA that has a TTZ ID TLV
   and a TTZ Router TLV.  The former includes the ID of the TTZ to which
   the router belongs and flag E is set to 1, which indicates the
   originator of the LSA is a TTZ edge router.  The TTZ Router TLV
   contains the TTZ-external links to the routers outside of the TTZ and
   the TTZ-internal links to the routers inside of the TTZ as described
   in Section 6.  The TTZ router LSA containing this TLV is constructed
   and advertised within the TTZ.

   A TTZ-internal router generates a TTZ indication LSA that has a TTZ
   ID TLV containing the ID of the TTZ to which the router belongs and
   flag E is set to 0, which indicates the originator of the LSA is a



Chen, et al.                  Experimental                     [Page 12]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   TTZ-internal router.  For a TTZ-internal router, its regular router
   LSA is still generated.  If a TTZ router is a Designated Router (DR),
   it originates its regular network LSA.

   After receiving a trigger to migrate to TTZ such as a TTZ control LSA
   with OP for M, a TTZ edge router MUST originate its normal router LSA
   for virtualizing a TTZ, which comprises three groups of links in
   general.

   The first group is the router links connecting the TTZ-external
   routers.  These router links are normal router links.  There is a
   router link for every adjacency between this TTZ edge router and a
   TTZ-external router.

   The second group is the "virtual" router links connecting to the
   other TTZ edge routers.  For each of the other TTZ edge routers,
   there is a corresponding point-to-point (P2P) router link to it from
   this TTZ edge router.  The cost of the link is the cost of the
   shortest path from this TTZ edge router to the other TTZ edge router
   within the TTZ.

   In addition, the LSA may contain a third group of links, which are
   the stub links for the loopback addresses inside the TTZ to be
   accessed by nodes outside of the TTZ.

7.1.  TTZ Migration Process

   After migration to TTZ is triggered, a TTZ router computes routes
   using its TTZ topology (refer to Section 10), and a TTZ edge router
   originates its normal router LSA for virtualizing the TTZ in two
   steps:

   Step 1:  The router updates its router LSA by adding a P2P link to
      each of the other known edge routers in the TTZ and also by adding
      the stub links for the loopback addresses in the TTZ to be
      accessed outside of the TTZ according to configuration policies of
      operators.

   Step 2:  After MaxLSAGenAdvTime (0.3 s) or sr-time + MaxLSAAdvTime
      (0.1 s), it removes the TTZ links from its router LSA, where
      sr-time is the time from updating its router LSA to receiving the
      ack for its router LSA and receiving the updated router LSAs
      originated by the other TTZ edge routers.  In other words, it
      removes the TTZ links from its router LSA after sending its
      updated router LSA and receiving the updated router LSAs
      originated by the other TTZ edge routers for MaxLSAAdvTime or
      after sending its updated router LSA for MaxLSAGenAdvTime.
      MaxLSAAdvTime and MaxLSAGenAdvTime SHOULD be set to 100 ms and 300



Chen, et al.                  Experimental                     [Page 13]
^L
RFC 8099                Topology-Transparent Zone          February 2017


      ms, respectively, but MAY be configurable.  The former is the
      maximum time for an LSA to be advertised to all the routers in an
      area.  The latter is the maximum time for all TTZ router LSAs to
      be generated by all TTZ edge routers and advertised to all the
      routers in an area after a first TTZ router LSA is generated.

   This is to avoid a possible route down or change in a TTZ-external
   router while the TTZ is being virtualized.  If each TTZ edge router
   originates its router LSA by adding its P2P links to the other TTZ
   edge routers and removing its TTZ links in one step, a route taking a
   path through the TTZ in the TTZ-external router may be down or
   changed before all the router LSAs generated by the TTZ edge routers
   reach the TTZ-external router.  When the TTZ-external router computes
   routes with some router LSAs originated by the TTZ edge routers,
   bidirectional checks for some of the P2P links will fail.  Thus, the
   route taking the path through the shortest path for the P2P link
   failing the bidirectional check will be down or changed.

   To roll back from a TTZ smoothly after receiving a trigger to roll
   back from TTZ, a TTZ edge router MUST originate its normal router LSA
   in the above two steps in a reverse way.

   Step 1:  Initially, it updates its normal router LSA by adding the
      normal links for the links configured as TTZ links into the LSA.

   Step 2:  It then removes the P2P links to the other edge routers of
      the TTZ for virtualizing the TTZ and the stub links for the
      loopback addresses from its updated router LSA after sending its
      updated router LSA and receiving the updated router LSAs
      originated by the other TTZ edge routers for MaxLSAAdvTime or
      after sending its updated router LSA for MaxLSAGenAdvTime.

8.  Establishing Adjacencies

   This section describes the TTZ adjacencies.

8.1.  Discovery of TTZ Neighbors

   When two routers A and B are connected by a P2P link and have a
   normal adjacency, they TTZ discover each other through a TTZ LSA of
   LS Type 9 with a TTZ ID TLV.  We call this LSA D-LSA for short.

   If two ends of the link have different TTZ IDs or only one end is
   configured with a TTZ ID, TTZ adjacency over the link MUST NOT be
   "formed".






Chen, et al.                  Experimental                     [Page 14]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   If two ends of the link have the same TTZ ID and Z flag value, A and
   B are TTZ neighbors.  The following is a sequence of events related
   to TTZ for this case.

           A                                         B
      Configure TTZ                             Configure TTZ
                          D-LSA (TTZ ID=100)
                        ----------------------> Same TTZ ID and Z
                                                A is B's TTZ Neighbor
                          D-LSA (TTZ ID=100)
      Same TTZ ID and Z <----------------------
      B is A's TTZ Neighbor

   A sends B a D-LSA with TTZ ID after the TTZ is configured on it.  B
   sends A a D-LSA with TTZ ID after the TTZ is configured on it.

   When A receives the D-LSA from B and determines they have the same
   TTZ ID and Z flag value, B is A's TTZ neighbor.  A also sends B all
   the TTZ LSAs it has and originates its TTZ LSA when one of the
   following conditions is met.

   o  Z = 0 and there is a TTZ LSA with OP for T.

   o  Z = 1.

   B is symmetric to A and acts similarly to A.

   If two ends of the link have the same TTZ ID but the Z flags are
   different, a TTZ adjacency over the link MUST be "formed" in the
   following steps.  Suppose that A has migrated to TTZ and B has not
   (i.e., flag Z in A's D-LSA is 1, and flag Z in B's D-LSA is 0).

           A                                          B
      Configure TTZ                              Configure TTZ
                         D-LSA(TTZ ID=100,Z=1)
                        ----------------------> Same TTZ ID, but
                                                different Z
                                                A is B's TTZ Neighbor
                         D-LSA(TTZ ID=100,Z=0)
      Same TTZ ID, but <----------------------
      different Z
      B is A's TTZ Neighbor
                               TTZ LSAs
                       ----------------------->
                               TTZ LSAs
                       <-----------------------





Chen, et al.                  Experimental                     [Page 15]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   When A receives the D-LSA from B and determines they have the same
   TTZ ID but its Z = 1 and B's Z = 0, A sends B all the TTZ LSAs it has
   and triggers B to migrate to TTZ.  A updates and sends B its D-LSA by
   adding a TTZ Options TLV with OP for M after sending B all the TTZ
   LSAs.

                         D-LSA(TTZ ID=100,OP=M)
      Add TTZ Options  -----------------------> Migrate to TTZ
      TLV with OP for M
                         D-LSA(TTZ ID=100,Z=1)  Migrated to TTZ
                       <----------------------- Set Z=1

                         D-LSA(TTZ ID=100,Z=1)
      Remove           ----------------------->
      TTZ Options TLV

   When B receives the D-LSA from A and determines they have the same
   TTZ ID but its Z = 0 and A's Z = 1, B sends A all the TTZ LSAs it
   has.

   When B receives the D-LSA from A with OP for M, it starts to migrate
   to TTZ.  B updates and advertises its LSAs as needed.

   After receiving B's D-LSA with Z = 1, A updates and sends B its D-LSA
   by removing the TTZ Options TLV.  It also updates and advertises its
   LSAs as needed.

   When a number of routers connected through a broadcast link have
   normal adjacencies among them, they also TTZ discover each other
   through D-LSAs.  The Designated Router (DR) for the link MUST "form"
   TTZ adjacencies with the other routers if all the routers attached to
   the link have the same TTZ ID configured on the connections to the
   link.  Otherwise, the DR MUST NOT "form" any TTZ adjacency with any
   router attached to the link.

   When a number of routers connected through a broadcast link have TTZ
   adjacencies among them, if a misconfigured router is introduced on
   the broadcast link, the DR for the link MUST NOT "form" any TTZ
   adjacency with this misconfigured router.

   For routers connected via a link without any adjacency among them,
   they TTZ discover each other through D-LSAs in the same way as
   described above after they form a normal adjacency.

   A TTZ adjacency over a link MUST be removed when one of the following
   events happens.

   o  TTZ ID on one end of the link is changed to a different one.



Chen, et al.                  Experimental                     [Page 16]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   o  TTZ ID on one end of the link is removed.

   o  The D-LSA is not received after the D-LSA-MAX-RETRANSMIT-TIME or
      is explicitly flushed.  The D-LSA-MAX-RETRANSMIT-TIME SHOULD be
      set to 60 minutes, but MAY be configurable.

   o  Normal adjacency over the link is down.

   When the TTZ ID on one end of the link is removed, the corresponding
   D-LSA is flushed.

8.2.  Adjacency between TTZ Edge and TTZ-External Router

   A TTZ edge router forms an adjacency with any TTZ-external router to
   which it is connected.

   When the TTZ edge router synchronizes its link-state database with
   the TTZ-external router, it sends the TTZ-external router the
   information about all the LSAs except for the LSAs belonging to the
   TTZ that are hidden from any router outside of the TTZ.

   At the end of the link-state database synchronization, the TTZ edge
   router originates its own router LSA for virtualizing the TTZ and
   sends this LSA to its adjacent routers, including the TTZ-external
   router.

9.  Advertisement of LSAs

   LSAs can be divided into a couple of classes according to their
   Advertisements.  The first class of LSAs is advertised within a TTZ.
   The second is advertised through a TTZ.

9.1.  Advertisement of LSAs within TTZ

   Any LSA about a link state in a TTZ is advertised only within the
   TTZ.  It is not advertised to any router outside of the TTZ.  For
   example, a router LSA generated for a TTZ-internal router is
   advertised only within the TTZ.

   Any network LSA generated for a broadcast or Non-Broadcast Multi-
   Access (NBMA) network in a TTZ is advertised only within the TTZ.  It
   is not advertised outside of the TTZ.

   Any opaque LSA generated for a TTZ-internal TE link is advertised
   only within the TTZ.






Chen, et al.                  Experimental                     [Page 17]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   After migrating to TTZ, every edge router of a TTZ MUST NOT advertise
   any LSA about a link state in the TTZ to any router outside of the
   TTZ.  The TTZ edge router determines whether an LSA is about a TTZ-
   internal link state by checking if the advertising router of the LSA
   is a TTZ-internal router (i.e., there is a TTZ indication LSA
   generated by the TTZ-internal router that has the same advertising
   router).

   For any TTZ LSA originated by a router within the TTZ, every edge
   router of the TTZ MUST NOT advertise it to any router outside of the
   TTZ.

9.2.  Advertisement of LSAs through TTZ

   Any LSA about a link state outside of a TTZ received by an edge
   router of the TTZ is advertised using the TTZ as transit.  For
   example, when an edge router of a TTZ receives an LSA from a router
   outside of the TTZ, it floods it to its neighboring routers both
   inside and outside of the TTZ.  This LSA may be any LSA such as a
   router LSA that is advertised within an OSPF area.

   The routers in the TTZ continue to flood the LSA.  When another edge
   router of the TTZ receives the LSA, it floods the LSA to its
   neighboring routers both inside and outside of the TTZ.

10.  Computation of Routing Table

   After a router migrates to TTZ, the computation of the routing table
   on the router is the same as that described in RFC 2328, Section 16
   with one exception.  The router in a TTZ ignores the router LSAs
   generated by the TTZ edge routers for virtualizing the TTZ.  It
   computes routes using the TTZ router LSAs and the regular LSAs,
   excluding the router LSAs for virtualizing the TTZ.  That is, it
   computes routes using the TTZ topology and the topology outside of
   the TTZ, excluding the links for virtualizing the TTZ.

11.  Operations

11.1.  Configuring TTZ

   This section proposes some options for configuring a TTZ.

   1.  Configuring TTZ on Every Link in TTZ

   If every link in a TTZ is configured with the same TTZ ID as a TTZ
   link, the TTZ is determined.  A router with some links in a TTZ and
   some links not in this TTZ is a TTZ edge router.  A router with all
   its links in a TTZ is a TTZ-internal router.



Chen, et al.                  Experimental                     [Page 18]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   2.  Configuring TTZ on Routers in TTZ

   A same TTZ ID is configured on every TTZ-internal router in a TTZ and
   on every TTZ edge router's links connecting to the routers in the
   TTZ.

   A router configured with the TTZ ID on some of its links is a TTZ
   edge router.  A router configured with the TTZ ID only is a TTZ-
   internal router.  All the links on a TTZ-internal router are TTZ
   links.  This option is simpler than option 1 above.

   For a TTZ edge router X with different TTZ IDs on its different
   links, router X connects two or more different TTZs.  In this case,
   router X originates its router LSA for virtualizing the TTZs.  This
   LSA includes the normal links connecting to routers outside of these
   TTZs and the virtual links to the other edge routers of each of these
   TTZs.  Router X also originates its TTZ router LSA for each of the
   TTZs.  The TTZ router LSA for TTZ N includes the links to the routers
   outside of these TTZs, the virtual links to the other edge routers of
   the other TTZs, and the TTZ links to the routers in TTZ N.

11.2.  Migration to TTZ

   For a group of routers and a number of links connecting the routers
   in an area, making them transfer to work as a TTZ without any service
   interruption takes a few steps or stages.

   At first, a user configures the TTZ feature on every router in the
   TTZ.  In this stage, a router does not originate or advertise its TTZ
   topology information.  It will discover its TTZ neighbors.

   Second, after configuring the TTZ, a user issues a configuration on
   one router in the TTZ, which triggers every router in the TTZ to
   generate and advertise TTZ information among the routers in the TTZ.
   When the router receives the configuration, it originates a TTZ
   control LSA with OP for T (indicating TTZ information generation and
   advertisement for migration).  It also originates its TTZ LSA, such
   as TTZ router LSA or TTZ indication LSA, and advertises the LSA to
   its TTZ neighbors.  When another router in the TTZ receives the LSA
   with OP for T, it originates its TTZ LSA.  In this stage, every
   router in the TTZ has dual roles.  One is to function as a normal
   router.  The other is to generate and advertise TTZ information.

   Third, a user checks whether a router in the TTZ is ready for
   migration to TTZ.  A router in the TTZ is ready after it has received
   all the TTZ LSAs, including TTZ router LSAs from TTZ edge routers and
   TTZ indication LSAs from TTZ-internal routers.  This information may
   be displayed on a router through a configuration.



Chen, et al.                  Experimental                     [Page 19]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   Then, a user activates the TTZ through using a configuration such as
   migrate to TTZ on one router in the TTZ.  The router migrates to TTZ,
   generates and advertises a TTZ control LSA with OP for M (indicating
   Migrating to TTZ) after it receives the configuration.  After another
   router in the TTZ receives the TTZ control LSA with OP for M, it also
   migrates to TTZ.  Thus, activating the TTZ on one TTZ router
   propagates to every router in the TTZ, which migrates to TTZ.

   For an edge router of the TTZ, migrating to work as a TTZ router
   comprises generating a router LSA to virtualize the TTZ and flooding
   this LSA to all its neighboring routers in two steps as described in
   Section 7.

   In normal operations for migration to TTZ and rollback from TTZ, a
   user issues a series of configurations according to certain
   procedures.  In an abnormal case, for example, two conflicting
   configurations are issued on two TTZ routers in a TTZ at the same
   time, and a TTZ router issues an error and logs the error when it
   detects a conflict.

   A conflicting configuration may be detected on a router on which the
   configuration is issued.  Thus, some abnormal cases may be prevented.
   When a configuration for migration/rollback is issued on a router,
   the router checks whether it is in a correct sequence of
   configurations for migration/rollback through using the information
   it has.  For migrating a part of an area to a TTZ, the correct
   sequence of configurations is in general as follows:

   1) configure TTZ on every router in the part of the area to be
      migrated to TTZ;

   2) configure on one router in the TTZ to trigger every router in the
      TTZ to generate and advertise TTZ information for migration; and

   3) configure on one router in the TTZ to trigger every router in the
      TTZ to migrate to TTZ.

   After receiving a configuration on a router to migrate to TTZ, which
   is for 3), the router determines whether 2) is performed by checking
   if it has received/originated TTZ LSAs.  If it has not, it issues an
   error to an operator (generation and advertisement of TTZ information
   for migration to TTZ is not done yet) and rejects the configuration
   at this time.

   After a router receives a TTZ LSA with OP for M for 3) from another
   router, it determines whether 2) is performed by checking if it has
   received/originated TTZ LSAs.  If it has not, it issues an error and
   logs the error, and it does not migrate to TTZ.  In this case, it



Chen, et al.                  Experimental                     [Page 20]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   does not originate its router LSA for virtualizing the TTZ if it is a
   TTZ edge router.

   After receiving a configuration on a router to generate and advertise
   TTZ information, which is for 2), the router determines whether 1) is
   performed by checking if TTZ is configured on it.  If it is not, it
   issues an error to an operator (TTZ is not configured on it yet) and
   rejects the configuration at this time.

   For rolling back from TTZ, the correct sequence of configurations is
   below.

   1) configure on one router in the TTZ to trigger every router in the
      TTZ to advertise normal LSAs and stop advertising TTZ LSAs; and

   2) configure on one router in the TTZ to trigger every router in the
      TTZ to roll back from TTZ.

   After receiving a configuration on a router to roll back from TTZ,
   which is for 2), the router determines whether 1) is performed by
   checking if it has received TTZ LSA with OP for N.  If it has not, it
   issues an error to an operator (advertise normal LSAs and stop
   advertising TTZ LSAs as rolling back from TTZ is not done yet) and
   rejects the configuration at this time.

   After a router receives a TTZ LSA with OP for R for 2) from another
   router, it determines whether 1) is performed by checking if it has
   received TTZ LSA with OP for N.  If it has not, it issues an error
   and logs the error, and it does not roll back from TTZ.

   After receiving a configuration on a router to advertise normal LSAs
   and stop advertising TTZ LSAs for rolling back from TTZ, which is for
   1), the router checks whether it has any TTZ LSAs.  If it does not,
   it issues an error to an operator (no TTZ to be rolled back) and
   rejects the configuration at this time.

11.3.  Adding a Router into TTZ

   When a non-TTZ router (say R1) is connected via a P2P link to a
   migrated TTZ router (say T1), and there is a normal adjacency between
   them over the link, a user can configure TTZ on both ends of the link
   to add R1 into the TTZ to which T1 belongs.  They TTZ discover each
   other as described in Section 8.

   When a number of non-TTZ routers are connected via a broadcast or
   NBMA link to a migrated TTZ router (say T1), and there are normal
   adjacencies among them, a user configures TTZ on the connection to
   the link on every router to add the non-TTZ routers into the TTZ to



Chen, et al.                  Experimental                     [Page 21]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   which T1 belongs.  The DR for the link "forms" TTZ adjacencies with
   the other routers connected to the link if they all have the same TTZ
   ID configured for the link.  This is determined through the TTZ
   discovery process described in Section 8.

12.  Manageability Considerations

   Section 11 ("Operations") outlines the configuration process and
   deployment scenarios for a TTZ.  The configurable item is enabling a
   TTZ on a router and/or an interface on a router.  The TTZ function
   may be controlled by a policy module and assigned a suitable user
   privilege level to enable.  A suitable model may be required to
   verify the TTZ status on routers participating in the TTZ, including
   their role as an internal or edge TTZ router.  The mechanisms defined
   in this document do not imply any new liveness detection and
   monitoring requirements in addition to those indicated in [RFC2328].

13.  Security Considerations

   A notable beneficial security aspect of TTZ is that the TTZ is
   enclosed in a single area, and TTZ could be used to mask the internal
   topology.  External routers that are not participating in the TTZ
   will not be aware of the internal TTZ topology.  It should be noted
   that a malicious node could inject TTZ LSAs with the OP field set to
   M or R, which could trigger the migration into/from a TTZ and may
   result in the isolation of some routers in the network.  Good
   security practice might reuse the OSPF authentication and other
   security mechanisms described in [RFC2328] and [RFC7474] to mitigate
   this type of risk.

14.  IANA Considerations

   Under the registry name "Opaque Link-State Advertisements (LSA)
   Option Types" [RFC5250], IANA has assigned a new Opaque Type registry
   value for TTZ LSA as follows:

     +====================+===============+=======================+
     |  Registry Value    |  Opaque Type  |    reference          |
     +====================+===============+=======================+
     |         9          |    TTZ LSA    |    This document      |
     +--------------------+---------------+-----------------------+

   IANA has created and will maintain a new registry:

   o  OSPFv2 TTZ LSA TLVs






Chen, et al.                  Experimental                     [Page 22]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   Initial values for the registry are given below.  The future
   assignments are to be made through IETF Review [RFC5226].

       Value         OSPFv2 TTZ LSA TLV Name    Definition
       -----         -----------------------    ----------
       0             Reserved
       1             TTZ ID TLV                 see Section 6.2
       2             TTZ Router TLV             see Section 6.3
       3             TTZ Options TLV            see Section 6.4
       4-32767       Unassigned
       32768-65535   Reserved

15.  References

15.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,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328,
              DOI 10.17487/RFC2328, April 1998,
              <http://www.rfc-editor.org/info/rfc2328>.

   [RFC5250]  Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
              OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250,
              July 2008, <http://www.rfc-editor.org/info/rfc5250>.

   [RFC7474]  Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed.,
              "Security Extension for OSPFv2 When Using Manual Key
              Management", RFC 7474, DOI 10.17487/RFC7474, April 2015,
              <http://www.rfc-editor.org/info/rfc7474>.

   [RFC4940]  Kompella, K. and B. Fenner, "IANA Considerations for
              OSPF", BCP 130, RFC 4940, DOI 10.17487/RFC4940, July 2007,
              <http://www.rfc-editor.org/info/rfc4940>.

15.2.  Informative References

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              DOI 10.17487/RFC5226, May 2008,
              <http://www.rfc-editor.org/info/rfc5226>.







Chen, et al.                  Experimental                     [Page 23]
^L
RFC 8099                Topology-Transparent Zone          February 2017


Appendix A.  Prototype Implementation

A.1.  What Is Implemented and Tested

   1.  Command-Line Interface (CLI) Commands for TTZ

   The CLIs implemented and tested include:

   o  the CLIs of the simpler option for configuring TTZ, and

   o  the CLIs for controlling migration to TTZ.

   2.  Extensions to OSPF Protocols for TTZ

   All the extensions defined in "Extensions to OSPF Protocols"
   (Section 6) are implemented and tested except for rolling back from
   TTZ.  The testing results illustrate:

   o  As seen from the outside, a TTZ is virtualized as its edge routers
      connected to each other.  Any router outside of the TTZ sees the
      edge routers (as normal routers) connecting to each other and to
      some other routers.

   o  The link-state information about the routers and links inside the
      TTZ is contained within the TTZ.  It is not advertised to any
      router outside of the TTZ.

   o  TTZ is transparent.  From a router inside a TTZ, it sees the
      topology (link state) outside of the TTZ.  From a router outside
      of the TTZ, it sees the topology beyond the TTZ.  The link-state
      information outside of the TTZ is advertised through the TTZ.

   o  TTZ is backward compatible.  Any router outside of a TTZ does not
      need to support or know TTZ.

   3.  Smooth Migration to TTZ

   The procedures and related protocol extensions for smooth migration
   to TTZ are implemented and tested.  The testing results show:

   o  A part of an OSPF area is smoothly migrated to a TTZ without any
      routing disruptions.  The routes on every router are stable while
      the part of the area is being migrated to the TTZ.

   o  Migration to TTZ is very easy to operate.






Chen, et al.                  Experimental                     [Page 24]
^L
RFC 8099                Topology-Transparent Zone          February 2017


   4.  Add a Router to TTZ

   Adding a router into TTZ is implemented and tested.  The testing
   results illustrate:

   o  A router can be easily added into a TTZ to become a TTZ router.

   o  The router added into the TTZ is not seen on any router outside of
      the TTZ, but it is a part of the TTZ.

   5.  Leak TTZ Loopbacks Outside

   Leaking loopback addresses in a TTZ to routers outside of the TTZ is
   implemented and tested.  The testing results illustrate:

   o  The loopback addresses inside the TTZ are advertised to the
      routers outside of the TTZ.

   o  The loopback addresses are accessible from a router outside of the
      TTZ.

A.2.  Implementation Experience

   The implementation of TTZ reuses the existing OSPF code along with
   additional simple logic.  A couple of engineers started to work on
   implementing the TTZ from the middle of June 2014 and finished coding
   it just before the end of July 2014.  After some testing and bug
   fixes, it works as expected.

   In our implementation, the link-state information in a TTZ opaque LSA
   is stored in the same link-state database as the link-state
   information in a normal LSA.  For each TTZ link in the TTZ opaque
   LSA, there is an additional flag, which is used to differentiate
   between a TTZ link and a normal link.

   Before migration to TTZ, every router in the TTZ computes its routing
   table using the normal links.  After migration to TTZ, every router
   in the TTZ computes its routing table using the TTZ links and normal
   links.  In the case where both the TTZ link and the normal link
   exist, the TTZ link is used.











Chen, et al.                  Experimental                     [Page 25]
^L
RFC 8099                Topology-Transparent Zone          February 2017


Acknowledgements

   The authors would like to thank Acee Lindem, Abhay Roy, Christian
   Hopps, Dean Cheng, Russ White, Tony Przygienda, Wenhu Lu, Lin Han,
   Kiran Makhijani, Padmadevi Pillay Esnault, and Yang Yu for their
   valuable comments on this specification.

Contributors

   The following people contributed significantly to the content of this
   document and should be considered co-authors:

        Mehmet Toy
        United States of America
        Email: mehmet.toy@verizon.com

        Gregory Cauchie
        France
        Email: greg.cauchie@gmail.com

        Anil Kumar SN
        India
        Email: anil.sn@huawei.com

        Ning So
        United States of America
        Email: ningso01@gmail.com

        Lei Liu
        United States of America
        Email: lliu@us.fujitsu.com


   We also acknowledge the contribution of the following individuals:

        Veerendranatha Reddy Vallem
        India
        Email: veerendranatharv@huawei.com


        William McCall
        United States of America
        will.mccall@rightside.co








Chen, et al.                  Experimental                     [Page 26]
^L
RFC 8099                Topology-Transparent Zone          February 2017


Authors' Addresses

   Huaimo Chen
   Huawei Technologies
   Boston, MA
   United States of America

   Email: huaimo.chen@huawei.com


   Renwei Li
   Huawei Technologies
   2330 Central expressway
   Santa Clara, CA
   United States of America

   Email: renwei.li@huawei.com


   Alvaro Retana
   Cisco Systems, Inc.
   7025 Kit Creek Rd.
   Raleigh, NC  27709
   United States of America

   Email: aretana@cisco.com


   Yi Yang
   Sockrate
   Cary, NC
   United States of America

   Email: yyang1998@gmail.com


   Zhiheng Liu
   China Mobile
   No.32 Xuanwumen West Street, Xicheng District
   Beijing  100053
   China

   Email: liu.cmri@gmail.com








Chen, et al.                  Experimental                     [Page 27]
^L