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
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
|
Network Working Group D. Tsiang
Request for Comments: 2892 G. Suwala
Category: Informational Cisco Systems
August 2000
The Cisco SRP MAC Layer Protocol
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
This document specifies the MAC layer protocol, "Spatial Reuse
Protocol" (SRP) for use with ring based media. This is a second
version of the protocol (V2).
The primary requirements for SRP are as follows:
- Efficient use of bandwidth using:
spatial reuse of bandwidth
local reuse of bandwidth
minimal protocol overhead
- Support for priority traffic
- Scalability across a large number of nodes or stations attached to
a ring
- "Plug and play" design without a software based station management
transfer (SMT) protocol or ring master negotiation as seen in
other ring based MAC protocols [1][2]
- Fairness among nodes using the ring
- Support for ring based redundancy (error detection, ring wrap,
etc.) similar to that found in SONET BLSR specifications.
- Independence of physical layer (layer 1) media type.
This document defines the terminology used with SRP, packet formats,
the protocol format, protocol operation and associated protocol
finite state machines.
Tsiang & Suwala Informational [Page 1]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Table of Contents
1. Differences between SRP V1 and V2 ....................... 3
2. Terms and Taxonomy ...................................... 4
2.1. Ring Terminology .................................. 4
2.2. Spatial Reuse ..................................... 5
2.3. Fairness .......................................... 6
2.4. Transit Buffer .................................... 7
3. SRP Overview ............................................ 8
3.1. Receive Operation Overview ........................ 8
3.2. Transmit Operation Overview ....................... 8
3.3. SRP Fairness Algorithm (SRP-fa) Overview .......... 9
3.4. Intelligent Protection Switching (IPS) Protocol
Overview .......................................... 9
4. Packet Formats .......................................... 13
4.1. Overall Packet Format ............................. 13
4.2. Generic Packet Header Format ...................... 14
4.2.1. Time To Live (TTL) ......................... 14
4.2.2. Ring Identifier (R) ........................ 15
4.2.3. Priority Field (PRI) ....................... 15
4.2.4. MODE ....................................... 15
4.2.5. Parity Bit (P-bit) ......................... 16
4.2.6. Destination Address ........................ 16
4.2.7. Source Address ............................. 16
4.2.8. Protocol Type .............................. 16
4.3. SRP Cell Format ................................... 16
4.4. SRP Usage Packet Format ........................... 17
4.5. SRP Control Packet Format ......................... 18
4.5.1. Control Ver ................................ 19
4.5.2. Control Type ............................... 19
4.5.3. Control TTL ................................ 19
4.5.4. Control Checksum ........................... 19
4.5.5. Payload .................................... 20
4.5.6. Addressing ................................. 20
4.6. Topology Discovery ................................ 20
4.6.1. Topology Length ............................ 22
4.6.2. Topology Originator ........................ 22
4.6.3. MAC bindings ............................... 22
4.6.4. MAC Type Format ............................ 22
4.7. Intelligent Protection Switching (IPS) ............ 23
4.7.1. Originator MAC Address ..................... 23
4.7.2. IPS Octet .................................. 24
4.8. Circulating packet detection (stripping) .......... 24
5. Packet acceptance and stripping ......................... 25
5.1. Transmission and forwarding with priority ......... 27
5.2. Wrapping of Data .................................. 28
6. SRP-fa Rules Of Operation ............................... 28
6.1. SRP-fa pseudo-code ................................ 30
Tsiang & Suwala Informational [Page 2]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
6.2. Threshold settings ................................ 32
7. SRP Synchronization ..................................... 32
7.1. SRP Synchronization Examples ...................... 33
8. IPS Protocol Description ................................ 34
8.1. The IPS Request Types ............................. 35
8.2. SRP IPS Protocol States ........................... 36
8.2.1. Idle ....................................... 36
8.2.2. Pass-through ............................... 36
8.2.3. Wrapped .................................... 36
8.3. IPS Protocol Rules ................................ 36
8.3.1. SRP IPS Packet Transfer Mechanism .......... 36
8.3.2. SRP IPS Signaling and Wrapping Mechanism ... 37
8.4. SRP IPS Protocol Rules ............................ 38
8.5. State Transitions ................................. 41
8.6. Failure Examples .................................. 41
8.6.1. Signal Failure - Single Fiber Cut Scenario . 41
8.6.2. Signal Failure - Bidirectional Fiber Cut
Scenario ................................... 43
8.6.3. Failed Node Scenario ....................... 45
8.6.4. Bidirectional Fiber Cut and Node Addition
Scenarios .......................................... 47
9. SRP over SONET/SDH ...................................... 48
10. Pass-thru mode .......................................... 49
11. References .............................................. 50
12. Security Considerations ................................. 50
13. IPR Notice .. ........................................... 50
14. Acknowledgments ......................................... 50
15. Authors' Addresses ...................................... 51
16. Full Copyright Statement ................................ 52
1. Differences between SRP V1 and V2
This document pertains to SRP V2. SRP V1 was a previously published
draft specification. The following lists V2 feature differences from
V1:
- Reduction of the header format from 4 bytes to 2 bytes.
- Replacement of the keepalive packet with a new control packet that
carries usage information in addition to providing a keepalive
function.
- Change bit value of inner ring to be 1 and outer to be 0.
- Reduction in the number of TTL bits from 11 to 8.
- Removal of the DS bit.
Tsiang & Suwala Informational [Page 3]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
- Change ordering of CRC transmission to be most significant octet
first (was least significant octet in V1). The SRP CRC is now the
same as in [5].
- Addition of the SRP cell mode to carry ATM cells over SRP.
- Changes to the SRP-fa to increase the usage field width and to
remove the necessity of adding a fixed constant when propagating
usage messages.
2. Terms and Taxonomy
2.1. Ring Terminology
SRP uses a bidirectional ring. This can be seen as two symmetric
counter-rotating rings. Most of the protocol finite state machines
(FSMs) are duplicated for the two rings.
The bidirectional ring allows for ring-wrapping in case of media or
station failure, as in FDDI [1] or SONET/SDH [3]. The wrapping is
controlled by the Intelligent Protection Switching (IPS) protocol.
To distinguish between the two rings, one is referred to as the
"inner" ring, the other the "outer" ring. The SRP protocol operates
by sending data traffic in one direction (known as "downstream") and
it's corresponding control information in the opposite direction
(known as "upstream") on the opposite ring. Figure 1 highlights this
graphically.
Tsiang & Suwala Informational [Page 4]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 1. Ring Terminology
{outer_data
----- inner_ctl}
---------------->| N |-----------------
| ---------------| 1 |<-------------- |
| | {inner_data ----- | |
| | outer_ctl} | |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ | ^ |
o | | i | |
u | | n | |
t | | n | |
e | | e | |
r | | r | |
| v | v
----- -----
| N | | N |
| 5 | | 3 |
----- -----
| | | |
| | ----- | |
| -------------->| N |--------------- |
-----------------| 4 |<----------------
-----
2.2. Spatial Reuse
Spatial Reuse is a concept used in rings to increase the overall
aggregate bandwidth of the ring. This is possible because unicast
traffic is only passed along ring spans between source and
destination nodes rather than the whole ring as in earlier ring based
protocols such as token ring and FDDI.
Figure 2 below outlines how spatial reuse works. In this example,
node 1 is sending traffic to node 4, node 2 to node 3 and node 5 to
node 6. Having the destination node strip unicast data from the ring
allows other nodes on the ring who are downstream to have full access
to the ring bandwidth. In the example given this means node 5 has
full bandwidth access to node 6 while other traffic is being
simultaneously transmitted on other parts of the ring.
Tsiang & Suwala Informational [Page 5]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
2.3. Fairness
Since the ring is a shared media, some sort of access control is
necessary to ensure fairness and to bound latency. Access control can
be broken into two types which can operate in tandem:
Global access control - controls access so that everyone gets a
fair share of the global bandwidth of the ring.
Local access control - grants additional access beyond that
allocated globally to take advantage of segments of the ring that
are less than fully utilized.
As an example of a case where both global and local access are
required, refer again to Figure 2. Nodes 1, 2, and 5 will get 1/2 of
the bandwidth on a global allocation basis. But from a local
perspective, node 5 should be able to get all of the bandwidth since
its bandwidth does not interfere with the fair shares of nodes 1 and
2.
Tsiang & Suwala Informational [Page 6]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 2. Global and Local Re-Use
. . . . . . . . . . . . . . . . .
. .
----- .
---------------->| N |----------------- .
| ---------------| 1 |<-------------- | .
| | ----- | | .
| | | | .
----- ----- .
. .>| N | | N |. .. .
. | 6 | | 2 | . .
. ----- ----- . .
. ^ | ^ | . .
. o | | i | | . .
. u | | n | | . .
. t | | n | | . .
. e | | e | | . .
. r | | r | | . .
. | v | v . .
. ----- ----- . .
. . | N | | N |<. . .
| 5 | | 3 | .
----- ----- .
| | | | .
| | ----- | | .
| -------------->| N |--------------- | .
-----------------| 4 |<---------------- .
----- .
^ .
. .
. . . . .<. . . . . . . . . . . .
2.4. Transit Buffer
To be able to detect when to transmit and receive packets from the
ring, SRP makes use of a transit (sometimes referred as insertion)
buffer as shown in Figure 3 below. High priority packets and low
priority packets can be placed into separate fifo queues.
Tsiang & Suwala Informational [Page 7]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 3. Transit buffer
^^ ||
|| vv
|----| |----|
| | | |
|----|Rx |----|Tx
| |Buffer | |Buffer
|----| |----|
| | | |
|----| |----|
| | | |
|----| |----|
| | | |
|----| |----|
^^ Transit ||
|| Buffer ||
|| |------| vv
| H |
===========>|------|==========>
| L |
|------|
3. SRP Overview
3.1. Receive Operation Overview
Receive Packets entering a node are copied to the receive buffer if a
Destination Address (DA) match is made. If a DA matched packet is
also a unicast, then the packet will be stripped. If a packet does
not DA match or is a multicast and the packet does not Source Address
(SA) match, then the packet is placed into the Transit Buffer (TB)
for forwarding to the next node if the packet passes Time To Live and
Cyclic Redundancy Check (CRC) tests.
3.2. Transmit Operation Overview
Data sent from the node is either forwarded data from the TB or
transmit data originating from the node via the Tx Buffer. High
priority forwarded data always gets sent first. High priority
transmit data may be sent as long as the Low Priority Transit Buffer
(LPTB) is not full.
A set of usage counters monitor the rate at which low priority
transmit data and forwarded data are sent. Low priority data may be
sent as long as the usage counter does not exceed an allowed usage
governed by the SRP-fa rules and the LPTB has not exceeded the low
priority threshold.
Tsiang & Suwala Informational [Page 8]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
3.3. SRP Fairness Algorithm (SRP-fa) Overview
If a node experiences congestion, then it will advertise to upstream
nodes via the opposite ring the value of its transmit usage counter.
The usage counter is run through a low pass filter function to
stabilize the feedback. Upstream nodes will adjust their transmit
rates so as not to exceed the advertised values. Nodes also
propagate the advertised value received to their immediate upstream
neighbor. Nodes receiving advertised values who are also congested
propagate the minimum of their transmit usage and the advertised
usage.
Congestion is detected when the depth of the low priority transit
buffer reaches a congestion threshold.
Usage messages are generated periodically and also act as keepalives
informing the upstream station that a valid data link exists.
3.4. Intelligent Protection Switching (IPS) Protocol Overview
An SRP Ring is composed of two counter-rotating, single fiber rings.
If an equipment or fiber facility failure is detected, traffic going
towards and from the failure direction is wrapped (looped) back to go
in the opposite direction on the other ring (subject to the
protection hierarchy). The wrap around takes place on the nodes
adjacent to the failure, under control of the IPS protocol. The wrap
re-routes the traffic away from the failed span.
An example of the data paths taken before and after a wrap are shown
in Figures 4 and 5. Before the fiber cut, N4 sends to N1 via the
path N4->N5->N6->N1.
If there is a fiber cut between N5 and N6, N5 and N6 will wrap the
inner ring to the outer ring. After the wraps have been set up,
traffic from N4 to N1 initially goes through the non-optimal path
N4->N5->N4->N3->N2->N1->N6->N1.
Subsequently a new ring topology is discovered and a new optimal path
is used N4->N3->N2-N1 as shown in Figure 6. Note that the topology
discovery and the subsequent optimal path selection are not part of
the IPS protocol.
Tsiang & Suwala Informational [Page 9]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 4. Data path before wrap, N4 -> N1
-----
################>| N |-----------------
# ---------------| 1 |<-------------- |
# | ----- | |
# | | |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ | ^ |
# | | |
# | | |
# | | |
# | | |
# | | |
# v | v
----- -----
| N | | N |
| 5 | | 3 |
----- -----
# | | |
# | ----- | |
# -------------->| N |--------------- |
#################| 4 |<----------------
-----
The ring wrap is controlled through SONET BLSR [3][4] style IPS
signaling. It is an objective to perform the wrapping as fast as in
the SONET equipment or faster.
The IPS protocol processes the following request types (in the order
of priority, from highest to lowest):
1. Forced Switch (FS): operator originated, performs a protection
switch on a requested span (wraps at both ends of the span)
2. Signal Fail (SF): automatic, caused by a media Signal Failure
or SRP keep-alive failure - performs a protection switch on a
requested span
Tsiang & Suwala Informational [Page 10]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 5. Data path after the wrap, N4 -> N1
-----
################>| N |-----------------
# ###############| 1 |<############## |
# # ----- # |
# v # |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ # wrap ^ |
### # |
_________ # |
fiber cut # |
--------- # |
### # |
# v wrap # v
----- -----
| N | | N |
| 5 | | 3 |
----- -----
# # # |
# # ----- # |
# ##############>| N |############### |
#################| 4 |<----------------
3. Signal Degrade (SD): automatic, caused by a media Signal
Degrade (e.g. excessive Bit Error Rate) - performs a protection
switch on a requested span
4. Manual Switch (MS): operator originated, like Forced Switched
but of a lower priority
5. Wait to Restore (WTR): automatic, entered after the working
channel meets the restoration criteria after SF or SD condition
disappears. IPS waits WTR period before restoring traffic in
order to prevent protection switch oscillations
If a protection (either automatic or operator originated) is
requested for a given span, the node on which the protection has been
requested issues a protection request to the node on the other end of
the span using both the short path (over the failed span, as the
failure may be unidirectional) and the long path (around the ring).
Tsiang & Suwala Informational [Page 11]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 6. Data path after the new topology is discovered
-----
-----------------| N |-----------------
| ---------------| 1 |<############## |
| | ----- # |
| v # |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ | wrap ^ |
-- # |
_________ # |
fiber cut # |
--------- # |
-- # |
| v wrap # v
----- -----
| N | | N |
| 5 | | 3 |
----- -----
| | # |
| | ----- # |
| -------------->| N |############### |
-----------------| 4 |<----------------
-----
As the protection requests travel around the ring, the protection
hierarchy is applied. If the requested protection switch is of the
highest priority e.g. Signal Fail request is of higher priority than
the Signal Degrade than this protection switch takes place and the
lower priority switches elsewhere in the ring are taken down, as
appropriate. If a lower priority request is requested, it is not
allowed if a higher priority request is present in the ring. The only
exception is multiple SF and FS switches, which can coexist in the
ring.
All protection switches are performed bidirectionally (wraps at both
ends of a span for both transmit and receive directions, even if a
failure is only unidirectional).
Tsiang & Suwala Informational [Page 12]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4. Packet Formats
This section describes the packet formats used by SRP. Packets can be
sent over any point to point link layer (e.g. SONET/SDH, ATM, point
to point ETHERNET connections). The maximum transfer unit (MTU) is
9216 octets. The minimum transfer unit for data packets is 55
octets. The maximum limit was designed to accommodate the large IP
MTUs of IP over AAL5. SRP also supports ATM cells. ATM cells over
SRP are 55 octets. The minimum limit corresponds to ATM cells
transported over SRP. The minimum limit does not apply to control
packets which may be smaller.
These limits include everything listed in Figure 7: but are exclusive
of the frame delineation (e.g. for SRP over SONET/SDH, the flags used
for frame delineation are not included in the size limits).
The following packet and cell formats do not include any layer 1
frame delineation. For SRP over POS, there will be an additional
flag that delineates start and end of frame.
4.1. Overall Packet Format
The overall packet format is show below in Figure 7:
FIGURE 7. Overall Packet Format
---------------------------------
| SRP Header |
---------------------------------
| Dest. Addr. |
---------------------------------
| Source Addr. |
---------------------------------
| Protocol Type |
---------------------------------
| Payload |
| |
| |
| |
---------------------------------
| FCS |
---------------------------------
The frame check sequence (FCS) is a 32-bit cyclic redundancy check
(CRC) as specified in RFC-1662 and is the same CRC as used in Packet
Over SONET (POS - specified in RFC-2615). The generator polynomial
is:
Tsiang & Suwala Informational [Page 13]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
CRC-32:
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 +
x2 + x + 1
The FCS is computed over the destination address, source address,
protocol type and payload. It does not include the SRP header.
Note that the packet format after the SRP header is identical to
Ethernet Version 2.
4.2. Generic Packet Header Format
Each packet has a fixed-sized header. The packet header format is
shown in Figure 8.
FIGURE 8. Detailed Packet Header 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Payload |
. .
. .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields are described below.
4.2.1. Time To Live (TTL)
This 8 bit field is a hop-count that must be decremented every time a
node forwards a packet. If the TTL reaches zero it is stripped off
the ring. This allows for a total node space of 256 nodes on a ring.
However, due to certain failure conditions (e.g. when the ring is
Tsiang & Suwala Informational [Page 14]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
wrapped) the total number of nodes that are supported by SRP is 128.
When a packet is first sent onto the ring the TTL should be set to at
least twice the total number of nodes on the ring.
4.2.2. Ring Identifier (R)
This single bit field is used to identify which ring this packet is
designated for. The designation is as follows:
TABLE 1. Ring Indicator Values
Outer Ring 0
Inner Ring 1
4.2.3. Priority Field (PRI)
This three bit field indicates the priority level of the SRP packet
(0 through 7). The higher the value the higher the priority. Since
there are only two queues in the transit buffer (HPTB and LPTB) a
packet is treated as either low or high priority once it is on the
ring. Each node determines the threshold value for determining what
is considered a high priority packet and what is considered a low
priority packet. However, the full 8 levels of priority in the SRP
header can be used prior to transmission onto the ring (transmit
queues) as well as after reception from the ring (receive queues).
4.2.4. MODE
This three bit field is used to identify the mode of the packet. The
following modes are defined in Table 2 below.
TABLE 2. MODE Values
Value Description
000 Reserved
001 Reserved
010 Reserved
011 ATM cell
100 Control Message (Pass to host)
101 Control Message (Locally Buffered for host)
110 Usage Message
111 Packet Data
These modes will be further explained in later sections.
Tsiang & Suwala Informational [Page 15]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.2.5. Parity Bit (P-bit)
The parity bit is used to indicate the parity value over the 15 bits
of the SRP header to provide additional data integrity over the
header. Odd parity is used (i.e. the number of ones including the
parity bit shall be an odd number).
4.2.6. Destination Address
The destination address is a globally unique 48 bit address assigned
by the IEEE.
4.2.7. Source Address
The source address is a globally unique 48 bit address assigned by
the IEEE.
4.2.8. Protocol Type
The protocol type is a two octet field like that used in EtherType
representation. Current defined values relevant to SRP are defined in
Table 3 below.
TABLE 3. Defined Protocol Types
Value Protocol Type
0x2007 SRP Control
0x0800 IP version 4
0x0806 ARP
4.3. SRP Cell Format
SRP also supports the sending of ATM cells. The detailed cell format
is shown below:
Tsiang & Suwala Informational [Page 16]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 9. SRP Cell 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| VPI/VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VCI | PTI |C| HEC | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
. .
. ATM Payload .
. ( 48 Bytes ) +-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Packet nodes would typically ignore (never receive or strip) and
always forward ATM-cells. The idea is that ATM switches and routers
could coexist in a ring. Note that SRP cells do not contain an FCS.
Data integrity is handled at the AAL layer.
4.4. SRP Usage Packet Format
SRP usage packets are sent out periodically to propagate allowed
usage information to upstream nodes. SRP usage packets also perform
a keepalive function. SRP usage packets should be sent approximately
every 106 usec.
If a receive interface has not seen a usage packet within the
keepalive timeout interval it will trigger an L2 keepalive timeout
interrupt/event. The IPS software will subsequently mark that
interface as faulty and initiate a protection switch around that
interface. The keepalive timeout interval should be set to 16 times
the SRP usage packet transmission interval.
FIGURE 10. Usage Packet 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Originator MAC Address +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Usage |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A USAGE of all ones indicates a value of NULL.
Tsiang & Suwala Informational [Page 17]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.5. SRP Control Packet Format
If the MODE bits are set to 10X (SRP control) then this indicates a
control message. Control messages are always received and stripped by
the adjacent node. They are by definition unicast, and do not need
any addressing information. The destination address field for
control packets should be set to 0's. The source address field for a
control packet should be set to the source address of the
transmitting node.
Two types of controls messages are defined : Pass to host and Locally
buffered. Pass to host messages can be passed to the host software by
whatever means is convenient. This is most often the same path used
to transfer data packets to the host. Locally buffered control
messages are usually reserved for protection messages. These are
normally buffered locally in order to not contend for resources with
data packets. The actual method of handling these messages is up to
the implementor.
The control packet format is shown in Figure 11.
FIGURE 11. Control Packet 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type = 0x2007 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Ver | Control Type | Control Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control TTL | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
. .
. Payload .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The priority (PRI) value should be set to 0x7 (all one's) when
sending control packets and should be queued to the highest priority
transmit queue available. The Time to Live is not relevant since all
Tsiang & Suwala Informational [Page 18]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
packets will be received and stripped by the nearest downstream
neighbor and can be set to any value (preferably this should be set
to 001).
4.5.1. Control Ver
This one octet field is the version number associated with the
control type field. Initially, all control types will be version 0.
4.5.2. Control Type
This one octet field represents the control message type. Table 4
contains the currently defined control types.
TABLE 4. Control Types
Control Type Description
0x01 Topology Discovery
0x02 IPS message
0x03-
0xFF Reserved
4.5.3. Control TTL
The Control TTL is a control layer hop-count that must be decremented
every time a node forwards a control packet. If a node receives a
control packet with a control TTL <= 1, then it should accept the
packet but not forward it.
Note that the control layer hop count is separate from the SRP L2 TTL
which is always set to 1 for control messages.
The originator of the control message should set the initial value of
the control TTL to the SRP L2 TTL normally used for data packets.
4.5.4. Control Checksum
The checksum field is the 16 bit one's complement of the one's
complement sum of all 16 bit words starting with the control version.
If there are an odd number of octets to be checksummed, the last
octet is padded on the right with zeros to form a 16 bit word for
checksum purposes. The pad is not transmitted as part of the
segment. While computing the checksum, the checksum field itself is
replaced with zeros. This is the same checksum algorithm as that
used for TCP. The checksum does not cover the 32 bit SRP FCS.
Tsiang & Suwala Informational [Page 19]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.5.5. Payload
The payload is a variable length field dependent on the control type.
4.5.6. Addressing
All nodes must have a globally unique IEEE 48 bit MAC address. A
multicast bit is defined using canonical addressing conventions i.e.
the multicast bit is the least significant bit of the most
significant octet in the destination address. It is acceptable but
not advisable to change a node's MAC address to one that is known to
be unique within the administrative layer 2 domain (that is the SRP
ring itself along with any networks connected to the SRP ring via a
layer 2 transparent bridge).
FIGURE 12. Multicast bit position
Destination Address
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |M| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
^
|----Multicast bit
Note that for SONET media, the network order is MSB of each octet
first, so that as viewed on the line, the multicast bit will be the
8th bit of the destination address sent. (For SRP on Ethernet media,
the multicast bit would be sent first).
4.6. Topology Discovery
Each node performs topology discovery by sending out topology
discovery packets on one or both rings. The node originating a
topology packet marks the packet with the egressing ring id, appends
the node's mac binding to the packet and sets the length field in the
packet before sending out the packet. This packet is a point-to-point
packet which hops around the ring from node to node. Each node
appends its mac address binding, updates the length field and sends
it to the next hop on the ring. If there is a wrap on the ring, the
wrapped node will indicate a wrap when appending its mac binding and
wrap the packet. When the topology packets travel on the wrapped
section with the ring identifier being different from that of the
topology packet itself, the mac address bindings are not added to the
packet.
Tsiang & Suwala Informational [Page 20]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Eventually the node that generated the topology discovery packet gets
back the packet. The node makes sure that the packet has the same
ingress and egress ring id before excepting the packet. A topology
map is changed only after receiving two topology packets which
indicate the same new topology (to prevent topology changes on
transient conditions).
Note that the topology map only contains the reachable nodes. It does
not correspond to the failure-free ring in case of wraps and ring
segmentations.
FIGURE 13. Topology Packet Format
Topology
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type = 0x2007 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Ver=0 | Control Type=1| Control Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control TTL | Topology Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Originator's Globally Unique |
+ MAC Address (48 bits) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | MAC Type | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| MAC Address (48 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Other MAC bindings |
+-+-+-+-+-+-+-+-+ +
| |
+ +
Note that the Source address should be set to the source address of
the TRANSMITTING node (which is not necessarily the ORIGINATING
node).
Tsiang & Suwala Informational [Page 21]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.6.1. Topology Length
This two octet field represents the length of the topology message in
octets starting with the first MAC Type/MAC Address binding.
4.6.2. Topology Originator
A topology discovery packet is determined to have been originated by
a node if the originator's globally unique MAC address of the packet
is that node's globally unique MAC address (assigned by the IEEE).
Because the mac addresses could be changed at a node, the IEEE MAC
address ensures that a unique identifier is used to determine that
the topology packet has gone around the ring and is to be consumed.
4.6.3. MAC bindings
Each MAC binding shall consist of a MAC Type field followed by the
node's 48 bit MAC address. The first MAC binding shall be the MAC
binding of the originator. Usually the originator's MAC address will
be it's globally unique MAC Address but some implementations may
allow this value to be overridden by the network administrator.
4.6.4. MAC Type Format
This 8 bit field is encoded as follows:
TABLE 5. MAC Type Format
Bit Value
0 Reserved
1 Ring ID (1 or 0)
2 Wrapped Node (1) / Unwrapped Node (0)
3-7 Reserved
Determination of whether a packet's egress and ingress ring ID's are
a match should be done by using the Ring ID found in the MAC Type
field of the last MAC binding as the ingress ring ID rather than the
R bit found in the SRP header. Although they should be the same, it
is better to separate the two functions as some implementations may
not provide the SRP header to upper layer protocols.
The topology information is not required for the IPS protection
mechanism. This information can be used to calculate the number of
nodes in the ring as well as to calculate hop distances to nodes to
determine the shortest path to a node (since there are two counter-
rotating rings).
Tsiang & Suwala Informational [Page 22]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The implementation of the topology discovery mechanism could be a
periodic activity or on "a need to discover" basis. In the periodic
implementation, each node generates the topology packet periodically
and uses the cached topology map until it gets a new one. In the need
to discover implementation, each node generates a topology discovery
packet whenever they need one e.g., on first entering a ring or
detecting a wrap.
4.7. Intelligent Protection Switching (IPS)
IPS is a method for automatically recovering from various ring
failures and line degradation scenarios. The IPS packet format is
outlined in Figure 14 below.
FIGURE 14. IPS Packet 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type = 0x2007 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Ver=0 | Control Type=2| Control Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control TTL | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| Originator MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ips Octet | Rsvd Octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPS specific fields are detailed below.
4.7.1. Originator MAC Address
This is the MAC address of the originator of the IPS message. It is
not necessarily the same as the SRP Header Source Address as a node
may be simply propagating an IPS message (see the section "SRP IPS
Protocol Rules" Rule P.8 as an example).
Tsiang & Suwala Informational [Page 23]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.7.2. IPS Octet
The IPS octet contains specific protection information. The format of
the IPS octet is as follows:
FIGURE 15. IPS Octet Format:
Bits Values (values not listed are reserved)
0-3 IPS Request Type
1101 - Forced Switch (FS)
1011 - Signal Fail (SF)
1000 - Signal Degrade (SD)
0110 - Manual Switch (MS)
0101 - Wait to Restore (WTR)
0000 - No Request (IDLE)
4 Path indicator
0 - short (S)
1 - long (L)
5-7 Status Code
010 - Protection Switch Completed - traffic Wrapped (W)
000 - Idle (I)
The currently defined request types with values, hierarchy and
interpretation are as used in SONET BLSR [3], [4], except as noted.
4.8. Circulating packet detection (stripping)
Packets continue to circulate when transmitted packets fail to get
stripped. Unicast packets are normally stripped by the destination
station or by the source station if the destination station has
failed. Multicast packets are only stripped by the source station. If
both the source and destination stations drop out of the ring while a
unicast packet is in flight, or if the source node drops out while
its multicast packet is in flight, the packet will rotate around the
ring continuously.
The solution to this problem is to have a TTL or Time To Live field
in each packet that is set to at least twice the number of nodes in
the ring. As each node forwards the packet, it decrements the TTL. If
the TTL reaches zero it is stripped off of the ring.
Tsiang & Suwala Informational [Page 24]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The ring ID is used to qualify all stripping and receive decisions.
This is necessary to handle the case where packets are being wrapped
by some node in the ring. The sending node may see its packet on the
reverse ring prior to reaching its destination so must not source
strip it. The exception is if a node is in wrap. Logically, a node
in wrap "sees" the packet on both rings. However the usual
implementation is to receive the packet on one ring and to transmit
it on the other ring. Therefore, a node that is in the wrap state
ignores the ring ID when making stripping and receiving decisions.
A potential optimization would be to allow ring ID independent
destination stripping of unicast packets. One problem with this is
that packets may be delivered out of order during a transition to a
wrap condition. For this reason, the ring ID should always be used as
a qualifier for all strip and receive decisions.
5. Packet acceptance and stripping
A series of decisions based on the type of packet (mode), source and
destination addresses are made on the MAC incoming packets. Packets
can either be control or data packets. Control packets are stripped
once the information is extracted. The source and destination
addresses are checked in the case of data packets. The rules for
reception and stripping are given below as well as in the flow chart
in Figure 16.
1. Decrement TTL on receipt of a packet, discard if it gets to
zero; do not forward.
2. Strip unicast packets at the destination station. Accept and
strip "control" packets.
3. Do not process packets other than for TTL and forwarding if
they have the "wrong" ring_id for the direction in which they
are received unless the node is in wrap. If the node is in
wrap then ignore the ring_id.
4. Do not process packets other than for TTL and forwarding if the
mode is not supported by the node (e.g. reserved modes, or ATM
cell mode for packet nodes).
5. Packets accepted by the host because of the destination address
should be discarded at the upper level if there is CRC error.
6. Control messages are point to point between neighbors and
should always be accepted and stripped.
Tsiang & Suwala Informational [Page 25]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
7. Packets whose source address is that of the receiving station
and whose ring_id matches should be stripped. If a node is in
wrap then ignore the ring_id.
FIGURE 16. SRP Receive Flowchart (Packet node)
if (MODE == 4,5)-------------------------------->[to host]--->|
| |
v |
if (MODE == 6)---------------------------------->[strip]----->|
| |
v |
if (!WRAPPED |
& WRONG_RING_ID)-------------------------------------------|--->|
| | |
v | |
if (MODE == 0,1,2,3)------------------------------------------|--->|
| | |
v | |
if (DA MATCH)--------------->if !(SA MATCH)----->[to host]--->| |
| | | |
| v | |
| if (unicast)------->[to host]--->| |
| | | |
| v | |
if (SA MATCH)-------------------->[strip]-------------------->| |
| | |
| | v
|--------------------------->|<-----------------------|----|
| |
v |
if (ttl < 2)------->[strip]----->|
| |
v |
[decrement ttl] |
| |
[fwd pkt to tb] |
| v
|<-----------------------|
v
[back to top]
Notes: Host is responsible for discarding CRC errored packets.
Conditionals (if statements) branch to the right if true
and branch down if false.
Tsiang & Suwala Informational [Page 26]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
5.1. Transmission and forwarding with priority
A node can transmit four types of packets:
1. High priority packets from the high priority transit
buffer.
2. Low priority packets from the low priority transit buffer.
3. High priority packets from the host Tx high priority fifo.
4. Low priority packets from the host Tx low priority fifo.
High priority packets from the transit buffer are always sent first.
High priority packets from the host are sent as long as the low
priority transit buffer is not full. Low priority packets are sent
as long as the transit buffer has not crossed the low priority
threshold and the SRP-fa rules allow it (my_usage < allowed_usage).
If nothing else can be sent, low priority packets from the low
priority transit buffer are sent.
This decision tree is shown in Figure 17.
Tsiang & Suwala Informational [Page 27]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 17. SRP transmit flowchart
if (TB_High has pkt)----------->[send pkt from TB_high]-->|
| |
v |
if (TB_Low full)------------------------------------------|---->|
| | |
v | |
if (Tx_High has pkt)----------->[send pkt from Tx_high]-->| |
| | |
v | |
if (TB_Low > Hi threshold)--------------------------------|---->|
| | |
v | |
if (my_usage >= allowed_usage)----------------------------|---->|
| | |
v | |
if (Tx_Low has pkt)------------>[send pkt from Tx_low]--->| |
| | |
| | v
|<------------------------------------------------|-----|
| |
v |
if (TB_Low has pkt)------------>[send pkt from TB_low]--->|
| v
|<------------------------------------------------|
|
v
[Go to Top]
Notes: Conditionals (if statements) branch to the right if true
and branch down if false.
5.2. Wrapping of Data
Normally, transmitted data is sent on the same ring to the downstream
neighbor. However, if a node is in the wrapped state, transmitted
data is sent on the opposite ring to the upstream neighbor.
6. SRP-fa Rules Of Operation
The SRP-fa governs access to the ring. The SRP-fa only applies to
low priority traffic. High priority traffic does not follow SRP-fa
rules and may be transmitted at any time as long as there is
sufficient transit buffer space.
Tsiang & Suwala Informational [Page 28]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The SRP-fa requires three counters which control the traffic
forwarded and sourced on the SRP ring. The counters are my_usage
(tracks the amount of traffic sourced on the ring), forward_rate
(amount of traffic forwarded on to the ring from sources other than
the host) and allowed_usage (the current maximum transmit usage for
that node).
With no congestion all nodes build up allowed usage periodically.
Each node can send up to max_usage. Max_usage is a per node
parameter than limits the maximum amount of low priority traffic a
node can send.
When a node sees congestion it starts to advertise its my_usage which
has been low pass filtered (lp_my_usage).
Congestion is measured by the transit buffer depth crossing a
congestion threshold.
A node that receives a non-null usage message (rcvd_usage) will set
its allowed usage to the value advertised. However, if the source of
the rcvd_usage is the same node that received it then the rcvd_usage
shall be treated as a null value. When comparing the rcvd_usage
source address the ring ID of the usage packet must match the
receiver's ring ID in order to qualify as a valid compare. The
exception is if the receive node is in the wrap state in which case
the usage packet's ring ID is ignored.
Nodes that are not congested and that receive a non-null rcvd_usage
generally propagate rcvd_usage to their upstream neighbor else
propagate a null value of usage (all 1's). The exception is when an
opportunity for local reuse is detected. Additional spatial reuse
(local reuse) is achieved by comparing the forwarded rate (low pass
filtered) to allow_usage. If the forwarded rate is less than the
allowed usage, then a null value is propagated to the upstream
neighbor.
Nodes that are congested propagate the smaller of lp_my_usage and
rcvd_usage.
Convergence is dependent upon number of nodes and distance.
Simulation has shown simulation convergence within 100 msec for rings
of several hundred miles.
Tsiang & Suwala Informational [Page 29]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
6.1. SRP-fa pseudo-code
A more precise definition of the fairness algorithm is shown below:
Variables:
lo_tb_depth low priority transit buffer depth
my_usage count of octets transmitted by host
lp_my_usage my_usage run through a low pass filter
my_usage_ok flag indicating that host is allowed to transmit
allow_usage the fair amount each node is allowed to transmit
fwd_rate count of octets forwarded from upstream
lp_fwd_rate fwd_rate run through a low pass filter
congested node cannot transmit host traffic without the TB buffer
filling beyond its congestion threshold point.
rev_usage the usage value passed along to the upstream neighbor
Constants:
MAX_ALLOWANCE = configurable value for max allowed usage for this node
DECAY_INTERVAL = 8000 octet times @ OC-12, 32,000 octet times @ OC-48
AGECOEFF = 4 // Aging coeff for my_usage and fwd_rate
LP_FWD = 64 // Low pass filter for fwd_rate
LP_MU = 512 // Low pass filter for my usage
LP_ALLOW = 64 // Low pass filter for allow usage auto increment
NULL_RCVD_INFO = All 1's in rcvd_usage field
TB_LO_THRESHOLD // TB depth at which no more lo-prio host traffic
// can be sent
MAX_LRATE = AGECOEFF * DECAY_INTERVAL = 128,000 for OC-48, 32000 for
OC-12
Tsiang & Suwala Informational [Page 30]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
THESE ARE UPDATED EVERY CLOCK CYCLE:
=====================================
my_usage is incremented by 1 for every octet that is
transmitted by the host (does not include data
transmitted from the Transit Buffer).
fwd_rate is incremented by 1 for every octet that enters the
Transit Buffer
if ((my_usage < allow_usage) &&
!((lo_tb_depth > 0) && (fwd_rate < my_usage)) &&
(my_usage < MAX_ALLOWANCE))
// true means OK to send host packets
my_usage_ok = true;
UPDATED WHEN USAGE_PKT IS RECEIVED:
===================================
if (usage_pkt.SA == my_SA) &&
[(usage_pkt.RI == my_RingID) || (node_state == wrapped)]
rcvd_usage = NULL_RCVD_INFO;
else
rcvd_usage = usage_pkt.usage;
THE FOLLOWING IS CALCULATED EVERY DECAY_INTERVAL:
==================================================
congested = (lo_tb_depth > TB_LO_THRESHOLD/2)
lp_my_usage = ((LP_MU-1) * lp_my_usage + my_usage) / LP_MU
my_usage is decremented by min(allow_usage/AGECOEFF, my_usage/AGECOEFF)
lp_fwd_rate = ((LP_FWD-1) * lp_fwd_rate + fwd_rate) / LP_FWD
fwd_rate is decremented by fwd_rate/AGECOEFF
(Note: lp values must be calculated prior to decrement of non-lp
values).
if (rcvd_usage != NULL_RCVD_INFO)
allow_usage = rcvd_usage;
else
allow_usage += (MAX_LRATE - allow_usage) / (LP_ALLOW);
Tsiang & Suwala Informational [Page 31]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
if (congested)
{
if (lp_my_usage < rcvd_usage)
rev_usage = lp_my_usage;
else
rev_usage = rcvd_usage;
}
else if ((rcvd_usage != NULL_RCVD_INFO) &&
(lp_fwd_rate > allow_usage)
rev_usage = rcvd_usage;
else
rev_usage = NULL_RCVD_INFO
if (rev_usage > MAX_LRATE)
rev_usage = NULL_RCVD_INFO;
6.2. Threshold settings
The low priority transit buffer (TB_LO_THRESHOLD) is currently sized
to about 4.4 msec or 320 KB at OC12 rates. The TB_HI_THRESHOLD is
set to about 870 usec higher than the TB_LO_THRESHOLD or at 458 KB at
OC12 rates.
The high priority transit buffer needs to hold 2 to 3 MTUs or about
30KB.
7. SRP Synchronization
Each node operates in "free-run" mode. That is, the receive clock is
derived from the incoming receive stream while the transmit clock is
derived from a local oscillator. This eliminates the need for
expensive clock synchronization as required in existing SONET
networks. Differences in clock frequency are accommodated by
inserting a small amount of idle bandwidth at each nodes output.
The clock source for the transmit clock shall be selected to deviate
by no more than 20 ppm from the center frequency. The overall
outgoing rate of the node shall be rate shaped to accommodate the
worst case difference between receive and transmit clocks of adjacent
nodes. This works as follows:
A transit buffer slip count (tb_cnt) keeps track of the amount of
octets inserted into the TB minus the amount of octets transmitted
and is a positive integer.
Tsiang & Suwala Informational [Page 32]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
To account for a startup condition where a packet is being inserted
into an empty TB and the node was otherwise idle the tb_cnt is reset
if the transmit interface is idle. Idle is defined as no data being
sent even though there is opportunity to send (i.e. the transmit
interface is not prohibited from transmitting by the physical layer).
An interval counter defines the sample period over which rate shaping
is performed. This number should be sufficiently large to get an
accurate rate shaping.
A token_bucket counter implements the rate shaping and is a signed
integer. We increment this counter by one of two fixed values called
quantums each sample period. Quantum1 sets the rate at (Line_rate -
Delta) where delta is the clock inaccuracy we want to accommodate.
Quantum2 sets the rate at (Line_rate + Delta). If at the beginning
of a sample period, tb_cnt >= sync_threshold, then we set the rate to
Quantum2. This will allow us to catch up and causes the TB slip count
to eventually go < sync_threshold. If tb_cnt is < sync_threshold
then we set the rate to Quantum1.
When the input rate and output rates are exactly equal, the tb_cnt
will vary between sync_threshold > tb_cnt >= 0. This will vary for
each implementation dependent upon the burst latencies of the design.
The sync_threshold value should be set so that for equal transmit and
receive clock rates, the transmit data rate is always Line_rate-Delta
and will be implementation dependent.
The token_bucket is decremented each time data is transmitted. When
token_bucket reaches a value <= 0, a halt_transmit flag is asserted
which halts further transmission of data (halting occurs on a packet
boundary of course which can cause token_bucket to become a negative
number).
7.1. SRP Synchronization Examples
Assume an interval of 2^^18 or 262144 clock cycles. A Quantum1 value
must be picked such that the data rate will = (LINE_RATE - DELTA). A
Quantum2 value must be picked and used if the tb_cnt shows that the
incoming rate is greater than the outgoing rate and is = (LINE_RATE +
DELTA). Assume that the source of the incoming and outgoing rate
clocks are +/- 100 ppm.
For an OC12c SPE rate of 600 Mbps and a system clock rate of 800 Mbps
(16 bits @ 50 Mhz). The system clock rate is the rate at which the
system transmits bytes to the framer (in most cases the framer
transmit rate is asynchronous from the rate at which the system
transfers data to the framer).
Tsiang & Suwala Informational [Page 33]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Quantum1/Interval * 800 Mbps = 600 Mbps(1 - Delta)
Quantum1 = Interval * (600/800) * (1 - Delta)
Quantum1 = Interval * (600/800) * (1 - 1e-4) = 196588
Quantum2/Interval * 800 Mbps = 600 Mbps(1 + Delta)
Quantum2 = Interval * (600/800) * (1 + Delta)
Quantum2 = Interval * (600/800) * (1 + 1e-4) = 196628
Note: The actual data rate for OC-12c is 599.04 Mbps.
8. IPS Protocol Description
An SRP ring is composed of two counter-rotating, single fiber rings.
If an equipment or fiber facility failure is detected, traffic going
towards and from the failure direction is wrapped (looped) back to go
in the opposite direction on the other ring. The wrap around takes
place on the nodes adjacent to the failure, under software control.
This way the traffic is re-routed from the failed span.
Nodes communicate between themselves using IPS signaling on both
inner and outer ring.
The IPS octet contains specific protection information. The format of
the IPS octet is as follows:
FIGURE 18. IPS Octet format:
0-3 IPS Request Type
1101 - Forced Switch (FS)
1011 - Signal Fail (SF)
1000 - Signal Degrade (SD)
0110 - Manual Switch (MS)
0101 - Wait to Restore (WTR)
0000 - No Request (IDLE)
4 Path indicator
0 - short (S)
1 - long (L)
5-7 Status Code
010 - Protection Switch Completed -traffic Wrapped (W)
000 - Idle (I)
Tsiang & Suwala Informational [Page 34]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The IPS control messages are shown in this document as:
{REQUEST_TYPE, SOURCE_ADDRESS, WRAP_STATUS, PATH_INDICATOR}
8.1. The IPS Request Types
The following is a list of the request types, from the highest to the
lowest priority. All requests are signaled using IPS control
messages.
1. Forced Switch (FS - operator originated)
This command performs the ring switch from the working channel
to the protection, wrapping the traffic on the node at which
the command is issued and at the adjacent node to which the
command is destined. Used for example to add another node to
the ring in a controlled fashion.
2. Signal Fail (SF - automatic)
Protection caused by a media "hard failure" or SRP keep- alive
failure. SONET examples of SF triggers are: Loss of Signal
(LOS), Loss of Frame (LOF), Line Bit Error Rate (BER) above a
preselected SF threshold, Line Alarm Indication Signal (AIS).
Note that the SRP keep-alive failure provides end-to-end
coverage and as a result SONET Path triggers are not necessary.
3. Signal Degrade (SD - automatic)
Protection caused by a media "soft failure". SONET example of a
SD is Line BER or Path BER above a preselected SD threshold.
4. Manual Switch (MS - operator originated)
Like the FS, but of lower priority. Can be used for example to
take down the WTR.
5. Wait to Restore (WTR - automatic)
Entered after the working channel meets the restoration
threshold after an SD or SF condition disappears. IPS waits WTR
timeout before restoring traffic in order to prevent protection
switch oscillations.
Tsiang & Suwala Informational [Page 35]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
8.2. SRP IPS Protocol States
Each node in the IPS protocol is in one of the following states for
each of the rings:
8.2.1. Idle
In this mode the node is ready to perform the protection switches and
it sends to both neighboring nodes "idle" IPS messages, which include
"self" in the source address field {IDLE, SELF, I, S}
8.2.2. Pass-through
Node participates in a protection switch by passing the wrapped
traffic and long path signaling through itself. This state is entered
based on received IPS messages. If a long path message with not null
request is received and if the node does not strip the message (see
Protocol Rules for stripping conditions) the node decrements the TTL
and retransmits the message without modification. Sending of the
Idle messages is stopped in the direction in which the message with
not null request is forwarded.
8.2.3. Wrapped
Node participates in a protection switch with a wrap present. This
state is entered based on a protection request issued locally or
based on received IPS messages.
8.3. IPS Protocol Rules
8.3.1. SRP IPS Packet Transfer Mechanism
R T.1:
IPS packets are transferred in a store and forward mode between
adjacent nodes (packets do not travel more than 1 hop between nodes
at a time). Received packet (payload portion) is passed to software
based on interrupts.
R T.2:
All IPS messages are sent to the neighboring nodes periodically on
both inner and outer rings. The timeout period is configurable 1-600
sec (default 1 sec). It is desirable (but not required) that the
timeout is automatically decreased by a factor of 10 for the short
path protection requests.
Tsiang & Suwala Informational [Page 36]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
8.3.2. SRP IPS Signaling and Wrapping Mechanism
R S.1:
IPS signaling is performed using IPS control packets as defined in
Figure 14 "IPS Packet Format".
R S.2:
Node executing a local request signals the protection request on both
short (across the failed span) and long (around the ring) paths after
performing the wrap.
R S.3:
Node executing a short path protection request signals an idle
request with wrapped status on the short (across the failed span)
path and a protection request on the long (around the ring) path
after performing the wrap.
R S.4:
A node which is neither executing a local request nor executing a
short path request signals IDLE messages to its neighbors on the ring
if there is no long path message passing through the node on that
ring.
R S.5:
Protection IPS packets are never wrapped.
R S.6:
If the protocol calls for sending both short and long path requests
on the same span (for example if a node has all fibers disconnected),
only the short path request should be sent.
R S.7:
A node wraps and unwraps only on a local request or on a short path
request. A node never wraps or unwraps as a result of a long path
request. Long path requests are used only to maintain protection
hierarchy. (Since the long path requests do not trigger protection,
there is no need for destination addresses and no need for topology
maps)
Tsiang & Suwala Informational [Page 37]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
In Figure 19, Node A detects SF (local request/ self-detected
request) on the span between Node A and Node B and starts sourcing
{SF, A, W, S} on the outer ring and {SF, A, W, L} on the inner ring.
Node B receives the protection request from Node A (short path
request) and starts sourcing {IDLE, B, W, S} on the inner ring and
{SF, B, W, L} on the outer ring.
FIGURE 19. SRP IPS Signaling
{SF,A,W,S}
-------------------------------
| -----X--------------------- |
| | fiber | |
| v cut {IDLE,B,W,S}| v
----- -----
| A | | B |
| | | |
----- -----
^ | {SF,A,W,L} i ^ | o {SF,B,W,L}
| | n | | u
| | n | | t
| | e | | e
| v r | v r
8.4. SRP IPS Protocol Rules
R P.1:
Protection Request Hierarchy is as follows (Highest priority to the
lowest priority). In general a higher priority request preempts a
lower priority request within the ring with exceptions noted as
rules. The 4 bit values below correspond to the REQUEST_TYPE field in
the IPS packet.
1101 - Forced Switch (FS)
1011 - Signal Fail (SF)
1000 - Signal Degrade (SD)
0110 - Manual Switch (MS)
0101 - Wait to Restore (WTR)
0000 - No Request (IDLE): Lowest priority
R P.2:
Requests >= SF can coexist.
Tsiang & Suwala Informational [Page 38]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
R P.3:
Requests < SF can not coexist with other requests.
R P.4:
A node always honors the highest of {short path request, self
detected request} if there is no higher long path message passing
through the node.
R P.5:
When there are more requests of priority < SF, the first request to
complete long path signaling will take priority.
R P.6:
A Node never forwards an IPS packet received by it which was
originally generated by the node itself (it has the node's source
address).
R P.7:
Nodes never forward packets with the PATH_INDICATOR set to SHORT.
R P.8:
When a node receives a long path request and the request is >= to the
highest of {short path request, self detected request}, the node
checks the message to determine if the message is coming from its
neighbor on the short path. If that is the case then it does not
enter pass-thru and it strips the message.
R P.9:
When a node receives a long path request, it strips (terminates) the
request if it is a wrapped node with a request >= than that in the
request; otherwise it passes it through and unwraps.
R P.10:
Each node keeps track of the addresses of the immediate neighbors
(the neighbor node address is gleaned from the short path IPS
messages).
Tsiang & Suwala Informational [Page 39]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
R P.11:
When a wrapped node (which initially detected the failure) discovers
disappearance of the failure, it enters WTR (user-configurable WTR
time-period). WTR can be configured in the 10-600 sec range with a
default value of 60 sec.
R P.12:
When a node is in WTR mode, and detects that the new neighbor (as
identified from the received short path IPS message) is not the same
as the old neighbor (stored at the time of wrap initiation), the node
drops the WTR.
R P.13:
When a node is in WTR mode and long path request Source is not equal
to the neighbor Id on the opposite side (as stored at the time of
wrap initiation), the node drops the WTR.
R P.14:
When a node receives a local protection request of type SD or SF and
it cannot be executed (according to protocol rules) it keeps the
request pending. (The request can be kept pending outside of the
protection protocol implementation).
R P.15:
If a local non-failure request (WTR, MS, FS) clears and if there are
no other requests pending, the node enters idle state.
R P.16:
If there are two failures and two resulting WTR conditions on a
single span, the second WTR to time out brings both the wraps down
(after the WTR time expires a node does not unwrap automatically but
waits till it receives idle messages from its neighbor on the
previously failed span)
R P.17:
If a short path FS request is present on a given side and a SF/SD
condition takes place on the same side, accept and process the SF/SD
condition ignoring the FS. Without this rule a single ended wrap
condition could take place. (Wrap on one end of a span only).
Tsiang & Suwala Informational [Page 40]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
8.5. State Transitions
Figure 20 shows the simplified state transition diagram for the IPS
protocol:
FIGURE 20. Simplified State Transitions Diagram
Local FS,SF,SD,MS req.
--------- or Rx{REQ,SRC,W,S} from mate
| IDLE |-------------------------------------------
| |<---------------------------------------- |
--------- Local REQ clears | |
^ | or Rx{IDLE,SRC,I,S} | |
| | | |
| | | |
| | | |
| | | |
Rx{IDLE,SRC,I,S}| | Rx{REQ,SRC,W,L} | |
| | | |
| | | |
| v Local FS,SF,SD,MS REQ > Active req. | v
--------- or Rx{REQ,SRC,W,S},REQ > Active req. ---------
| PASS |------------------------------------>| WRAPPED |
| THRU |<------------------------------------| |
--------- ---------
Forwards Tx{REQ,SELF,W,S} for local REQ
{REQ,SRC,W,L} Tx{IDLE,SELF,W,S} for mate REQ
& Tx{REQ,SELF,W,L}
Legend: Mate = node on the other end of the affected span
REQ = {FS | SF | SD | MS}
8.6. Failure Examples
8.6.1. Signal Failure - Single Fiber Cut Scenario
Sample scenario in a ring of four nodes A, B, C and D, with
unidirectional failure on a fiber from A to B, detected on B. Ring is
in the Idle state (all nodes are Idle) prior to failure.
Signal Fail Scenario
1. Ring in Idle, all nodes transmit (Tx) {IDLE, SELF, I, S} on both
rings (in both directions)
Tsiang & Suwala Informational [Page 41]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 21. An SRP Ring with outer ring fiber cut
fiber cut
---------X-----------------------------
| ----------------------------------- |
| | | |
| v | v
----- -----
| A | | B |
| | | |
----- -----
^ | ^ |
o | | i | |
u | | n | |
t | | n | |
e | | e | |
r | | r | |
| v | v
----- -----
| D | | C |
| | | |
----- -----
| | | |
| | | |
| ----------------------------------- |
---------------------------------------
2. B detects SF on the outer ring, transitions to Wrapped state
(performs a wrap), Tx towards A on the inner ring/short path:
{SF, B, W, S} and on the outer ring/long path: Tx {SF, B, W, L}
3. Node A receives protection request on the short path,
transitions to Wrapped state, Tx towards B on short path:
{IDLE, A, W, S} (message does not go through due to the
failure) and on the long path: Tx {SF, A, W, L}
4. As the nodes D and C receive a switch request, they enter a
pass-through mode (in each direction) which mean they stop
sourcing the Idle messages and start passing the messages
between A an B
5. Steady state is reached
Tsiang & Suwala Informational [Page 42]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Signal Fail Clears
1. SF on B clears, B does not unwrap, sets WTR timer, Tx {WTR, B,
W, S} on inner and Tx {WTR, B, W, L}
2. Node A receives WTR request on the short path, does not unwrap,
Tx towards B on short path: {IDLE, A, W, S} (message does not
go through due to the failure) and on the long path: Tx {WTR,
A, W, L}
3. Nodes C and D relay long path messages without changing the IPS
octet
4. Steady state is reached
5. WTR times out on B. B transitions to idle state (unwraps) Tx
{IDLE, B, I, S} on both inner and outer rings
6. A receives Rx {IDLE, B, I, S} and transitions to Idle
7. As idle messages reach C and D the nodes enter the idle state
(start sourcing the Idle messages)
8. Steady state it reached
8.6.2. Signal Failure - Bidirectional Fiber Cut Scenario
Sample scenario in a ring of four nodes A, B, C and D, with a
bidirectional failure between A and B. Ring is in the Idle state
(all nodes are Idle) prior to failure.
Signal Fail Scenario
1. Ring in Idle, all nodes transmit (Tx) {IDLE, SELF, I, S} on
both rings (in both directions)
2. A detects SF on the outer ring, transitions to Wrapped state
(performs a wrap), Tx towards B on the inner ring/short path:
{SF, A, W, S} and on the outer ring/long path: Tx {SF, A, W, L}
3. B detects SF on the outer ring, transitions to Wrapped state
(performs a wrap), Tx towards A on the inner ring/short path:
{SF, B, W, S} and on the outer ring/long path: Tx {SF, B, W, L}
Tsiang & Suwala Informational [Page 43]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 22. An SRP Ring with bidirectional fiber cut
fiber cut
---------X-----------------------------
| -------X--------------------------- |
| | fiber cut | |
| v | v
----- -----
| A | | B |
| | | |
----- -----
^ | ^ |
o | | i | |
u | | n | |
t | | n | |
e | | e | |
r | | r | |
| v | v
----- -----
| D | | C |
| | | |
----- -----
| | | |
| | | |
| ----------------------------------- |
---------------------------------------
4. As the nodes D and C receive a switch request, they enter a
pass-through mode (in each direction) which mean they stop
sourcing the Idle messages and start passing the messages
between A an B
5. Steady state is reached
Signal Fail Clears
1. SF on A clears, A does not unwrap, sets WTR timer, Tx {WTR, A,
W, S} towards B and Tx {WTR, A, W, L} on the long path
2. SF on B clears, B does not unwrap. Since it now has a short
path WTR request present from A it acts upon this request. It
keeps the wrap, Tx {IDLE, B, W, S} towards A and Tx {WTR, B, W,
L} on the long path
Tsiang & Suwala Informational [Page 44]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
3. Nodes C and D relay long path messages without changing the IPS
octet
4. Steady state is reached
5. WTR times out on A. A enters the idle state (drops wraps) and
starts transmitting idle in both rings
6. B sees idle request on short path and enters idle state
7. Remaining nodes in the ring enter the idle state
8. Steady state is reached
8.6.3. Failed Node Scenario
FIGURE 23. An SRP Ring with a failed node
---------------------------------------
| ----------------------------------- |
| | | |
| v | v /
----- ----/
| A | | C/| failed
| | | / | node C
----- -/---
^ | /^ |
o | | i | |
u | | n | |
t | | n | |
e | | e | |
r | | r | |
| v | v
----- -----
| D | | B |
| | | |
----- -----
| | | |
| | | |
| ----------------------------------- |
---------------------------------------
Sample scenario in a ring where node C fails. Ring is in the Idle
state (all nodes are Idle) prior to failure.
Tsiang & Suwala Informational [Page 45]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Node Failure (or fiber cuts on both sides of the node)
1. Ring in Idle, all nodes transmit (Tx) {IDLE, SELF, I, S} on
both rings (in both directions)
2. Based on the source field of the idle messages, all nodes
identify the neighbors and keep track of them
3. B detects SF on the outer ring, transitions to Wrapped state
(performs a wrap), Tx towards C on the inner ring/short path:
{SF, B, W, S} and on the outer ring/long path: Tx {SF, B, W, L}
4. A detects SF on the inner ring, transitions to Wrapped state
(performs a wrap), Tx towards C on the outer ring/short path:
{SF, A, W, S} and on the inner ring/long path: Tx {SF, A, W, L}
5. As the nodes on the long path between A and B receive a SF
request, they enter a pass-through mode (in each direction),
stop sourcing the Idle messages and start passing the messages
between A an B
6. Steady state is reached
Failed Node and One Span Return to Service
Note: Practically the node will always return to service with one
span coming after the other (with the time delta potentially close to
0). Here, a node is powered up with the fibers connected and fault
free.
1. Node C and a span between A and C return to service (SF between
A and C disappears)
2. Node C, not seeing any faults starts to source idle messages
{IDLE, C, I, S} in both directions.
3. Fault disappears on A and A enters a WTR (briefly)
4. Node A receives idle message from node C. Because the long path
protection request {SF, B, W, L} received over the long span is
not originating from the short path neighbor (C), node A drops
the WTR and enters a PassThrough state passing requests between
C and B
5. Steady state is reached
Tsiang & Suwala Informational [Page 46]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Second Span Returns to Service
The scenario is like the Bidirectional Fiber Cut fault clearing
scenario.
8.6.4. Bidirectional Fiber Cut and Node Addition Scenarios
FIGURE 24. An SRP Ring with a failed node
wrap
----->|--------------------------------
| -<--|------------------------------ |
| | | |
| v | v
----- ----
| A | | C | Added
| | | | node
----- -----
^ | ^ |
o | | i | |
u | | n | |
t | | n | |
e | | e --- wrap
r | | r ^ |
| v | v
----- -----
| D | | B |
| | | |
----- -----
| | | |
| | | |
| ----------------------------------- |
---------------------------------------
Sample scenario in a ring where initially nodes A and B are
connected. Subsequently fibers between the nodes A and B are
disconnected and a new node C is inserted.
Bidirectional Fiber Cut
1. Ring in Idle, all nodes transmit (Tx) {IDLE, SELF, I, S} on
both rings (in both directions)
2. Fibers are removed between nodes A and B
3. B detects SF on the outer ring, transitions to Wrapped state
(performs a wrap), Tx towards A on the inner ring/short path:
{SF, B, W, S} and on the outer ring/long path: Tx {SF, B, W, L}
Tsiang & Suwala Informational [Page 47]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4. A detects SF on the inner ring, transitions to Wrapped state
(performs a wrap), Tx towards B on the inner ring/short path:
{SF, A, W, S} and on the outer ring/long path: Tx {SF, A, W, L}
5. As the nodes on the long path between A and B receive a SF
request, they enter a pass-through mode (in each direction),
stop sourcing the Idle messages and start passing the messages
between A an B
6. Steady state is reached
Node C is Powered Up and Fibers Between Nodes A and C are Reconnected
This scenario is identical to the returning a Failed Node to Service
scenario.
Second Span Put Into Service
Nodes C and B are connected. The scenario is identical to
Bidirectional Fiber Cut fault clearing scenario.
9. SRP over SONET/SDH
Although SRP is media independent it is worth noting how SRP is used
with a layer 1 media type. SRP over SONET/SDH is the first media type
perceived for SRP applications.
Flag delimiting on SONET/SDH uses the octet stuffing method defined
for POS. The flags (0x7E) are packet delimiters required for
SONET/SDH links but may not be necessary for SRP on other media
types. End of a packet is delineated by the flag which could also be
the same as the next packet's starting flag. If the flag (0x7E) or
an escape character (0x7D) are present anywhere inside the packet,
they have to be escaped by the escape character when used over
SONET/SDH media.
SONET/SDH framing plus POS packet delimiting allows SRP to be used
directly over fiber or through an optical network (including WDM
equipment).
SRP may also connect to a SONET/SDH ring network via a tributary
connection to a SONET/SDH ADM (Add Drop Multiplexor). The two SRP
rings may be mapped into two STS-Nc connections. SONET/SDH networks
typically provide fully redundant connections, so SRP mapped into two
STS-Nc connections will have two levels of protection. The SONET/SDH
network provides layer 1 protection, and SRP provides layer 2
protection. In this case it is recommended to hold off the SRP Signal
Fail IPS triggers (which correspond to failures which can be
Tsiang & Suwala Informational [Page 48]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
protected by SONET/SDH) for about 100 msec in order to allow the
SONET/SDH network to protect. Only if a failure persists for over 100
msec (indicating SONET/SDH protection failure) should the IPS
protection take place.
Since multiple protection levels over the same physical
infrastructure are not very desirable, an alternate way of connecting
SRP over a SONET/SDH network is configuring SONET/SDH without
protection. Since the connection is unprotected at layer 1, SRP would
be the sole protection mechanism.
Hybrid SRP rings may also be built where some parts of the ring
traverse over a SONET/SDH network while other parts do not.
Connections to a SONET/SDH network would have to be synchronized to
network timing by some means. This can be accomplished by locking
the transmit connection to the frequency of the receive connection
(called loop timing) or via an external synchronization technique.
Connections made via dark fiber or over a WDM optical network should
utilize internal timing as clock synchronization is not necessary in
this case.
10. Pass-thru mode
An optional mode of operation is pass-thru mode. In pass-thru mode,
a node transparently forwards data. The node does not source
packets, and does not modify any of the packets that it forwards.
Data should continue to be sorted into high and low priority transit
buffers with high priority transit buffers always emptied first. The
node does not source any control packets (e.g. topology discovery or
IPS) and basically looks like a signal regenerator with delay (caused
by packets that happened to be in the transit buffer when the
transition to pass-thru mode occurred).
A node can enter pass-thru mode because of an operator command or due
to a error condition such as a software crash.
Tsiang & Suwala Informational [Page 49]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
11. References
[1] ANSI X3T9 FDDI Specification
[2] IEEE 802.5 Token Ring Specification
[3] Bellcore GR-1230, Issue 4, Dec. 1998, "SONET Bidirectional
Line-Switched Ring Equipment Generic Criteria".
[4] ANSI T1.105.01-1998 "Synchronous Optical Network (SONET)
Automatic Protection Switching"
[5] Malis, A. and W. Simpson, "PPP over SONET/SDH", RFC 2615, June
1999.
[6] Simpson, W., "PPP in HDLC-like Framing", STD 51, RFC 1662, July
1994.
12. Security Considerations
As in any shared media, packets that traverse a node are available to
that node if that node is misconfigured or maliciously configured.
Additionally, it is possible for a node to not only inspect packets
meant for another node but to also prevent the intended node from
receiving the packets due to the destination stripping scheme used to
obtain spatial reuse. Topology discovery should be used to detect
duplicate MAC addresses.
13. IPR Notice
The IETF has been notified of intellectual property rights claimed in
regard to some or all of the specification contained in this
document. For more information consult the online list of claimed
rights.
14. Acknowledgments
The authors would like to acknowledge Hon Wah Chin who came up with
the original version of the SRP-fa. Besides the authors, the
original conceivers of SRP include Hon Wah Chin, Graeme Fraser, Tony
Bates, Bruce Wilford, Feisal Daruwalla, and Robert Broberg.
Tsiang & Suwala Informational [Page 50]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
15. Authors' Addresses
Comments should be sent to the authors at the following addresses:
David Tsiang
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
Phone: (408) 526-8216
EMail: tsiang@cisco.com
George Suwala
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
Phone: (408) 525-8674
EMail: gsuwala@cisco.com
Tsiang & Suwala Informational [Page 51]
^L
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
16. Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Tsiang & Suwala Informational [Page 52]
^L
|