1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999
|
<pre> Network Working Group ISO
Request for Comments: 905 April 1984
<span class="h1">ISO Transport Protocol Specification</span>
<span class="h1">ISO DP 8073</span>
Status of this Memo:
This document is distributed as an RFC for information only. It
does not specify a standard for the ARPA-Internet.
Notes:
1) <a href="./rfc892">RFC 892</a> is an older version of the ISO Transport Protocol
Specification. Therefore this RFC should be assumed to
supercede <a href="./rfc892">RFC 892</a>.
2) This document has been prepared by retyping the text of
ISO/TC97/SC16/N1576 and then applying proposed editorial
corrections contained in ISO/TC97/SC16/N1695. These two
documents, taken together, are undergoing voting within ISO
as a Draft International Standard (DIS).
3) Although this RFC has been reviewed after typing, and is
believed to be substantially correct, it is possible that
typographic errors not present in the ISO documents have been
overlooked.
Alex McKenzie
BBN
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> Table of Contents
<a href="#section-1">1</a> SCOPE AND FIELD OF APPLICATION........................ <a href="#page-3">3</a>
<a href="#section-1.1">1.1</a> This International Standard specifies:.............. <a href="#page-3">3</a>
<a href="#section-1.2">1.2</a> The procedures are defined in terms of:............. <a href="#page-4">4</a>
1.3 .................................................... <a href="#page-4">4</a>
1.4 .................................................... <a href="#page-5">5</a>
<a href="#section-2">2</a> REFERENCES............................................ <a href="#page-5">5</a>
<a href="#section-3">3</a> DEFINITIONS........................................... <a href="#page-6">6</a>
3.1 .................................................... <a href="#page-6">6</a>
3.2 .................................................... <a href="#page-6">6</a>
<a href="#section-3.2.1">3.2.1</a> equipment:........................................ <a href="#page-7">7</a>
<a href="#section-3.2.2">3.2.2</a> transport service user:........................... <a href="#page-7">7</a>
<a href="#section-3.2.3">3.2.3</a> network service provider:......................... <a href="#page-7">7</a>
<a href="#section-3.2.4">3.2.4</a> local matter:..................................... <a href="#page-7">7</a>
<a href="#section-3.2.5">3.2.5</a> initiator:........................................ <a href="#page-7">7</a>
<a href="#section-3.2.6">3.2.6</a> responder:........................................ <a href="#page-8">8</a>
<a href="#section-3.2.7">3.2.7</a> sending transport entity:......................... <a href="#page-8">8</a>
<a href="#section-3.2.8">3.2.8</a> receiving transport entity:....................... <a href="#page-8">8</a>
<a href="#section-3.2.9">3.2.9</a> preferred class:.................................. <a href="#page-8">8</a>
<a href="#section-3.2.10">3.2.10</a> alternative class:............................... <a href="#page-8">8</a>
<a href="#section-3.2.11">3.2.11</a> proposed class:.................................. <a href="#page-9">9</a>
<a href="#section-3.2.12">3.2.12</a> selected class:.................................. <a href="#page-9">9</a>
<a href="#section-3.2.13">3.2.13</a> proposed parameter:.............................. <a href="#page-9">9</a>
<a href="#section-3.2.14">3.2.14</a> selected parameter:.............................. <a href="#page-9">9</a>
<a href="#section-3.2.15">3.2.15</a> error indication:................................ <a href="#page-9">9</a>
<a href="#section-3.2.16">3.2.16</a> invalid TPDU:................................... <a href="#page-10">10</a>
<a href="#section-3.2.17">3.2.17</a> protocol error:................................. <a href="#page-10">10</a>
<a href="#section-3.2.18">3.2.18</a> sequence number:................................ <a href="#page-10">10</a>
<a href="#section-3.2.19">3.2.19</a> transmit window:................................ <a href="#page-10">10</a>
<a href="#section-3.2.20">3.2.20</a> lower window edge:.............................. <a href="#page-11">11</a>
<a href="#section-3.2.21">3.2.21</a> upper window edge:.............................. <a href="#page-11">11</a>
3.2.22 upper window edge allocated to the peer
entity:
.................................................... <a href="#page-11">11</a>
<a href="#section-3.2.23">3.2.23</a> closed window:.................................. <a href="#page-11">11</a>
<a href="#section-3.2.24">3.2.24</a> window information:............................. <a href="#page-11">11</a>
<a href="#section-3.2.25">3.2.25</a> frozen reference:............................... <a href="#page-12">12</a>
<a href="#section-3.2.26">3.2.26</a> unassigned reference:........................... <a href="#page-12">12</a>
<a href="#section-3.2.27">3.2.27</a> transparent (data):............................. <a href="#page-12">12</a>
i
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-3.2.28">3.2.28</a> owner (of a network connection):................ <a href="#page-12">12</a>
<a href="#section-3.2.29">3.2.29</a> retained TPDU:.................................. <a href="#page-12">12</a>
<a href="#section-4">4</a> SYMBOLS AND ABBREVIATIONS............................ <a href="#page-13">13</a>
<a href="#section-4.1">4.1</a> Data units......................................... <a href="#page-13">13</a>
<a href="#section-4.2">4.2</a> Types of transport protocol data units............. <a href="#page-13">13</a>
<a href="#section-4.3">4.3</a> TPDU fields........................................ <a href="#page-13">13</a>
<a href="#section-4.4">4.4</a> Times and associated variables..................... <a href="#page-14">14</a>
<a href="#section-4.5">4.5</a> Miscellaneous...................................... <a href="#page-14">14</a>
<a href="#section-5">5</a> OVERVIEW OF THE TRANSPORT PROTOCOL................... <a href="#page-15">15</a>
<a href="#section-5.1">5.1</a> Service provided by the transport layer............ <a href="#page-15">15</a>
<a href="#section-5.2">5.2</a> Service assumed from the network layer............. <a href="#page-16">16</a>
<a href="#section-5.3">5.3</a> Functions of the Transport Layer................... <a href="#page-18">18</a>
<a href="#section-5.3.1">5.3.1</a> Overview of functions............................ <a href="#page-18">18</a>
<a href="#section-5.3.1.1">5.3.1.1</a> Functions used at all times.................... <a href="#page-19">19</a>
<a href="#section-5.3.1.2">5.3.1.2</a> Connection Establishment....................... <a href="#page-19">19</a>
<a href="#section-5.3.1.3">5.3.1.3</a> Data Transfer.................................. <a href="#page-20">20</a>
<a href="#section-5.3.1.4">5.3.1.4</a> Release........................................ <a href="#page-21">21</a>
<a href="#section-5.4">5.4</a> Classes and options................................ <a href="#page-21">21</a>
<a href="#section-5.4.1">5.4.1</a> General.......................................... <a href="#page-21">21</a>
<a href="#section-5.4.2">5.4.2</a> Negotiation...................................... <a href="#page-22">22</a>
<a href="#section-5.4.3">5.4.3</a> Choice of network connection..................... <a href="#page-22">22</a>
<a href="#section-5.4.4">5.4.4</a> Characteristics of Class 0....................... <a href="#page-23">23</a>
<a href="#section-5.4.5">5.4.5</a> Characteristics of Class 1....................... <a href="#page-23">23</a>
<a href="#section-5.4.6">5.4.6</a> Characteristics of Class 2....................... <a href="#page-24">24</a>
<a href="#section-5.4.6.1">5.4.6.1</a> General........................................ <a href="#page-24">24</a>
<a href="#section-5.4.6.2">5.4.6.2</a> Use of explicit flow control................... <a href="#page-24">24</a>
<a href="#section-5.4.6.3">5.4.6.3</a> Non-use of explicit flow control............... <a href="#page-24">24</a>
<a href="#section-5.4.7">5.4.7</a> Characteristics of Class 3....................... <a href="#page-24">24</a>
<a href="#section-5.4.8">5.4.8</a> Characteristics of Class 4....................... <a href="#page-25">25</a>
<a href="#section-5.5">5.5</a> Model of the transport layer....................... <a href="#page-25">25</a>
<a href="#section-6">6</a> ELEMENTS OF PROCEDURE................................ <a href="#page-27">27</a>
<a href="#section-6.1">6.1</a> Assignment to network connection................... <a href="#page-27">27</a>
<a href="#section-6.1.1">6.1.1</a> Purpose.......................................... <a href="#page-27">27</a>
<a href="#section-6.1.2">6.1.2</a> Network service primitives....................... <a href="#page-27">27</a>
<a href="#section-6.1.3">6.1.3</a> Procedure........................................ <a href="#page-28">28</a>
<a href="#section-6.2">6.2</a> Transport protocol data unit (TPDU) transfer....... <a href="#page-29">29</a>
<a href="#section-6.2.1">6.2.1</a> Purpose.......................................... <a href="#page-29">29</a>
<a href="#section-6.2.2">6.2.2</a> Network Service Primitives....................... <a href="#page-30">30</a>
<a href="#section-6.2.3">6.2.3</a> Procedure........................................ <a href="#page-30">30</a>
<a href="#section-6.3">6.3</a> Segmenting and reassembling........................ <a href="#page-30">30</a>
<a href="#section-6.3.1">6.3.1</a> Purpose.......................................... <a href="#page-30">30</a>
<a href="#section-6.3.2">6.3.2</a> TPDUs and parameter used......................... <a href="#page-31">31</a>
<a href="#section-6.3.3">6.3.3</a> Procedure........................................ <a href="#page-31">31</a>
ii
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-6.4">6.4</a> Concatenation and separation....................... <a href="#page-31">31</a>
<a href="#section-6.4.1">6.4.1</a> Purpose.......................................... <a href="#page-31">31</a>
<a href="#section-6.4.2">6.4.2</a> Procedure........................................ <a href="#page-32">32</a>
<a href="#section-6.5">6.5</a> Connection establishment........................... <a href="#page-32">32</a>
<a href="#section-6.5.1">6.5.1</a> Purpose.......................................... <a href="#page-32">32</a>
<a href="#section-6.5.2">6.5.2</a> Network service primitives....................... <a href="#page-33">33</a>
<a href="#section-6.5.3">6.5.3</a> TPDUs and parameters used........................ <a href="#page-33">33</a>
<a href="#section-6.5.4">6.5.4</a> Procedure........................................ <a href="#page-34">34</a>
<a href="#section-6.6">6.6</a> Connection refusal................................. <a href="#page-40">40</a>
<a href="#section-6.6.1">6.6.1</a> Purpose.......................................... <a href="#page-40">40</a>
<a href="#section-6.6.2">6.6.2</a> TPDUs and parameters used........................ <a href="#page-40">40</a>
<a href="#section-6.6.3">6.6.3</a> Procedure........................................ <a href="#page-41">41</a>
<a href="#section-6.7">6.7</a> Normal release..................................... <a href="#page-41">41</a>
<a href="#section-6.7.1">6.7.1</a> Purpose.......................................... <a href="#page-41">41</a>
<a href="#section-6.7.2">6.7.2</a> Network service primitives....................... <a href="#page-42">42</a>
<a href="#section-6.7.3">6.7.3</a> TPDUs and parameters used........................ <a href="#page-42">42</a>
<a href="#section-6.7.4">6.7.4</a> Procedure for implicit variant................... <a href="#page-43">43</a>
<a href="#section-6.7.5">6.7.5</a> Procedure for explicit variant................... <a href="#page-43">43</a>
<a href="#section-6.8">6.8</a> Error Release...................................... <a href="#page-44">44</a>
<a href="#section-6.8.1">6.8.1</a> Purpose.......................................... <a href="#page-45">45</a>
<a href="#section-6.8.2">6.8.2</a> Network service primitives....................... <a href="#page-45">45</a>
<a href="#section-6.8.3">6.8.3</a> Procedure........................................ <a href="#page-45">45</a>
6.9 Association of TPDUs with transport
connections
.................................................... <a href="#page-45">45</a>
<a href="#section-6.9.1">6.9.1</a> Purpose.......................................... <a href="#page-45">45</a>
<a href="#section-6.9.2">6.9.2</a> Network service primitives....................... <a href="#page-46">46</a>
<a href="#section-6.9.3">6.9.3</a> TPDUs and parameters uses........................ <a href="#page-46">46</a>
<a href="#section-6.9.4">6.9.4</a> Procedures....................................... <a href="#page-46">46</a>
<a href="#section-6.9.4.1">6.9.4.1</a> Identification of TPDUs........................ <a href="#page-46">46</a>
<a href="#section-6.9.4.2">6.9.4.2</a> Association of individual TPDUs................ <a href="#page-47">47</a>
<a href="#section-6.10">6.10</a> Data TPDU numbering............................... <a href="#page-49">49</a>
<a href="#section-6.10.1">6.10.1</a> Purpose......................................... <a href="#page-49">49</a>
<a href="#section-6.10.2">6.10.2</a> TPDUs and parameters used....................... <a href="#page-49">49</a>
<a href="#section-6.10.3">6.10.3</a> Procedure....................................... <a href="#page-50">50</a>
<a href="#section-6.11">6.11</a> Expedited data transfer........................... <a href="#page-50">50</a>
<a href="#section-6.11.1">6.11.1</a> Purpose......................................... <a href="#page-50">50</a>
<a href="#section-6.11.2">6.11.2</a> Network service primitives...................... <a href="#page-50">50</a>
<a href="#section-6.11.3">6.11.3</a> TPDUs and parameter used........................ <a href="#page-51">51</a>
<a href="#section-6.11.4">6.11.4</a> Procedures...................................... <a href="#page-51">51</a>
<a href="#section-6.12">6.12</a> Reassignment after failure........................ <a href="#page-52">52</a>
<a href="#section-6.12.1">6.12.1</a> Purpose......................................... <a href="#page-52">52</a>
<a href="#section-6.12.2">6.12.2</a> Network service primitives...................... <a href="#page-52">52</a>
iii
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-6.12.3">6.12.3</a> Procedure....................................... <a href="#page-52">52</a>
<a href="#section-6.12.4">6.12.4</a> Timers.......................................... <a href="#page-54">54</a>
<a href="#section-6.13">6.13</a> Retention until acknowledgement of TPDUs.......... <a href="#page-56">56</a>
<a href="#section-6.13.1">6.13.1</a> Purpose......................................... <a href="#page-56">56</a>
<a href="#section-6.13.2">6.13.2</a> Network service primitives...................... <a href="#page-56">56</a>
<a href="#section-6.13.3">6.13.3</a> TPDUs and parameters used....................... <a href="#page-56">56</a>
<a href="#section-6.13.4">6.13.4</a> Procedures...................................... <a href="#page-57">57</a>
<a href="#section-6.14">6.14</a> Resynchronization................................. <a href="#page-60">60</a>
<a href="#section-6.14.1">6.14.1</a> Purpose......................................... <a href="#page-60">60</a>
<a href="#section-6.14.2">6.14.2</a> Network service primitives...................... <a href="#page-60">60</a>
<a href="#section-6.14.3">6.14.3</a> TPDUs and parameters used....................... <a href="#page-60">60</a>
<a href="#section-6.14.4">6.14.4</a> Procedure....................................... <a href="#page-61">61</a>
<a href="#section-6.14.4.1">6.14.4.1</a> Active resynchronization procedures........... <a href="#page-61">61</a>
<a href="#section-6.14.4.2">6.14.4.2</a> Passive resynchronization procedures.......... <a href="#page-62">62</a>
<a href="#section-6.14.4.3">6.14.4.3</a> Data Resynchronization Procedures............. <a href="#page-63">63</a>
<a href="#section-6.15">6.15</a> Multiplexing and demultiplexing................... <a href="#page-64">64</a>
<a href="#section-6.15.1">6.15.1</a> Purpose......................................... <a href="#page-64">64</a>
<a href="#section-6.15.2">6.15.2</a> TPDUs and parameters used....................... <a href="#page-64">64</a>
<a href="#section-6.15.3">6.15.3</a> Procedure....................................... <a href="#page-65">65</a>
<a href="#section-6.16">6.16</a> Explicit Flow Control............................. <a href="#page-65">65</a>
<a href="#section-6.16.1">6.16.1</a> Purpose......................................... <a href="#page-65">65</a>
<a href="#section-6.16.2">6.16.2</a> TPDUs and parameters used....................... <a href="#page-65">65</a>
<a href="#section-6.16.3">6.16.3</a> Procedure....................................... <a href="#page-66">66</a>
<a href="#section-6.17">6.17</a> Checksum.......................................... <a href="#page-66">66</a>
<a href="#section-6.17.1">6.17.1</a> Purpose......................................... <a href="#page-66">66</a>
<a href="#section-6.17.2">6.17.2</a> TPDUs and parameters used....................... <a href="#page-66">66</a>
<a href="#section-6.17.3">6.17.3</a> Procedure....................................... <a href="#page-67">67</a>
<a href="#section-6.18">6.18</a> Frozen references................................. <a href="#page-68">68</a>
<a href="#section-6.18.1">6.18.1</a> Purpose......................................... <a href="#page-68">68</a>
<a href="#section-6.18.2">6.18.2</a> Procedure....................................... <a href="#page-68">68</a>
<a href="#section-6.18.2.1">6.18.2.1</a> Procedure for classes 0 and 2................. <a href="#page-68">68</a>
<a href="#section-6.18.2.2">6.18.2.2</a> Procedure for classes 1 and 3................. <a href="#page-69">69</a>
<a href="#section-6.18.2.3">6.18.2.3</a> Procedure for classes 4....................... <a href="#page-70">70</a>
<a href="#section-6.19">6.19</a> Retransmission on time-out........................ <a href="#page-70">70</a>
<a href="#section-6.19.1">6.19.1</a> Purpose......................................... <a href="#page-70">70</a>
<a href="#section-6.19.2">6.19.2</a> TPDUs used...................................... <a href="#page-70">70</a>
<a href="#section-6.19.3">6.19.3</a> Procedure....................................... <a href="#page-70">70</a>
<a href="#section-6.20">6.20</a> Resequencing...................................... <a href="#page-70">70</a>
<a href="#section-6.20.1">6.20.1</a> Purpose......................................... <a href="#page-71">71</a>
<a href="#section-6.20.2">6.20.2</a> TPDUs and parameters used....................... <a href="#page-71">71</a>
<a href="#section-6.20.3">6.20.3</a> Procedure....................................... <a href="#page-71">71</a>
<a href="#section-6.21">6.21</a> Inactivity control................................ <a href="#page-71">71</a>
<a href="#section-6.21.1">6.21.1</a> Purpose......................................... <a href="#page-71">71</a>
iv
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-6.21.2">6.21.2</a> Procedure....................................... <a href="#page-72">72</a>
<a href="#section-6.22">6.22</a> Treatment of protocol errors...................... <a href="#page-72">72</a>
<a href="#section-6.22.1">6.22.1</a> Purpose......................................... <a href="#page-72">72</a>
<a href="#section-6.22.2">6.22.2</a> TPDUs and parameters used....................... <a href="#page-72">72</a>
<a href="#section-6.22.3">6.22.3</a> Procedure....................................... <a href="#page-72">72</a>
<a href="#section-6.23">6.23</a> Splitting and recombining......................... <a href="#page-74">74</a>
<a href="#section-6.23.1">6.23.1</a> Purpose......................................... <a href="#page-74">74</a>
<a href="#section-6.23.2">6.23.2</a> Procedure....................................... <a href="#page-74">74</a>
<a href="#section-7">7</a> Protocol Classes..................................... <a href="#page-76">76</a>
<a href="#section-8">8</a> SPECIFICATION FOR CLASS 0. SIMPLE CLASS.............. <a href="#page-79">79</a>
<a href="#section-8.1">8.1</a> Functions of class 0............................... <a href="#page-79">79</a>
<a href="#section-8.2">8.2</a> Procedures for class 0............................. <a href="#page-79">79</a>
<a href="#section-8.2.1">8.2.1</a> Procedures applicable at all times............... <a href="#page-79">79</a>
<a href="#section-8.2.2">8.2.2</a> Connection establishment......................... <a href="#page-79">79</a>
<a href="#section-8.2.3">8.2.3</a> Data transfer.................................... <a href="#page-80">80</a>
<a href="#section-8.2.4">8.2.4</a> Release.......................................... <a href="#page-80">80</a>
9 SPECIFICATION FOR CLASS 1: BASIC ERROR
RECOVERY CLASS
.................................................... <a href="#page-81">81</a>
<a href="#section-9.1">9.1</a> Functions of Class 1............................... <a href="#page-81">81</a>
<a href="#section-9.2">9.2</a> Procedures for Class 1............................. <a href="#page-81">81</a>
<a href="#section-9.2.1">9.2.1</a> Procedures applicable at all times............... <a href="#page-81">81</a>
<a href="#section-9.2.2">9.2.2</a> Connection establishment......................... <a href="#page-82">82</a>
<a href="#section-9.2.3">9.2.3</a> Data Transfer.................................... <a href="#page-82">82</a>
<a href="#section-9.2.3.1">9.2.3.1</a> General........................................ <a href="#page-82">82</a>
<a href="#section-9.2.3.2">9.2.3.2</a> Expedited Data................................. <a href="#page-83">83</a>
<a href="#section-9.2.4">9.2.4</a> Release.......................................... <a href="#page-84">84</a>
10 SPECIFICATION FOR CLASS 2 - MULTIPLEXING
CLASS
.................................................... <a href="#page-85">85</a>
<a href="#section-10.1">10.1</a> Functions of class 2.............................. <a href="#page-85">85</a>
<a href="#section-10.2">10.2</a> Procedures for class 2............................ <a href="#page-85">85</a>
<a href="#section-10.2.1">10.2.1</a> Procedures applicable at all times.............. <a href="#page-85">85</a>
<a href="#section-10.2.2">10.2.2</a> Connection establishment........................ <a href="#page-86">86</a>
10.2.3 Data transfer when non use of explicit
flow control
.................................................... <a href="#page-86">86</a>
10.2.4 Data transfer when use of explicit flow
control
.................................................... <a href="#page-86">86</a>
<a href="#section-10.2.4.1">10.2.4.1</a> General....................................... <a href="#page-86">86</a>
<a href="#section-10.2.4.2">10.2.4.2</a> Flow control.................................. <a href="#page-87">87</a>
<a href="#section-10.2.4.3">10.2.4.3</a> Expedited data................................ <a href="#page-88">88</a>
v
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-10.2.5">10.2.5</a> Release......................................... <a href="#page-89">89</a>
11 SPECIFICATION FOR CLASS 3: ERROR RECOVERY AND
MULTIPLEXING CLASS
.................................................... <a href="#page-90">90</a>
<a href="#section-11.1">11.1</a> Functions of Class 3.............................. <a href="#page-90">90</a>
<a href="#section-11.2">11.2</a> Procedures for Class 3............................ <a href="#page-90">90</a>
<a href="#section-11.2.1">11.2.1</a> Procedures applicable at all times.............. <a href="#page-90">90</a>
<a href="#section-11.2.2">11.2.2</a> Connection Establishment........................ <a href="#page-91">91</a>
<a href="#section-11.2.3">11.2.3</a> Data Transfer................................... <a href="#page-91">91</a>
<a href="#section-11.2.3.1">11.2.3.1</a> General....................................... <a href="#page-91">91</a>
<a href="#section-11.2.3.2">11.2.3.2</a> Use of RJ TPDU................................ <a href="#page-92">92</a>
<a href="#section-11.2.3.3">11.2.3.3</a> Flow Control.................................. <a href="#page-93">93</a>
<a href="#section-11.2.3.4">11.2.3.4</a> Expedited data................................ <a href="#page-93">93</a>
<a href="#section-11.2.4">11.2.4</a> Release......................................... <a href="#page-94">94</a>
12 SPECIFICATION FOR CLASS 4: ERROR DETECTION
AND RECOVERY CLASS
.................................................... <a href="#page-95">95</a>
<a href="#section-12.1">12.1</a> Functions of Class 4.............................. <a href="#page-95">95</a>
<a href="#section-12.2">12.2</a> Procedures for Class 4............................ <a href="#page-95">95</a>
<a href="#section-12.2.1">12.2.1</a> Procedures available at all times............... <a href="#page-95">95</a>
<a href="#section-12.2.1.1">12.2.1.1</a> Timers used at all times...................... <a href="#page-95">95</a>
<a href="#section-12.2.1.1.1">12.2.1.1.1</a> NSDU lifetime (MLR, MRL).................... <a href="#page-98">98</a>
12.2.1.1.2 Expected maximum transit delay (ELR,
ERL)
.................................................... <a href="#page-98">98</a>
<a href="#section-12.2.1.1.3">12.2.1.1.3</a> Acknowledge Time (AR, AL)................... <a href="#page-99">99</a>
<a href="#section-12.2.1.1.4">12.2.1.1.4</a> Local retransmission time (T1).............. <a href="#page-99">99</a>
<a href="#section-12.2.1.1.5">12.2.1.1.5</a> Persistence Time (R)........................ <a href="#page-99">99</a>
12.2.1.1.6 Bound on References and Sequence
Numbers (L)
................................................... <a href="#page-100">100</a>
<a href="#section-12.2.1.2">12.2.1.2</a> General Procedures........................... <a href="#page-100">100</a>
<a href="#section-12.2.2">12.2.2</a> Procedures for Connection Establishment........ <a href="#page-102">102</a>
<a href="#section-12.2.2.1">12.2.2.1</a> Timers used in Connection Establishment...... <a href="#page-102">102</a>
<a href="#section-12.2.2.2">12.2.2.2</a> General Procedures........................... <a href="#page-103">103</a>
<a href="#section-12.2.3">12.2.3</a> Procedures for Data Transfer................... <a href="#page-104">104</a>
<a href="#section-12.2.3.1">12.2.3.1</a> Timers used in Data Transfer................. <a href="#page-104">104</a>
<a href="#section-12.2.3.2">12.2.3.2</a> General Procedures for data transfer......... <a href="#page-104">104</a>
<a href="#section-12.2.3.3">12.2.3.3</a> Inactivity Control........................... <a href="#page-105">105</a>
<a href="#section-12.2.3.4">12.2.3.4</a> Expedited Data............................... <a href="#page-105">105</a>
<a href="#section-12.2.3.5">12.2.3.5</a> Resequencing................................. <a href="#page-106">106</a>
<a href="#section-12.2.3.6">12.2.3.6</a> Explicit Flow Control........................ <a href="#page-107">107</a>
<a href="#section-12.2.3.7">12.2.3.7</a> Sequencing of received AK TPDUs.............. <a href="#page-108">108</a>
vi
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-12.2.3.8">12.2.3.8</a> Procedure for transmission of AK TPDUs....... <a href="#page-109">109</a>
12.2.3.8.1 Retransmission of AK TPDUs for window
synchronization
................................................... <a href="#page-109">109</a>
12.2.3.8.2 Sequence control for transmission of
AK TPDUs
................................................... <a href="#page-109">109</a>
12.2.3.8.3 Retransmission of AK TPDUs after CDT
set to zero
................................................... <a href="#page-110">110</a>
12.2.3.8.4 Retransmission procedures following
reduction of the
................................................... <a href="#page-111">111</a>
12.2.3.9 Use of Flow Control Confirmation
parameter
................................................... <a href="#page-112">112</a>
<a href="#section-12.2.4">12.2.4</a> Procedures for Release......................... <a href="#page-113">113</a>
<a href="#section-12.2.4.1">12.2.4.1</a> Timers used for Release...................... <a href="#page-113">113</a>
<a href="#section-12.2.4.2">12.2.4.2</a> General Procedures for Release............... <a href="#page-113">113</a>
<a href="#section-13">13</a> STRUCTURE AND ENCODING OF TPDUs.................... <a href="#page-114">114</a>
<a href="#section-13.1">13.1</a> Validity......................................... <a href="#page-114">114</a>
<a href="#section-13.2">13.2</a> Structure........................................ <a href="#page-116">116</a>
<a href="#section-13.2.1">13.2.1</a> Length indicator field......................... <a href="#page-117">117</a>
<a href="#section-13.2.2">13.2.2</a> Fixed part..................................... <a href="#page-117">117</a>
<a href="#section-13.2.2.1">13.2.2.1</a> General...................................... <a href="#page-117">117</a>
<a href="#section-13.2.2.2">13.2.2.2</a> TPDU code.................................... <a href="#page-117">117</a>
<a href="#section-13.2.3">13.2.3</a> Variable part.................................. <a href="#page-118">118</a>
<a href="#section-13.2.3.1">13.2.3.1</a> Checksum Parameter (Class 4 only)............ <a href="#page-120">120</a>
<a href="#section-13.2.4">13.2.4</a> Data Field..................................... <a href="#page-120">120</a>
<a href="#section-13.3">13.3</a> Connection Request (CR) TPDU..................... <a href="#page-120">120</a>
<a href="#section-13.3.1">13.3.1</a> Structure...................................... <a href="#page-120">120</a>
<a href="#section-13.3.2">13.3.2</a> LI............................................. <a href="#page-121">121</a>
<a href="#section-13.3.3">13.3.3</a> Fixed Part (Octets 2 to 7)..................... <a href="#page-121">121</a>
<a href="#section-13.3.4">13.3.4</a> Variable Part (Octets 8 to p).................. <a href="#page-122">122</a>
<a href="#section-13.3.5">13.3.5</a> User Data (Octets p+1 to the end).............. <a href="#page-127">127</a>
<a href="#section-13.4">13.4</a> Connection Confirm (CC) TPDU..................... <a href="#page-128">128</a>
<a href="#section-13.4.1">13.4.1</a> Structure...................................... <a href="#page-128">128</a>
<a href="#section-13.4.2">13.4.2</a> LI............................................. <a href="#page-128">128</a>
<a href="#section-13.4.3">13.4.3</a> Fixed Part (Octets 2 to 7)..................... <a href="#page-128">128</a>
<a href="#section-13.4.4">13.4.4</a> Variable Part (Octet 8 to p)................... <a href="#page-129">129</a>
<a href="#section-13.4.5">13.4.5</a> User Data (Octets p+1 to the end).............. <a href="#page-129">129</a>
<a href="#section-13.5">13.5</a> Disonnect Request (DR) TPDU...................... <a href="#page-129">129</a>
<a href="#section-13.5.1">13.5.1</a> Structure...................................... <a href="#page-129">129</a>
vii
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> <a href="#section-13.5.2">13.5.2</a> LI............................................. <a href="#page-129">129</a>
<a href="#section-13.5.3">13.5.3</a> Fixed Part (Octets 2 to 7...................... <a href="#page-130">130</a>
<a href="#section-13.5.4">13.5.4</a> Variable Part (Octets 8 to p).................. <a href="#page-131">131</a>
<a href="#section-13.5.5">13.5.5</a> User Data (Octets p+1 to the end).............. <a href="#page-131">131</a>
<a href="#section-13.6">13.6</a> Disconnect Confirm (DC) TPDU..................... <a href="#page-132">132</a>
<a href="#section-13.6.1">13.6.1</a> Structure...................................... <a href="#page-132">132</a>
<a href="#section-13.6.2">13.6.2</a> LI............................................. <a href="#page-132">132</a>
<a href="#section-13.6.3">13.6.3</a> Fixed Part (Octets 2 to 6)..................... <a href="#page-132">132</a>
<a href="#section-13.6.4">13.6.4</a> Variable Part.................................. <a href="#page-133">133</a>
<a href="#section-13.7">13.7</a> Data (DT) TPDU................................... <a href="#page-133">133</a>
<a href="#section-13.7.1">13.7.1</a> Structure...................................... <a href="#page-133">133</a>
<a href="#section-13.7.2">13.7.2</a> LI............................................. <a href="#page-134">134</a>
<a href="#section-13.7.3">13.7.3</a> Fixed Part..................................... <a href="#page-134">134</a>
<a href="#section-13.7.4">13.7.4</a> Variable Part.................................. <a href="#page-135">135</a>
<a href="#section-13.7.5">13.7.5</a> User Data Field................................ <a href="#page-135">135</a>
<a href="#section-13.8">13.8</a> Expedited Data (ED) TPDU......................... <a href="#page-135">135</a>
<a href="#section-13.8.1">13.8.1</a> Structure...................................... <a href="#page-135">135</a>
<a href="#section-13.8.2">13.8.2</a> LI............................................. <a href="#page-136">136</a>
<a href="#section-13.8.3">13.8.3</a> Fixed Part..................................... <a href="#page-136">136</a>
<a href="#section-13.8.4">13.8.4</a> Variable Part.................................. <a href="#page-137">137</a>
<a href="#section-13.8.5">13.8.5</a> User Data Field................................ <a href="#page-137">137</a>
<a href="#section-13.9">13.9</a> Data Acknowledgement (AK) TPDU................... <a href="#page-137">137</a>
<a href="#section-13.9.1">13.9.1</a> Structure...................................... <a href="#page-137">137</a>
<a href="#section-13.9.2">13.9.2</a> LI............................................. <a href="#page-138">138</a>
<a href="#section-13.9.3">13.9.3</a> Fixed Part..................................... <a href="#page-138">138</a>
<a href="#section-13.9.4">13.9.4</a> Variable Part.................................. <a href="#page-139">139</a>
<a href="#section-13.10">13.10</a> Expedited Data Acknowledgement (EA) TPDU........ <a href="#page-140">140</a>
<a href="#section-13.10.1">13.10.1</a> Structure..................................... <a href="#page-140">140</a>
<a href="#section-13.10.2">13.10.2</a> LI............................................ <a href="#page-141">141</a>
<a href="#section-13.10.3">13.10.3</a> Fixed Part.................................... <a href="#page-141">141</a>
<a href="#section-13.10.4">13.10.4</a> Variable Part................................. <a href="#page-141">141</a>
<a href="#section-13.11">13.11</a> Reject (RJ) TPDU................................ <a href="#page-141">141</a>
<a href="#section-13.11.1">13.11.1</a> Structure..................................... <a href="#page-142">142</a>
<a href="#section-13.11.2">13.11.2</a> LI............................................ <a href="#page-142">142</a>
<a href="#section-13.11.3">13.11.3</a> Fixed Part.................................... <a href="#page-142">142</a>
<a href="#section-13.11.4">13.11.4</a> Variable Part................................. <a href="#page-143">143</a>
<a href="#section-13.12">13.12</a> TPDU Error (ER) TPDU............................ <a href="#page-143">143</a>
<a href="#section-13.12.1">13.12.1</a> Structure..................................... <a href="#page-143">143</a>
<a href="#section-13.12.2">13.12.2</a> LI............................................ <a href="#page-143">143</a>
<a href="#section-13.12.3">13.12.3</a> Fixed Part.................................... <a href="#page-144">144</a>
<a href="#section-13.12.4">13.12.4</a> Variable Part................................. <a href="#page-144">144</a>
<a href="#section-14">14</a> CONFORMANCE........................................ <a href="#page-145">145</a>
14.1 ................................................. <a href="#page-145">145</a>
viii
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 14.2 ................................................. <a href="#page-145">145</a>
14.3 ................................................. <a href="#page-145">145</a>
14.4 ................................................. <a href="#page-145">145</a>
14.5 ................................................. <a href="#page-146">146</a>
<a href="#section-14.6">14.6</a> Claims of Conformance Shall State................ <a href="#page-146">146</a>
ix
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> INTRODUCTION
The Transport Protocol Standard is one of a set of International
Standards produced to facilitate the interconnection of computer
systems. The set of standards covers the services and protocols
required to achieve such interconnection.
The Transport Protocol Standard is positioned with respect to
other related standards by the layers defined in the Reference
Model for Open Systems Interconnection (ISO 7498). It is most
closely related to, and lies within the field of application of
the Transport Service Standard (DP 8072). It also uses and makes
reference to the Network Service Standard (DP 8348), whose
provisions it assumes in order to accomplish the transport
protocol's aims. The interelationship of these standards is
depicted in figure 1.
-------------------------TRANSPORT SERVICE DEFINITION------------
Transport | --- Reference to aims --------------
Protocol |
Specification | --- Reference to assumptions -------
-------------------------NETWORK SERVICE DEFINITION--------------
Relationaship between Transport Protocol and adjacent services
Figure 1 .
The International Standard specifies a common encoding and a
number of classes of transport protocol procedures to be used
with different network qualities of service.
It is intended that the Transport Protocol should be simple but
general enough to cater for the total range of Network Service
qualities possible, without restricting future extensions.
The protocol is structured to give rise to classes of protocol
which are designed to minimize possible incompatibilities and
implementation costs.
1
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> The classes are selectable with respect to the Transport and
Network Services in providing the required quality of service for
the interconnection of two session entities (note that each class
provides a different set of functions for enhancement of service
qualities).
This protocol standard defines mechanisms that can be used to
optimize network tariffs and enhance the following qualities of
service:
a) different throughput rates;
b) different error rates;
c) integrity of data requirements;
d) reliability requirements.
It does not require an implementation to use all of these
mechanisms, nor does it define methods for measuring achieved
quality of service or criteria for deciding when to release
transport connections following quality of service degradation.
The primary aim of this International Standard is to provide a
set of rules for communication expressed in terms of the
procedures to be carried out by peer entities at the time of
communication. These rules for communication are intended to
provide a sound basis for development in order to serve a variety
of purposes:
a) as a guide for implementors and designers;
b) for use in the testing and procurement of equipment;
c) as part of an agreement for the admittance of systems into
the open systems environment;
d) as a refinement of the understanding of OSI.
It is expected that the initial users of the International
Standard will be designers and implementors of equipment and the
International Standard contains, in notes or in annexes, guidance
on the implementation of the procedures defined in the standard.
2
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> It should be noted that, as the number of valid protocol
sequences is very large, it is not possible with current
technology to verify that an implementation will operate the
protocol defined in this International Standard correctly under
all circumstances. It is possible by means of testing to
establish confidence that an implementation correctly operates
the protocol in a representative sample of circumstances. It is,
however, intended that this International Standard can be used in
circumstances where two implementations fail to communicate in
order to determine whether one or both have failed to operate the
protocol correctly.
This International Standard contains a section on conformance of
equipment claiming to implement the procedures in this
International Standard. Attention is drawn to the fact that the
standard does not contain any tests to demonstrate this
conformance.
The variations and options available within this International
Standard are essential to enable a Transport Service to be
provided for a wide variety of applications over a variety of
network qualities. Thus, a minimally conforming implementation
will not be suitable for use in all possible circumstances. It
is important, therefore, to qualify all references to this
International Standard with statements of the options provided or
required or with statements of the intended purpose of provision
or use.
1 SCOPE AND FIELD OF APPLICATION
1.1 This International Standard specifies:
a) five classes of procedures:
1) Class 0. Simple class;
2) Class 1. Basic error recovery class;
3) Class 2. Multiplexing class;
4) Class 3. Error recovery and multiplexing class;
5) Class 4. Error detection and recovery class,
3
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> for the connection oriented transfer of data and control
information from one transport entity to a peer transport
entity;
b) the means of negotiating the class of procedures to be
used by the transport entities;
c) the structure and encoding of the transport protocol data
units used for the transfer of data and control
information;
1.2 The procedures are defined in terms of:
a) the interactions between peer transport entities through
the exchange of transport protocol data units;
b) the interactions between a transport entity and the
transport service user in the same system through the
exchange of transport service primitives;
c) the interactions between a transport entity and the
network service provider through the exchange of network
service primitives.
These procedures are defined in the main text of the standard
supplemented by state tables in annex A.
1.3
These procedures are applicable to instances of communication
between systems which support the Transport Layer of the OSI
Reference Model and which wish to interconnect in an open systems
environment.
4
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 1.4
This International Standard also specifies conformance
requirements for systems implementing these procedures. It does
not contain tests which can be used to demonstrate this
conformance.
2 REFERENCES
ISO 7498 Information processing systems - Open systems
interconnection - Basic Reference Model
DP 8072 Information processing systems - Open systems
interconnection - Transport service definition
DP 8348 Information processing systems - Open systems
interconnection - Connection-oriented network service
definition.
5
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> SECTION ONE. GENERAL
3 DEFINITIONS
NOTE - The definitions contained in this clause make use of
abbreviations defined in clause 4.
3.1
This International Standard is based on the concepts developed in
the Reference Model for Open Systems Interconnection (DIS 7498)
and makes use of the following terms defined in that standard:
a) concatenation and separation;
b) segmenting and reassembling;
c) multiplexing and demultiplexing;
d) splitting and recombining;
e) flow control.
3.2
For the purpose of this International Standard, the following
definitions apply:
6
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3.2.1 equipment:
Hardware or software or a combination of both; it need not be
physically distinct within a computer system.
3.2.2 transport service user:
An abstract representation of the totality of those entities
within a single system that make use of the transport service.
3.2.3 network service provider:
An abstract machine that models the totality of the entities
providing the network service, as viewed by a transport entity.
3.2.4 local matter:
A decision made by a system concerning its behavior in the
Transport Layer that is not subject to the requirements of this
protocol.
3.2.5 initiator:
A transport entity that initiates a CR TPDU.
7
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3.2.6 responder:
A transport entity with whom an initiator wishes to establish a
transport connection.
NOTE - Initiator and responder are defined with respect to a
single transport connection. A transport entity can be both an
initiator and responder simultaneously.
3.2.7 sending transport entity:
A transport entity that sends a given TPDU.
3.2.8 receiving transport entity:
A transport entity that receives a given TPDU.
3.2.9 preferred class:
The protocol class that the initiator indicates in a CR TPDU as
its first choice for use over the transport connection.
3.2.10 alternative class:
A protocol class that the initiator indicates in a CR TPDU as an
alternative choice for use over the transport connection.
8
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3.2.11 proposed class:
A preferred class or an alternative class.
3.2.12 selected class:
The protocol class that the responder indicates in a CC TPDU that
it has chosen for use over the transport connection.
3.2.13 proposed parameter:
The value for a parameter that the initiator indicates in a CR
TPDU that it wishes to use over the transport connection.
3.2.14 selected parameter:
The value for a parameter that the responder indicates in a CC
TPDU that it has chosen for use over the transport connection.
3.2.15 error indication:
An N-RESET indication, or an N-DISCONNECT indication with a
reason code indicating an error, that a transport entity receives
from the NS-provider.
9
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3.2.16 invalid TPDU:
A TPDU that does not comply with the requirements of this
International Standard for structure and encoding.
3.2.17 protocol error:
A TPDU whose use does not comply with the procedures for the
class.
3.2.18 sequence number:
a) The number in the TPDU-NR field of a DT TPDU that
indicates the order in which the DT TPDU was transmitted
by a transport entity.
b) The number in the YR-TU-NR field of an AK or RJ TPDU that
indicates the sequence number of the next DT TPDU expected
to be received by a transport entity.
3.2.19 transmit window:
The set of consecutive sequence numbers which a transport entity
has been authorized by its peer entity to send at a given time on
a given transport connection.
10
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3.2.20 lower window edge:
The lowest sequence number in a transmit window.
3.2.21 upper window edge:
The sequence number which is one greater than the highest
sequence number in the transmit window.
3.2.22 upper window edge allocated to the peer entity:
The value that a transport entity communicates to its peer entity
to be interpreted as its new upper window edge.
3.2.23 closed window:
A transmit window that contains no sequence number.
3.2.24 window information:
Information contained in a TPDU relating to the upper and the
lower window edges.
11
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3.2.25 frozen reference:
A reference that is not available for assignment to a connection
because of the requirements of 6.18.
3.2.26 unassigned reference:
A reference that is neither currently in use for identifying a
transport connection or which is in a frozen state.
3.2.27 transparent (data):
TS-user data that is transferred intact between transport
entities and which is unavailable for use by the transport
entities.
3.2.28 owner (of a network connection):
The transport entity that issued the N-CONNECT request leading to
the creation of that network connection.
3.2.29 retained TPDU:
A TPDU that is subject to the retransmission procedure or
retention until acknowledgement procedure and is available for
possible retransmission.
12
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 4 SYMBOLS AND ABBREVIATIONS
4.1 Data units
TPDU Transport protocol data unit
TSDU Transport service data unit
NSDU Network service data unit
4.2 Types of transport protocol data units
CR TPDU Connection request TPDU
CC TPDU Connection confirm TPDU
DR TPDU Disconnect request TPDU
DC TPDU Disconnect confirm TPDU
DT TPDU Data TPDU
ED TPDU Expedited data TPDU
AK TPDU Data acknowledge TPDU
EA TPDU Expedited acknowledge TPDU
RJ TPDU Reject TPDU
ER TPDU Error TPDU
4.3 TPDU fields
LI Length indicator (field)
CDT Credit (field)
TSAP-ID Transport service access point
identifier (field)
DST-REF Destination reference (field)
SRC-REF Source reference (field)
EOT End of TSDU mark
TPDU-NR DT TPDU number (field)
ED-TPDU-NR ED TPDU number (field)
YR-TU-NR Sequence number response (field)
YR-EDTU-NR ED TPDU number response (field)
13
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 4.4 Times and associated variables
T1 Elapsed time between retransmissions
N The maximum number of transmissions
L Bound on reference
I Inactivity time
W Window time
TTR Time to try reassignment/resynchronization
TWR Time to wait for
reassignment/resynchronization
TS1 Supervisory timer 1
TS2 Supervisory time 2
MLR NSDU lifetime local-to-remote
MRL NSDU lifetime remote-to-local
ELR Expected maximum transit delay
local-to-remote
ERL Expected maximum transit delay
remote-to-local
R Persistence time
AL Local acknowledgement time
AR Remote acknowledgement time
4.5 Miscellaneous
TS-user Transport service user
TSAP Transport service access point
NS-provider Network service provider
NSAP Network service access point
QOS Quality of service
14
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 5 OVERVIEW OF THE TRANSPORT PROTOCOL
NOTE - This overview is not exhaustive and has been provided for
guidance to the reader of this International Standard.
5.1 Service provided by the transport layer
The protocol specified in this International Standard supports
the transport service defined in DP 8072.
Information is transferred to and from the TS-user in the
transport service primitives listed in table 1.
15
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +-------------------------------------------------------------+
| Primitive | Parameter |
|--------------------------------|----------------------------|
|T-CONNECT request | Called Address, |
| indication | Calling Address, |
| | Expedited Data option, |
| | Quality of Service, |
| | TS User-Data. |
|--------------------------------|----------------------------|
|T-CONNECT response | Responding Address, |
| confirm | Quality of Service, |
| | Expedited Data option, |
| | TS User-Data. |
|--------------------------------|----------------------------|
|T-DATA request | TS User-Data. |
| indication | |
|--------------------------------|----------------------------|
|T-EXPEDITED DATA request | TS User-Data. |
| indication | |
|--------------------------------|----------------------------|
|T-DISCONNECT request | TS User-Data. |
|--------------------------------|----------------------------|
|T-DISCONNECT indication | Disconnect reason, |
| | TS User-Data. |
+--------------------------------|----------------------------+
Table 1. Transport service primitives
5.2 Service assumed from the network layer
The protocol specified in this International Standard assumes the
use of the network service defined in DP 8348.
Information is transferred to and from the NS-provider in the
network service primitives listed in table 2.
16
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +---------------------------------------------------------------+
| Primitives |X/Y| Parameters |X/Y/Z|
|----------------------------|---|------------------------|-----|
|N-CONNECT request | X | Called Address, | X |
| indication | X | Calling Address, | X |
| response | X | NS User-Data, | Z |
| confirm | X | QOS parameter set, | X |
| | | Responding address, | Z |
| | | Receipt confirmation | Y |
| | | selection. | |
|----------------------------|---|------------------------|-----|
|N-DATA request | X | NS User-Data, | X |
| indication | X | Confirmation request | Y |
|----------------------------|---|------------------------|-----|
|N-DATA ACKNOWLEDGE | | | |
| request | Y | | |
| indication | Y | | |
|----------------------------|---|------------------------|-----|
|N-EXPEDITED DATA | | | |
| request | Y | NS User-Data. | Y |
| indication | Y | | |
|----------------------------|---|------------------------|-----|
|N-RESET request | X | Originator, | Z |
| indication | X | Reason. | Z |
| response | X | | |
| confirm | X | | |
|----------------------------|---|------------------------|-----|
|N-DISCONNECT request | X | NS User-Data. | Z |
| indication | X | Originator, | Z |
| | | Reason. | Z |
+---------------------------------------------------------------+
Table 2. Network service primitives
17
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> Key:
X - The Transport Protocol assumes that this facility is
provided in all networks.
Y - The Transport Protocol assumes that this facility is
provided in some networks and a mechanism is provided to
optionally use the facility.
Z - The Transport Protocol does not use this parameter.
NOTES:
1 - The parameters listed in this table are those in the
current network service (first DP 8348).
2 - The way the parameters are exchanged between the transport
entity and the NS-provider is a local matter.
5.3 Functions of the Transport Layer
5.3.1 Overview of functions
The functions in the Transport Layer are those necessary to
bridge the gap between the services available from the Network
Layer and those to be offered to the TS-users.
The functions in the Transport Layer are concerned with the
enhancement of quality of service, including aspects of cost
optimization.
These functions are grouped below into those used at all times
during a transport connection and those concerned with connection
establishment, data transfer and release.
NOTE - This International Standard does not include the following
functions which are under consideration for inclusion in future
editions of this standard:
a) encryption;
18
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> b) accounting mechanisms;
c) status exchanges and monitoring of QOS;
d) blocking;
e) temporary release of network connections;
f) alternative checksum algorithm.
5.3.1.1 Functions used at all times
The following functions, depending upon the selected class and
options, are used at all times during a transport connection:
a) transmission of TPDUs (see 6.2 and 6.9);
b) multiplexing and demultiplexing (see 6.15), a function
used to share a single network connection between two or
more transport connections;
c) error detection (see 6.10, 6.13 and 6.17), a function used
to detect the loss, corruption, duplication, misordering
or misdelivery of TPDUs;
d) error recovery (see 6.12, 6.14, 6.18, 6.19, 6.20, 6.21 and
6.22), a function used to recover from detected and
signalled errors.
5.3.1.2 Connection Establishment
The purpose of connection establishment is to establish a
transport connection between two TS-users. The following
functions of the transport layer during this phase must match the
TS-users' requested quality of service with the services offered
by the network layer:
19
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) select network service which best matches the requirement
of the TS-user taking into account charges for various
services (see 6.5);
b) decide whether to multiplex multiple transport connections
onto a single network connection (see 6.5);
c) establish the optimum TPDU size (see 6.5);
d) select the functions that will be operational upon
entering the data transfer phase (see 6.5);
e) map transport addresses onto network addresses;
f) provide a means to distinguish between two different
transport connections (see 6.5);
g) transport of TS-user data (see 6.5).
5.3.1.3 Data Transfer
The purpose of data transfer is to permit duplex transmission of
TSDUs between the two TS-users connected by the transport
connection. This purpose is achieved by means of two-way
simultaneous communication and by the following functions, some
of which are used or not used in accordance with the result of
the selection performed in connection establishment:
a) concatenation and separation (see 6.4), a function used to
collect several TPDUs into a single NSDU at the sending
transport entity and to separate the TPDUs at the
receiving transport entity;
b) segmenting and reassembling (see 6.3), a function used to
segment a single data TSDU into multiple TPDUs at the
sending transport entity and to reassemble them into their
original format at the receiving transport entity;
20
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) splitting and recombining (see 6.23), a function allowing
the simultaneous use of two or more network connections to
support the same transport connection;
d) flow control (see 6.16), a function used to regulate the
flow of TPDUs between two transport entities on one
transport connection;
e) transport connection identification, a means to uniquely
identify a transport connection between the pair of
transport entities supporting the connection during the
lifetime of the transport connection;
f) expedited data (see 6.11), a function used to bypass the
flow control of normal data TPDU. Expedited data TPDU
flow is controlled by separate flow control;
g) TSDU delimiting (see 6.3), a function used to determine
the beginning and ending of a TSDU.
5.3.1.4 Release
The purpose of release (see 6.7 and 6.8) is to provide
disconnection of the transport connection, regardless of the
current activity.
5.4 Classes and options
5.4.1 General
The functions of the Transport Layer have been organized into
classes and options.
A class defines a set of functions. Options define those
functions within a class which may or may not be used.
This International Standard defines five classes of protocol:
21
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) Class 0: Simple Class;
b) Class 1: Basic Error recovery Class;
c) Class 2: Multiplexing Class;
d) Class 3: Error Recovery and Multiplexing Class;
e) Class 4: Error Detection and Recovery Class.
NOTE - Transport connections of classes 2, 3 and 4 may be
multiplexed together onto the same network connection.
5.4.2 Negotiation
The use of classes and options is negotiated during connection
establishment. The choice made by the transport entities will
depend upon:
a) the TS-users' requirements expressed via T-CONNECT service
primitives;
b) the quality of the available network services;
c) the user required service versus cost ratio acceptable to
the TS-user.
5.4.3 Choice of network connection
The following list classifies network services in terms of
quality with respect to error behavior in relation to user
requirements; its main purpose is to provide a basis for the
decision regarding which class of transport protocol should be
used in conjunction with given network connection:
22
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) Type A. Network connection with acceptable residual error
rate (for example not signalled by disconnect or reset)
and acceptable rate of signalled errors.
b) Type B. Network connections with acceptable residual
error rate (for example not signalled by disconnect or
reset) but unacceptable rate of signalled errors.
c) Type C. Network connections with unacceptable residual
error rate.
It is assumed that each transport entity is aware of the quality
of service provided by particular network connections.
5.4.4 Characteristics of Class 0
Class 0 provides the simplest type of transport connection and is
fully compatible with the CCITT recommendation S.70 for teletex
terminals.
Class 0 has been designed to be used with type A network
connections.
5.4.5 Characteristics of Class 1
Class 1 provides a basic transport connection with minimal
overheads.
The main purpose of the class is to recover from network
disconnect or reset.
Selection of this class is usually based on reliability criteria.
Class 1 has been designed to be used with type B network
connections.
23
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 5.4.6 Characteristics of Class 2
5.4.6.1 General
Class 2 provides a way to multiplex several transport connections
onto a single network connection. This class has been designed
to be used with type A network connections.
5.4.6.2 Use of explicit flow control
The objective is to provide flow control to help avoid congestion
at transport-connection-end-points and on the network connection.
Typical use is when traffic is heavy and continuous, or when
there is intensive multiplexing. Use of flow control can
optimize response times and resource utilization.
5.4.6.3 Non-use of explicit flow control
The objective is to provide a basic transport connection with
minimal overheads suitable when explicit disconnection of the
transport connection is desirable. The option would typically be
used for unsophisticated terminals, and when no multiplexing onto
network connections is required. Expedited data is never
available.
5.4.7 Characteristics of Class 3
Class 3 provides the characteristics of Class 2 plus the ability
to recover from network disconnect or reset. Selection of this
class is usually based upon reliability criteria. Class 3 has
been designed to be used with type B network connections.
24
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 5.4.8 Characteristics of Class 4
Class 4 provides the characteristics of Class 3, plus the
capability to detect and recover from errors which occur as a
result of the low grade of service available from the NS-
provider. The kinds of errors to be detected include: TPDU
loss, TPDU delivery out of sequence, TPDU duplication and TPDU
corruption. These errors may affect control TPDUs as well as
data TPDUs.
This class also provides for increased throughput capability and
additional resilience against network failure. Class 4 has been
designed to be used with type C network connections.
5.5 Model of the transport layer
A transport entity communicates with its TS-users through one or
more TSAPs by means of the service primitives as defined by the
transport service definition DP 8072. Service primitives will
cause or be the result of transport protocol data unit exchanges
between the peer transport entities supporting a transport
connection. These protocol exchanges are effected using the
services of the Network Layer as defined by the Network Service
Definition DP 8348 through one or more NSAPs.
Transport connection endpoints are identified in end systems by
an internal, implementation dependent, mechanism so that the TS-
user and the transport entity can refer to each transport
connection.
25
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +------+ +------+
----------| TSAP |------------------------| TSAP |----------
+------+ +------+
| |
+---------------+ +---------------+
| Transport | | Transport |
| entity | | entity |
+---------------+ +---------------+
| |
| |
+------+ +------+
----------| NSAP |------------------------| NSAP |----------
+------+ +------+
| |
+-------------------------------+
Figure 2 . Model of the transport layer
NOTE - For purpose of illustration, this figure shows only one
TSAP and one NSAP for each transport entity. In certain
instances, more than one TSAP and/or more than one NSAP may be
associated with a particular transport entity.
26
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> SECTION TWO. TRANSPORT PROTOCOL SPECIFICATION
6 ELEMENTS OF PROCEDURE
This clause contains elements of procedure which are used in the
specification of protocol classes in clauses 7 to 12. These
elements are not meaningful on their own.
The procedures define the transfer of TPDUs whose structure and
coding is specified in clause 13. Transport entities shall
accept and respond to any TPDU received in a valid NSDU and may
issue TPDUs initiating specific elements of procedure specified
in this clause.
NOTE - Where network service primitives and TPDUs and parameters
used are not significant for a particular element of procedure,
they have not been included in the specification.
6.1 Assignment to network connection
6.1.1 Purpose
The procedure is used in all classes to assign transport
connections to network connections.
6.1.2 Network service primitives
The procedure makes use of the following network service
primitives:
a) N-CONNECT;
b) N-DISCONNECT.
27
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.1.3 Procedure
Each transport connection shall be assigned to a network
connection. The initiator may assign the transport connection to
an existing network connection of which it is the owner or to a
new network connection (see Note 1) which it creates for this
purpose.
The initiator shall not assign or reassign the transport
connection to an existing network connection if the protocol
class(es) proposed or the class in use for the transport
connection are incompatible with the current usage of the network
connection with respect to multiplexing (see Note 2).
During the resynchronization (see 6.14) and reassignment after
failure (see 6.12) procedures, a transport entity may reassign a
transport connection to another network connection joining the
same NSAPs, provided that it is the owner of the network
connection and that the transport connection is assigned to only
one network connection at any given time.
During the splitting procedure (see 6.23), a transport entity may
assign a transport connection to any additional network
connection joining the same NSAPs, provided that it is the owner
of the network connection and that multiplexing is possible on
the network connection.
The responder becomes aware of the assignment when it receives
a) a CR TPDU during the connection establishment procedure
(see 6.5); or
b) an RJ TPDU or a retransmitted CR or DR TPDU during the
resynchronization (see 6.14) and reassignment after
failure (see 6.12) procedures; or
c) any TPDU when splitting (see 6.23) is used.
28
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTES
1. When a new network connection is created, the quality of
service requested is a local matter, although it will
normally be related to the requirements of transport
connection(s) expected to be assigned to it.
2. An existing network connection may also not be suitable
if, for example, the quality of service requested for the
transport connection cannot be attained by using or
enhancing the network connection.
3. A network connection with no transport connection(s)
assigned to it, may be available after initial
establishment, or because all of the transport connections
previously assigned to it have been released. It is
recommended that only the owner of such a network
connection should release it. Furthermore, it is
recommended that it not be released immediately after the
transmission of the final TPDU of a transport connection -
either a DR TPDU in response to CR TPDU or a DC TPDU in
response to DR TPDU. An appropriate delay will allow the
TPDU concerned to reach the other transport entity
allowing the freeing of any resources associated with the
transport connection concerned.
4. After the failure of a network connection, transport
connections which were previously multiplexed together may
be assigned to different network connections, and vice
versa.
6.2 Transport protocol data unit (TPDU) transfer
6.2.1 Purpose
The TPDU transfer procedure is used in all classes to convey
transport protocol data units in user data fields of network
service primitives.
29
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.2.2 Network Service Primitives
The procedure uses the following network service primitives:
a) N-DATA;
b) N-EXPEDITED DATA
6.2.3 Procedure
The transport protocol data units (TPDUs) defined for the
protocol are listed in 4.2.
When the network expedited variant has been selected for class 1,
the transport entities shall transmit and receive ED and EA TPDUs
as NS-user data parameters of N-EXPEDITED DATA primitives.
In all other cases, transport entities shall transmit and receive
TPDUs as NS-user data parameters of N-DATA primitives.
When a TPDU is put into an NS-user data parameter, the
significance of the bits within an octet and the order of octets
within a TPDU shall be as defined in 13.2.
NOTE - TPDUs may be concatenated (see 6.4).
6.3 Segmenting and reassembling
6.3.1 Purpose
The segmenting and reassembling procedure is used in all classes
to map TSDUs onto TPDUs.
30
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.3.2 TPDUs and parameter used
The procedure makes use of the following TPDU and parameter:
DT TPDUs;
- End of TSDU.
6.3.3 Procedure
A transport entity shall map a TSDU on to an ordered sequence of
one or more DT TPDUs. This sequence shall not be interrupted by
other DT TPDUs on the same transport connection.
All DT TPDUs except the last DT TPDU in a sequence greater than
one shall have a length of data greater than zero.
NOTES
1. The EOT parameter of a DT TPDU indicates whether or not
there are subsequent DT TPDUs in the sequence.
2. There is no requirement that the DT TPDUs shall be of the
maximum length selected during connection establishment.
6.4 Concatenation and separation
6.4.1 Purpose
The procedure for concatenation and separation is used in classes
1, 2, 3 and 4 to convey multiple TPDUs in one NSDU.
31
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.4.2 Procedure
A transport entity may concatenate TPDUs from the same or
different transport connections.
The set of concatenated TPDUs may contain:
a) any number of TPDUs from the following list: AK, EA, RJ,
ER, DC TPDUs, provided that these TPDUs come from
different transport connections;
b) no more than one TPDU from the following list: CR, DR,
CC, DT, ED TPDUs; if this TPDU is present, it shall be
placed last in the set of concatenated TPDUs.
NOTES
1. The TPDUs within a concatenated set may be distinguished
by means of the length indicator parameter.
2. The end of a TPDU containing data is indicated by the
termination of the NSDU.
3. The number of concatenated TPDUs referred to in 6.4.2.a is
bounded by the maximum number of transport connections
which are multiplexed together except during assignment or
reassignment.
6.5 Connection establishment
6.5.1 Purpose
The procedure for connection establishment is used in all classes
to create a new transport connection.
32
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.5.2 Network service primitives
The procedure uses the following network service primitive:
N-DATA
6.5.3 TPDUs and parameters used
The procedure uses the following TPDUs and parameters:
a) CR TPDU;
- CDT;
- DST-REF (set to zero);
- SRC-REF
- CLASS and OPTIONS (i.e. preferred class, use of extended
format, non-use of explicit flow control in class 2);
- calling TSAP-ID;
- called TSAP-ID;
- TPDU size (proposed);
- version number;
- security parameter;
- checksum;
- additional option selection (i.e. use of network
expedited in class 1, use of receipt confirmation in
class 1, non-use of checksum in class 4, use of
transport expedited data transfer service);
- alternative protocol class(es);
- acknowledge time;
- throughput (proposed);
- residual error rate (proposed);
- priority (proposed);
- transit delay (proposed);
- reassignment time;
- user data.
b) CC TPDU;
- CDT;
- DST-REF;
33
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> - SRC-REF;
- CLASS and OPTIONS (selected);
- calling TSAP-ID;
- called TSAP-ID;
- TPDU size (selected);
- security parameter;
- checksum;
- additional option selection (selected);
- acknowledge time;
- throughput (selected);
- residual error rate (selected);
- priority (selected);
- transit delay (selected);
- user data.
NOTE - The transport service defines transit delay as
requiring a previously stated average TSDU size as a basis
for any specification. This protocol, as specified in
13.3.4(n), uses a value of 128 octets. Conversion to and
from specifications based upon some other value is a local
matter.
6.5.4 Procedure
A transport connection is established by means of one transport
entity (the initiator) transmitting a CR TPDU to the other
transport entity (the responder), which replies with a CC TPDU.
Before sending the CR TPDU, the initiator assigns the transport
connection being created to one (or more if the splitting
procedure is being use) network connection(s). It is this set of
network connections over which the TPDUs are sent. During this
exchange, all information and parameters needed for the transport
entities to operate shall be exchanged or negotiated.
NOTE - Except in class 4, it is recommended that the
initiator starts an optional timer TS1 at the time the CR
TPDU is sent. This timer should be stopped when the
connection is considered as accepted or refused or
unsuccessful. If the timer expires, the initiator should
34
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> reset or disconnect the network connection and, in classes 1
and 3 freeze the reference (see 6.18). For all other
transport connection(s) multiplexed on the same network
connection the procedures for reset or disconnect as
appropriate should be followed.
After receiving the CC TPDU for a class which includes the
procedure for retention until acknowledgement of TPDUs the
initiator shall acknowledge the CC TPDU as defined in table 5
(see 6.13).
When the network expedited variant of the expedited data transfer
(see 6.11) has been agreed (possible in class 1 only), the
responder shall not send an ED TPDU before the CC TPDU is
acknowledged.
The following information is exchanged:
a) references. Each transport entity chooses a reference
which is to be used by the peer entity is 16 bits long and
which is arbitrary except for the following restrictions:
1) it shall not already be in use or frozen (see 6.18),
2) it shall not be zero.
This mechanism is symmetrical and provides identification
of the transport connection independent of the network
connection. The range of references used for transport
connections, in a given transport entity, is a local
matter.
b) addresses (optional). Indicate the calling and called
transport service access points. When either network
address unambiguously defines the transport address this
information may be omitted.
c) initial credit. Only relevant for classes which include
the explicit flow control function.
d) user data. Not available if Class 0 is the preferred
class (see note). Up to 32 octets in other classes.
35
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTE - If class 0 is a valid response according to table
3, inclusion of user data in the CR TPDU may cause the
responding entity to refuse the connection (e.g. if it
only supports class 0).
e) acknowledgement time. Only in class 4.
f) checksum parameter. Only in class 4.
g) security parameter. This parameter and its semantics are
user defined.
The following negotiations take place:
h) protocol class. The initiator shall propose a preferred
class and may propose any number of alternative class
which permit a valid response as defined in table 3. The
initiator should assume when it sends the CR TPDU that its
preferred class will be agreed to, and commence the
procedures associated with that class, except that if
class 0 or class 1 is an alternative class, multiplexing
shall not commence until a CC TPDU selecting the use of
classes 2, 3 or 4 has been received.
NOTE - This means, for example, that when the preferred
class includes resynchronization (see 6.14) the
resynchronization will occur if a reset is signalled
during connection establishment.
The responder shall select one class defined in table 3 as a
valid response corresponding to the preferred class and to the
class(es), if any, contained in the alternative class parameter
of the CR TPDU. It shall indicate the selected class in the CC
TPDU and shall follow the procedures for the selected class.
If the preferred class is not selected, then on receipt of the CC
TPDU the initiator shall adjust its operation according the
procedures of the selected class.
36
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +------------------------------------------------------------+
| Pre- | Alternative class |
|ferred |----------------------------------------------------|
|class | 0 | 1 | 2 | 3 | 4 | none |
|-------|--------|--------|--------|--------|--------|-------|
| 0 |not |not |not |not |not |class |
| |valid |valid |valid |valid |valid | 0 |
|-------|--------|--------|--------|--------|--------|-------|
| 1 |class |class |not |not |not |class |
| |1 or 0 |1 or 0 |valid |valid |valid |1 or 0 |
|-------|--------|--------|--------|--------|--------|-------|
| 2 |class |not |class |not |not |class |
| |2 or 0 |valid |2 |valid |valid | 2 |
|-------|--------|--------|--------|--------|--------|-------|
| 3 |class |class 3,|class |class |not |class |
| |3,2 or 0|2,1 or 0|3 or 2 |3 or 2 |valid |3 or 2 |
|-------|--------|--------|--------|--------|--------|-------|
| 4 |class |class 4,|class |class |class |class |
| |4,2 or 0|2,1 or 0|4 or 2 |4,3 or 2|4 or 2 |4 or 2 |
+------------------------------------------------------------+
Table 3.
Valid responses corresponding to the preferred class and any
alternative class proposed in the CR TPDU
NOTES:
1. The valid responses indicated in table 3 result from both
explicit negotiation, whereby each of the classes proposed
is a valid response, and implicit negotiation whereby:
a) if class 3 or 4 is proposed then class 2 is a valid
response;
b) if class 1 is proposed then class 0 is a valid
response.
37
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 2. Negotiation from class 2 to class 1 and from any class to
an higher-numbered class is not valid.
3. Redundant combinations are not a protocol error.
j) TPDU size. The initiator may propose a maximum size for
TPDUs, and the responder may accept this value or respond
with any value between 128 and the proposed value in the
set of values available (see 13.3.4.b).
NOTE - The length of the CR TPDU does not exceed 128
octets (see 13.3).
k) normal or extended format. Either normal or extended is
available. When extended is used this applies to CDT,
TPDU-NR, ED-TPDU-NR, YR-TU-NR and YR-EDTU-NR parameters.
m) checksum selection. This defines whether or not TPDUs of
the connection are to include a checksum.
n) quality of service parameters. This defines the
throughput, transit delay, priority and residual error
rate.
p) the non-use of explicit flow control in class 2.
q) the use of network receipt confirmation and network
expedited when class 1 is to be used.
r) use of expedited data transfer service. This allows both
TS-users to negotiate the use or non-use of the expedited
data transport service as defined in the transport service
(ISO 8072).
The following information is sent only in the CR TPDU:
s) version number. This defines the version of the transport
protocol standard used for this connection.
t) reassignment time parameter. This indicates the time for
which the initiator will persist in following the
reassignment after failure procedure.
38
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> The negotiation rules for the options are such that the initiator
may propose either to use or not to use the option. The
responder may either accept the proposed choice or select an
alternative choice as defined in table 4.
In class 2, whenever a transport entity requests or agrees to the
transport expedited data transfer service or to the use of
extended formats, it shall also request or agree (respectively)
to the use of explicit flow control.
+-------------------------------------------------------------+
| Option | Proposal Made | Valid Selection |
| | by the Initiator | by the Responder |
|-----------------------|------------------|------------------|
|Transport expedited | Yes | Yes or No |
|data transfer service | No | No |
|(Classes 1,2,3,4 only) | | |
|-----------------------|------------------|------------------|
|Use of receipt confir- | Yes | Yes or No |
|mation (Class 1 only) | No | No |
|-----------------------|------------------|------------------|
|Use of the network | Yes | Yes or No |
|expedited variant | No | No |
|(Class 1 only) | | |
|-----------------------|------------------|------------------|
|Non-use of checksum | Yes | Yes or No |
|(Class 4 only) | No | No |
|-----------------------|------------------|------------------|
|Non-use of explicit | Yes | Yes or No |
|flow control | No | No |
|(Class 2 only) | | |
|-----------------------|------------------|------------------|
|Use of extended format | Yes | Yes or No |
|(Classes 2,3,4 only) | No | No |
+-------------------------------------------------------------+
Table 4. Negotiation of options during connection establishment
39
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTE - Table 4 defines the procedures for negotiation of options.
This negotiation has been designed such that if the initiator
proposes the mandatory implementation option specified in clause
14, the responder has to accept use of this option over the
transport connection except for the use of the transport
expedited data transfer service which may be rejected by the TS-
user. If the initiator proposes a non-mandatory implementation
option, the responder is entitled to select use of the mandatory
implementation option for use over the transport connection.
6.6 Connection refusal
6.6.1 Purpose
The connection refusal procedure is used in all classes when a
transport entity refuses a transport connection in response to a
CR TPDU.
6.6.2 TPDUs and parameters used
The procedure makes use of the following TPDUs and parameters:
a) DR TPDU;
- SRC-REF;
- reason;
- user data.
b) ER TPDU;
- reject code;
- rejected TPDU parameter.
40
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.6.3 Procedure
If a transport connection cannot be accepted, the responder shall
respond to the CR TPDU with a DR TPDU. The reason shall indicate
why the connection was not accepted. The source reference field
in the DR TPDU shall be set to zero to indicate an unassigned
reference.
If a DR TPDU is received the initiator shall regard the
connection as released.
The responder shall respond to an invalid CR TPDU by sending an
ER or DR TPDU. If an ER TPDU is received in response to a CR
TPDU, the initiator shall regard the connection as released.
NOTES
1. When the invalid CR TPDU can be identified as having class 0
as the preferred class, it is recommended to respond with an
ER TPDU. For all other invalid CR TPDUs either an ER TPDU or
DR TPDU may be sent.
2. If the optimal supervisory timer TS1 has been set for this
connection then the entity should stop the timer on receipt
of the DR or ER TPDU.
6.7 Normal release
6.7.1 Purpose
The release procedure is used by a transport entity in order to
terminate a transport connection. The implicit variant is used
only in class 0. The explicit variant is used in classes 1,2,3
and 4.
41
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTES
1. When the implicit variant is used (i.e. in class 0), the
lifetime of the transport connection is directly correlated
with the lifetime of the network connection.
2. The use of the explicit variant of the release procedure
enables the transport connection to be released independently
of the underlying network connection.
6.7.2 Network service primitives
The procedure makes use of the following network service
primitives:
a) N-DISCONNECT (implicit variant only),
b) N-DATA
6.7.3 TPDUs and parameters used
The procedure makes use of the following TPDUs and parameters:
a) DR TPDU;
- clearing reason;
- user data;
- SRC-REF;
- DST-REF.
b) DC TPDU.
42
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.7.4 Procedure for implicit variant
In the implicit variant either transport entity disconnects a
transport connection by disconnecting the network connection to
which it is assigned. When a transport entity receives an N-
DISCONNECT this should be considered as the release of the
transport connection.
6.7.5 Procedure for explicit variant
When the release of a transport connection is to be initiated a
transport entity
a) if it has previously sent or received a CC TPDU (see note
1), shall send a DR TPDU. It shall ignore all
subsequently received TPDUs other than a DR or DC TPDU.
On receipt of a DR or DC TPDU it shall consider the
transport connection released;
b) in other cases it shall:
1) For classes other than class 4 wait for the
acknowledgement of the outstanding CR TPDU; if it
receives a CC TPDU, it shall follow the procedures in
6.7.5.a.
2) For class 4 either send a DR TPDU with a zero value in
the DST-REF field or follow the procedure in
6.7.5.b.1.
A transport entity that receives a DR TPDU shall
c) if it has previously sent a DR TPDU for the same transport
connection, consider the transport connection released;
d) if it has previously sent a CR TPDU that has not been
acknowledged by a CC TPDU, consider the connection refused
(see 6.6).
43
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> e) in other cases, send a DC TPDU and consider the transport
connection released.
NOTES
1) This requirement ensures that the transport entity is
aware of the remote reference for the transport
connection.
2) When the transport connection is considered as released
the local reference is either available for re-use or is
frozen (see 6.18).
3) After the release of a transport connection the network
connection can be released or retained to enable its re-
use for the assignment of other transport connections (see
6.1.).
4) Except in class 4, it is recommended that, if a transport
entity does not receive acknowledgement of a DR TPDU
within time TS2, it should either reset or disconnect the
network connection, and freeze the reference when
appropriate (see 6.18). For all other transport
connection(s) multiplexed on this network connection the
procedures for reset or disconnect as appropriate should
be followed.
5) When a transport entity is waiting for a CC TPDU before
sending a DR TPDU and the network connection is reset or
released, it should consider the transport connection
released and, in classes other than classes 0 and 2,
freeze the reference (see 6.18).
6.8 Error Release
44
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.8.1 Purpose
This procedure is used only in classes 0 and 2 to release a
transport connection on the receipt of an N-DISCONNECT or N-RESET
indication.
6.8.2 Network service primitives
The procedure makes use of the following service primitives:
a) N-DISCONNECT indication;
b) N-RESET indication.
6.8.3 Procedure
When, on the network connection to which a transport connection
is assigned, an N-DISCONNECT or N-RESET indication is received,
both transport entities shall consider that the transport
connection is released and so inform the TS-users.
NOTE - In other classes, since error recovery is used, the
receipt of an N-RESET indication or N-DISCONNECT indication will
result in the invocation of the error recovery procedure.
6.9 Association of TPDUs with transport connections
6.9.1 Purpose
This procedure is used in all classes to interpret a received
NSDU as TPDU(s) and, if possible, to associate each such TPDU
with a transport connection.
45
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.9.2 Network service primitives
This procedure makes use of the following network service
primitives:
a) N-DATA indication;
b) N-EXPEDITED DATA indication.
6.9.3 TPDUs and parameters uses
This procedure makes use of the following TPDUs and parameters:
a) any TPDU except CR TPDU, DT TPDU in classes 0 or 1 and AK
TPDU in class 1;
- DST-REF
b) CR, CC, DR and DC TPDUs;
- SCR-REF.
c) DT TPDU in classes 0 or 1 and AK TPDU in class 1.
6.9.4 Procedures
6.9.4.1 Identification of TPDUs
If the received NSDU or Expedited NSDU cannot be decoded (i.e.
does not contain one or more correct TPDUs) or is corrupted (i.e.
contains a TPDU with a wrong checksum) then the transport entity
shall:
46
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) if the network connection on which the error is detected
has a class 0 or class 1 transport connection assigned to
it, then treat as a protocol error (see 6.22) for that
transport connection;
b) otherwise
1) if the NSDU can be decoded but contains corrupted
TPDUs, ignore the TPDUs (class 4 only) and optionally
apply 6.9.4.b.2.
2) if the NSDU cannot be decoded issue an N-RESET or N-
DISCONNECT request for the network connection and for
all the transport connections assigned to this network
connection (if any), apply the procedures defined for
handling of network signalled reset or disconnect.
If the NSDU can be decoded and is not corrupted, the
transport entity shall:
c) if the network connection on which the NSDU was received
has a class 0 transport connection assigned to it, then
consider the NSDU as forming TPDU and associate the TPDU
with the transport connection (see 6.9.4.2).
d) otherwise, invoke the separation procedures and for each
of the individual TPDUs in the order in which they appear
in the NSDU apply the procedure defined in 6.9.4.2.
6.9.4.2 Association of individual TPDUs
If the received TPDU is a CR TPDU then, if it is a duplicate, as
recognized by using the NSAPs of the network connection, and the
SRC-REF parameter, then it is associated with the transport
connection created by the original value of the CR TPDU;
otherwise it is processed as requesting the creation of a new
transport connection.
If the received TPDU is a DT TPDU and the network connection has
a class 0 or 1 transport connection assigned to it, or an AK TPDU
47
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> where a class 1 transport connection is assigned, then the TPDU
is associated with the transport connection.
Otherwise, the DST-REF parameter of the TPDU is used to identify
the transport connection. The following cases are distinguished:
a) if the DST-REF is not allocated to a transport connection,
the transport entity shall respond on the same network
connection with a DR TPDU if the TPDU is a CC TPDU, with a
DC TPDU if the TPDU is a DR TPDU and shall ignore the TPDU
if neither a DR TPDU nor CC TPDU. No association with a
transport connection is made.
b) if the DST-REF is allocated to a connection, but the TPDU
is received on a network connection to which the
connection has not been assigned then there are three
cases:
1) if the transport connection is of class 4 and if the
TPDU is received on a network connection with the same
pair of NSAPs as that of the CR TPDU then the TPDU is
considered as performing assignment,
2) if the transport connection is not assigned to any
network connection (waiting for reassignment after
failure) and if the TPDU is received on a network
connection with the same pair of NSAPs as that of the
CR TPDU then the association with that transport
connection is made.
3) Otherwise, the TPDU is considered as having a DST-REF
not allocated to a transport connection (case a).
c) If the TPDU is a DC TPDU then it is associated with the
transport connection to which the DST-REF is allocated,
unless the SRC-REF is not the expected one, in which case
the DC TPDU is ignored.
d) If the TPDU is a DR TPDU then there are three cases:
1) if the SRC-REF is not as expected then a DC TPDU with
DST-REF equal to the SRC-REF of the received DR TPDU
is sent back and no association is made;
48
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 2) if a CR TPDU is unacknowledged then the DR TPDU is
associated with the transport connection, regardless
of the value of its SRC-REF parameter;
3) otherwise, the DR TPDU is associated with the
transport connection identified by the DST-REF
parameter.
e) if the TPDU is a CC TPDU whose DST-REF parameter
identifies an open connection (one for which a CC TPDU has
been previously received), and the SRC-REF in the CC TPDU
does not match the remote reference, then a DR TPDU is
sent back with DST-REF equal to the SRC-REF of the
received CC TPDU and no association is made.
f) if none of the above cases apply then the TPDU is
associated with the transport connection identified by the
DST-REF parameter.
6.10 Data TPDU numbering
6.10.1 Purpose
Data TPDU numbering is used in classes 1, 2 (except when the
non-use of explicit flow control option is selected), 3 and 4.
Its purpose is to enable the use of recovery, flow control and
re-sequencing functions.
6.10.2 TPDUs and parameters used
The procedure makes use of the following TPDU and parameter:
DT TPDU;
- TPDU-NR.
49
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.10.3 Procedure
A Transport entity shall allocate the sequence number zero to the
TPDU-NR of the first DT TPDU which it transmits for a transport
connection. For subsequent DT TPDUs sent on the same transport
connection, the transport entity shall allocate a sequence number
one greater than the previous one.
When a DT TPDU is retransmitted, the TPDU-NR parameter shall have
the same value as in the first transmission of that DT TPDU.
Modulo 2**7 arithmetic shall be used when normal formats have
been selected and modulo 2**31 arithmetic shall be used when
extended formats have been selected. In this International
Standard the relationships 'greater than' and 'less than' apply
to a set of contiguous TPDU numbers whose range is less than the
modulus and whose starting and finishing numbers are known. The
term 'less than' means 'occurring sooner in the window sequence'
and the term 'greater than' means 'occurring later in the window
sequence'.
6.11 Expedited data transfer
6.11.1 Purpose
Expedited data transfer procedures are selected during connection
establishment. The network normal data variant may be used in
classes 1, 2, 3 and 4. The network expedited variant is only
used in class 1.
6.11.2 Network service primitives
The procedure makes use of the following network service
primitives:
a) N-DATA;
50
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> b) N-EXPEDITED DATA.
6.11.3 TPDUs and parameter used
The procedure makes use of the following TPDUs and parameters:
a) ED TPDU;
- ED TPDU-NR.
b) EA TPDU;
- YR-EDTU-NR.
6.11.4 Procedures
The TS-user data parameter of each T-EXPEDITED DATA request shall
be conveyed as the data field of an Expedited Data (ED) TPDU.
Each ED TPDU received shall be acknowledged by an Expedited
Acknowledge (EA) TPDU.
No more than one ED TPDU shall remain unacknowledged at any time
for each direction of a transport connection.
An ED TPDU with a zero length data field is a protocol error.
51
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTES
1. The network normal data variant is used, except when the
network expedited variant (available in Class 1 only), has
been agreed, in which case ED and EA TPDUs are conveyed in
the data fields of N-EXPEDITED DATA primitives (see
6.2.3).
2. No TPDUs can be transmitted using network expedited until
the CC TPDU becomes acknowledged, to prevent the network
expedited from overtaking the CC TPDU.
6.12 Reassignment after failure
6.12.1 Purpose
The reassignment after failure procedure is used in Classes 1 and
3 to commence recovery from an NS-provider signalled disconnect.
6.12.2 Network service primitives
The procedure uses the following network service primitive:
N-DISCONNECT indication
6.12.3 Procedure
When an N-DISCONNECT indication is received from the network
connection to which a transport connection is assigned, the
initiator shall apply one of the following alternatives:
a) if the TTR timer has not already run out and no DR TPDU is
retained then:
52
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 1) assign the transport connection to a different network
connection (see 6.1) and start its TTR timer if not
already started.
2) while waiting for the completion of assignment if:
- an N-DISCONNECT indication is received, repeat the
procedure from 6.12.3.a,
- the TTR timer expires, begin procedure 6.12.3.b.
3) when reassignment is completed, begin
resynchronization (see 6.14) and:
- if a valid TPDU is received as the result of the
resynchronization, stop the TTR timer, or
- if TTR runs out, wait for the next event, or
- if an N-DISCONNECT indication is received, then
begin either procedure 6.12.3.a or 6.12.3.b
depending on the TTR timer.
NOTE - After the TTR timer expires and while waiting for
the next event, it is recommended that the initiator
starts the TWR timer. If the TWR timer expires before the
next event the initiator should begin the procedure in
6.12.3.b.
b) if the TTR timer has run out, consider the transport
connection as released and freeze the reference (see
6.18).
c) if a DR TPDU is retained and the TTR timer has not run
out, then follow the actions in either 6.12.3.a or
6.12.3.b.
The responder shall start its TWR timer if not already started.
The arrival of the first TPDU related to the transport connection
(because of resynchronization by the initiator) completes the
reassignment after failure procedure. The TWR timer is stopped
and the responder shall continue with resynchronization (see
6.14). If reassignment does not take place within this time, the
53
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> transport connection is considered released and the reference is
frozen (see 6.18).
6.12.4 Timers
The reassignment after failure procedure uses two timers:
a) TTR, the time to try reassignment/resynchronization timer;
b) TWR, the time to wait for reassignment/resynchronization
timer.
The TTR timer is used by the initiator. Its value shall not
exceed two minutes minus the sum of the maximum disconnect
propagation delay and the transit delay of the network
connections (see note 1). The value for the TTR timer may be
indicated in the CR TPDU.
The TWR timer is used by the responder. If the reassignment time
parameter is present in the CR TPDU, the TWR timer value shall be
greater than the sum of the TTR timer plus the maximum disconnect
propagation delay plus the transit delay of the network
connections.
If the reassignment time parameter is not present in the CR TPDU,
a default value of 2 minutes shall be used for the TWR timer.
NOTES
1. Provided that the required quality of service is met, TTR may
be set to zero (i.e. no assignment). This may be done, for
example, if the rate of NS-provider generated disconnects is
very low.
2. Inclusion of the reassignment time parameter in the CR TPDU
allows the responder to use a TWR value of less than 2
minutes.
3. If the optional TS1 and TS2 timers are used, it is
recommended:
54
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) to stop TS1 or TS2 if running when TTR or TWR is
started;
b) to restart TS1 or TS2 if necessary when the
corresponding TPDU (CR TPDU or DR TPDU respectively is
repeated);
c) to select for TS1 and TS2 values greater than TTR.
55
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.13 Retention until acknowledgement of TPDUs
6.13.1 Purpose
The retention until acknowledgement of TPDUs procedure is used in
classes 1, 3 and 4 to enable and minimize retransmission after
possible loss of TPDUs.
The confirmation of receipt variant is used only in Class 1 when
it has been agreed during connection establishment (see note).
The AK variant is used in classes 3 and 4 and also in Class 1
when the confirmation of receipt variant has not been agreed
during connection establishment.
NOTE - Use of confirmation of receipt variant depends on the
availability of the network layer receipt confirmation service
and the expected cost reduction.
6.13.2 Network service primitives
The procedure uses the following network service primitives:
a) N-DATA;
b) N-DATA ACKNOWLEDGE.
6.13.3 TPDUs and parameters used
The procedure uses the following TPDUs and parameters:
a) CR, CC, DR and DC TPDUs;
b) RJ and AK TPDUs;
- YR-TU-NR.
56
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) DT TPDU;
- TPDU-NR.
d) ED TPDU;
- ED-TPDU-NR.
e) EA TPDU;
- YR-EDTU-NR.
6.13.4 Procedures
Copies of the following TPDUs shall be retained upon transmission
to permit their later retransmission:
CR, CC, DR, DT and ED TPDUs
except that if a DR is sent in response to a CR TPDU there is no
need to retain a copy of the DR TPDU.
In the confirmation of receipt variant, applicable only in Class
1, transport entities receiving N-DATA indications which convey
DT TPDUs and have the confirmation request field set shall issue
an N-DATA ACKNOWLEDGE request (see notes 1 and 2).
After each TPDU is acknowledged, as shown in table 5, the copy
need not be retained. Copies may also be discarded when the
transport connection is released.
57
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTES
1. It is a local matter for each transport entity to decide
which N-DATA requests should have the confirmation request
parameter set. This decision will normally be related to
the amount of storage available for retained copies of the
DT TPDUs.
2. Use of the confirmation request parameter may affect the
quality of network service.
58
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +-------------------------------------------------------------+
|RETAINED| | |
| TPDU | VARIANT | RETAINED UNTIL ACKNOWLEDGED BY |
|--------|--------------|-------------------------------------|
| CR | both |CC, DR or ER TPDU. |
| | | |
| DR | both |DC or DR (in case of collision) TPDU.|
| | | |
| CC | confirmation |N-DATA Acknowledge indication, RJ, |
| | of receipt |DT, EA or ED TPDU. |
| | variant | |
| | | |
| CC | AK variant |RJ, DT, AK, ED or EA TPDU. |
| | | |
| DT | confirmation |N-DATA ACKNOWLEDGE indication cor- |
| | of receipt |responding to an N-DATA request which|
| | variant |conveyed, or came after, the DT TPDU.|
| | | |
| DT | AK variant |AK or RJ TPDU for which the YR-TU-NR |
| | |is greater than TPDU-NR in the DT |
| | |TPDU. |
| | | |
| ED | both |EA TPDU for which the YR-EDTU-NR is |
| | |equal to the ED-TPDU-NR in the |
| | |ED TPDU. |
+-------------------------------------------------------------+
Table 5. Acknowledgement of TPDUs
59
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.14 Resynchronization
6.14.1 Purpose
The resynchronization procedures are used in Classes 1 and 3 to
restore the transport connection to normal after a reset or
during reassignment after failure according to 6.12.
6.14.2 Network service primitives
The procedure makes use of the following network service
primitive:
N-RESET indication.
6.14.3 TPDUs and parameters used
The procedure uses the following TPDUs and parameters:
a) CR, DR, CC and DC TPDUs
b) RJ TPDUs;
- YR-TU-NR.
c) DT TPDU;
- TPDU-NR
d) ED TPDU;
- ED TPDU-NR.
e) EA TPDU;
- YR-EDTU-NR.
60
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.14.4 Procedure
A transport entity which is notified of the occurence of an N-
RESET or which is performing 'reassignment after failure'
according to 6.12 shall carry out the active resynchronization
procedure (see 6.14.4.1) unless any of the following hold:
a) the transport entity is the responder (see note). In this
case the passive resynchronization procedure is carried
out (see 6.14.4.2).
b) the transport entity has elected not to reassign (see
6.12.3.c). In this case no resynchronization takes place.
6.14.4.1 Active resynchronization procedures
The Transport entity shall carry out one of the following
actions:
a) if the TTR timer has been previously started and has run
out (i.e. no valid TPDU has been received), the transport
connection is considered as released and the reference is
frozen (see 6.18).
b) otherwise, the TTR timer shall be started (unless it is
already running) and the first applicable of the following
actions shall be taken:
1) if a CR TPDU is unacknowledged, then the transport
entity shall retransmit it;
2) if a DR TPDU is unacknowledged, then the transport
entity shall retransmit it;
3) otherwise, the transport entity shall carry out the
data resynchronization procedures (6.14.4.3).
The TTR timer is stopped when a valid TPDU is received.
61
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.14.4.2 Passive resynchronization procedures
The transport entity shall not send any TPDUs until a TPDU has
been received. The transport entity shall start its TWR timer if
it was not already started (due to a previous N-DISCONNECT or N-
RESET indication). If the timer runs out prior to the receipt of
a valid TPDU which commence resynchronization (i.e. CR or DR or
RJ TPDU) the transport connection is considered as released and
the reference is released (see 6.18).
When a valid TPDU is received the transport entity shall stop its
TWR timer and carry out the appropriate one of the following
actions, depending on the TPDU:
a) if it is a DR TPDU, then the transport entity shall send a
DC TPDU;
b) if it is a repeated CR TPDU (see note 1) then the
transport entity shall carry out the appropriate action
from the following:
1) if a CC TPDU has already been sent, and acknowledged:
treat as a protocol error;
2) if a DR TPDU is unacknowledged (whether or not a CC
TPDU is unacknowledged): retransmit the DR TPDU, but
setting the source reference to zero;
3) if the T-CONNECT response has not yet been received
from the user: take no action;
4) otherwise; retransmit the CC TPDU followed by an
unacknowledged ED TPDU (see note 2) and any DT TPDU;
NOTES
1. A repeated CR TPDU can be identified by being on a
network connection with the appropriate network
addresses and having a correct source reference.
62
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 2. The transport entity should not use network expedited
until the CC TPDU is acknowledged (see 6.5). This
rule prevents the network expedited from overtaking
the CC TPDU.
c) if it is an RJ or ED TPDU then one of the following
actions shall be taken:
1) if a DR TPDU is unacknowledged, then the transport
entity shall retransmit it;
2) otherwise, the transport entity shall carry out the
data resynchronization procedures (6.14.4.3).
3) If a CC TPDU was unacknowledge, the RJ or ED TPDU
should then be considered as acknowledging the CC
TPDU. If a CC TPDU was never sent, the RJ TPDU should
then be considered as a protocol error.
6.14.4.3 Data Resynchronization Procedures
The transport entity shall carry out the following actions in the
following order:
a) (re)transmit any ED TPDU which is unacknowledged,
b) transmit an RJ TPDU with YR-TU-NR field set to the TPDU-NR
of the next expected DT TPDU;
63
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) wait for the next TPDU from the other transport entity,
unless an RJ or DR TPDU has already been received; if a DR
TPDU is received the transport entity shall send a DC,
freeze the reference, inform the TS-user of the
disconnection and take no further action (i.e. it shall
not follow the procedures in 6.14.4.3.d). If an RJ TPDU
is received, the procedure of 6.14.4.3.d shall be
followed. If an ED TPDU is received the procedures as
described in 6.11 shall be followed. If it is a
duplicated ED-TPDU the transport entity shall acknowledge
it, with an EA TPDU, discard the duplicated ED TPDU and
wait again for the next TPDU.
d) (re)transmit any DT TPDUs which are unacknowledged,
subject to any applicable flow control procedures (see
note);
NOTE - The RJ TPDU may have reduced the credit.
6.15 Multiplexing and demultiplexing
6.15.1 Purpose
The multiplexing and demultiplexing procedures are used in
Classes 2, 3 and 4 to allow several transport connections to
share a network connection at the same time.
6.15.2 TPDUs and parameters used
The procedure makes use of the following TPDUs and parameters:
CC, DR, DC, DT, AK, ED, EA, RJ and ER TPDUs
- DST-REF
64
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.15.3 Procedure
The transport entities shall be able to send and receive on the
same network connection TPDUs belonging to different transport
connections.
NOTES
1. When performing demultiplexing the transport connection to
which the TPDUs apply is determined by the procedures
defined in 6.9.
2. Multiplexing allows the concatenation of TPDUs belonging
to different transport connections to be transferred in
the same N-DATA primitive (see 6.4).
6.16 Explicit Flow Control
6.16.1 Purpose
The explicit flow control procedure is used in Classes 2, 3 and 4
to regulate the flow of DT TPDUs independently of the flow
control in the other layers.
6.16.2 TPDUs and parameters used
The procedure makes use of the following TPDUs and parameters:
a) CR, CC, AK and RJ TPDUs
- CDT.
b) DT TPDU
- TPDU-NR.
65
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) AK TPDU
- YR-TU-NR;
- subsequence number;
- flow control confirmation.
d) RJ TPDU
- YR-TU-NR.
6.16.3 Procedure
The procedures differ in different classes. They are defined in
the clauses specifying the separate classes.
6.17 Checksum
6.17.1 Purpose
The checksum procedure is used to detect corruption of TPDUs by
the NS-provider.
NOTE - Although a checksum algorithm has to be adapted to the
type of errors expected on the network connection, at present
only one algorithm is defined.
6.17.2 TPDUs and parameters used
The procedure uses the following TPDUs and parameters:
All TPDUs
- checksum
66
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.17.3 Procedure
The checksum is used only in Class 4. It is always used for the
CR TPDU, and is used for all other TPDUs except if the non-use of
the procedure was agreed during connection establishment.
The sending transport entity shall transmit TPDUs with the
checksum parameter set such that the following formulas are
satisfied:
SUM(from i=1 to i=L) OF a[i] EQUALS <zero> (module 255)
SUM(from i=1 to i=L) OF i*a[i] EQUALS <zero> (module 255)
where
i = number (i.e. position) of an octet within the TPDU
(see 13.2);
a[i] = value of octet in position 1;
L = length of TPDU in octets.
A transport entity which receives a TPDU for a transport
connection for which the use of checksum has been agreed and
which does not satisfy the above formulas shall discard the TPDU
(see also note 2).
NOTES
1. An efficient algorithm for determining the checksum
parameters is given in annex B.
2. If the checksum is incorrect, it is not possible to know
with certainty to which transport connection the TPDU is
related; further action may be taken for all the transport
connections assigned to the network connection (see 6.9).
3. The checksum proposed is easy to calculate and so will not
impose a heavy burden on implementations. However, it
will not detect insertion or loss of leading or trailing
zeros and will not detect some octets misordering.
67
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.18 Frozen references
6.18.1 Purpose
This procedure is used in order to prevent re-use of a reference
while TPDUs associated with the old use of the reference may
still exist.
6.18.2 Procedure
When a transport entity determines that a particular connection
is released it shall place the reference which it has allocated
to the connection in a frozen state according to the procedures
of the class. While frozen, the reference shall not be re-used.
NOTE - The frozen reference procedure is necessary because
retransmission or misordering can cause TPDUs bearing a reference
to arrive at an entity after it has released the connection for
which it allocated the reference. Retransmission, for example,
can arise when the class includes either resynchronization (see
6.14) or retransmission on time out (see 6.19).
6.18.2.1 Procedure for classes 0 and 2
The frozen reference procedure is never used for these classes.
NOTE - However for consistency with the other classes freezing
the references may be done as a local decision.
68
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.18.2.2 Procedure for classes 1 and 3
The frozen reference procedure is used except in the following
cases (see note 1):
a) when the transport entity receives a DC TPDU in response
to a DR TPDU which it has sent (see note 2);
b) when the transport entity sends a DR or ER TPDU in
response to a CR TPDU which it has received (see note 3);
c) when the transport entity has considered the connection to
be released after the expiration of the TWR timer (see
note 4);
d) when the transport entity receives a DR or ER TPDU in
response to a CR TPDU which it has sent.
The period of time for which the reference remains frozen shall
be greater than the TWR time.
NOTES
1. However, even in these cases, for consistency freezing the
reference may be done as a local decision.
2. When the DC TPDU is received it is certain that the other
transport entity considers the connection released.
3. When the DR or ER TPDU is sent the peer transport entity
has not been informed of any reference assignment and thus
cannot possibly make use of a reference (this includes the
case where a CC TPDU was sent, but was lost).
4. In 6.18.2.c the transport entity has already effectively
frozen the reference for an adequate period.
69
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.18.2.3 Procedure for classes 4
The frozen reference procedure is always used in class 4. The
period for which the reference remains frozen should be greater
than L (see 12.2.1.1.6).
6.19 Retransmission on time-out
6.19.1 Purpose
The procedure is used in Class 4 to cope with unsignalled loss of
TPDUs by the NS-provider.
6.19.2 TPDUs used
The procedure makes use of the following TPDUs:
CR, CC, DR, DT, ED, AK TPDUs.
6.19.3 Procedure
The procedure is specified in the procedures for Class 4 (see
12.2.1.2.j).
6.20 Resequencing
70
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.20.1 Purpose
The resequencing procedure is used in Class 4 to cope with
misordering of TPDUs by the network service provider.
6.20.2 TPDUs and parameters used
The procedure uses the following TPDUs and parameters:
a) DT TPDU;
- TPDU-NR.
b) ED TPDU
- ED TPDU-NR
6.20.3 Procedure
The procedure is specified in the procedures for Class 4 (see
12.2.3.5).
6.21 Inactivity control
6.21.1 Purpose
The inactivity control procedure is used in Class 4 to cope with
unsignalled termination of a network connection.
71
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.21.2 Procedure
The procedure is specified in the procedures for Class 4 (see
12.2.3.3).
6.22 Treatment of protocol errors
6.22.1 Purpose
The procedure for treatment of protocol errors is used in all
classes to deal with invalid TPDUs.
6.22.2 TPDUs and parameters used
The procedure uses the following TPDUs and parameters:
a) ER TPDU;
- reject cause;
- TPDU in error.
b) DR TPDU;
- reason code.
6.22.3 Procedure
A transport entity that receives a TPDU that can be associated to
a transport connection and is invalid or constitutes a protocol
error (see 3.2.16 and 3.2.17) shall take one of the following
actions so as not to jeopardize any other transport connections
not assigned to that network connection:
a) ignoring the TPDU;
b) transmitting an ER TPDU;
72
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) resetting or closing the network connection; or
d) invoking the release procedures appropriate to the class.
If an ER TPDU is sent in Class 0 it shall contain the octets of
the invalid TPDU up to and including the octet where the error
was detected (see notes 3, 4 and 5).
If the TPDU cannot be associated to a particular transport
connection then see 6.9.
NOTES
1. In general, no further action is specified for the
receiver of the ER TPDU but it is recommended that it
initiates the release procedure appropriate to the class.
If the ER TPDU has been received as an answer to a CR TPDU
then the connection is regarded as released (see 6.6).
2. Care should be taken by a transport entity receiving
several invalid TPDUs or ER TPDUs to avoid looping if the
error is generated repeatedly.
3. If the invalid received TPDU is greater than the selected
maximum TPDU size it is possible that it cannot be
included in the invalid TPDU parameter of the ER TPDU.
4. It is recommended that the sender of the ER TPDU starts an
optional timer TS2 to ensure the release of the
connection. If the timer expires, the transport entity
shall initiate the release procedures appropriate to the
class. The timer should be stopped when a DR TPDU or an
N-DISCONNECT indication is received.
5. In classes other than 0, it is recommended that the
invalid TPDU be also included in the ER TPDU.
73
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6.23 Splitting and recombining
6.23.1 Purpose
This procedure is used only in class 4 to allow a transport
connection to make use of multiple network connections to provide
additional resilience against network failure, to increase
throughput, or for other reasons.
6.23.2 Procedure
When this procedure is being used, a transport connection may be
assigned (see 6.1) to multiple network connections (see note 1).
TPDUs for the connection may be sent over any such network
connection.
If the use of Class 4 is not accepted by the remote transport
entity following the negotiation rules, then no network
connection except that over which the CR TPDU was sent may have
this transport connection assigned to it.
NOTES
1. The resequencing function of Class 4 (see 6.20) is used to
ensure that TPDUs are processed in the correct sequence.
2. Either transport entity may assign the connection to
further network connections of which it is the owner at
any time during the life of the transport connection.
74
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 3. In order to enable the detection of unsignalled network
connection failures, a transport entity performing
splitting should ensure that TPDUs are sent at intervals
on each supporting network connection, for example, by
sending successive TPDUs on successive network
connections, where the set of network connections is used
cyclically. By monitoring each network connection, a
transport entity may detect unsignalled network connection
failures, following the inactivity procedures defined in
12.2.3.3. Thus, for each network connection no period I
(see 12.2.3.1) may elapse without the receipt of some TPDU
for some transport connection.
75
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 7 Protocol Classes
Table 6 gives an overview of which elements of procedure are
included in each class. In certain cases the elements of
procedure within different classes are not identical and, for
this reason, table 6 cannot be considered as part of the
definitive specification of the protocol.
KEY TO TABLE 6
+---|---------------------------------------------------------+
| * |Procedure always included in class |
|---|---------------------------------------------------------|
| |Not applicable |
|---|---------------------------------------------------------|
| m |Negotiable procedure whose implementation in equipment is|
| |mandatory |
|---|---------------------------------------------------------|
| o |Negotiable procedure whose implementation in equipment is|
| |optional |
|---|---------------------------------------------------------|
| ao|Negotiable procedure whose implementation in equipment is|
| |optional and where use depends on availability within the|
| |network service |
|---|---------------------------------------------------------|
|(1)|Not applicable in class 2 when non-use of explicit flow |
| |control is selected |
|---|---------------------------------------------------------|
|(2)|When non use of explicit flow control has been selected, |
| |multiplexing may lead to degradation of quality of |
| |service |
|---|---------------------------------------------------------|
|(3)|This function is provided in class 4 using procedures |
| |other than those in the cross reference. |
+-------------------------------------------------------------+
76
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +----------------------------------------------------------------+
| |Cross | | | | | | |
| Protocol Mechanism |refe- | Variant | 0| 1| 2| 3| 4|
| |rence | | | | | | |
|-----------------------------|------|------------|--|--|--|--|--|
| Assignment to network Conn. | 6.1 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| TPDU Transfer | 6.2 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Segmenting and Reassembling | 6.3 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Concatenation and Separation| 6.4 | | | *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Connection Establishment | 6.5 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Connection Refusal | 6.6 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Normal Release | 6.7 | implicit | *| | | | |
| | | explicit | | *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Error Release | 6.8 | | *| | *| | |
|-----------------------------|------|------------|--|--|--|--|--|
| Association of TPDUs with | | | | | | | |
| Transport Connection | 6.9 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| DT TPDU Numbering | 6.10 | normal | | *|m(1)m| m|
| | | extended | | |o(1)o| o|
|-----------------------------|------|------------|--|--|--|--|--|
| Expedited Data Transfer | 6.11 | network | | | *| | |
| | | normal | | m|(1) *| *|
| | | network | | | | | |
| | | expedited | |ao| | | |
|-----------------------------|------|------------|--|--|--|--|--|
| Reassignment after failure | 6.12 | | | *| | *|(3)
+----------------------------------------------------------------+
Table 6. (First of 2 pages) Allocation of procedures within classes
77
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +----------------------------------------------------------------+
| Retention until Acknowledge-| |Conf.Receipt| |ao| | | |
| ment of TPDUs | 6.13 |AK | | m| | | *|
|-----------------------------|------|------------|--|--|--|--|--|
| Resynchronisation | 6.14 | | | *| | *|(3)
|-----------------------------|------|------------|--|--|--|--|--|
| Multiplexing and | | | | |(2) | |
| Demultiplexing | 6.15 | | | | *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Explicit Flow Control With | 6.16 | | | | m| *| *|
| Without | | | *| *| o| | |
|-----------------------------|------|------------|--|--|--|--|--|
| Checksum (use of) | 6.17 | | | | | | m|
| (non-use of) | | | *| *| *| *| o|
|-----------------------------|------|------------|--|--|--|--|--|
| Frozen References | 6.18 | | | *| | *| *|
|------------------------------------|------------|--|--|--|--|--|
| Retransmission on Timeout | 6.19 | | | | | | *|
|-----------------------------|------|------------|--|--|--|--|--|
| Resequencing | 6.20 | | | | | | *|
|-----------------------------|------|------------|--|--|--|--|--|
| Inactivity Control | 6.21 | | | | | | *|
|-----------------------------|------|------------|--|--|--|--|--|
| Treatment of Protocol Errors| 6.22 | | *| *| *| *| *|
|-----------------------------|------|------------|--|--|--|--|--|
| Splitting and Recombining | 6.23 | | | | | | *|
+----------------------------------------------------------------+
Table 6. (2nd of 2 pages) Allocation of procedures within classes
78
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 8 SPECIFICATION FOR CLASS 0. SIMPLE CLASS
8.1 Functions of class 0
Class 0 is designed to have minimum functionality. It provides
only the functions needed for connection establishment with
negotiation, data transfer with segmenting and protocol error
reporting.
Class 0 provides transport connections with flow control based on
the network service provided flow control, and disconnection
based on the network service disconnection.
8.2 Procedures for class 0
8.2.1 Procedures applicable at all times
The transport entities shall use the following procedures:
a) TPDU transfer (see 6.2);
b) association of TPDUs with transport connections (see 6.9);
c) treatment of protocol errors (see 6.22);
d) error release (see 6.8).
8.2.2 Connection establishment
The transport entities shall use the following procedures:
a) assignment to network connection (see 6.1); then
b) connection establishment (see 6.5) and, if appropriate,
connection refusal (see 6.6);
subject to the following constraints:
79
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) the CR and CC TPDUs shall contain no parameter field other
than those for TSAP-ID and maximum TPDU size;
d) the CR and CC TPDUs shall not contain a data field.
8.2.3 Data transfer
The transport entities shall use the segmenting and reassembling
procedure (see 6.3).
8.2.4 Release
The transport entities shall use the implicit variant of the
normal release procedure (see 6.7).
NOTE - the lifetime of the transport connection is directly
correlated with the lifetime of the network connection.
80
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 9 SPECIFICATION FOR CLASS 1: BASIC ERROR RECOVERY CLASS
9.1 Functions of Class 1
Class 1 provides transport connections with flow control based on
the network service provided flow control, error recovery,
expedited data transfer, disconnection, and also the ability to
support consecutive transport connections on a network
connection.
This class provides the functionality of Class 0 plus the ability
to recover after a failure signalled by the Network Service,
without involving the TS-user.
9.2 Procedures for Class 1
9.2.1 Procedures applicable at all times
The transport entities shall use the following procedures:
a) TPDU transfer (see 6.2);
b) association of TPDU with transport connections (see 6.9);
c) treatment of protocol errors (see 6.22);
d) reassignment after failure (see 6.12);
e) resynchronization (see 6.14), or reassignment after
failure (see 6.12) together with resynchronization (see
6.14);
f) concatenation and separation (see 6.4);
g) retention until acknowledgement of TPDU (see 6.13); the
variant used, AK or confirmation of receipt, shall be as
selected during connection establishment (see notes);
h) frozen references (see 6.18).
81
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> NOTES
1. The negotiation of the variant of retention until
acknowledgement of TPDUs procedure to be used over the
transport connection has been designed such that if the
initiator proposes the use of the AK variant (i.e. the
mandatory implementation option), the responder has to
accept use of this option and if the initiator proposes
use of the confirmation of receipt variant the responder
is entitled to select use of the AK variant.
2. The AK variant makes use of AK TPDUs to release copies of
retained DT TPDUs. The CDT parameter of AK TPDUs in class
1 is not significant, and is set to 1111.
3. The confirmation of receipt variant is restricted to this
class and its use depends on the availability of the
network layer receipt confirmation service, and the
expected cost reduction.
9.2.2 Connection establishment
The transport entities shall use the following procedures:
a) assignment to network connection (see 6.1); then
b) connection establishment (see 6.5) and, if appropriate,
connection refusal (see 6.6).
9.2.3 Data Transfer
9.2.3.1 General
The sending transport entity shall use the following procedures;
a) segmenting (see 6.3); then
82
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> b) the normal format variant of DT TPDU numbering (see 6.10).
The receiving transport entity shall use the following
procedures;
c) the normal variant of DT TPDU numbering (see 6.10,; then
d) reassembling (see 6.3).
NOTES
1. The use of RJ TPDU during resynchronization (see 6.14) can
lead to retransmission. Thus the receipt of a duplicate
DT TPDU is possible; such a DT TPDU is discarded.
2. It is possible to decide on a local basis to issue an N-
RESET request in order to force the remote entity to carry
out the resynchronization (see 6.14).
9.2.3.2 Expedited Data
The transport entities shall use either the network normal data
or the network expedited variants of the expedited data transfer
procedure (see 6.11) if their use has been selected during
connection establishment (see note 1).
The sending transport entity shall not allocate the same ED-
TPDU-NR to successive ED TPDUs (see notes 2 and 3).
When acknowledging an ED TPDU by sending and EA TPDU the
transport entity shall put into the YR-EDTU-NR parameter of the
EA TPDU the value received in the ED-TPDU-NR parameter of the ED
TPDU.
NOTES
1. The negotiation of the variant of expedited data transfer
procedure to be used over the transport connection has
been designed such that if the initiator proposes the use
of the network normal data variant (i.e. the mandatory
83
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> implementation option), the responder has to accept use of
this option and if the initiator proposes use of the
network expedited variant, the responder is entitled to
select use of the network normal data variant.
2. This numbering enables the receiving transport entity to
discard repeated ED TPDUs when resynchronization (see
6.14) has taken place.
3. No other significance is attached to the ED TPDU-NR
parameter. It is recommended, but not essential, that the
values used be consecutive modulo 128.
9.2.4 Release
The transport entities shall use the explicit variant of the
release procedure (see 6.7).
84
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 10 SPECIFICATION FOR CLASS 2 - MULTIPLEXING CLASS
10.1 Functions of class 2
Class 2 provides transport connections with or without individual
flow control; no error detection or error recovery is provided.
If the network connection resets or disconnects, the transport
connection is terminated without the transport release procedure
and the TS-user is informed.
When explicit flow control is used, a credit mechanism is defined
allowing the receiver to inform the sender of the exact amount of
data he is willing to receive and expedited data transfer is
available.
10.2 Procedures for class 2
10.2.1 Procedures applicable at all times
The transport entities shall use the following procedures
a) association of TPDUs with transport connection (see 6.9);
b) TPDU transfer (see 6.2);
c) treatment of protocol errors (see 6.22);
d) concatenation and separation (see 6.4);
e) error release (see 6.8).
Additionally the transport entities may use the following
procedure:
f) multiplexing and demultiplexing (see 6.15).
85
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 10.2.2 Connection establishment
The transport entities shall use the following procedures:
a) assignment to network connection (see 6.1); then
b) connection establishment (see 6.5) and, if applicable
connection refusal (see 6.6).
10.2.3 Data transfer when non use of explicit flow control
has been selected
If this option has been selected as a result of the connection
establishment, the transport entities shall use the segmenting
procedure (see 6.3).
The TPDU-NR field of DT TPDUs is not significant and may take any
value.
NOTE- -Expedited data transfer is not applicable (see 6.5).
10.2.4 Data transfer when use of explicit flow control
has been selected
10.2.4.1 General
The sending transport entity shall use the following procedures:
a) segmenting (see 6.3); then
b) DT TPDU numbering (see 6.10);
86
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> The receiving transport entity shall use the following
procedures:
c) DT TPDU numbering (see 6.10); if a DT TPDU is received
which is out of sequence it shall be treated as a protocol
error; then
d) reassembling (see 6.3).
The variant of the DT TPDU numbering which is used by both
transport entities shall be that which was agreed at
connection establishment.
10.2.4.2 Flow control
The transport entities shall send an initial credit (which may be
zero) in the CDT field of the CR or CC TPDU. This credit
represents the initial value of the upper window edge allocated
to the peer entity.
The transport entity that receives the CR or the CC TPDU shall
consider its lower window edge as zero, and its upper window edge
as the value of the CDT field in the received TPDU.
In order to authorize the transmission of DT TPDUs, by its peer,
a transport entity may transmit an AK TPDU at any time, subject
to the following constraints:
a) the YR-TU-NR parameter shall be at most one greater than
the TPDU-NR field of the last received DT TPDU or shall be
zero if no DT TPDU has been received;
b) if an AK TPDU has previously been sent the value of the
YR-TU-NR parameter shall not be lower than that in the
previously sent AK TPDU.
c) the sum of the YR-TU-NR and CDT fields shall not be less
than the upper window edge allocated to the remote entity
(see note 1).
87
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> A transport entity which receives an AK TPDU shall consider the
YR-TU-NR field as its new lower window edge, and the sum of YR-
TU-NR and CDT as its new upper window edge. If either of these
have been reduced or if the lower window edge has become more
than one greater than the TPDU-NR of the last transmitted DT
TPDU, this shall be treated as a protocol error (see 6.22).
A transport entity shall not send a DT TPDU with a TPDU-NR
outside of the transmit window (see notes 2 and 3).
NOTES
1. This means that credit reduction is not applicable.
2. This means that a transport entity is required to stop
sending if the TPDU-NR field of the next DT TPDU which
would be sent would be the upper window edge. Sending of
DT TPDU may be resumed if an AK TPDU is received which
increases the upper window edge.
3. The rate at which a transport entity progresses the upper
window edge allocated to its peer entity constrains the
throughput attainable on the transport connection.
10.2.4.3 Expedited data
The transport entities shall follow the network normal variant of
the expedited data transfer procedure in 6.11 if its use has been
agreed during connection establishment. ED and EA TPDUs
respectively are not subject to the flow control procedures in
10.2.4.2. The ED-TPDU-NR and YR-ETDU-NR fields of ED and EA
TPDUs respectively are not significant and may take any value.
88
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 10.2.5 Release
The transport entities shall use the explicit variant of the
release procedure in 6.7.
89
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 11 SPECIFICATION FOR CLASS 3: ERROR RECOVERY AND MULTIPLEXING
CLASS
11.1 Functions of Class 3
Class 3 provides the functionality of Class 2 (with use of
explicit flow control) plus the ability to recover after a
failure signalled by the Network Layer without involving the user
of the transport service.
The mechanisms used to achieve this functionality also allow the
implementation of more flexible flow control.
11.2 Procedures for Class 3
11.2.1 Procedures applicable at all times
The transport entities shall use the following procedures:
a) association of TPDUs with transport connections (see 6.9);
b) TPDU transfer (see 6.2) and retention until
acknowledgement of TPDUs (AK variant only) (see 6.13);
c) treatment of protocol errors (see 6.22);
d) concatenation and separation (see 6.4);
e) reassignment after failure (see 6.12), together with
resynchronization (see 6.14);
f) frozen references (see 6.18).
Additionally, the transport entities may use the following
procedure:
g) multiplexing and demultiplexing (see 6.15);
90
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 11.2.2 Connection Establishment
The transport entities shall use the following procedures;
a) assignment to network connections (see 6.1); then
b) connection establishment (see 6.5) and, if appropriate,
together with connection refusal (see 6.6).
11.2.3 Data Transfer
11.2.3.1 General
The sending transport entity shall use the following procedures:
a) segmenting (see 6.3), then
b) DT TPDU numbering (see 6.10); after receipt of an RJ TPDU
(see 11.2.3.2) the next DT TPDU to be sent may have a
value which is not the previous value of TPDU-NR plus one.
The receiving transport entity shall use the following
procedures:
c) DT TPDU numbering (see 6.10); the TPDU-NR field of each
received DT TPDU shall be treated as a protocol error if
it exceeds the greatest such value received in a previous
DT TPDU by more than one (see note); then
d) reassembling (see 6.3); duplicated TPDUs shall be
eliminated before reassembling is performed.
NOTE - The use of RJ TPDUs (see 11.2.3.2) can lead to
retransmission and reduction of credit. Thus the receipt of a DT
TPDU which is a duplicate, or which is greater than or equal to
the upper window edge allocated to the peer entity, is possible
and is therefore not treated as a protocol error.
91
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 11.2.3.2 Use of RJ TPDU
A transport entity may send an RJ TPDU at any time in order to
invite retransmission or to reduce the upper window edge
allocated to the peer entity (see note 1).
When an RJ TPDU is sent, the following constraints shall be
respected:
a) the YR-TU-NR parameter shall be at most one greater than
the greatest such value received in a previous DT TPDU, or
shall be zero if no DT TPDU has yet been received (see
note 2);
b) if an AK or RJ TPDU has previously been sent the YR-TU-NR
parameter shall not be lower than that in the previously
sent AK or RJ TPDU or lower than zero if no AK or RJ TPDU.
When a transport entity receives an RJ TPDU (see note 3):
c) the next DT TPDU to be transmitted, or retransmitted,
shall be that for which the value of the TPDU-NR parameter
is equal to the value of the YR-TU-NR parameter of the RJ
TPDU;
d) the sum of the values of the YR-TU-NR and CDT parameters
of the RJ TPDU becomes the new upper window edge (see note
4).
NOTES
1. An RJ TPDU can also be sent as part of the
resynchronization (see 6.14) and reassignment after
failure (see 6.12) procedures.
2. It is recommended that the YR-TU-NR parameter be equal to
the TPDU-NR parameter of the next expected DT TPDU.
3. These rules are a subset of those specified for when an RJ
TPDU is received during resynchronization (see 6.14) and
reassignment after failure (see 6.12).
92
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 4. This means that RJ TPDU can be used to reduce the upper
window edge allocated to the peer entity (credit
reduction).
11.2.3.3 Flow Control
The procedures shall be as defined in 10.2.4.2, except that:
a) a credit reduction may lead to the reception of a DT TPDU
with a TPDU-NR parameter whose value is not, but would
have been less than the upper window edge allocated to the
remote entity prior to the credit reduction. This shall
not be treated as a protocol error;
b) receipt of an AK TPDU which sets the lower window edge
more than one greater than the TPDU-NR of the last
transmitted DT TPDU shall not be treated as a protocol
error, provided that all acknowledged DT TPDUs have been
previously transmitted (see notes 1 and 2).
NOTES
1. This can only occur during retransmission following
receipt of an RJ TPDU.
2. The transport entity may either continue retransmission as
before or retransmit only those DT TPDUs, not acknowledged
by the AK TPDU. In either case, copies of the
acknowledged DT TPDUs, need not be retained further.
11.2.3.4 Expedited data
The transport entities shall follow the network normal data
variant of expedited data transfer procedure in 6.11 if its use
has been agreed during connection establishment.
The sending transport entity shall not allocate the same ED-
TPDU-NR to successive ED TPDUs.
93
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> The receiving transport entity shall transmit an EA TPDU with the
same value in its YR-EDTU-NR parameter. If, and only if, this
number is different from that of the previously received ED TPDU
shall it generate a T-EXPEDITED DATA indication to convey the
data to the TS-user (see note 2).
NOTES
1. No other significance is attached to the ED-TPDU-NR
parameter. It is recommended, but not essential, that the
values be consecutive modulo 2**n, where n is the number
of bits of the parameter.
2. This procedure ensures that the TS-user does not receive
data corresponding to the same ED TPDU more than once.
11.2.4 Release
The transport entities shall use the explicit variant of the
release procedure in 6.7.
94
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12 SPECIFICATION FOR CLASS 4: ERROR DETECTION AND RECOVERY CLASS
12.1 Functions of Class 4
Class 4 provides the functionality of Class 3, plus the ability
to detect and recover from lost, duplicated, or out of sequence
TPDUs without involving the TS-user.
This detection of errors is made by extended use of the DT TPDU
numbering of Class 2 and Class 3, by time-out mechanisms, and by
additional procedures.
This class additionally detects and recovers from damaged TPDUs
by using a checksum mechanism. The use of the checksum mechanism
must be available but its use or its non-use is subject to
negotiation.
Further on this class provides additional resilience against
network failure and increased throughput capability by allowing a
transport connection to make use of multiple network connections.
12.2 Procedures for Class 4
12.2.1 Procedures available at all times
12.2.1.1 Timers used at all times
This subclause defines timers that apply at all times in class 4.
These timers are listed in table 7.
This International Standard does not define specific values for
the timers, and the derivations described in this subclause are
not mandatory. The values should be chosen so that the required
quality of service can be provided, given the known
characteristics of the network.
Timers that apply only to specific procedures are defined under
the appropriate procedure.
95
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +---------------------------|------------------------------------+
|Symbol| Name | Definition |
|------|--------------------|------------------------------------|
| MLR |NSDU lifetime | A bound for the maximum time which |
| |local-to-remote | may elapse between the transmis- |
| | | sion of an NSDU by a local trans- |
| | | port entity and the receipt of any |
| | | copy of it by a remote peer entity.|
| | | |
| MRL |NSDU lifetime | A bound for the maximum time which |
| |remote-to-local | may elapse between the transmission|
| | | of an SNDU from a remote transport |
| | | entity to a remote peer entity. |
| | | |
| ELR |Expected maximum | A bound for the maximum delay suf- |
| |transit delay | fered by all but a small proportion|
| |local-to-remote | of NSDUs transferred from the local|
| | | transport entity to a remote peer |
| | | entity. |
| | | |
| ERL |Expected maximum | A bound for the maximum delay suf- |
| |transit delay | fered by all but a small proportion|
| |remote-to-local | of NSDUs transferred from a remote |
| | | transport entity to the local peer |
| | | entity. |
| | | |
| AL |Local acknowledge | A bound for the maximum time which |
| |time | can elapse between the receipt of |
| | | a TPDU by the local transport en- |
| | | tity from the network layer and |
| | | the transmission of the corres- |
| | | ponding acknowledgement. |
| | | |
| AR |Remote acknow- | As AL, but for the remote entity. |
| |ledgement time | |
+----------------------------------------------------------------+
Table 7. (First of 2 pages) Time Parameters related to class 4
96
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +----------------------------------------------------------------+
| T1 |Local retrans- | A bound for the maximum time that |
| |mission time | the local transport entity will |
| | | wait for acknowledgement before re-|
| | | transmitting a TPDU. |
| | | |
| R |Persistence time | A bound for the maximum time the |
| | | the local transport entity will |
| | | continue to transmit a TPDU that |
| | | requires acknowledgement. |
| | | |
| N |Maximum number of | A bound for the maximum number of |
| |transmissions | times which the local transport |
| | | entity will continue to transmit a |
| | | TPDU that requires acknowledgement.|
| | | |
| L |Bound on references | A bound for the maximum time |
| |and sequence | between the transmission of a TPDU |
| |numbers | and the receipt of any acknow- |
| | | ledgement relating to it. |
| | | |
| I |Inactivity time | A bound for the time after which |
| | | a transport entity will, if it |
| | | does not receive a TPDU, initiate |
| | | the release procedure to terminate |
| | | the transport connection. |
| | | |
| | | NOTE - This parameter is required |
| | | for protection against unsignalled |
| | | breaks in the network connection. |
| | | |
| W |Window time | A bound for the maximum time a |
| | | transport entity will wait before |
| | | retransmitting up to date window |
| | | information. |
+----------------------------------------------------------------+
Table 7. (Second of 2 pages) Time Parameters related to class 4
97
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.1.1.1 NSDU lifetime (MLR, MRL)
The network layer is assumed to provide, as an aspect of its
grade of service, for a bound on the maximum lifetime of NSDUs in
the network. This value may be different in each direction of
transfer through a network between two transport entities. The
values, for both directions of transfer, are assumed to be Known
by the transport entities. The maximum NSDU lifetime local-to-
remote (MLR) is the maximum time which may elapse between the
transmission of an NSDU from the local transport entity to the
network and receipt of any copy of the NSDU from the network at
the remote transport entity. The maximum NSDU lifetime remote-
to-local (MRL) is the maximum time which may elapse between the
transmission of an NSDU from the remote transport entity to the
network and receipt of any copy of the NSDU from the network at
the local transport entity.
12.2.1.1.2 Expected maximum transit delay (ELR, ERL)
The network layer is assumed to provide, as an aspect of its
grade of service, an expected maximum transit delay for NSDUs in
the network. This value may be different in each direction of
transfer through a network between two transport entities. The
values, for both directions of transfer, are assumed to be Known
by the transport entities. The expected maximum transit delay
local-to-remote (ELR) is the maximum delay suffered by all but a
small proportion of NSDUs transferred through the network from
the local transport entity to the remote transport entity. The
expected maximum transit delay remote-to-local (ERL) is the
maximum delay suffered by all but a small proportion of NSDUs
transfer through the network from the remove transport entity to
the local transport entity.
98
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.1.1.3 Acknowledge Time (AR, AL)
Any transport entity is assumed to provide a bound for the
maximum time which can elapse between its receipt of a TPDU from
the Network Layer and its transmission of the corresponding
response. This value is referred to as AL. The corresponding
time given by the remote transport entity is referred to as AR.
12.2.1.1.4 Local retransmission time (T1)
The local transport entity is assumed to maintain a bound on the
time it will wait for an acknowledgement before retransmitting
the TPDU. Its value is given by:
T1 = ELR + ERL + AR + X
where:
ELR = Expected maximum transit delay local-to-remote,
ERL = Expected maximum transit delay remote-to-local,
AR = Remote acknowledge time, and
X = local processing time for a TPDU.
12.2.1.1.5 Persistence Time (R)
The local transport entity is assumed to provide a bound for the
maximum time for which it may continue to retransmit a TPDU
requiring positive acknowledgement. This value is referred to as
R.
The value is clearly related to the time elapsed between
retransmission, T1, and the maximum number of transmissions, N.
It is not less than T1 * N + X, where X is a small quantity to
allow for additional internal delays, the granularity of the
mechanism used to implement T1 and so on. Because R is a bound,
the exact value of X is unimportant as long as it is bounded and
the value of a bound is known.
99
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.1.1.6 Bound on References and Sequence Numbers (L)
A bound for the maximum time between the decision to transmit a
TPDU and the receipt of any response relating to it (L) is given
by:
L = MLR + MRL + R + AR
where:
MLR = NSDU lifetime local-to-remote,
MRL = NSDU lifetime remote-to-local,
R = Persistence time, and
AR = Remote acknowledgement time.
It is necessary to wait for a period L before reusing any
reference of sequence number, to avoid confusion in case a TPDU
referring to it may be duplicated or delayed.
NOTES
1. In practice, the value of L may be unacceptably large. It
may also be only a statistical figure at a certain
confidence level. A smaller value may therefore be used
where this still allows the required quality of service to
be provided.
2. The relationships between times discussed above are
illustrated in figures 3 and 4.
[Figures 3 and 4 are omitted from this copy.]
12.2.1.2 General Procedures
The transport entity shall use the following procedures:
a) TPDU transfer (see 6.2);
b) association of TPDUs with transport connections (see 6.9);
100
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> c) treatment of protocol errors (see 6.22);
d) checksum (see 6.17);
e) splitting and recombining (see 6.23);
f) multiplexing and demultiplexing (see 6.15);
g) retention until acknowledgement of TPDUs (see 6.13);
h) frozen references (see 6.18).
j) retransmission procedures; when a transport entity has
some outstanding TPDUs that require acknowledgement, it
will check that no T1 interval elapses without the arrival
of a TPDU that acknowledges at least one of the
outstanding TPDUs.
If the timer expires, except if the TPDU to be
retransmitted is a DT TPDU and it is outside the transmit
window due credit reduction, the first TPDU is
retransmitted and the timer is restarted. After N
transmissions (i.e. N-1 retransmissions) it is assumed
that useful two-way communication is no longer possible
and the release procedure is used, and the TS-user is
informed.
NOTES
1) This procedure may be implemented by different means. For
example:
a) one interval is associated with each TPDU. If the
timer expires the associated TPDU will be transmitted
and the timer T1 will be restarted for all subsequent
TPDUs; or
b) one interval is associated with each transport
connection:
1) if the transport entity transmits a TPDU requiring
acknowledgement, it starts timer T1;
101
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 2) if the transport entity receives a TPDU that
acknowledges one of the TPDUs to be acknowledged,
it restarts timer T1 unless the received TPDU is
an AK which explicitly closes the transmit window.
3) if the transport entity receives a TPDU that
acknowledges the last TPDU to be acknowledged, it
stops timer T1.
For a decision whether the retransmission timer T1 is
maintained on a per TPDU or on a per transport connection
basis, throughput considerations have to be taken into
account.
2. For DT TPDUs it is a local choice to retransmit either
only the first DT TPDU or all TPDUs waiting for an
acknowledgement up to the upper window edge.
3. It is recommended that after N transmissions of a DT TPDU,
the transport entity waits T1 + W + MRL to provide a
higher possibility of receiving an acknowledgement before
entering the release phase. For other TPDU types which
may be retransmitted, it is recommended that after N
transmissions the transport entity waits T1 + MRL to
provide a higher possibility of receiving the expected
reply.
12.2.2 Procedures for Connection Establishment
12.2.2.1 Timers used in Connection Establishment
There are no timers specific to connection establishment.
102
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.2.2 General Procedures
The transport entities shall use the following procedures:
a) assignment to network connection (see 6.1);
b) connection establishment (see 6.5) and if appropriate
connection refusal (see 6.6) together with the additional
procedures:
1) a connection is not considered established until the
successful completion of a 3-way TPDU exchange. The
sender of a CR TPDU shall respond to the corresponding
CC TPDU by immediately sending a DT, ED, DR or AK
TPDU;
2) as a result of duplication or retransmission, a CR
TPDU may be received specifying a source reference
which is already in use with the sending transport
entity. If the receiving transport entity is in the
data transfer phase, having completed the 3-way TPDU
exchange procedure, or is waiting for the T-CONNECT
response from the TS-user, the receiving transport
entity shall ignore such a TPDU. Otherwise a CC TPDU
shall be transmitted;
3) as a result of duplication or retransmission, a CC
TPDU may be received specifying a paired reference
which is already in use. The receiving transport
entity shall only acknowledge the duplicate CC TPDU
according to the procedure in 12.2.2.2.b.1.
4) a CC TPDU may be received specifying a reference which
is in the frozen state. The response to such a TPDU
shall be a DR TPDU;
5) the retransmission procedures (see 12.2.1.2) are used
for both the CR TPDU and CC TPDU.
103
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.3 Procedures for Data Transfer
12.2.3.1 Timers used in Data Transfer
The data transfer procedures use two additional timers:
a) Inactivity Time (I)
To protect against unsignalled breaks in the network
connection or failure of the peer transport entity (half-open
connections), each transport entity maintains an inactivity
interval. The interval must be greater than E.
NOTE - A suitable value for I is given by
2 * (N * maximum of (T1, W))
unless local needs indicate another more appropriate value.
b) Window Time (W)
A transport entity maintains a timer interval to ensure that
there is a bound on the maximum interval between window
updates.
12.2.3.2 General Procedures for data transfer
The transport entities shall use the following procedures:
a) inactivity control (see 6.21);
b) expedited data (see 6.11);
c) explicit flow control (see 6.16).
The sending transport entity shall use the following procedures
in the following order:
d) segmenting (see 6.3);
e) DT TPDU numbering (see 6.10).
104
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> The receiving transport entity shall use the following procedures
in the following order:
f) DT TPDU numbering (see 6.10);
g) resequencing (see 6.20);
h) reassembling (see 6.3).
12.2.3.3 Inactivity Control
If the interval of the inactivity timer I expires without receipt
of some TPDU, the transport entity shall initiate the release
procedures. To prevent expiration of the remote transport
entity's inactivity timer when no data is being sent, the local
transport entity must send AK TPDUs at suitable intervals in the
absence of data, having regard to the probability of TPDU loss.
The window synchronization procedures (see 12.2.3.8) ensure that
this requirement is met.
NOTE - It is likely that the release procedure initiated due to
the expiration of the inactivity timer will fail, as such
expiration indicates probable failure of the supporting network
connection or of the remote transport entity.
12.2.3.4 Expedited Data
The transport entities shall follow the network normal data
variant of the expedited data transfer procedures (see 6.11), if
the use of transport expedited service option has been agreed
during connection establishment.
The ED TPDU shall have a TPDU-NR which is allocated from a
separate sequence space from that of the DT TPDUs.
A transport entity shall allocate the sequence number zero to the
ED TPDU-NR of the first ED TPDU which it transmits for a
105
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> transport connection. For subsequent ED TPDU sent on the same
transport connection, the transport entity shall allocate a
sequence number one greater than the previous one.
Modulo 2**7 arithmetic shall be used when normal formats have
been selected and modulo 2**31 arithmetic shall be used when
extended formats have been selected.
The receiving transport entity shall transmit an EA TPDU with the
same sequence number in its YR-ETDU-NR field. If this number is
one greater than in the previously in sequence received ED TPDU,
the receiving transport entity shall transfer the data in the ED
TPDU to the TS-user.
If a transport entity does not receive an EA TPDU in
acknowledgement to an ED TPDU it shall follow the retransmission
procedures (see note and 12.2.1.2).
The sender of an ED TPDU shall not send any new DT TPDU with
higher TPDU-NR until it receives the EA TPDU.
NOTE - This procedure ensures that ED TPDUs are delivered to the
TS-user in sequence and that the TS-user does not receive data
corresponding to the same ED TPDU more than once. Also it
guarantees the arrival of the ED TPDU before any subsequently
sent DT TPDU.
12.2.3.5 Resequencing
The receiving transport entity shall deliver all DT TPDUs to the
TS-user in the order specified by the sequence number field.
DT TPDUs received out-of-sequence but within the transmit window
shall not be delivered to the TS-user until all in-sequence TPDUs
have been received. DT TPDU received out-of-sequence and outside
the transmit window shall be discarded.
Duplicate TPDUs can be detected because the sequence number
matches that of preciously received TPDUs. Sequence numbers
shall not be reused for the period L after their previous use.
106
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> Otherwise, a new, valid TPDU could be confused with a duplicated
TPDU which had previously been received and acknowledged.
Duplicated DT TPDUs shall be acknowledged, since the duplicated
TPDU may be the result of a retransmission resulting from the
loss of an AK TPDU.
The data contained in a duplicated DT TPDU shall be ignored.
12.2.3.6 Explicit Flow Control
The transport entities shall send an initial credit (which may
take the value 0) in the CDT field of the CR TPDU or CC TPDU.
This credit represents the initial value of the upper window edge
of the peer entity.
The transport entity which receives the CR TPDU or CC TPDU shall
consider its lower window edge as zero and its upper window edge
as the value in the CDT field in the received TPDU.
In order to authorize the transmission of DT TPDUs by its peer, a
transport entity may transmit an AK TPDU at any time.
The sequence number of an AK TPDU shall not exceed the sequence
number of the next expected DT TPDU, i.e. it shall not be greater
than the highest sequence number of a received DT TPDU, plus one.
A transport entity may send a duplicate AK TPDU containing the
same sequence number, CDT, and subsequence number field at any
time.
A transport entity which receives an AK TPDU shall consider the
value of the YR-TU-NR field as its new lower window edge if it is
greater than any previously received in a YR-TU-NR field, and the
sum of YR-TU-NR and CDT as its new upper window edge subject to
the procedures for sequencing AK TPDUs (see 12.2.3.8). A
transport entity shall not transmit or retransmit a DT TPDU with
a sequence number outside the transmit window.
107
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.3.7 Sequencing of received AK TPDUs
To allow a receiving transport entity to properly sequence a
series of AK TPDUs that all contain the same sequence number and
thereby use the correct CDT value, AK TPDUs may contain a
subsequence parameter. For the purpose of determining the
correct sequence of AK TPDUs, the absence of the subsequence
parameter shall be equivalent to the value of the parameter set
to zero.
An AK TPDU is defined to be in sequence if:
a) the sequence number is greater than in any previously
received AK TPDU, or
b) the sequence number is equal to the highest in any
previously received AK TPDU, and the subsequence parameter
is greater than in any previously received AK TPDU having
the same value for YR-TU-NR field, or
c) the sequence number and subsequence parameter are both
equal to the highest in any previously received AK TPDU
and the credit field is greater than or equal to that in
any previously received AK TPDU having the same YR-TU-NR
field.
A transport entity is not required to include the subsequence
number in its AK TPDUs. It may also choose not to use the
subsequence parameter in sequencing received AK TPDUs. If a
transport entity chooses not to recognize the subsequence
parameter it shall still sequence received AK TPDUs according to
12.2.3.7.a.
When the receiving transport entity recognizes an out of sequence
AK TPDU it shall ignore it.
108
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.3.8 Procedure for transmission of AK TPDUs
12.2.3.8.1 Retransmission of AK TPDUs for window synchronization
A transport entity shall not allow an interval W to pass without
the transmission of an AK TPDU. if the transport entity is not
using the procedure following setting CDT to zero (see
12.2.3.8.3) or reduction of the upper window edge (see
12.2.3.8.4), and does not have to acknowledge receipt of any DT
TPDU, then it shall achieve this by retransmission of the most
recent AK TPDU, with up-to-date window information.
NOTE - The use of the procedures defined in 12.2.3.8.3 and
12.2.3.8.4 are optional for any transport entity. The protocol
operates correctly either with or without these procedures which
are defined to enhance the efficiency of its operation. However,
if these procedures are not used then W must be set to ensure
enough retransmissions of the AK TPDU so that release of TC is
avoided. The value of W should be approximately
W = (T1 * N)/(N-1) when the procedures are not used.
12.2.3.8.2 Sequence control for transmission of AK TPDUs
To allow the receiving transport entity to process AK TPDUs in
the correct sequence, as described in 12.2.3.7, the subsequence
parameter may be included following reduction of CDT. If the
value of the subsequence number to be transmitted is zero, then
the parameter should be omitted.
The value of the subsequence parameter, if used, shall be zero
(either explicitly or by absence of the parameter) if the
sequence number is greater than the field in previous AK TPDUs,
sent by the transport entity.
If the sequence number is the same as the previous AK TPDU sent
and the CDT field is equal to or greater than the CDT field in
the previous AK TPDU sent then the subsequence parameter, if
used, shall be equal to that in the previously sent AK TPDU.
If the sequence number is the same as the previous AK TPDU sent
109
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> and the CDT field is less than the value of the CDT field in the
previous AK TPDU sent than the subsequence parameter, if used,
shall be one greater than the value in the previous AK TPDU..
12.2.3.8.3 Retransmission of AK TPDUs after CDT set to zero
Due to the possibility of loss of AK TPDUs, the upper window edge
as perceived by the transport entity transmitting an AK TPDU may
differ from that perceived by the intended recipient. To avoid
the possibility of extra delay, the retransmission procedure (see
12.2.1.2) should be followed for an AK TPDU, if it opens the
transmit window which has previously been closed by sending an AK
TPDU with CDT field set to zero.
The retransmission procedure, if used, terminates and the
procedure in 12.2.3.8.1 is used when:
a) an AK TPDU is received containing the flow control
confirmation parameter, whose lower window edge and your
subsequence fields are equal to the sequence number and
subsequence number in the retained AK TPDU and whose
credit field is not zero.
b) an AK TPDU is transmitted with a sequence number higher
than that in the retained AK TPDU, due to reception of a
DT TPDU whose sequence number is equal to the lower window
edge;
c) N transmissions of the retained AK TPDU have taken place.
In this case the transport entity shall continue to
transmit the AK TPDU at an interval of W.
An AK TPDU which is subject to the retransmission procedure shall
not contain the flow control confirmation parameter. If it is
required to transmit this parameter concurrently, an additional
AK TPDU shall be transmitted having the same values in the
sequence, subsequence (if applicable) and credit fields.
110
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 12.2.3.8.4 Retransmission procedures following reduction of the
upper window edge
This subclause specifies the procedure for retransmission of AK
TPDUs after a transport entity has reduced the upper window edge
(see 12.2.3.6) or for an AK TPDU with the credit field set to
zero. This procedure is used until the lower window edge exceeds
the highest value of the upper window edge ever transmitted (i.e.
the value existing at the time of credit reduction, unless a
higher value is retained from a previous credit reduction).
This retransmission procedure should be followed for any AK TPDU
which increases the upper window edge, unless an AK TPDU has been
received containing a flow control confirmation parameter, which
corresponds to an AK TPDU transmitted following credit reduction,
for which the sum of the credit and lower window edge fields
(i.e. the upper window edge value) is greater than the lower
window edge (YR-TU-NR field) of the transmitted AK TPDU.
This retransmission procedure for any particular AK TPDU shall
terminate when:
a) an AK TPDU is received containing the flow control
confirmation parameter, whose lower window edge and your
subsequence fields are equal to the lower window edge and
subsequence number in the retained AK TPDU; or
b) N transmissions of the retained AK TPDU have taken place.
In this case the transport entity shall continue to
transmit the AK TPDU at an interval of W.
An AK TPDU which is subject to the retransmission procedure shall
not contain the flow control confirmation parameter. If it is
required to transmit this parameter concurrently, an additional
AK TPDU shall be transmitted having the same values in the
sequence, subsequence (if applicable) and credit fields.
NOTE - Retransmission of AK TPDUs is normally not necessary,
except following explicit closing of the window (i.e.
transmission of an AK TPDU with CDT field set to zero). If
data is available to be transmitted, the retransmission
procedure for DT TPDUs will ensure that an AK TPDU is received
111
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> granting further credit where this is available. Following
credit reduction, this may no longer be so, because
retransmission may be inhibited by the credit reduction. The
rules described in this clause avoid extra delay.
The rules for determining whether to apply the retransmission
procedure to an AK TPDU may be expressed alternatively as
follows. Let:
LWE = lower window edge
UWE = upper window edge
KUWE = lower bound on upper window edge
held by remote transport entity
The retransmission procedure is to be used whenever:
(UWE>LWE) and (KUWE = LWE)
i.e. when the window is opened and it is not known definitely
that the remote transport entity is aware of this.
KUWE is maintained as follows. When credit is reduced, KUWE is
set to LWE. Subsequently, it is increased only upon receipt of a
valid flow control confirmation (i.e. one which matches the
retained lower window edge and subsequence). In this case KUWE
is set to the implied upper window edge of the flow control
confirmation, i.e. the sum of its lower window edge and your
credit fields. By this means, it can be ensured that KUWE is
always less than or equal to the actual upper window edge in use
by the transmitter of DT TPDUs.
12.2.3.9 Use of Flow Control Confirmation parameter
At any time, an AK TPDU may be transmitted containing a flow
control confirmation parameter. The lower window edge, your
subsequence and your credit fields shall be set to the same
values as the corresponding fields in the most recently received
in sequence AK TPDU.
112
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> An AK TPDU containing a flow control confirmation parameter
should be transmitted whenever:
a) a duplicate AK TPDU is received, with the value of YR-TU-
NR, CDT, and subsequence fields equal to the most recently
received AK TPDU, but not itself containing the flow
control confirmation parameter;
b) an AK TPDU is received which increases the upper window
edge but not the lower window edge, and the upper window
edge was formerly equal to the lower window edge; or
c) an AK TPDU is received which increases the upper window
edge but not the lower window edge, and the lower window
edge is lower than the highest value of the upper window
edge received and subsequently reduced (i.e. following
credit reduction).
12.2.4 Procedures for Release
12.2.4.1 Timers used for Release
There are no timers used only for release.
12.2.4.2 General Procedures for Release
The transport entity shall use the explicit variant of normal
release (see 6.7).
113
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13 STRUCTURE AND ENCODING OF TPDUs
13.1 Validity
Table 8 specifies those TPDUs which are valid for each class and
the code for each TPDU.
KEY: xxxx (bits 4-1): used to signal the CDT (set to 0000
in classes 0 and 1)
zzzz (bits 4-1): used to signal CDT in classes 2, 3,
4 set to 1111 in class 1
NF: Not available when the non explicit
flow control option is selected.
NRC: Not available when the receipt
confirmation option is selected.
NOTE - These codes are already in use in related protocols
defined by standards oganizations other than CCITT/ISO.
114
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +-------------------------------------------------------------+
| | Validity within | | |
| | classes | see | Code |
| |-------------------| Clause| |
| | 0 | 1 | 2 | 3 | 4 | | |
|-----------------------|-------------------|-------|---------|
|CR Connection Request | x | x | x | x | x | 13.3 |1110 xxxx|
|-----------------------|---|---|---|---|---|-------|---------|
|CC Connection Confirm | x | x | x | x | x | 13.4 |1101 xxxx|
|-----------------------|---|---|---|---|---|-------|---------|
|DR Disconnect Request | x | x | x | x | x | 13.5 |1000 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|DC Disconnect Confirm | | x | x | x | x | 13.6 |1100 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|DT Data | x | x | x | x | x | 13.7 |1111 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|ED Expedited Data | | x | NF| x | x | 13.8 |0001 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|AK Data Acknowledgement| |NRC| NF| x | x | 13.9 |0110 zzzz|
|-----------------------|---|---|---|---|---|-------|---------|
|EA Expedited Data | | x | NF| x | x | 13.10 |0010 0000|
|Acknowledgement | | | | | | | |
|-----------------------|---|---|---|---|---|-------|---------|
|RJ Reject | | x | | x | | 13.11 |0101 zzzz|
|-----------------------|---|---|---|---|---|-------|---------|
|ER TPDU Error | x | x | x | x | x | 13.12 |0111 0000|
|-----------------------|---|---|---|---|---|-------|---------|
| | | | | | | - |0000 0000|
| |---|---|---|---|---|-------|---------|
|not available | | | | | | - |0011 0000|
| (see note) |---|---|---|---|---|-------|---------|
| | | | | | | - |1001 xxxx|
| |---|---|---|---|---|-------|---------|
| | | | | | | - |1010 xxxx|
+-------------------------------------------------------------+
Table 8. TPDU code
115
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.2 Structure
All the transport protocol data units (TPDUs) shall contain an
integral number of octets. The octets in a TPDU are numbered
starting from 1 and increasing in the order they are put into an
NSDU. The bits in an octet are numbered from 1 to 8, where bit 1
is the low-ordered bit.
When consecutive octets are used to represent a binary number,
the lower octet number has the least significant value.
NOTE - When the encoding of a TPDU is represented using a
diagram in this clause, the following representation is used:
a) octets are shown with the lowest numbered octet to the
left, higher numbered octets being further to the right;
b) within an octet, bits are shown with bit 8 to the left and
bit 1 to the right.
TPDUs shall contain, in the following order:
a) the header, comprising:
1) the length indicator (LI) field;
2) the fixed part;
3) the variable part, if present;
b) the data field, if present.
This structure is illustrated below:
octet 1 2 3 4 ... n n+1 ... p p+1 ...end
+---+-------------+--------------+-----------+
| LI| fixed part | variable part| data field|
+---+-------------+--------------+-----------+
<--------------- header ------>
116
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.2.1 Length indicator field
This field is contained in the first octet of the TPDUs. The
length is indicated by a binary number, with a maximum value of
254 (1111 1110). The length indicated shall be the header length
in octets including parameters, but excluding the length
indicator field and user data, if any. The value 255 (1111 1111)
is reserved for possible extensions. If the length indicated
exceeds the size of the NS-user data which is present, this is a
protocol error.
13.2.2 Fixed part
13.2.2.1 General
The fixed part contains frequently occurring parameters including
the code of the TPDU. The length and the structure of the fixed
part are defined by the TPDU code and in certain cases by the
protocol class and the formats in use (normal or extended). If
any of the parameters of the fixed part have an invalid value, or
if the fixed part cannot be contained with the header (as defined
by LI) this is a protocol error.
NOTE - In general, the TPDU code defines the fixed part
unambiguously. However, different variants may exist for the
same TPDU code (see normal and extended formats).
13.2.2.2 TPDU code
This field contains the TPDU code and is contained in octet 2 of
the header. It is used to define the structure of the remaining
header. This field is a full octet except in the following
cases:
117
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 1110 xxxx Connection Request
1101 xxxx Connection Confirm
0101 xxxx Reject
0110 xxxx Data Acknowledgement
where xxxx (bits 4-1) is used to signal the CDT.
Only those codes defined in 13.1 are valid.
13.2.3 Variable part
The variable part is used to define less frequently used
parameters. If the variable part is present, it shall contain
one or more parameters.
NOTE - The number of parameters that may be contained in the
variable part is indicated by the length of the variable part
which is LI minus the length of the fixed part.
Each parameter contained within the variable part is structured
as follows:
Bits 8 7 6 5 4 3 2 1
Octets +------------------------------------+
n+1 | Parameter Code |
|------------------------------------|
n+2 | Parameter Length |
| Indication (e.g. m) |
|------------------------------------|
n+3 | |
| Parameter Value |
n+2+m | |
+------------------------------------|
118
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> - The parameter code field is coded in binary;
NOTE - Without extensions, it provides a maximum number of 255
different parameters. However, as noted below, bits 8 and 7
cannot take every possible value, so the practical maximum
number of different parameters is less. Parameter code 1111
1111 is reserved for possible extensions of the parameter code.
- The parameter length indication indicates the length, in
octets, of the parameter value field.
NOTE - The length is indicated by a binary number, m, with a
theoretical maximum value of 255. The practical maximum value
of m is lower. For example, in the case of a single parameter
contained within the variable part, two octets are required for
the parameter code and the parameter length indication itself.
Thus, the value of m is limited to 248. For larger fixed parts
of the header and for each succeeding parameter, the maximum
value of m decreases.
- The parameter value field contains the value of the parameter
identified in the parameter code field.
- No parameter codes use bits 8 and 7 with the value 00.
- The parameters defined in the variable part may be in any
order. If any parameter is duplicated then the later value
shall be used. A parameter not defined in this International
Standard shall be treated as a protocol error in any received
TPDU except a CR TPDU; in a CR TPDU it shall be ignored. If
the responding transport entity selects a class for which a
parameter of the CR TPDU is not defined, it may ignore this
parameter, except the class and option, and alternative
protocol class parameters which shall always be interpreted. A
parameter defined in this International Standard but having an
invalid value shall be treated as a protocol error in any
received TPDU except a CR TPDU. In a CR TPDU it shall be
treated as a protocol error if it is either the class and
option parameter or the alternative class parameter or the
additional option parameter; otherwise it shall be either
ignored or treated as a protocol error.
119
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.2.3.1 Checksum Parameter (Class 4 only)
All TPDU types may contain a 16-bit checksum parameter in their
variable part. This parameter shall be present in a CR TPDU and
shall be present in all other TPDUs except when the non use of
checksum option is selected.
Parameter Code: 1100 0011
Parameter Length: 2
Parameter Value: Result of checksum algorithm. This algorithm
is specified in 6.17.
13.2.4 Data Field
This field contains transparent user data. Restrictions on its
size are noted for each TPDU.
13.3 Connection Request (CR) TPDU
The length of the CR TPDU shall not exceed 128 octets.
13.3.1 Structure
The structure of the CR TPDU shall be as follows:
1 2 3 4 5 6 7 8 p p+1...end
+--+------+---------+---------+---+---+------+-------+---------+
|LI|CR CDT| DST - REF |SRC-REF|CLASS |VARIAB.|USER |
| |1110 |0000 0000|0000 0000| | |OPTION|PART |DATA |
+--+------+---------+---------+---+---+------+-------+---------+
120
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.3.2 LI
See 13.2.1
13.3.3 Fixed Part (Octets 2 to 7)
The structure of this part shall contain:
a) CR : Connection Request Code: 1110. Bits 8-5 of
octet 2;
b) CDT : Initial Credit Allocation (set to 0000 in
Classes 0 and 1 when specified as preferred
class). Bits 4-1 of octet 2;
c) DST-REF : Set to zero;
d) SRC-REF : Reference selected by the transport entity
initiating the CR TPDU to identify the
requested transport connection;
e) CLASS and Bits 8-5 of octet 7 defines the preferred
OPTION: transport protocol class to be operated over
the requested transport connection. This
field shall take one of the following values:
0000 Class 0
0001 Class 1
0010 Class 2
0011 Class 3
0100 Class 4
The CR TPDU contains the first choice of class in the fixed part.
Second and subsequent choices are listed in the variable part if
required.
Bits 4-1 of octet 7 define options to be used on the requested
transport connection as follows:
121
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +-----|-----------------------------------------------+
| BIT | OPTION |
|-----|-----------------------------------------------|
| 4 | 0 always |
| | |
| 3 | 0 always |
| | |
| 2 | =0 use of normal formats in all classes |
| | =1 use of extended formats in Classes 2,3,4 |
| | |
| 1 | =0 use of explicit flow control in Class 2 |
| | =1 no use of explicit flow control in |
| | Class 2 |
+-----------------------------------------------------+
NOTES
1. The connection establishment procedure (see 6.5) does not
permit a given CR TPDU to request use of transport expedited
data transfer service (additional option parameter) and no
use of explicit flow control in Class 2 (bit 1 = 1).
2. Bits 4 to 1 are always zero in Class 0 and have no meaning.
13.3.4 Variable Part (Octets 8 to p)
The following parameters are permitted in the variable part:
a) Transport Service Access Point Identifier (TSAP-ID)
Parameter code: 1100 0001 for the identifier of the
Calling TSAP.
1100 0010 for the identifier of the
Called TSAP
Parameter length: not defined in this standard
Parameter value: identifier of the calling or called
TSAP respectively.
122
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> If a TSAP-ID is given in the request it may be returned in
the confirmation.
b) TPDU size
This parameter defines the proposed maximum TPDU size (in
octets including the header) to be used over the requested
transport connection. The coding of this parameter is:
Parameter code: 1100 0000
Parameter Length: 1 octet
Parameter value:
0000 1101 8192 octets (not allowed in Class 0)
0000 1100 4096 octets (not allowed in Class 0)
0000 1011 2048 octets
0000 1010 1024 octets
0000 1001 512 octets
0000 1000 256 octets
0000 0111 128 octets
Default value is 0000 0111 (128 octets)
c) Version Number (not used if Class 0 is the preferred
class)
Parameter code: 1100 0100
Parameter length: 1 octet
Parameter value field: 0000 0001
Default value is 0000 0001 (not used in Class 0)
d) Security Parameters (not used if Class 0 is the preferred
class)
This parameter is user defined.
Parameter code: 1100 0101
Parameter length: user defined
Parameter value: user defined
e) Checksum (used only if class 4 is the preferred class)
(see 13.2.3.1)
123
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> This parameter shall always be present in a CR TPDU
requesting Class 4, even if the checksum selection
parameter is used to request non-use of the checksum
facility.
f) Additional Option Selection (not used if Class 0 is the
preferred class)
This parameter defines the selection to be made as to
whether or not additional options are to be used.
Parameter code: 1100 0110
Parameter length: 1
Parameter value:
+------------------------------------------------------+
|BIT| OPTION |
|---|--------------------------------------------------|
| 4 | 1= Use of network expedited in Class 1 |
| | 0= Non use of network expedited in Class 1 |
| | |
| 3 | 1= Use of receipt confirmation in Class 1 |
| | 0= Use of explicit AK variant in Class 1 |
| | |
| 2 | 0= 16-bit checksum defined in 6.17 is to be used|
| | in Class 4 |
| | 1= 16-bit checksum defined in 6.17 is not to be |
| | used on Class 4 |
| | |
| 1 | 1= Use of transport expedited data transfer |
| | service |
| | 0= No use of transport expedited data transfer |
| | service |
+------------------------------------------------------+
Default value is 000 0001
Bits related to options particular to a class are not
meaningful if that class is not proposed and may take any
value.
124
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> g) Alternative protocol class(es) (not used if Class 0 is the
preferred class)
Parameter code: 1100 0111
Parameter length: n
Parameter value encoded as a sequence of single octets.
Each octet is encoded as for octet 7 but with bits 4-1 set
to zero (i.e. no alternative option selections permitted).
h) Acknowledge Time (used only if class 4 is the preferred
class)
This parameter conveys the maximum acknowledge time AL to
the remote transport entity. It is an indication only,
and is not subject to negotiation (see 12.2.1.1.3)
Parameter code: 1000 0101
Parameter length: 2
Parameter value: n, a binary number where n is the
maximum acknowledge time, expressed
in milliseconds.
j) Throughput (not used if class 0 is the preferred class)
Parameter code: 1000 1001
Parameter length: 12 or 24
Parameter value:
1st 12 Octets: maximum throughput, as follows:
1st 3 octets: Target value, calling-called user
direction
2nd 3 octets: Min. acceptable, calling-called user
direction
3rd 3 octets: Target value, called-calling user
direction
4th 3 octets: Min. acceptable, called-calling user
direction
2nd 12 octets (optional): average throughput, as follows:
5th 3 octets: Target value, calling-called user
direction
125
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 6th 3 octets: Min. acceptable, calling-called user
direction
7th 3 octets: Target value, called-calling user
direction
8th 3 octets: Min. acceptable, called-calling user
direction
Where the average throughput is omitted, it is considered
to have the same value as the maximum throughput.
Values are expressed in octets per second.
k) Residual error rate (not used if class 0 is the preferred
class)
Parameter code: 1000 1001
Parameter length: 12
1st 3 octets: Target value, calling-called user
direction
2nd 3 octets: Min. acceptable, calling-called user
direction
3rd 3 octets: Target value, called-calling user
direction
4th 3 octets: Min. acceptable, called-calling user
direction
l) Residual error rate (not used if class 0 is the preferred
class)
Parameter code: 1000 0110
Parameter length: 3
Parameter value:
1st octet: Target value, power of 10
2nd octet: Min. acceptable, power of 10
3rd octet: TSDU size of interest, expressed as a
power of 2
m) Priority (not used if class 0 is the preferred class)
Parameter code: 1000 0111
Parameter length: 2
Parameter value: Integer (0 is the highest priority)
126
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> n) Transit delay (not used if class 0 is the preferred class)
Parameter code: 1000 1000
Parameter length: 8
Parameter value:
1st 2 octets: Target value, calling-called user
direction
2nd 2 octets: Max. acceptable, calling-called user
direction
3rd 2 octets: Target value, called-calling user
direction
4th 2 octets: Max. acceptable, called-calling user
direction
Values are expressed in milliseconds, and are based upon a
TSDU size of 128 octets.
p) assignment time (not used if class 0, 2 or class 4 is the
preferred class)
This parameter conveys the Time to Try Reassignment (TTR)
which will be used when following the procedure for
Reassignment after Failure (see 6.12).
Parameter code: 1000 1011
Parameter length: 2
Parameter value: n, a binary number where n is the TTR
value expressed in seconds.
13.3.5 User Data (Octets p+1 to the end)
No user data are permitted in Class 0, and are optional in the
other classes. Where permitted, it may not exceed 32 octets.
127
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.4 Connection Confirm (CC) TPDU
13.4.1 Structure
The structure of the CC TPDU shall be as follows:
1 2 3 4 5 6 7 8 p p+1 ...end
+---+----+---+---+---+---+---+-------+--------+-------------+
|LI | CC CDT|DST-REF|SRC-REF| CLASS |VARIABLE| USER |
| |1101| | | | | | OPTION| PART | DATA |
+---+----+---+---+---+---+---+-------+--------+-------------+
13.4.2 LI
See 13.2.1
13.4.3 Fixed Part (Octets 2 to 7)
The fixed part shall contain:
a) CC: Connection Confirm Code: 1101. Bits 8-5 of octet 2;
b) CDT: Initial Credit Allocation (set to 0000 in Classes 0
and 1). Bits 4-1 of octet 2;
c) DST-REF: Reference identifying the requested transport
connection at the remote transport entity;
d) SRC-REF: Reference identifying the requested transport
connection at the remote transport entity.
e) Class and Option: Defines the selected transport protocol
class and option to be operated over the accepted
transport connection according to the negotiation rules
specified in 6.5;
128
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.4.4 Variable Part (Octet 8 to p)
The parameters are defined in 13.3.4 and are subject to the
constraints states in 6.5 (connection establishment). Parameters
ruled out by selection of an alternative class and option shall
not be present.
13.4.5 User Data (Octets p+1 to the end)
No user data are permitted in class 0, and are optional in the
other classes. Where permitted, it may not exceed 32 octets.
The user data are subject to the constraints of the negotiation
rules (see 6.5).
13.5 Disonnect Request (DR) TPDU
13.5.1 Structure
The structure of the DR TPDU shall be as follows:
1 2 3 4 5 6 7 8 p p+1 ...end
+--+---------+----+-----+----+-----+------+--------+----------+
|LI| DR | DST-REF. | SRC-REF. |REASON|VARIABLE| USER |
| |1000 0001| | | | | | PART | DATA |
+--+---------+----+-----+----+-----+------+--------+----------+
13.5.2 LI
See <a href="#section-13.2.1">Section 13.2.1</a>
129
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.5.3 Fixed Part (Octets 2 to 7
The fixed part shall contain:
a) DR: Disconnect Request Code: 1000 0000;
b) DST-REF: Reference identifying the transport connection
at the remote transport entity;
c) SRC-REF: Reference identifying the transport connection
at the transport entity initiating the TPDU. Value zero
when reference is unassigned;
d) REASON: Defines the reason for disconnecting the
transport connection. This field shall take one of the
following values:
The following values may be used for Classes 1 to 4:
1) 128 + 0 - Normal disconnect initiated by session
entity
2) 128 + 1 - Remote transport entity congestion at
connect request time
3) *128 + 2 - Connection negotiation failed (i.e. proposed
class(es) not supported)
4) 128 + 3 - Duplicate source reference detected for the
same pair of NSAPS.
5) 128 + 4 - Mismatched references
6) 128 + 5 - Protocol error
7) 128 + 6 - Not used
8) 128 + 7 - Reference overflow
9) 128 + 8 - Connection request refused on this network
connection
10) 128 + 9 - Not used
11) 128 + 10- Header or parameter length invalid
130
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> The following values can be used for all classes:
12) 0 - Reason not specified
13) 1 - Congestion at TSAP
14) *2 - Session entity not attached to TSAP
15) *3 - Address unknown
NOTE - Reasons marked with an asterisk (*) may be reported to
the TS-user as persistent, other reasons as transient.
13.5.4 Variable Part (Octets 8 to p)
The variable part may contain
a) A parameter allowing additional information related to the
clearing of the connection.
Parameter code: 1110 0000
Parameter length: Any value provided that the length of
the DR TPDU does not exceed the maximum
agreed TPDU size or 128 when the DR
TPDU is used during the connection
refusal procedure
Parameter value: Additional information. The content of
this field is user defined.
b) Checksum (see 13.2.3.1)
13.5.5 User Data (Octets p+1 to the end)
This field shall not exceed 64 octets and is used to carry TS-
user data. The successful transfer of this data is not
guaranteed by the transport protocol. When a DR TPDU is used in
Class 0 it shall not contain this field.
131
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.6 Disconnect Confirm (DC) TPDU
This TPDU shall not be used in Class 0.
13.6.1 Structure
The structure of DC TPDU shall be as follows:
1 2 3 4 5 6 7 p
+----+-----------+-----+-----+-----+-----+-------+--------+
| LI | DC | DST REF | SRC REF | Variable Part |
| | 1100 0000 | | | | | | |
+----+-----------+-----+-----+-----+-----+-------+--------+
13.6.2 LI
See 13.2.1
13.6.3 Fixed Part (Octets 2 to 6)
The fixed part shall contain:
a) DC: Disconnect Confirm Code: 1100 0000;
b) DST-REF: See 13.4.3;
c) SRC-REF: See 13.4.3.
132
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.6.4 Variable Part
The variable part shall contain the checksum parameter if the
condition in (see 13.2.3.1) applies.
13.7 Data (DT) TPDU
13.7.1 Structure
Depending on the class and the option the DT TPDU shall have one
of the following structures.
a) Normal format for Classes 0 and 1
1 2 3 4 5 ... end
+----+-----------+-----------+------------ - - - - - -------+
| LI | DT | TPDU-NR | User Data |
| | 1111 0000 | and EOT | |
+----+-----------+-----------+------------ - - - - - -------+
b) Normal format for Classes 2, 3 and 4
1 2 3 4 5 6 p p+1 ... end
+----+---------+---+---+-------+-----+-------+----------- - - -+
| LI | DT |DST-REF|TPDU-NR|Variable Part|User Data |
| |1111 0000| | |and EOT| | | |
+----+---------+---+---+-------+-----+-------+----------- - - -+
c) Extended Format for use in Classes 2, 3 and 4 when
selected during connection establishment.
1 2 3 4 5,6 7,8 9 p p+1 ... end
+----+---------+---+---+---------+--------+---------- - - -+
| LI | DT |DST-REF| TPDU-NR |Variable|User Data |
| |1111 0000| | | and EOT | Part | |
+----+---------+---+---+---------+--------+---------- - - -+
133
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.7.2 LI
See 13.2.1
13.7.3 Fixed Part
The fixed part shall contain:
a) DT: Data Transfer Code: 1111 0000;
b) DST-REF: See 13.4.3;
c) EOT: When set to ONE, indicates that the current DT
TPDU is the last data unit of a complete DT TPDU
sequence (End of TSDU). EOT is bit 8 of octet 3
in class 0 and 1, bit 8 of octet 5 for normal
formats for classes 2, 3 and 4 and bit 8 of
octet 8 for extended formats;
d) TPDU-NR: TPDU send Sequence Number (zero in Class 0).
May take any value in Class 2 without explicit
flow control. TPDU-NR is bits 7-1 of octet 3
for classes 0 and 1, bits 7-1 of octet 5 for
normal formats in classes 2, 3 and 4, octets 5,
6 and 7 together with bits 7-1 of octet 8 for
extended formats.
NOTE - Depending on the class, the fixed part of the DT TPDU
uses the following octets:
Classes 0 and 1: Octets 2 to 3;
Classes 2,3,4 normal format: Octets 2 to 5;
Classes 2,3,4 extended format: Octets 2 to 8.
134
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.7.4 Variable Part
The variable part shall contain the checksum parameter if the
condition in see 13.2.3.1 applies.
13.7.5 User Data Field
This field contains data of the TSDU being transmitted.
NOTE - The length of this field is limited to the negotiated TPDU
size for this transport connection minus 3 octets in Classes 0
and 1, and minus 5 octets (normal header format) or 8 octets
(extended header format) in the other classes. The variable
part, if present, may further reduce the size of the user data
field.
13.8 Expedited Data (ED) TPDU
The ED TPDU shall not be used in Class 0 or in Class 2 when the
no explicit flow control option is selected or when the expedited
data transfer service has not been selected for the connection.
13.8.1 Structure
Depending on the format negotiated at connection establishment
the ED TPDU shall have one of the following structures:
135
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) Normal Format (classes 1, 2, 3, 4)
1 2 3 4 5 6 p p+1 ... end
+--+---------+---+---+---------+-----+-------+---------------+
|LI| ED |DST-REF|EDTPDU-NR|Variable Part|User Data |
| |0001 0000| | |and EOT | | | |
+--+---------+---+---+---------+-----+-------+---------------+
b) Extended Format (for use in classes 2, 3, 4 when selected
during connection establishment).
1 2 3 4 5,6,7,8 9 p p+1 ... end
+--+---------+---+---+---------+-----+-------+---------------+
|LI| ED |DST-REF|EDTPDU-NR|Variable Part|User Data |
| |0001 0000| | |and EOT | | | |
+--+---------+---+---+---------+-----+-------+---------------+
13.8.2 LI
See 13.2.1
13.8.3 Fixed Part
The fixed part shall contain:
a) ED: Expedited Data code: 0001 0000;
b) DST-REF: see 13.4.3;
c) ED-TPDU-NR: Expedited TPDU identification number. ED-
TPDU-NR is used in classes 1, 3 and 4 and may
take any value in Class 2. Bits 7-1 of octet
5 for normal formats and octets 5, 6 and 7
together with bits 7-1 of octet 8 for
extended formats;
136
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> d) EOT: end of TSDU always set to 1 (bit 8 of octet 5
for normal formats and bit 8 of octet 8 for
extended formats).
NOTE - Depending on the format the fixed part shall be either
octets 2 to 5 or 2 to 8.
13.8.4 Variable Part
The variable part shall contain the checksum parameter if the
condition defined in 13.2.3.1 applies.
13.8.5 User Data Field
This field contains an expedited TSDU (1 to 16 octets).
13.9 Data Acknowledgement (AK) TPDU
This TPDU shall not be used for Class 0 and Class 2 when the "no
explicit flow control" option is selected, and for Class 1 when
the network receipt confirmation option is selected.
13.9.1 Structure
Depending on the class and option agreed the AK TPDU shall have
one of the following structures:
137
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> a) Normal Format (classes 1, 2, 3, 4)
1 2 3 4 5 6 p
+--+--------+----------+------------+---------------+
|LI| AK CDT | DST-REF | YR-TU-NR | Variable Part |
| | 0110 | | | |
+--+--------+----------+------------+---------------+
b) Extended Format (for use in classes 2, 3, 4 when selected
during connection establishment).
1 2 3 4 5,6,7,8 9,10 11 p
+--+---------+---------+----------+-----+--------+
|LI| AK | DST-REF | YR-TU-NR | CDT |Variable|
| |0110 0000| | | | Part |
+--+---------+---------+----------+-----+--------+
13.9.2 LI
See 13.2.1
13.9.3 Fixed Part
The fixed part shall contain (in octet 2 to 5 when normal format
is used, 2 to 10 otherwise) the following parameters:
a) AK: Acknowledgement code: 0110;
b) CDT: Credit Value (set to 1111 in class 1). Bits
4-1 of octet 2 for normal formats and octets 9
and 10 for extended formats;
c) DST-REF: See 13.4.3;
d) YR-TU-NR: Sequence number indicating the next expected DT
TPDU number. For normal formats, bits 7-1 of
octet 5; bit 8 of octet 5 is not significant
138
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> and shall take the value 0. For extended
formats, octets 5, 6 and 7 together with bits
7-1 of octet 8; bit 8 of octet 8 is not
significant and shall take the value 0.
13.9.4 Variable Part
The variable part contains the following parameters:
a) Checksum See 13.2.3.1 if the condition in 13.2.3.1
applies;
b) Subsequence number when optionally used under the
conditions defined in class 4. This parameter is used to
ensure that AK TPDUs are processed in the correct
sequence. If it is absent, this is equivalent to
transmitting the parameter with a value of zero.
Parameter code: 1000 1010
Parameter length: 2
Parameter value: 16-bit sub-sequence number;
c) Flow Control Confirmation Class 4 when optionally used
under the conditions defined in class 4. This parameter
contains a copy of the information received in an AK TPDU,
to allow the transmitter of the AK TPDU to be certain of
the state of the receiving transport entity (see
12.2.3.10).
Parameter code: 1000 1011
Parameter length: 8
Parameter value: defined as follows
1. Lower Window Edge (32 bits)
Bit 8 of octet 4 is set to zero, the remainder
contains the YR-TU-NR value of the received AK TPDU.
When normal format has been selected, only the least
significant seven bits (bits 1 to 7 of octet 1) of
this field are significant.
2. Your Sub-Sequence (16 bits)
Contains the value of the sub-sequence parameter of
139
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> the received AK TPDU, or zero if this parameter was
not present.
3. Your Credit (16 bits)
Contains the value of the CDT field of the received AK
TPDU. When normal format has been selected, only the
least significant four bits (bits 1 to 4 of octet 1)
of this field are significant.
13.10 Expedited Data Acknowledgement (EA) TPDU
This TPDU shall not be used for Class 0 and Class 2 when the no
explicit flow control option is selected.
13.10.1 Structure
Depending on the option (normal or extended format) the TPDU
structure shall be:
a) Normal Format (classes 1,2,3,4)
1 2 3 4 5 6 p
+--+---------+---------+----------+------+------+
|LI| EA | DST-REF | YR-TU-NR |Variable Part|
| |0010 0000| | | | |
+--+---------+---------+----------+------+------+
b) Extended Format (for use in classes 2, 3, 4 if selected
during connection establishment)
1 2 3 4 5,6,7,8 9 p
+--+---------+---------+----------+------+------+
|LI| EA | DST-REF | YR-TU-NR |Variable Part|
| |0010 0000| | | | |
+--+---------+---------+----------+------+------+
140
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.10.2 LI
See 13.2.1
13.10.3 Fixed Part
The fixed part shall contain (in octets 2 to 5 when normal format
is used, in octets 2 to 8 otherwise):
a) EA: Expedited Acknowledgement code: 0010 0000;
b) DST-REF: See 13.4.3;
c) YR-EDTU-NR: Identification of the ED TPDU being
acknowledged. May take any value in Class 2;
For normal formats bits 7-1 of octet 5; bit 8
of octet 5 is not significant and shall take
the value 0. For extended formats, octets
5,6 and 7 together with bits 7-1 of octet 8;
bit 8 of octet 8 is not significant and shall
take the value 0.
13.10.4 Variable Part
The variable part may contain the checksum parameter (see
13.2.3.1).
13.11 Reject (RJ) TPDU
The RJ TPDU shall not be used in Classes 0, 2 and 4.
141
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.11.1 Structure
The RJ TPDU shall have one of the following formats:
a) Normal Format (classes 1 and 3)
1 2 3 4 5
+----+----------+----+----+------------+
| LI | RJ CDT | DST-REF | YR-TU-NR |
| | 0101 | | | |
+----+----------+----+----+------------+
b) Extended Format (for use in classes 3 if selected during
connection establishment).
1 2 3 4 5,6,7,8 9,10
+--+-----------+----+----+----------+-----+
|LI| RJ | DST-REF | YR-TU-NR | CDT |
| | 0101 0000 | | | | |
+--+-----------+----+----+----------+-----+
13.11.2 LI
See 13.2.1.
13.11.3 Fixed Part
The fixed part shall contain (in octets 2 to 5 when normal format
is used, in octets 2 to 10 otherwise):
a) RJ: Reject Code: 0101. Bits 8-5 of octet 2;
b) CDT: Credit Value (set to 1111 in class 1). Bits
4-1 of octet 2 for normal formats and octets 9
and 10 for extended formats;
c) DST-REF: See 13.4.3;
142
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> d) YR-TU-NR: Sequence number indicating the next expected
TPDU from which retransmission should occur.
For normal formats, bits 7-1 of octet 5; bit 8
of octet 5 is not significant and shall take
the value 0. For extended formats, octets 5,6
and 7 together with bits 7-1 of octet 8; bit 8
of octet 8 is not significant and shall take
the value 0.
13.11.4 Variable Part
There is no variable part for this TPDU type.
13.12 TPDU Error (ER) TPDU
13.12.1 Structure
1 2 3 4 5 6 P
+----+-----------+----+----+--------+----------+
| LI | ER | DST-REF | Reject | Variable |
| | 0111 0000 | | | Cause | Part |
+----+-----------+----+----+--------+----------+
13.12.2 LI
See 13.2.1
143
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 13.12.3 Fixed Part
The fixed part shall contain:
a) ER: TPDU Error Code: 0111 0000;
b) DST-REF: See 13.4.3;
c) REJECT CAUSE: 0000 0000 Reason not specified
0000 0001 Invalid parameter code
0000 0010 Invalid TPDU type
0000 0011 Invalid parameter value.
13.12.4 Variable Part
The variable part may contain the following parameters:
a) Invalid TPDU
Parameter code: 1100 0001
Parameter length: number of octets of the value field
Parameter Value: Contains the bit pattern of the rejected
TPDU up to and including the octet
which caused the rejection. This
parameter is mandatory in Class 0.
b) Checksum
This parameter shall be present if the condition in
13.2.3.1 applies.
144
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> SECTION THREE. CONFORMANCE
14 CONFORMANCE
14.1
A system claiming to implement the procedures specified in this
standard shall comply with the requirements in 14.2 - 14.5.
14.2
The system shall implement Class 0 or Class 2 or both.
14.3
If the system implements Class 3 or Class 4, it shall also
implement Class 2.
14.4
If the system implements Class 1, it shall also implement Class
0.
145
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> 14.5
For each class which the system claims to implement, the system
shall be capable of:
a) initiating CR TPDUs or responding to CR TPDUs with CC
TPDUs or both;
b) responding to any other TPDU and operating network service
in accordance with the procedures for the class;
c) operating all the procedures for the class listed as
mandatory in table 9;
d) operating those procedures for the class listed as
optional in table 9 for which conformance is claimed;
e) handling all TPDUs of lengths up to the lesser value of:
1) the maximum length for the class;
2) the maximum for which conformance is claimed.
NOTE - This requirement indicates that TPDU sizes of 128
octets are always implemented.
14.6 Claims of Conformance Shall State
a) which class or classes of protocol are implemented;
b) whether the system is capable of initiating or responding
to CR TPDUs or both;
c) which of the procedures listed as optional in table 9 are
implemented;
146
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> d) the maximum size of TPDU implemented; the value shall be
chosen from the following list and all values in the list
which are less than this maximum shall be implemented:
128, 256, 512, 1024, 2048, 4096 or 8192 octets.
147
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +------------------------------------------------------------+
| PROCEDURE | CLASS 0 | CLASS 1 |
|--------------------------|----------------|----------------|
| | | |
|TPDU with checksum | NA | NA |
|TPDU wihout checksum | mandatory | mandatory |
| | | |
|--------------------------|----------------|----------------|
|Expedited data transfer | NA | mandatory |
|No expedited data transfer| mandatory | mandatory |
| | | |
|--------------------------|----------------|----------------|
|Flow control in Class 2 | NA | NA |
|No flow control in Class 2| NA | NA |
| | | |
|--------------------------|----------------|----------------|
|Normal formats | mandatory | mandatory |
|Extended formats | NA | NA |
| | | |
|--------------------------|----------------|----------------|
|Use of receipt confirma- | | |
|tion in Class 1 | NA | optional |
|No use of receipt con- | | |
|firmation in Class 1 | NA | mandatory |
| | | |
|--------------------------|----------------|----------------|
|Use of network expedited | | |
|in Class 1 | NA | optional |
|No use of network expedi- | | |
|ted in Class 1 | NA | mandatory |
| | | |
+------------------------------------------------------------+
NA indicates the procedure is not applicable.
Table 9. (First of 2 pages) Provision of options
148
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> +------------------------------------------------------------+
| PROCEDURE | CLASS 2 | CLASS 3 | CLASS 4 |
|--------------------------|----------|----------|-----------|
| | | | |
|TPDU with checksum |NA |NA |mandatory |
|TPDU wihout checksum |mandatory |mandatory |optional |
| | | | |
|--------------------------|----------|----------|-----------|
|Expedited data transfer |mandatory |mandatory |mandatory |
|No expedited data transfer|mandatory |mandatory |mandatory |
| | | | |
|--------------------------|----------|----------|-----------|
|Flow control in Class 2 |mandatory |NA |NA |
|No flow control in Class 2|optional |NA |NA |
| | | | |
|--------------------------|----------|----------|-----------|
|Normal formats |mandatory |mandatory |mandatory |
|Extended formats |optional |optional |optional |
| | | | |
|--------------------------|----------|----------|-----------|
|Use of receipt confirma- | | | |
|tion in Class 1 |NA |NA |NA |
|No use of receipt con- | | | |
|firmation in Class 1 |NA |NA |NA |
| | | | |
|--------------------------|----------|----------|-----------|
|Use of network expedited | | | |
|in Class 1 |NA |NA |NA |
|No use of network expedi- | | | |
|ted in Class 1 |NA |NA |NA |
| | | | |
+------------------------------------------------------------+
NA indicates the procedure is not applicable
Table 9. (Second of 2 pages) Provision of options
149
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> ANNEX A - STATE TABLES
This annex is an integral part of the body of this International
Standard.
This Annex provides a more precise description of the protocol.
In the event of a discrepancy between the description in these
tables and that contained in the text, the text takes precedence.
The state table also define the mapping between service and
protocol events that TS-users can expect.
This annex describes the transport protocol in terms of state
tables. The state tables show the state of a transport
connection, the events that occur in the protocol, the actions
taken and the resultant state.
[The state tables have been omitted from this copy.]
150
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> ANNEX B - CHECKSUM ALGORITHMS
(This annex is provided for information for implementors and is
not an integral part of the body of the standard.)
B.1 SYMBOLS
The following symbols are used:
C0 variables used in the algorithms
C1
i number (i.e. position) of an octet within the TPDU (see
12.1)
n number (i.e. position) of the first octet of the checksum
parameter
L length of the complete TPDU
X value of the first octet of the checksum parameter
Y value of the second octet of the checksum parameter.
B.2 ARITHMETIC CONVENTIONS
Addition is performed in one of the two following modes:
a) modulo 255 arithmetic;
b) one's complement arithmetic in which if any of the
variables has the value minus zero (i.e. 255) it shall be
regarded as though it was plus zero (i.e. 0).
B.3 ALGORITHM FOR GENERATING CHECKSUM PARAMETERS
151
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> B.3.1 Set up the complete TPDU with the value of the checksum
parameter field set to zero.
B.3.2 Initialize C0 and C1 to zero.
B.3.3 Process each octet sequentially from i = 1 to L by:
a) adding the value of the octet to C0; then
b) adding the value of C0 to C1.
B.3.4 Calculate X and Y such that
X = -C1 + (L-n).CO
Y = C1 - (L-n+1).C0
B.3.5 Place the values X and Y in octets n and (n + 1)
respectively.
[A Note describing the above algorithm in mathematical notation
has been omitted from this copy.]
B.4 ALGORITHM FOR CHECKING CHECKSUM PARAMETERS
B.4.1 Initialize C0 and C1 to zero.
B.4.2 Process each octet of the TPDU sequentially from i = 1 to
L by:
a) adding the value of the octet to C0; then
b) adding the value of C0 to C1.
152
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> B.4.3 If, when all the octets have been processed, either or
both of C0 and C1 does not have the value zero, the checksum
formulas in 6.17 have not been satisfied.
NOTE - The nature of the algorithm is such that it is not
necessary to compare explicitly the stored checksum bytes.
153
</pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'> Explanatory Report
The Transport Layer Services and Protocols have been under study
within TC97/SC16 since 1979. It was agreed by SC16 at its
meeting in Berlin, November 1980, that the Service and Protocol
documents would be progressed concurrently.
At the SC16 meeting in Tokyo, June 1982, authorization was given
(Resolutions 10 and 11, SC16 N 1233) to register both the
Transport Service Definition and the Transport Protocol
Specification as Draft Proposals and to circulate them for a 90-
day ballot.
Following the close of the letter ballot an Editing Group was
convened to integrate editorial comments and make recommendations
regarding proposed technical changes. The revised texts and
proposed recommendations were reviewed by SC16/WG6 at its meeting
in Vienna, March 1983. The revised text of the Transport Service
Definition (SC16 N 1435) was accepted as presented whereas the
revised text of the Transport Protocol (SC16 N 1433) was
subjected to an additional 60-day ballot. Consistent with the
SC16 decision regarding the parallel progression of both DPs, the
Transport Service Definition was held in abeyance pending
acceptance by SC16 of the revised Transport Protocol (Second DP
8073).
A second Editing Group was convened in Paris, July 1983, to
review comments submitted on Second DP 8073. The Minutes and
Report of this meeting are documented in SC16 N1575 and N 1574
respectively. The two negative votes (DIN and NNI) were given
full consideration. The NNI concerns have been fully covered in
the revised text prepared by the Editing Group. The DIN concerns
have been taken into account and incorporated in their large
majority.
Upon the recommendation of the Editing Group, DP 8072 and DP 8073
are forwarded for registration as Draft International Standards
and letter ballot of ISO Member Bodies.
154
</pre>
|