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
|
<pre>Network Working Group D. Tsiang
Request for Comments: 2892 G. Suwala
Category: Informational Cisco Systems
August 2000
<span class="h1">The Cisco SRP MAC Layer Protocol</span>
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 [<a href="#ref-1">1</a>][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.
<span class="grey">Tsiang & Suwala Informational [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
Table of Contents
<a href="#section-1">1</a>. Differences between SRP V1 and V2 ....................... <a href="#page-3">3</a>
<a href="#section-2">2</a>. Terms and Taxonomy ...................................... <a href="#page-4">4</a>
<a href="#section-2.1">2.1</a>. Ring Terminology .................................. <a href="#page-4">4</a>
<a href="#section-2.2">2.2</a>. Spatial Reuse ..................................... <a href="#page-5">5</a>
<a href="#section-2.3">2.3</a>. Fairness .......................................... <a href="#page-6">6</a>
<a href="#section-2.4">2.4</a>. Transit Buffer .................................... <a href="#page-7">7</a>
<a href="#section-3">3</a>. SRP Overview ............................................ <a href="#page-8">8</a>
<a href="#section-3.1">3.1</a>. Receive Operation Overview ........................ <a href="#page-8">8</a>
<a href="#section-3.2">3.2</a>. Transmit Operation Overview ....................... <a href="#page-8">8</a>
<a href="#section-3.3">3.3</a>. SRP Fairness Algorithm (SRP-fa) Overview .......... <a href="#page-9">9</a>
3.4. Intelligent Protection Switching (IPS) Protocol
Overview .......................................... <a href="#page-9">9</a>
<a href="#section-4">4</a>. Packet Formats .......................................... <a href="#page-13">13</a>
<a href="#section-4.1">4.1</a>. Overall Packet Format ............................. <a href="#page-13">13</a>
<a href="#section-4.2">4.2</a>. Generic Packet Header Format ...................... <a href="#page-14">14</a>
<a href="#section-4.2.1">4.2.1</a>. Time To Live (TTL) ......................... <a href="#page-14">14</a>
<a href="#section-4.2.2">4.2.2</a>. Ring Identifier (R) ........................ <a href="#page-15">15</a>
<a href="#section-4.2.3">4.2.3</a>. Priority Field (PRI) ....................... <a href="#page-15">15</a>
<a href="#section-4.2.4">4.2.4</a>. MODE ....................................... <a href="#page-15">15</a>
<a href="#section-4.2.5">4.2.5</a>. Parity Bit (P-bit) ......................... <a href="#page-16">16</a>
<a href="#section-4.2.6">4.2.6</a>. Destination Address ........................ <a href="#page-16">16</a>
<a href="#section-4.2.7">4.2.7</a>. Source Address ............................. <a href="#page-16">16</a>
<a href="#section-4.2.8">4.2.8</a>. Protocol Type .............................. <a href="#page-16">16</a>
<a href="#section-4.3">4.3</a>. SRP Cell Format ................................... <a href="#page-16">16</a>
<a href="#section-4.4">4.4</a>. SRP Usage Packet Format ........................... <a href="#page-17">17</a>
<a href="#section-4.5">4.5</a>. SRP Control Packet Format ......................... <a href="#page-18">18</a>
<a href="#section-4.5.1">4.5.1</a>. Control Ver ................................ <a href="#page-19">19</a>
<a href="#section-4.5.2">4.5.2</a>. Control Type ............................... <a href="#page-19">19</a>
<a href="#section-4.5.3">4.5.3</a>. Control TTL ................................ <a href="#page-19">19</a>
<a href="#section-4.5.4">4.5.4</a>. Control Checksum ........................... <a href="#page-19">19</a>
<a href="#section-4.5.5">4.5.5</a>. Payload .................................... <a href="#page-20">20</a>
<a href="#section-4.5.6">4.5.6</a>. Addressing ................................. <a href="#page-20">20</a>
<a href="#section-4.6">4.6</a>. Topology Discovery ................................ <a href="#page-20">20</a>
<a href="#section-4.6.1">4.6.1</a>. Topology Length ............................ <a href="#page-22">22</a>
<a href="#section-4.6.2">4.6.2</a>. Topology Originator ........................ <a href="#page-22">22</a>
<a href="#section-4.6.3">4.6.3</a>. MAC bindings ............................... <a href="#page-22">22</a>
<a href="#section-4.6.4">4.6.4</a>. MAC Type Format ............................ <a href="#page-22">22</a>
<a href="#section-4.7">4.7</a>. Intelligent Protection Switching (IPS) ............ <a href="#page-23">23</a>
<a href="#section-4.7.1">4.7.1</a>. Originator MAC Address ..................... <a href="#page-23">23</a>
<a href="#section-4.7.2">4.7.2</a>. IPS Octet .................................. <a href="#page-24">24</a>
<a href="#section-4.8">4.8</a>. Circulating packet detection (stripping) .......... <a href="#page-24">24</a>
<a href="#section-5">5</a>. Packet acceptance and stripping ......................... <a href="#page-25">25</a>
<a href="#section-5.1">5.1</a>. Transmission and forwarding with priority ......... <a href="#page-27">27</a>
<a href="#section-5.2">5.2</a>. Wrapping of Data .................................. <a href="#page-28">28</a>
<a href="#section-6">6</a>. SRP-fa Rules Of Operation ............................... <a href="#page-28">28</a>
<a href="#section-6.1">6.1</a>. SRP-fa pseudo-code ................................ <a href="#page-30">30</a>
<span class="grey">Tsiang & Suwala Informational [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<a href="#section-6.2">6.2</a>. Threshold settings ................................ <a href="#page-32">32</a>
<a href="#section-7">7</a>. SRP Synchronization ..................................... <a href="#page-32">32</a>
<a href="#section-7.1">7.1</a>. SRP Synchronization Examples ...................... <a href="#page-33">33</a>
<a href="#section-8">8</a>. IPS Protocol Description ................................ <a href="#page-34">34</a>
<a href="#section-8.1">8.1</a>. The IPS Request Types ............................. <a href="#page-35">35</a>
<a href="#section-8.2">8.2</a>. SRP IPS Protocol States ........................... <a href="#page-36">36</a>
<a href="#section-8.2.1">8.2.1</a>. Idle ....................................... <a href="#page-36">36</a>
<a href="#section-8.2.2">8.2.2</a>. Pass-through ............................... <a href="#page-36">36</a>
<a href="#section-8.2.3">8.2.3</a>. Wrapped .................................... <a href="#page-36">36</a>
<a href="#section-8.3">8.3</a>. IPS Protocol Rules ................................ <a href="#page-36">36</a>
<a href="#section-8.3.1">8.3.1</a>. SRP IPS Packet Transfer Mechanism .......... <a href="#page-36">36</a>
<a href="#section-8.3.2">8.3.2</a>. SRP IPS Signaling and Wrapping Mechanism ... <a href="#page-37">37</a>
<a href="#section-8.4">8.4</a>. SRP IPS Protocol Rules ............................ <a href="#page-38">38</a>
<a href="#section-8.5">8.5</a>. State Transitions ................................. <a href="#page-41">41</a>
<a href="#section-8.6">8.6</a>. Failure Examples .................................. <a href="#page-41">41</a>
8.6.1. Signal Failure - Single Fiber Cut Scenario . 41
8.6.2. Signal Failure - Bidirectional Fiber Cut
Scenario ................................... <a href="#page-43">43</a>
<a href="#section-8.6.3">8.6.3</a>. Failed Node Scenario ....................... <a href="#page-45">45</a>
8.6.4. Bidirectional Fiber Cut and Node Addition
Scenarios .......................................... <a href="#page-47">47</a>
<a href="#section-9">9</a>. SRP over SONET/SDH ...................................... <a href="#page-48">48</a>
<a href="#section-10">10</a>. Pass-thru mode .......................................... <a href="#page-49">49</a>
<a href="#section-11">11</a>. References .............................................. <a href="#page-50">50</a>
<a href="#section-12">12</a>. Security Considerations ................................. <a href="#page-50">50</a>
<a href="#section-13">13</a>. IPR Notice .. ........................................... <a href="#page-50">50</a>
<a href="#section-14">14</a>. Acknowledgments ......................................... <a href="#page-50">50</a>
<a href="#section-15">15</a>. Authors' Addresses ...................................... <a href="#page-51">51</a>
<a href="#section-16">16</a>. Full Copyright Statement ................................ <a href="#page-52">52</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Differences between SRP V1 and V2</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
- 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 [<a href="#ref-5" title=""PPP over SONET/SDH"">5</a>].
- 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.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Terms and Taxonomy</span>
<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>. Ring Terminology</span>
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 [<a href="#ref-1">1</a>] or SONET/SDH [<a href="#ref-3" title=""SONET Bidirectional Line-Switched Ring Equipment Generic Criteria"">3</a>]. 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.
<span class="grey">Tsiang & Suwala Informational [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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 |<----------------
-----
<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>. Spatial Reuse</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-2.3" href="#section-2.3">2.3</a>. Fairness</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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 |<---------------- .
----- .
^ .
. .
. . . . .<. . . . . . . . . . . .
<span class="h3"><a class="selflink" id="section-2.4" href="#section-2.4">2.4</a>. Transit Buffer</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
FIGURE 3. Transit buffer
^^ ||
|| vv
|----| |----|
| | | |
|----|Rx |----|Tx
| |Buffer | |Buffer
|----| |----|
| | | |
|----| |----|
| | | |
|----| |----|
| | | |
|----| |----|
^^ Transit ||
|| Buffer ||
|| |------| vv
| H |
===========>|------|==========>
| L |
|------|
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. SRP Overview</span>
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Receive Operation Overview</span>
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.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Transmit Operation Overview</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. SRP Fairness Algorithm (SRP-fa) Overview</span>
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.
<span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>. Intelligent Protection Switching (IPS) Protocol Overview</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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 [<a href="#ref-3" title=""SONET Bidirectional Line-Switched Ring Equipment Generic Criteria"">3</a>][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
<span class="grey">Tsiang & Suwala Informational [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Packet Formats</span>
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.
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Overall Packet Format</span>
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 <a href="./rfc1662">RFC-1662</a> and is the same CRC as used in Packet
Over SONET (POS - specified in <a href="./rfc2615">RFC-2615</a>). The generator polynomial
is:
<span class="grey">Tsiang & Suwala Informational [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. Generic Packet Header Format</span>
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.
<span class="h4"><a class="selflink" id="section-4.2.1" href="#section-4.2.1">4.2.1</a>. Time To Live (TTL)</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h4"><a class="selflink" id="section-4.2.2" href="#section-4.2.2">4.2.2</a>. Ring Identifier (R)</span>
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
<span class="h4"><a class="selflink" id="section-4.2.3" href="#section-4.2.3">4.2.3</a>. Priority Field (PRI)</span>
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).
<span class="h4"><a class="selflink" id="section-4.2.4" href="#section-4.2.4">4.2.4</a>. MODE</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h4"><a class="selflink" id="section-4.2.5" href="#section-4.2.5">4.2.5</a>. Parity Bit (P-bit)</span>
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).
<span class="h4"><a class="selflink" id="section-4.2.6" href="#section-4.2.6">4.2.6</a>. Destination Address</span>
The destination address is a globally unique 48 bit address assigned
by the IEEE.
<span class="h4"><a class="selflink" id="section-4.2.7" href="#section-4.2.7">4.2.7</a>. Source Address</span>
The source address is a globally unique 48 bit address assigned by
the IEEE.
<span class="h4"><a class="selflink" id="section-4.2.8" href="#section-4.2.8">4.2.8</a>. Protocol Type</span>
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
<span class="h3"><a class="selflink" id="section-4.3" href="#section-4.3">4.3</a>. SRP Cell Format</span>
SRP also supports the sending of ATM cells. The detailed cell format
is shown below:
<span class="grey">Tsiang & Suwala Informational [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h3"><a class="selflink" id="section-4.4" href="#section-4.4">4.4</a>. SRP Usage Packet Format</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-4.5" href="#section-4.5">4.5</a>. SRP Control Packet Format</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="h4"><a class="selflink" id="section-4.5.1" href="#section-4.5.1">4.5.1</a>. Control Ver</span>
This one octet field is the version number associated with the
control type field. Initially, all control types will be version 0.
<span class="h4"><a class="selflink" id="section-4.5.2" href="#section-4.5.2">4.5.2</a>. Control Type</span>
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
<span class="h4"><a class="selflink" id="section-4.5.3" href="#section-4.5.3">4.5.3</a>. Control TTL</span>
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.
<span class="h4"><a class="selflink" id="section-4.5.4" href="#section-4.5.4">4.5.4</a>. Control Checksum</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h4"><a class="selflink" id="section-4.5.5" href="#section-4.5.5">4.5.5</a>. Payload</span>
The payload is a variable length field dependent on the control type.
<span class="h4"><a class="selflink" id="section-4.5.6" href="#section-4.5.6">4.5.6</a>. Addressing</span>
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).
<span class="h3"><a class="selflink" id="section-4.6" href="#section-4.6">4.6</a>. Topology Discovery</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h4"><a class="selflink" id="section-4.6.1" href="#section-4.6.1">4.6.1</a>. Topology Length</span>
This two octet field represents the length of the topology message in
octets starting with the first MAC Type/MAC Address binding.
<span class="h4"><a class="selflink" id="section-4.6.2" href="#section-4.6.2">4.6.2</a>. Topology Originator</span>
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.
<span class="h4"><a class="selflink" id="section-4.6.3" href="#section-4.6.3">4.6.3</a>. MAC bindings</span>
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.
<span class="h4"><a class="selflink" id="section-4.6.4" href="#section-4.6.4">4.6.4</a>. MAC Type Format</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h3"><a class="selflink" id="section-4.7" href="#section-4.7">4.7</a>. Intelligent Protection Switching (IPS)</span>
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.
<span class="h4"><a class="selflink" id="section-4.7.1" href="#section-4.7.1">4.7.1</a>. Originator MAC Address</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 23]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-24" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h4"><a class="selflink" id="section-4.7.2" href="#section-4.7.2">4.7.2</a>. IPS Octet</span>
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 [<a href="#ref-3" title=""SONET Bidirectional Line-Switched Ring Equipment Generic Criteria"">3</a>], [<a href="#ref-4">4</a>], except as noted.
<span class="h3"><a class="selflink" id="section-4.8" href="#section-4.8">4.8</a>. Circulating packet detection (stripping)</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 24]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-25" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Packet acceptance and stripping</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 25]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-26" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 26]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-27" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. Transmission and forwarding with priority</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 27]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-28" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. Wrapping of Data</span>
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.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. SRP-fa Rules Of Operation</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 28]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-29" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 29]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-30" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>. SRP-fa pseudo-code</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 30]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-31" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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);
<span class="grey">Tsiang & Suwala Informational [Page 31]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-32" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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;
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>. Threshold settings</span>
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.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. SRP Synchronization</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 32]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-33" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. SRP Synchronization Examples</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 33]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-34" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. IPS Protocol Description</span>
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)
<span class="grey">Tsiang & Suwala Informational [Page 34]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-35" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
The IPS control messages are shown in this document as:
{REQUEST_TYPE, SOURCE_ADDRESS, WRAP_STATUS, PATH_INDICATOR}
<span class="h3"><a class="selflink" id="section-8.1" href="#section-8.1">8.1</a>. The IPS Request Types</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 35]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-36" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-8.2" href="#section-8.2">8.2</a>. SRP IPS Protocol States</span>
Each node in the IPS protocol is in one of the following states for
each of the rings:
<span class="h4"><a class="selflink" id="section-8.2.1" href="#section-8.2.1">8.2.1</a>. Idle</span>
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}
<span class="h4"><a class="selflink" id="section-8.2.2" href="#section-8.2.2">8.2.2</a>. Pass-through</span>
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.
<span class="h4"><a class="selflink" id="section-8.2.3" href="#section-8.2.3">8.2.3</a>. Wrapped</span>
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.
<span class="h3"><a class="selflink" id="section-8.3" href="#section-8.3">8.3</a>. IPS Protocol Rules</span>
<span class="h4"><a class="selflink" id="section-8.3.1" href="#section-8.3.1">8.3.1</a>. SRP IPS Packet Transfer Mechanism</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 36]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-37" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h4"><a class="selflink" id="section-8.3.2" href="#section-8.3.2">8.3.2</a>. SRP IPS Signaling and Wrapping Mechanism</span>
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)
<span class="grey">Tsiang & Suwala Informational [Page 37]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-38" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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
<span class="h3"><a class="selflink" id="section-8.4" href="#section-8.4">8.4</a>. SRP IPS Protocol Rules</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 38]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-39" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 39]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-40" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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).
<span class="grey">Tsiang & Suwala Informational [Page 40]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-41" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h3"><a class="selflink" id="section-8.5" href="#section-8.5">8.5</a>. State Transitions</span>
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}
<span class="h3"><a class="selflink" id="section-8.6" href="#section-8.6">8.6</a>. Failure Examples</span>
<span class="h4"><a class="selflink" id="section-8.6.1" href="#section-8.6.1">8.6.1</a>. Signal Failure - Single Fiber Cut Scenario</span>
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)
<span class="grey">Tsiang & Suwala Informational [Page 41]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-42" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 42]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-43" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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
<span class="h4"><a class="selflink" id="section-8.6.2" href="#section-8.6.2">8.6.2</a>. Signal Failure - Bidirectional Fiber Cut Scenario</span>
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}
<span class="grey">Tsiang & Suwala Informational [Page 43]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-44" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 44]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-45" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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
<span class="h4"><a class="selflink" id="section-8.6.3" href="#section-8.6.3">8.6.3</a>. Failed Node Scenario</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 45]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-46" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 46]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-47" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
Second Span Returns to Service
The scenario is like the Bidirectional Fiber Cut fault clearing
scenario.
<span class="h4"><a class="selflink" id="section-8.6.4" href="#section-8.6.4">8.6.4</a>. Bidirectional Fiber Cut and Node Addition Scenarios</span>
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}
<span class="grey">Tsiang & Suwala Informational [Page 47]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-48" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. SRP over SONET/SDH</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 48]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-49" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
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.
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Pass-thru mode</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 49]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-50" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a>. References</span>
[<a id="ref-1">1</a>] ANSI X3T9 FDDI Specification
[<a id="ref-2">2</a>] IEEE 802.5 Token Ring Specification
[<a id="ref-3">3</a>] Bellcore GR-1230, Issue 4, Dec. 1998, "SONET Bidirectional
Line-Switched Ring Equipment Generic Criteria".
[<a id="ref-4">4</a>] ANSI T1.105.01-1998 "Synchronous Optical Network (SONET)
Automatic Protection Switching"
[<a id="ref-5">5</a>] Malis, A. and W. Simpson, "PPP over SONET/SDH", <a href="./rfc2615">RFC 2615</a>, June
1999.
[<a id="ref-6">6</a>] Simpson, W., "PPP in HDLC-like Framing", STD 51, <a href="./rfc1662">RFC 1662</a>, July
1994.
<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a>. Security Considerations</span>
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.
<span class="h2"><a class="selflink" id="section-13" href="#section-13">13</a>. IPR Notice</span>
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.
<span class="h2"><a class="selflink" id="section-14" href="#section-14">14</a>. Acknowledgments</span>
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.
<span class="grey">Tsiang & Suwala Informational [Page 50]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-51" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h2"><a class="selflink" id="section-15" href="#section-15">15</a>. Authors' Addresses</span>
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
<span class="grey">Tsiang & Suwala Informational [Page 51]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-52" ></span>
<span class="grey"><a href="./rfc2892">RFC 2892</a> The Cisco SRP MAC Layer Protocol August 2000</span>
<span class="h2"><a class="selflink" id="section-16" href="#section-16">16</a>. Full Copyright Statement</span>
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]
</pre>
|