summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc892.txt
blob: 0ff8ceb5079ad382690676140f002e2e92fb84a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
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
Network Working Group                                   ISO
Request for Comments:  892                              December 1983


                     ISO Transport Protocol Specification

This document is distributed as an RFC for information only.
It does not specify a standard for the ARPA Internet.

Note:  This document appeared in:

ISO/TC97/SC16/WG6.  Information Processing Systems - Open Systems
    Interconnection - Transport Protocol Specification.  Computer
    Communication Review 12, 3-4 (July/October 1982), pp.  24-67.

and differs from it only in format.


Table of Contents

0.   Introduction
1.   Scope and Field of Application
2.   References

Section One - General

3.   Definitions
4.   Symbols and Abbreviations
5.   Overview

     5.1  Service provided by the transport layer
     5.2  Service assumed from the network layer
     5.3  Functions of the transport layer
     5.4  Model of the transport layer

Section Two - Transport Protocol Specification

6.   Protocol Mechanisms
     
     6.1  Assignment to network connection
     6.2  Transport protocol data unit (TPDU) transfer
     6.3  Data TPDU length and segmenting
     6.4  Concatenation and separation
     6.5  Connection establishment
     6.6  Connection refusal
     6.7  Release
     6.8  Implicit termination
     6.9  Spurious disconnect
     6.10 Data TPDU numbering
     6.11 Expedited data transfer
     6.12 Reassignment
     6.13 Reassignment after failure
^L
ISO Transport Protocol Specification                                    Page 2
International Standards Organization


     6.14 Retention until acknowledgement of TPDUs
     6.15 Resynchronization
     6.16 Multiplexing and demultiplexing
     6.17 Explicit flow control
     6.18 Checksum
     6.19 Frozen references
     6.20 Retransmission on timeout
     6.21 Resequencing
     6.22 Inactivity control
     6.23 Treatment of protocol errors
     6.24 Splitting and recombining

7.   Protocol Classes
     7.0  Protocol description of class 0:  simple class
     7.1  Protocol description of class 1:  basic error recovery class
     7.2  Protocol description of class 2:  multiplexing class
     7.3  Protocol description of class 3:  error recovery and multiplexing
                                            class
     7.4  Protocol description of class 4:  error detection and recovery class

8.   Encoding

     8.1  Summary
     8.2  Structure
     8.3  Connection Request (CR)
     8.4  Connection Confirm (CC)
     8.5  Disconnect Request (DR)
     8.6  Disconnect Confirm (DC)
     8.7  Data (DT
     8.8  Expedited Data (ED)
     8.9  Data Acknowledgement (AK)
     8.10 Expedited Data Acknowledgement (EA)
     8.11 Reject (RJ)
     8.12 TPDU Error (ERR)

Section Three  -  Conformance

9.   Conformance

0.   Introduction

        The Transport Protocol Standard is one of a set of International
Standards produced to facilitate the interconection 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
^L
ISO Transport Protocol Specification                                    Page 3
International Standards Organization


Service Standard (DP aaaa).  It also uses and makes reference to the
Network Service Standard (DP bbbb), whose provisions it assumes in
order to accomplish the transport protocol's aims.  The
interrelationship of these standards is depicted in Figure 1.

-----------------------------------TRANSPORT SERVICE DEFINITION-----

 Transport                --Reference to aims---------------
 Protocol
 Specification            --Reference to assumptions--------

------------------------------------NETWORK SERVICE DEFINITION------

Figure 1  -  Relationship between the transport protocol and adjacent
             services

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

        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 is concerned with optimisation of network
tariffs and the following qualities of service:

     a)  different throughput rates;
     b)  different error rates;
     c)  integrity of data requirements;
     d)  reliability requirements.

        The aim of this standard is primarily to provide a definition 
for implementors.  Since the protocol is complex, the document contains
much material which is advisory or descriptive, but mandatory
requirements on implementations are clearly identified. 

        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 document
correctly under all circumstances.  It is possible by means of testing
^L
ISO Transport Protocol Specification                                    Page 4
International Standards Organization


to establish confidence that an implementation correctly operates the
protocol in a representative sample of circumstances.  It is, however,
intended that this 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.

        The variations and options available within this 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 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 class;
                5) Class 4.  Error detection and recovery class,

                for the 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 encoding of the transport protocol data units used for
            the transfer of data and control information;

        d)  the functional requirements of equipment within a
            computer system claiming to implement these procedures.

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
^L
ISO Transport Protocol Specification                                    Page 5
International Standards Organization


            service primitives.

1.3     This International Standard is applicable to equipment which 
        supports the Transport Layer of the OSI Reference Model and which
        wishes to interconnect in an open systems environment.

2.      References

ISO 7498        Information processing systems - Open systems inter-
                connection - Basic Reference Model

DP aaaa         Information processing systems - Open systems inter-
                connection - Transport service definition (N1169).

DP bbbb         Information processing systems - Open systems inter-
                connection - Connection-oriented network service
                definition (N729)

Section One - General

3.      Definitions

3.1     Equipment:  Hardware or software or a combination of both; it
        need not be physically distinct within a computer system.

3.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.3     Network service provider:  An abstract machine which models 
        the totality of the entities providing the network service,
        as viewed by a transport entity.

        Explanatory Notes

        1.  Definitions 3.1 to 3.3 relate to terms used in clause 1.

        2.  This standard makes use of the terms, concepts, and 
            definition defined in ISO 7498.

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

^L
ISO Transport Protocol Specification                                    Page 6
International Standards Organization


        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         Rejected TPDU
        ERR 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)
        SCE-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)

4.4     Parameters

        T (R)           Receive sequence number
        T (S)           Send sequence number

4.5     Timer variables

        T1              Elapse time between retransmissions
        N               The maximum number of retransmissions
        L               Bound for the maximum time between the
                        decision to transmit a TPDU and the receipt of
                        any response relating to it
        T-WAIT          Maximum time for a reassignment to take place
                        before TC failure is assumed
        I               Inactivity timer - Maximum time allowed to 
                        elapse between receipt of TPDUs before TC 
                        failure is assumed
        W               Window timer - Maximum interval between trans-
                        mission of up to date window information

4.6     Other variables

        n               The number of bits in the sequence number
                        field
        p               The number of bits in the credit field of a 
                        CR, CC or AK TPDU
^L
ISO Transport Protocol Specification                                    Page 7
International Standards Organization


4.7     Miscellaneous

        TS-user         Transport service user
        TSAP            Transport service access point
        NSAP            Network service access point
        TC              Transport connection
        NC              Network Connection

5.      Overview of the Transport Protocol

5.1     Service Provided by the Transport Layer

        The services provided by the protocol described in this
document are connection-oriented services.  They are defined in
document DP aaaa.  The Transport Service primitives provided are
summarized in Figure 1.
^L
ISO Transport Protocol Specification                                    Page 8
International Standards Organization


        Primitive                               Parameters
------------------------------------------------------------------------
T-CONNECT       Request                 To Transport Address, From 
                Indication              Transport Address, Expedited
                                        Data Option, Quality of
                                        Service, TS-User data.
------------------------------------------------------------------------
T-CONNECT       Response                Responding Address, Quality 
                Confirmation            of Service, Expedited Data
                                        Option, TS-User data.
------------------------------------------------------------------------
T-DATA          Request                 TS-User data.
                Indication
------------------------------------------------------------------------
T-EXPEDITED     Request                 TS-User data.
DATA            Indication      
------------------------------------------------------------------------
T-DISCONNECT    Request                 TS-User data.
------------------------------------------------------------------------
T-DISCONNECT    Indication              Disconnect reason, TS-User
                                        data.
------------------------------------------------------------------------

                Figure 1.  Transport Service Primitives

5.2     Service Assumed from the Network Layer

        The transport protocol described in this document assumes of
the Network Services described in DP bbbb.  The Network Service
primitives used are summarized in Figure 2.
^L
ISO Transport Protocol Specification                                    Page 9
International Standards Organization


        Primitive               X/Y             Parameters      X/Y/Z
------------------------------------------------------------------------
N-CONNECT  Request               X              Called Address,    X
           Indication            X              Calling Address,   X
           Response              X              NS-User data,      Z
           Confirmation          X              QOS.               X
------------------------------------------------------------------------
N-DATA     Request                X              NS-User data,      X
           Indication             X              Conf. Request      Y
------------------------------------------------------------------------
N-DATA      Request               Y
ACKNOWLEDGE Indication
------------------------------------------------------------------------
N-EXPEDITED Request               Y     
DATA        Indication                            NS-User data       Y
------------------------------------------------------------------------
N-RESET      Request              X               
             Indication           X
             Response             X
             Confirmation         X
------------------------------------------------------------------------
N-DISCONNECT Request              X               NS-User data       Z
             Indication           X
------------------------------------------------------------------------

        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.

                Figure 2.  Network Service Primitives

5.3     Functions of the Transport Layer

5.3.1   Connection Oriented Functions

5.3.1.1  Overview of Functions

        The functions in the transport layer are at least those
necessary to bridge the gap between the services available from the
network layer and those to be offered to the transport users.

        The functions in the transport layer are concerned with the
enhancement of quality of service, including all aspects of cost
optimization.  They are described below; the descriptions are grouped
into those concerned with the establishment phase, the data transfer
^L
ISO Transport Protocol Specification                                   Page 10
International Standards Organization


phase, and the release phase.

5.3.1.1.1  Establishment Phase

        The goal of the establishment phase is to establish a
transport connection, i.e., between two transport users.  The
functions of transport layer during this phase must match the
requested class of services with the services provided by the network
layer as follows:

        o  Select network service which best matches the requirement
           of the TS-user taking into account charges for various
           services.

        o  Decide whether to multiplex multiple transport connection
           onto a single network connection.

        o  Establish the optimum TPDU size.

        o  Select the functions that will be operational upon entering
           the data transfer phase.

        o  Map transport addresses onto network addresses.

        o  Provide a means to distinguish between two different
           transport connections.

        o  Transportation of user's data.

5.3.1.1.2  Data Transfer Phase

        The purpose of the data transfer phase is to permit two-way
simultaneous transport of TSDUs between the session entities connected
by the transport connection.  This purpose is achieved by means of
two-way simultaneous communication in the Transport protocol and by
the following functions. Each of these functions is used or not used
in accordance with the result of the selection performed in the
establishment phase.

        o  Concatenation and Separation

           A function used to collect several TPDUs into a single
           NSDU; the destination transport entity separates the TPDUs.

        o  Segmenting and Reassembling

           The splitting of a single data TSDU into multiple TPDUs
           which are reassembled into their original format at the 
           destination.

^L
ISO Transport Protocol Specification                                   Page 11
International Standards Organization


        o  Multiplexing and Demultiplexing

           A function used to share a single network connection
           between two or more transport connections.

        o  Splitting and Recombing

           A function allowing the simultaneous use of two or more
           network connections to support the same transport connec-
           tion.

        o  Flow Control

           A function used to regulate the flow of TPDUs between two
           transport entities on one transport connection.

        o  Error Detection

           A function used to detect the loss, corruption,
           duplication, misordering or misdelivery of TPDUs.

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

        o  Error Recovery

           A function used to recover from detected and signalled
           errors.

        o  Expedited Data

           A function used to bypass the flow control of normal data 
           TPDU.  Expedited data TPDUs' flow is controlled by 
           separate flow control.

        o  TSDU Delimiting

           A function used to determine the beginning and ending of
           a TSDU.

5.3.1.1.3  Release Phase

        A function to provide a disconnection of the transport
        connection, regardless of the current activity.

5.3.1.2  Classes and Options
^L
ISO Transport Protocol Specification                                   Page 12
International Standards Organization


        A class defines a set of functions.   In this protocol five
        classes are defined:

        o  Class 0:  Simple Class
        o  Class 1:  Basic Error Recovery Class
        o  Class 2:  Multiplexing Class
        o  Class 3:  Error Recovery and Multiplexing Class
        o  Class 4:  Error Detection and Recovery Class.

        Note that with the exception of classes 0 and 1, transport 
        connections of different class may be multiplexed together
        onto the same network connection.

5.3.1.2.2  Options within Classes

        Options define potential functions which may be used within
        a class.

5.3.1.2.3  Negotiation

        Classes and options within classes are negotiated during
        the connection establishment phase.

5.3.1.2.4  Choice of the Class of Protocol

        The choice will be made by the transport entities according
        to:

        o  the users requirement expressed via T-CONNECT service
           primitives.  In particular, for the choice of the
           class of protocol, the following rules apply:

           - if the TS-User requests either transmission of 
             user data during the connection phase, or use of
             Expedited data transfer, then Class 0 cannot be
             selected.

           - if the TS-User requests use of Expedited data 
             transfer, then Class 2 with the non-explicit 
             flow control option cannot be selected.

        o  the quality of the available Network services;

        o  the user required service versus cost ratio 
           acceptable for the transport user.

        The following is a classification of network services in terms
of quality with respect to error behavior relative to the user
requirements.  Its main purpose is to provide a basis for the decision
regarding which class of transport connection should be used on top of
^L
ISO Transport Protocol Specification                                   Page 13
International Standards Organization


a given network connection.

        Type A: Network connection with acceptable residual error
                rate (for example not signalled by 'clear' or 'reset')
                and acceptable rate of signalled failures.

        Type B: Network connections with acceptable residual error
                rate (for example not signalled by 'clear' or 'reset')
                but unacceptable rate of signalled failures.    

        Type C: Network connections with residual error rate not 
                acceptable to the TS-user.

        It is assumed that each transport entity is aware of the
quality of service provided by particular Network connections.

5.3.1.3  Potential Functions

        The protocol described in this document does not include the
following set of functions which have been identified as potential
transport layer functions:

        o  provision for encryption

        o  provision for accounting mechanisms

        o  provision for status exchanges and monitoring of quality
           of service

        o  provision for blocking
        
        o  temporary release of network connections

5.4     Model of the Transport Layer

             TSAP                               TSAP

        Transport Protocol              Transport Protocol
             Entity                           Entity
                                                   
                                                    
              NSAP   -------                    NSAP  -------
               |     (NSAP)                      |     (NSAP)
               |       |                         |       |
               |       |-------------------------|--------
               |                                 |              
               -----------------------------------

        A Transport Protocol entity within the Transport Layer
communicates with a Transport User through a TSAP by means of the
^L
ISO Transport Protocol Specification                                   Page 14
International Standards Organization


service primitives as defined by the transport service definition DP
aaaa.  Service primitives will cause or be the result of Transport
Protocol Data Unit exchanges between the peer Transport Protocol
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 bbbb through one or more NSAPs.

        Transport connection endpoints are identified in end systems
by an internal, implementation dependent, mechanism so that the
Transport User and the Transport Protocol entity can refer to each
Transport connection.

Section Two - Transport Protocol Specification

6.      Protocol Mechanisms

        Several functions are described as 'inherent' or 'pervasive'.
Inherent functions must be invoked for every transport connection.
Pervasive functions are optional, but if one is invoked for the first
transport connection over a network connection, it must also be invoked
for any and all other transport connections which use that network
connection during its lifetime.

6.1     Assignment to Network Connection

        Purpose:  Assignment of transport connections to network
                  connections.

        Network Service Primitives:

        N-CONNECT
        N-DISCONNECT

        Description:

        This function is inherent.

        Before a transport connection can be created or used, it must
be assigned to one (or more if splitting function is being used)
network connection(s).  Both transport entities involved must become
aware of this assignment.  A transport connection may be assigned to a
suitable existing network connection; one or more new network
connections may also be created for the purpose.

        An existing network connection, which connects the relevant
transport entities, is unsuitable for assignment of a transport
connection if, for example:

        o  the quality of service needed for the transport connection
           can not be met by using or enhancing the network
^L
ISO Transport Protocol Specification                                   Page 15
International Standards Organization


           connection.

        o  the protocol class preferred or in use for the transport 
           connection is incompatible with the current usage of the 
           network connection as regards the use of pervasive
           functions (e.g., multiplexing).

        When a new network connection is created, the quality of
service requested is a local matter, though it will normally be
related to the requirements of transport connection(s) expected to be
assigned to it.

        A Network Connection with no transport connections will be
available after initial establishment or because explicit
disconnection of all the transport connections previously assigned to
it has taken place.  Either Transport entity may as a local
matter choose to disconnect the Network Connection or assign other
Transport Connections to it.

6.2     Transport Protocol Data Unit (TPDU) Transfer

        Purpose:  To convey transport protocol data unit in user 
                  data fields of network service primitives.

        Network Service Primitives

        N-DATA
        N-EXPEDITED DATA

        Description:

        This function is inherent.

        The Transport Protocol Data Units (TPDUs) defined for the
protocol are listed in Figure 3.

                TPDU name                Abbreviation

        Connection Request                      CR
        Connection Confirm                      CC
        Disconnect Request                      DR
        Disconnect Confirm                      DC
        Data                                    DT
        Expedited Data                          ED
        Data Acknowledge                        AK
        Expedited Acknowledge                   EA
        Reject                                  RJ
        TPDU Error                              ERR

                Figure 3.  Transport Protocol Data Units
^L
ISO Transport Protocol Specification                                   Page 16
International Standards Organization


        TPDUs are conveyed using the NS-User data parameters of the
Network Service primitives, primarily with the N-DATA, but also with
N-EXPEDITED primitives.

        Transport entities shall accept all permissible assignments and
may issue any permissible assignments.  The permissible assignments of
TPDUs to these primitives are shown in Figure 4.  Concatenation of
TPDUs is also permitted (see section 6.4).

Primitive               Applicable TPDUs                        Note

N-DATA                  CR, CC, DR, DT, ED,
                        AK, EA, RJ, DC, ERR

N-EXPEDITED             ED, EA                                  1

Notes:

1.  This assignment is permissible only when using class 1 and when
    the network expedited variant has been agreed.

Figure 4.  Network Service Primitives which can convey TPDUs.

6.3     Data TPDU Length and Segmenting

        Purpose:  Mapping between one TSDU and TPDUs.

        TPDUs and fields used:

        DT
        -  End of TSDU (1 bit)

        Description:

        The data field of Data TPDUs may contain any number of octets
up to an agreed maximum as negotiated at connection time.  

        A transport entity uses an End of TSDU mark as defined below:

        In each Data TPDU a transport entity may indicate the end of a
TSDU.

        Category 1      Having the End of TSDU mark set to yes.  These
                        TPDUs may or may not have the maximum length.

        Category 2      Having the End of TSDU mark set to no.  These
                        TPDUs do not necessarily have the maximum
                        length.

        A complete Data TPDU sequence is defined as being composed of
^L
ISO Transport Protocol Specification                                   Page 17
International Standards Organization


either a single category 1 DT TPDU or consecutive category 2 followed
by a category 1 DT TPDU.

6.4     Concatenation and Separation

        Pupose:  Conveyance of multiple TPDUs in one NSDU.

        Description:

        All TPDUs carry in their TPDU header a length indicator (see
Section 8.2.1).  Additionally, TPDUs are classified as either Data
TPDUs or Control TPDUs.  Control TPDUs may or may not contain a data
field.  For TPDUs containing data the length of the data field is
indicated by the length of the NSDU.  These provisions permit any
number of Control TPDUs that may not contain data to be concatenated
with a single control TPDU which may contain data or with a single
Data TPDU.  The control TPDUs without data must precede the TPDU with
data, if any.  The number of TPDUs so concatenated is terminated by
the end of the NSDU.

        The concatenated set of TPDUs may be for the same or different
transport connections.  An implementation shall accept concatenated
TPDUs and may concatenate TPDUs before transmission.  The transport
entity shall not send a concatenated set of TPDUs which exceeds twice
the overall maximum TPDU length for all the TCs assigned to the
network connection.

6.5     Connection Establishment

        Purpose:  Creation of a new transport connection.

        Network Service Primitives:

        N-DATA

        TPDUs and fields used:

        CR, CC
        - source reference (16 bits)
        - initial credit (if applicable)
        - calling transport address (optional)
        - called transport address (optional)
        - user data (optional)
        - TPDU size (optional)
        - sequence number length (optional)
        - checksum selection (optional)
        - acknowledgement time (optional)
        - quality of service (optional)
        CR
        - preferred protocol class
^L
ISO Transport Protocol Specification                                   Page 18
International Standards Organization


        - alternative protocol classes (zero or more)
        - version number (optional)
        - security (optional)
        - proposed options
        CC
        - destination reference (16 bits)
        - selected protocol class
        - selected options

        Description:

        This function is inherent:

        A transport connection is established by means of one
transport entity (the initiator) transmitting a Connection Request
(CR) TPDU to the other transport entity (the responder), which replies
with a Connection Confirm (CC) TPDU.  Before sending the CR TPDU, the
initiator assigns the transport connection being created to one (or
more if the splitting function is being used) 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 must be exchanged or negotiated.

        The following information is exchanged:

        o  references.  Each transport entity chooses a reference which
           is 16 bits long and which is arbitrary except for the following
           restrictions:

           - it cannot already be in use or "frozen" (see "Frozen
             References", Section 6.19).

           - it cannot be zero.

        Each transport entity is responsible for selecting the
Reference which the partner will use.  This mechanism is symmetrical
and therefore avoids the need to assign a status of master or slave to
partners and avoids call collision.  This mechanism also 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 system parameter.

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

        o  initial credit.  Only relevant for classes which include
           the Explicit Flow Control Function.

^L
ISO Transport Protocol Specification                                   Page 19
International Standards Organization


        o  user data.  Not available in class 0.  Up to 32 octets in
           in other classes.

        The following negotiations take place:

        o  protocol class.  The initiator shall propose a preferred
class and any number of alternatives.  (Except that no alternatives are
allowed when class 0 is the preference.)  The initiator should assume
when it sends the CR TPDU that its preferred class will be agreed to,
and commence the functions associated with that class.

        Note:  This means, for example, that when a class which
includes resynchronization (see "Resynchronization", Section 6.15) is
preferred, resynchronization will occur if a reset is signalled during
connection establishment.

        When the responder has decided which class is to be used, it
shall indicate this in the CC TPDU and shall invoke the appropriate
functions for the class.  The responder may select the preferred
class, or any of the alternative classes or may select class 0 if
class 1 is proposed or class 2 if class 3 or 4 is proposed. (see
Section 9)

        If the preferred class is not selected, then on receipt of the
CC TPDU, the initiator shall adjust its functions accordingly.

        o  TPDU Size.  The initiator may propose a maximum size for
TPDUs, and the responder may accept this value or respond with any
value between the proposed value and 128 in the set of values
available (see "Encoding", Section 8).

        o  sequence number length.  Either normal or extended is
available.  When the sequence number is extended, the credit field (if
applicable) is also extended.

        o  checksum selection.  This defines whether or not TPDUs of
the connection are to include a checksum.

        o  version number.  This defines the version of the transport
protocol standard used for this connection.

        o  security parameter.  This parameter and its semantics are
user defined.

        o  quality of service parameter.  This defines the throughput,
delay, priority and residual error rate.

        o  The non-use of explicit flow control in class 2 is
negotiated.

^L
ISO Transport Protocol Specification                                   Page 20
International Standards Organization


        o  The use of Network Receipt Confirmation and Network
expedited is negotiated when class 1 is to be used.

        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 the
mandatory alternative defined in Section 9.

        During the establishment phase of the transport connection,
the use of the expedited data option field of CR/CC  allows both
Transport Service user to negotiate the use or non use of the
expedited data transport service as described in the transport service
definitions.

        The following table summarizes the negotiation possibilities
for the options.

                                Proposition Made        Possible
                                by the Initiator        Selection by 
        Option                                          the Responder

Transport expedited data             Yes                  Yes or No
transfer service                     No                       No

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 (class 2 only)          No                       No

Use of extended format               Yes                  Yes or No
                                     No                       No

        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 must also request or agree (respectively) to the
use of explicit flow control.

6.6     Connection Refusal

        Purpose:        Refusal of the transport connection.

        TPDUs and fields used:
^L
ISO Transport Protocol Specification                                   Page 21
International Standards Organization


        DR
        -  reason (1 octet)
        -  user data (maximum of 64 octets)

        ERR
        -  reject code (1 octet)
        -  rejected TPDU parameter

        Description:

        If a transport connection cannot be accepted, the called
transport entity shall respond to the CR TPDU with a DR TPDU.  The
clearing reason shall indicate why the connection was not accepted.
The source reference field in the DR TPDU is set to zero to indicate
an unassigned reference.

        If the CR is regarded as an invalid TPDU, the called transport
entity will respond by sending an ERR TPDU.  On receipt of this TPDU,
the calling entity will regard the connection as closed.

6.7     Release

        Variants:  'implicit' or 'explicit'

        Purpose:  Termination of the transport connection.

        Network Service Primitives:

        N-DISCONNECT (implicit variant only)
        N-DATA

        TPDUs and fields used:

        DR
        - clearing reason (1 octet)
        - user data (maximum of 64 octets)

        DC

        Description:

        This function is inherent.

        In the 'implicit' variant, either transport entity disconnects
a transport connection by disconnecting the network connection to
which it is assigned.  Similarly when a transport entity is informed
that the network connection has been disconnected by the peer
transport entity, this should be considered as a transport
disconnect.

^L
ISO Transport Protocol Specification                                   Page 22
International Standards Organization


        In the 'explicit' variant, either transport entity transmits a
Disconnect Request (DR) TPDU, and the other responds with a Disconnect
Confirm (DC) TPDU.  When the DC TPDU is sent or received by a
transport entity, that entity should consider the transport connection
not to exist (note 1).  After the sending of a DR TPDU, other TPDUs
received before the DC TPDU are ignored.  It is possible that a
disconnect collision will occur, when both transport entities send a
DR TPDU at about the same time.  This results in each transport entity
receiving a DR, after sending one.  Each transport entity shall
consider the received DR TPDU as a confirmation of its DR TPDU, and
shall not send or expect to receive a DC TPDU.

        The DR can convey a limited amount (up to 64 octets) of data.

6.8     Implicit Termination

        Purpose:  Termination of a Transport Connection on the
occurrence of a signalled error for which recovery functions are not
operative.

        Network Service Primitives:

        N-DISCONNECT Indication
        N-RESET Indication

        Description:

        When, on the network connection to which a Transport
Connection is assigned, an N-DISCONNECT or N-RESET Indication occurs,
both transport entities shall consider that the transport connection
no longer exists, and so inform the session entities.

Note 1:

        When a connection has been released, after the exchange of DR
and DC, the reference can be re-used immediately (except in Class 4,
where the Frozen Reference function is used, see Section 6.19).  This
is because the releasing transport entity does not know with certainty
that the remote transport entity considers use of the reference to be
ended.  Therefore, the reference should not be re-used for further
connections.  (In practice, the reference may be re-used after a
reasonable period when it is possible to be reasonably certain that
the remote transport entity will not continue to use it).

6.9     Spurious Disconnect

        Purpose:  To deal with the arrival of an "unknown" DR TPDU.

        TPDUs and fields used:

^L
ISO Transport Protocol Specification                                   Page 23
International Standards Organization


        DR, DC
        - source reference
        - destination reference

        Description:

        A DR TPDU can be received for a transport connection which
does not exist.  Rather than treating this as an error, a DC TPDU
should be send back which reflects the references of the DR TPDU.

Note:
        This only applies when one or more transport connections using
a multiplexing class exist over the network connection, or when no
transport connections exist.  At other times it is a protocol error.

6.10    Data TPDU Numbering

        Variants:  'normal' or 'extended'

        Purpose:   Numbering of DT TPDUs for use in recovery, 
                   flow control, or sequencing functions.

        TPDUs and Fields Used:

        DT
        - TPDU-NR (7 or 31 bits)

        Description:

        DT TPDUs transmitted in each direction on a transport 
connection bear a sequence number 'TPDU-NR'.  Its value in the first
DT TPDU in each direction after connection establishment will be zero.
Thereafter each TPDU had 'TPDU-NR' one greater than the previous.  
Modulo 2**7 arithmetic is used in the 'normal' variant, and modulo 2**31
in the 'extended' variant.

        In the sections that follow, the relationships 'greater than'
and 'less than' are used in connection with TPDU numbers.  In all 
such uses, the numbers being compared cover a range less than the 
modulus and in fact lie within a contiguous set of TPDU numbers called
a 'window'.  The window has a known starting TPDU number and finishing 
number.  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

        Variants:  'network expedited' or not

        Purpose:  Provision of the expedited data service
^L
ISO Transport Protocol Specification                                   Page 24
International Standards Organization


        Network Service Primitives:

        N-DATA
        N-EXPEDITED DATA

        TPDUs and Fields Used:

        ED
        - ED TPDU-NR (7 or 31 bits)

        EA
        - YR-TU-NR (7 or 31 bits)

        Description:

        Each expedited TSDU is conveyed as the data field of an Expedited
Data (ED) TPDU.  

        Each ED TPDU received must be acknowledged by an Expedited
Acknowledge (EA) TPDU.  

        There may only be one ED TPDU unacknowledged at any time for each
direction of a transport connection.  

        In the 'network expedited' variant (available in class 1 only),
ED and EA TPDUs are conveyed in the data fields of N-EXPEDITED DATA
primitives.  Otherwise, N-DATA is used.  

6.12    Reassignment

        Purpose:  Assignment of a Transport Connection to a different
Network Connection.

        TPDUs and Fields Used:

        CR
        - source reference

        RJ, DR
        - destination reference

        Description:

        When the Network Connection to which a Transport Connection was
assigned no longer exists, the Transport Connection can be assigned to
another Network Connection.  

        When one transport entity has assigned the Transport Connection,
it is important that the other transport entity recognise to which 
Network Connection it has been assigned.  This can only take place when it
^L
ISO Transport Protocol Specification                                   Page 25
International Standards Organization


has received a TPDU for the Transport Connection on a Network Connection
with calling and called network addresses which imply 
the same transport entities as the old.  The TPDU will have been sent 
as a result of the assigning transport entity commencing resynchronization,
and will thus be a RJ, or a retransmitted CR or DR.  

        The Transport Connection shall be recognised as having been
assigned to the Network Connection on which the TPDU was received.  

6.13    Reassignment After Failure

        Purpose:  Recovery from network provider initiated disconnect.

        Network Service Primitives:

        N-DISCONNECT Indication 

        Description:

        When a N-DISCONNECT Indication arrives for the network connection
to which a transport connection is assigned, the transport connection must 
be reassigned by its initiator (see "Reassignment")

        If the reassignment has not successfully occurred within a time
of T-wait seconds, then the transport connection must be considered as
non-existent by both transport entities.1

        1.      The CR TPDU does not have a destination reference;
                nevertheless it can be distinguished from a new
                connection attempt by having the same source 
                reference.  

        NOTE:  The value of T-wait has to be agreed by the communicating
transport entities.  

6.14    Retention Until Acknowledgement of TPDUs

        Variants:  'confirmation of receipt' or 'AK'

        Purpose:  To enable and minimize retransmission after
possible loss of TPDUs.

        Network Service Primitives:

        N-DATA
        N-DATA ACKNOWLEDGE

        TPDUs and Fields Used:

        CR, CC, DR, DC
^L
ISO Transport Protocol Specification                                   Page 26
International Standards Organization


        RJ, AK, EA
        - YR-TU-NR (7 or 31 bits)

        DT
        - TPDU-NR (7 or 31 bits)

        ED
        - ED TPDU-NR (7 or 31 bits)

        Description:  

        Copies of the following TPDUs shall be retained upon transmission
to permit their later retransmission:

                CR, CC, DR, DT, ED.

        NOTE:  If DR is sent in response to CR there is no need to 
retain a copy of the DR.

        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 a N-DATA Acknowledge Request at the earliest possible
opportunity (1).  

        (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.  
                Use of the confirmation request parameter may
                affect the quality of network service.  

        After each TPDU is acknowledged, as shown in Figure 5,
the copy need not be retained.  Copies may also be discarded when
the transport connection ceases to exist.  

        TPDU                            ACKNOWLEDGED BY

        CR              receipt of CC, DR, or ERR, TPDU

        DR              receipt of DC or DR (in case of collision)
                        TPDU

        CC              receipt of RJ, DT, AK, ED, EA TPDUs (or 
                        N-DATA ACKNOWLEDGE Indication.)

        DT              N-DATA ACKNOWLEDGE Indication when the 
        (Note 1)        DT TPDU was sent before or with the oldest
                        N-DATA which had the confirmation request
^L
ISO Transport Protocol Specification                                   Page 27
International Standards Organization


                        field set.  

        DT              receipt of Data Acknowledge (AK) or
        (Note 2)        Reject (RJ) TPDU for which 'YR-TU-NR'
                        is greater than 'TPDU-NR' in the DT TPDU.

        ED              receipt of EA TPDU for which 'YR-TU-NR' 
                        is equal to 'ED-TPDU-NR' in the ED TPDU.        Notes:
  

        1.      Applies to 'confirmation of receipt' variant.
        2.      Applies to 'AK' variant.  

                Figure 5.  Acknowledgement of TPDUs

6.15    Resynchronization

        Purpose:  To restore the connection to normal after an 
error.  

        Network Service Primitives:

        N-RESET Indication

        TPDUs and Fields Used:

        CR, DR, CC, DC

        RJ, EA
        - YR-TU-NR (7 or 31 bits)

        DT                      
        - TPDU-NR (7 or 31 bits)

        ED
        - ED TPDU-NR (7 or 31 bits)

        Description:

        After the reset of an underlying network connection,
the resynchronization procedures below are carried out by both
transport entities.  

        After a network connection failure, the reassignment after
failure function is invoked and then the resynchronization function.  
The sequence of events at the two transport entities is the following:

        Events at the transport entity initiating reassignment:
        (the transport entity immediately commences resynchronization
         by sending a TPDU)
^L
ISO Transport Protocol Specification                                   Page 28
International Standards Organization


        o       if a CR is retained then retransmit it.

        o       if a DR is retained then retransmit it.

        o       otherwise, resynchronize data:

                -       send RJ TPDU with 'YR-TU-NR' field set to
                        the 'TPDU-NR' of the first unreceived DT
                        TPDU

                -       when RJ TPDU has been received retransmit any
                        ED TPDUs then DT TPDUs which are unacknowledged

                -       any ED TPDUs received which are duplicates shall
                        be acknowledged (by EA TPDUs) and discarded.  

        Events at the other transport entity:

        The transport entity shall not send any TPDUs until after 
receipt of the TPDU which commenced resynchronization.  This TPDU
therefore serves two purposes, namely indication of re-assignment
and commencement of resynchronization.  

        o       if the first received TPDU os a DR, then transmit
                a DC TPDU.

        o       if the first received TPDU is a CR and the transport
                connection is not idle, this means that a CC TPDU is
                retained:  then retransmit it followed by any ED TPDU 
                and then DT TPDUs which are outstanding (that may or
                may not have been transmitted previously).  

        NOTE:  no TPDUs can be transmitted using network expedited until 
CC becomes acknowledged, to prevent the network expedited overtaking the 
CC.  

        o       if the first received TPDU is a RJ, then act as follows:

                -       if a DR TPDU is retained, then retransmit it

                -       if a CC TPDU remains unacknowledged, then carry
                        out the data resynchronization procedure described
                        below

                -       otherwise resynchronize data:

                        -       send RJ TPDU with 'YR-TU-NR' field set to
                                the 'TPDU-NR' of the first unreceived DT
                                TPDU

^L
ISO Transport Protocol Specification                                   Page 29
International Standards Organization


                        -       retransmit any ED TPDUs then DT TPDUs which
                                are unacknowledged

                        -       any ED TPDUs received which are duplicates 
                                should be acknowledged (by EA TPDUs) and 
                                discarded.  

        NOTE:  It is possible for a transport entity using the Class 1
protocol to decide on a local basis to issue an N-RESET Request.  The effect
of this request at the remote transport entity is to force it to perform
the resynchronization mechanism.  This possibility may be used to remove 
congestion within the network connection.  

6.16    Multiplexing and Demultiplexing

        Purpose:  Concurrent sharing of a network connection by several
transport connections.

        TPDUs and Fields Used:

        CC, DR, DC, DT, AK, ED, EA, RJ, ERR
        - destination reference

        Description:

        This function is pervasive.  

        When this function is in operation, more than one transport 
connection can be simultaneously assigned to the same network connection.

        Every TPDU (including DT TPDUs) must carry the destination 
reference, to identify the transport connection to which it refers.  

6.17    Explicit Flow Control

        Purpose:  Regulation of flow of DT TPDUs independently of 
the flow control in the other layers.  

        TPDUs and Fields Used:

        CR, CC, AK, RJ
        - CDT (4 or 16 bits)

        DT
        - TPDU-NR (7 or 31 bits)

        AK, RJ
        - YR-TU-NR (7 or 31 bits)
        - subsequence number (optional)
        - flow control confirmation (optional)
^L
ISO Transport Protocol Specification                                   Page 30
International Standards Organization


        Description:

        The mechanism depends on the class.  Thus the description can
be found in the section describing the class. 

6.18    Checksum

        Purpose:  To detect corruption of TPDUs by the network service
provider.  

        TPDUs and Fields Used:

        All TPDUs
        - checksum (16 bits - 32 bits)

        Description:

        When a TPDU is to be transmited for a TC which has selected the
checksum option, the sending transport entity must generate a checksum
for the TPDU and store it in the checksum parameter in the variable
part of the TPDU header.  The checksum must be generated as follows:

        1.      Set up the complete TPDU, including the header and 
user data (if any).  The header must include the checksum parameter in
its variable part.  The value field of the checksum parameter must be
set to zero at this point.  

        2.      Initialize two variables to zero.  Let these variables 
be called C0 and C1.  

        3.      For each octet of the TPDU, including the header, 
variable part of the header and the user data, add the octet value to 
C0, and then add the value of C0 to C1.  Octets should be processed
sequentially, starting with the first octet (the Length Indicator) and
proceeding through the TPDU.  All addition is to be performed modulo 255.

        4.      Calculate the value field of the checksum parameter as
follows.  Let the offset into the TPDU of the first octet of the value 
field be 'n' (where the first octet of the TPDU, the Length Indicator
of the header, is considered to be at offset 1).  Let the length 
of the TPDU, i.e. the number of times the above operation was repeated,
be 'L'.  Let the first octet of the checksum value, i.e., the one at offset
'n' be called 'X', and the second octet, at offset 'n+1', be called 'Y'.  
Then:  

        X = (((L - n) *  C0) - C1) modulo 255
        Y = (((L - n + 1) * (-C0)) + C1) modulo 255

        5.      Place the computed values of X and Y in the appropriate
octets of the TPDU.  
^L
ISO Transport Protocol Specification                                   Page 31
International Standards Organization


                                NOTE

        An implementation may use one's complete arithmetic as an
        alternative to modulo 255 arithmetic.  However, if either
        of the checksum octets X and Y has the value minus zero
        (i.e., 255) then it must be converted to plus zero 
        (i.e., 0) before being stored.  

        When a TPDU is received for a TC for which the checksum option
has been selected, the TPDU must be verified to ensure that it has been
received correctly.  This is done by computing the checksum, using the
same algorithm by which it was generated.  The nature of the checksum
algorithm is such that it is not necessary to compare explicitly the stored
checksum bytes.  The procedure described below may be used to verify that 
a TPDU has been correctly received.  

        1.      Initialize two variable to zero.  Let these variables
be called C0 and C1.  

        2.      For each octet in the received TPDU, add the value of
the octet to C0 and then add the value of C0 to C1, starting with the
first octet and proceeding sequentially through the TPDU.  All 
addition is to be performed modulo 255.  

        3.      When all octets have been sequentially processed, the
values of C0 and C1 should be zero.  If either or both of them is 
non-zero, the TPDU has been received incorrectly and the verification
has failed.  Otherwise, the TPDU has been received correctly and the 
TPDU should be processed normally.  

                                NOTE

        An implementation may use one's complement arithmetic as an
        alternative to modulo 255 arithmetic.  In this case, if either
        C0 or C1 has the value minus zero (i.e., 255) it is to be 
        regarded as though it was plus zero (i.e., 0)

        If a checksum verification failure occurs, it is not possible
to determine the TC that the TPDU relates to, since the Reference field
of the TPDU may have been received incorrectly.  Therefore, all TCs
multiplexed onto the same NC must be treated as though a network signalled
error has occurred.  

6.19    Frozen References

        Purpose:  To prevent re-use of a reference while TPDUs associated
with the old use of the reference may still exist.  

        Description:  When a transport entity determines that a particular
connection has terminated, the reference shall be placed in a frozen state 
^L
ISO Transport Protocol Specification                                   Page 32
International Standards Organization


during which time it will not be reused.  The circumstances under which
this is done, and the period of time for which the reference remains
frozen depends on the class.   

6.20    Retransmission on Timeout

        Purpose:  To cope with unsignalled loss of TPDUs by the network
service provider.  

        TPDUs and Fields Used:

        CR, CC, DR, DT, ED, AK

        Description:  

        The description is given in the section related to class 4.  

6.21    Resequencing 

        Purpose:  To cope with misordering of TPDUs by the network
service provider.  

        TPDUs and Field Used:

        DT
        - TPDU NR

        ED
        - ED TPDU NR

        Description:

        The description is given in the section related to class 4.  

6.22    Inactivity Control

        Purpose:  To cope with unsignalled termination of a network
connection.  

        TPDUs and Fields Used:

        AK

        Description:

        The description is given in the section related to class 4.  

6.23    Treatment of Protocol Errors

        Purpose:  To deal with invalid TPDUs.
^L
ISO Transport Protocol Specification                                   Page 33
International Standards Organization


        TPDUs and Fields Used:

        ERR
        - reject cause
        - TPDU in error (string of octets)

        DR
        - reason code

        Description:

        This function is inherent.  

        Any received TPDU which is invalid or which cannot be dealt with by
any operative function, or which is regarded as a violation of the protocol
rules of the class in use (e.g., receipt in a wrong state, window error,
sequencing error, TPDU with incorrect format), shall be considered as a 
protocol error.  Such an error shall be signalled to the transport entity
responsible by the sending of an TPDU Error (ERR) TPDU or by initiating a 
release.  The ERR TPDU conveys the octets of the offending TPDU up to
and including the octet where the error was detected.  

        In general, no further action is defined for the sender of 
ERR TPDU, since it is expected that the offender will either correct 
the error, or close the connection.  

        Action to be done by the receiver depends on local implementation
decision; e.g., freeze the connection, report to management, disconnect.  

NOTES:  

        1.      Further action is a local implementation issue.  Care
should be taken by the transport entity receiving several invalid TPDUs
or ERR TPDUs to avoid looping if the error is repeatedly generated.  

        2.      There are two cases in which specific action is defined
for the receiver of the ERR TPDU (see Sections 6.6 and 7.0.7).  

6.24    Splitting and Recombining

        Purpose:  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.  

        Description:

        This function is available only in Class 4.  

        When this function is being used, a transport connection is 
assigned (see Section 6.1) to multiple network connections. TPDUs for the 
^L
ISO Transport Protocol Specification                                   Page 34
International Standards Organization


connection may be sent over any assigned network connection.  The 
resequencing function of Class 4 (see Section 6.21) is used to ensure
that TPDUs are processed in the correct sequence.  

        If the use of Class 4 is not accepted by the remote transport
entity following the negotiation rules, only the network connection
over which the CR TPDU was sent may be used for this transport
connection.  

        The splitting function should only be used where the 
supporting network connections provide similar transmit delay.  

   Protocol Mechanism           Variant         0  1  2  3  4

Assignment to Network Conn.                     *  *  *  *  *

TPDU Transfer                                   *  *  *  *  *

DT TPDU Length and Segmenting                   *  *  *  *  *

Concatenation and Separation                       *  *  *  *

Connection Establishment                        *  *  *  *  *

Connection Refusal                              *  *  *  *  *

Release                         implicit        *
                                explicit           *  *  *  *

Implicit Termination                            *     *

DT TPDU Numbering               normal             *  m  m  m
                                extended            (1)o o  o

Expedited Data Transfer         network exp.      ao
                                not "              m  *  *  *
                                                     (1)

Reassigment                                        *     *

Reassignment after Failure                         *     *

Retention until Acknowledge-    Conf. Receipt     ao
ment of TPDUs                   AK                 m     *  *

Resynchronization                                  *     *

Multiplexing and                                      *  *  *
Demultiplexing

^L
ISO Transport Protocol Specification                                   Page 35
International Standards Organization


Explicit Flow Control With                            m  *  *
                      Without                   *  *  o 

Checksum   (use of)                                         m
           (non-use of)                         *  *  *  *  o

Frozen References                                           *

Retransmission on Timeout                                   *

Resequencing                                                *

Inactivity Control                                          *

Treatment of Protocol Errors                    *  *  *  *  *

Splitting and recombining                                   *

(1)  not applicable in class 2 when the non use of explicit flow
control is selected.  

7.      PROTOCOL CLASSES

        The details of the implementation of the protocol 
mechanisms are in certain cases different for different classes.  
For this reason, the following table is not intended to provide a 
complete description of the classes, but more to give an overview of 
how each class works.  The exact definition of the protocol is given 
in the subsequent sections.

                            KEY

        *  include in the class (always)

        m  mandatory function (negotiable but always implemented)

        o  additional function (negotiable but not necessarily implemented)

        ao additional function (negotiable but not necessarily implemented).
             Use of this option depends on the willingness of both transport 
             entities and availability of network service.

        na not applicable.

7.0     PROTOCOL DESCRIPTION OF CLASS 0: SIMPLE CLASS

7.0.1   Characteristics of Class 0

        The characteristic of this class is that it provides 
the simplest type of transport connection and fully compatible 
^L
ISO Transport Protocol Specification                                   Page 36
International Standards Organization


with the CCITT recommendations S.70 for Teletex terminals.

        The class is designed for use in association with 
network connections of type A (see 5.3.1.2.4.).

7.0.2   Functions of Class 0

        This class 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.

7.0.3   Protocol Mechanisms of Class 0

7.0.3.1  Connection Establishment Phase

        Connection shall be made in accordance with the 
general rules (Assignment of Network Connection, Connection 
Establishment and Connection Refusal) with the following 
restrictions:

        o  No exchange of user data is allowed.

        o  Only TSAP-ID and TPDU size parameters are allowed.

7.0.3.2  Data Transfer Phase

        o  Segmenting  (DT TDPU length and Segmenting)

        o  Detection and indication of procedural errors.

7.0.3.3  Release Phase

        There is no explicit transport connection release 
procedure for this class.  The lifetime of the transport connection 
is directly correlated to the lifetime of the network connection.

7.0.4   Connection Establishment for Class 0

        The connection establishment function is used 
with the contraint that only the transport entity which has 
requested the establishment of the network connection may send the 
CR TPDU.  If the calling transport entity receives a CR TPDU, it 
shall transfer a TPDU Error (ERR) TPDU to notify the called 
transport entity of the procedure error.

^L
ISO Transport Protocol Specification                                   Page 37
International Standards Organization


7.0.5   Data Transfer Procedures

7.0.5.1  General 

        The data transfer procedures described in the 
following subsections apply only when the transport layer is in the 
data transfer phase, that is after completion of Transport 
Connection establishment.

7.0.5.2  Transport Data TPDU maximum length

        For Class 0 the standard maximum transport data 
TPDU length is 128 octets including the data TPDU header octets.

        Other maximum TPDU lengths may be supported in 
conjunction with the optional transport data TPDU size negotiation 
function (see Section 8.3 and 8.4).  Optional maximum data field 
lengths shall be chosen from the following list:  256, 512, 1024 
and 2048 octets.

        TSDUs are transmitted using the segmenting function.

7.0.6   Release  Procedure

        The "implicit" variant of the release function is used.

7.0.7   Treatment of invalid TPDUs

        The "treatment of protocol errors' function is used.

7.0.8   Behaviour after an error signalled by the network service.

        The implicit termination function is used and the 
high layer is informed about this disconnection.

7.0.9   Supported Options

        None

7.1     PROTOCOL DESCRIPTION OF CLASS 1:  BASIC ERROR RECOVERY CLASS

7.1.1   Characteristics of Class 1

        The characteristic of this class is that it 
provides a basic transport connection with minimal overheads.

        The main purpose of the class if to recover from 
network signalled errors (network disconnect or reset).

        Selection of this class is usually based on 
^L
ISO Transport Protocol Specification                                   Page 38
International Standards Organization


reliability criteria.  Class 1 has been designed to be used in 
association with type B network connections.

7.1.2   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 user of the Transport Service.

7.1.3   Protocol Mechanisms of Class 1

        Class 1 protocol mechanisms include Class 0 
protocol mechanisms plus the following:

7.1.3.1  User Data in the Connection Phase

        Class 1 provides the possibility of conveying 
data in the connection request and confirm commands.

7.1.3.2  Numbering of Data TPDU

        Each Data TPDU transmitted between transport entities for 
each direction of transmission in a transport connection is 
sequentially numbered.

7.1.3.3  Release

        The "explicit" variant of the release function is used.

7.1.3.4  Error Recovery

        The sending Transport entity keeps a copy of transmitted 
TPDUs until it receives an acknowledgment which allows copies to be released.
After a failure is indicated by the nerwork service (Reset, 
Disconnect), the resynchronization function is used to determine
which TPDUs must be retransmitted.

        Resynchronization may also be invoked by a transport entity
as a local matter.  For that purpose the Resynchronization function is
used (see note at the end of Section 6.15).

7.1.3.5  Acknowledgement

        Acknowledgements are used to release copies of retained TPDUs.
^L
ISO Transport Protocol Specification                                   Page 39
International Standards Organization


Two methods of acknowledgment are provided in the Retention until 
Acknowledgement of TPDUs function:

        o  use of AK TPDU ("AK" variant) - mandatory

           Note:  The credit field of the AK TPDU is
           not used in this class (always Set to zero).

        o  use of network layer Confirmation of Receipt Service.
           ('confirmation of receipt' variant) - optional

        The variant to be used is negotiated during the 
Connection Establishment Phase.  The default option is the "AK TPDU" 
variant.  Use of Network Layer Receipt Confirmation is allowed only 
in Class 1, and depends on the availability of the network layer 
receipt confirmation service, the expected cost reduction, and the 
agreement of both transport entities to use it.

7.1.4   Connection Establishment Procedures for Class 1

        The 'assignment to network connection' and 
'connection establishment' mechanisms are used.  From the point at 
which a transport entity issues a CR proposing the use of Class 1 or 
a CC accepting the use of Class 1  the following mechanisms must be 
available to deal with signalled errors during connection 
establishment:

        o  Reassignment after failure
        o  Retention until Acknowledgement of TPDUs
        o  Resynchronization

        If no DT or ED TPDU is to be sent, receipt of a CC should be
acknowledged.

7.1.5   Data Transfer Phase

        Data transfer is accomplished using the 'TPDU  
transfer' 'Concatenation' and 'DT TPDU Length and Segmenting' 
mechanisms.  'DT TPDU Numbering' and 'Retention until 
Acknowledgement of TPDUs' are used in support of error recovery.

7.1.5.1  Behaviour after an error

        After receiving a network reset, the Resynchronization
mechanism is invoked.  After receiving a network disconnect, the
'Reassignment after Failure' mechanism is invoked after which the
'Resynchronization' mechanism is invoked.

        The 'Spurious Disconnect' mechanism is used to 
deal with receipt of a DR TPDU for an unrecognised Transport 
^L
ISO Transport Protocol Specification                                   Page 40
International Standards Organization


Connection.

7.1.5.2  Procedure for Expedited Data Transfer

        The Expedited Data Transfer mechanism is used.  
Two methods are possible to provide the function:

        o  non network expedited variant

           Note: (1) This method is always included in this class.

           Note: (2) The EDTPDU-NR of the ED TPDU contains an
identification number.  This number must be different for successive ED TPDUs.
That is, when an ED TPDU has been sent and an EA TPDU for the ED 
TPDU has been received, the next ED TPDU must have a different value 
in the EDTPDU-NR field.  No other significance is attached to 
EDTPDU-NR field.  It is recommended but not essential, that the 
values used be consecutive modulo 128.

        o  network expedited variant

           Note: (1) The use of this method is 
determined through negotiation during transport connection 
establishment.

7.1.6   Release Procedures

        The 'explicit' variant of the Release mechanism is used.

        Receipt of an error indication by a transport 
entity, which, prior to this event has sent a DR, causes this 
transport entity to retransmit DR.  Only DC and DR will be accepted 
and interpreted as the completion of the connection release 
sequence.  The related Reference will become unassigned.

7.1.7   Treatment of Unknown TPDUs

        The 'Treatment of Protocol Errors' mechanism is used.

7.1.8   Supported Options

        Use of network receipt confirmation.

        Use of network expedited.

7.2     PROTOCOL DESCRIPTION OF CLASS 2: MULTIPLEXING CLASS

7.2.1   Characteristics of Class 2

        The characteristic of this class is to provide a 
^L
ISO Transport Protocol Specification                                   Page 41
International Standards Organization


way to multiplex several transport connections onto a single network 
connection.  This class has been designed to be used in association 
with type A network connections.

        Use of Explicit Flow Control

        The objective is to provide flow control to help 
avoid congestion at 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.

        Non Use of Explicit Flow Control (optional)

        The objective is to provide a basic transport 
connection with minimal overheads suitable when independence of 
transport and network connection lifetime is desirable.  The class 
would typically be used for unsophisticated terminals, and when no  
multiplexing onto network connections is required.  Expedited data 
is never available.

7.2.2   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 resets or clears, the transport 
connection is terminated without the transport clearing sequence 
and the transport 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.

7.2.3   Protocol Mechanisms of Class 2

7.2.3.1  Connection Establishment Phase

        The connection establishment function shall be used.

7.2.3.1.1  User Data in the Connection Phase

        Class 2 provides the possibility to convey data in the 
connection request and confirm commands.

7.2.3.2  Connection Identification

        In Class 2 each TPDU conveys a Destination Reference.  
^L
ISO Transport Protocol Specification                                   Page 42
International Standards Organization


This uniquely identifies the transport connection within the 
receiving transport entity and thus allows multiplexing.

7.2.3.3  Release Phase

        The release of a transport connection results either 
from the use of the 'explicit' variant of the release function or  
from the Implicit Termination function.

7.2.3.4  Protocol Mechanisms when Explicit Flow Control is used.

        The following mechanisms are provided:

7.2.3.4.1  Numbering of Data TPDU

        Each Data TPDU transmitted between transport entities 
for each direction of transmission in a transport connection is 
sequentially numbered.

        Each Data TPDU contains a Send Sequence Number T(S).

7.2.3.4.2  Flow Control Principles

        The receiver of data TPDUs holds a count of the sequence
number of the next expected TPDU.  This count is called the 
Receive Sequence Number, T(R). The receiver indicated to the sender
the number of Data TPDUs he is ready to receive by means of a 'credit'
mechanism.  Credits are given using the credit field in the AK TPDU.
The value of the credit field, in conjunction with the value of T(R) 
transported by the YR-TU-NR (your TPDU number) field
of the AK TPDU, is used by the receiver of the AK TPDU to determine
whether and how many Data TPDUs may be accepted by the sender of the
AK TPDU. Precise definition of flow control principles appears in Section 
7.2.5.5.3.

7.2.3.4.3  Expedited Flow

        The non network expedited variant is used.  Normal 
flow is the flow of data subject to the flow control mechanism, 
expedited flow is the flow of data that the sender may send without 
explicit agreement of the receiver.  This expedited flow has a 
limited capability and could for example be used to carry session 
supervisory commands.

        The number of expedited data units outstanding at any 
time is limited to one and the amount of TS-user data is limited (up 
to 16 octets).

        An expedited data may arrive before normal data which 
was submitted earlier.  Normal data submitted after the expedited 
^L
ISO Transport Protocol Specification                                   Page 43
International Standards Organization


data will arrive after the expedited data.

7.2.4   Connection Establishment Procedures for Class 2

7.2.4.1  References

        See Section 6.5 for reference assignment.  Receipt of 
any TPDU with a reference that is not assigned to a transport 
connection other than a Disconnect Request (DR) or Connection 
Request (CR) will be ignored.

        Receipt of a Disconnect Request (DR) for an unassigned
Reference will result in a Disconnect Confirm (DC) response.

7.2.4.2  Connection Eastablishment

        This phase is achieved by exchange of CR/CC TPDU using 
the 'connection establishment' function.  Since the multiplexing 
function is in use, then more than one transport connection may be 
assigned to the same network connection concurrently.  The 
restrictions of Class 0 does not apply to this class and the other 
higher classes.

7.2.5   Data Transfer Procedures for Class 2

        The data transfer procedures described in the 
following section apply independently to each transport connection 
existing between two transport entities.

7.2.5.1  TPDU Maximum Length and Segmenting

        The general rules defined in Section 6.3 apply.

7.2.5.2  Concatenation

        The general rules defined in Section 6.4 apply.

7.2.5.3  Sending Data TPDU (No Explicit Flow Control Option)

        In this case the data TPDU is built in accordance 
with the rules stated in Section 6.2 and 6.3 and sent without any 
additional mechanisms.  Thus, the DT TPDU NR field may take any 
value and no AK TPDU is used.

7.2.5.4  Sending Data TPDU (When Explicit Flow Control is Used)

        On each transport connection the transmission of Data 
TPDUs is controlled separately for each direction and is based on 
authorization from the receiver.

^L
ISO Transport Protocol Specification                                   Page 44
International Standards Organization


        This authorization is provided through the use of 
the TPDUs Credit field.  Credit field values are only present in 
the following TPDUs:  CR, CC, AK..

7.2.5.4.1  Numbering of Data TPDUs

        Each Data TPDU transmitted between transport entities, 
for each direction of transmission in a transport connection, is 
sequentially numbered.

        The sender of Data TPDUs holds a count of the next 
TPDU to be sent.  This count is called the Send Sequence Number
T(S).  The sender indicates to the receiver the number of the data 
TPDU he sends by putting the current T(S) value into the TPDU-NR 
field of the data TPDU.

        Sequence numbering is performed modulo 2**n, where n 
is the number of bits of the sequence number field.  The T(S) 
counter cycles through the entire range 0 to (2**n)-1.

        At connection establishment time both Transport 
entities initialize their T(S) and T(R) counts to zero (i.e. the 
first Data TPDU to be transmitted between transport entities for a 
given direction of data transmission after the connection 
establishment has a TPDU-NR field set to zero).

        Receipt of a Data TPDU whose TPDU-NR field is not 
equal to the expected value T(R), is to be regarded as a protocol 
error.

        Operations described above are summarized as follows:

        o  initalization

           T(S) = 0     T(R) = 0

               Sending of Data TPDU
                         put T(S) into the TPDU-NR field of 
                         the Data TPDU to be sent

                         T(S) = (T(S) + 1) (modulo 2**n)

               Receiving of Data TPDU

                         TPDU-NR field of the received data 
                         TPDU which is not equal to T(R) is 
                         a protocol error.

                         T(R) = (T(R) + 1) (modulo 2**n)

^L
ISO Transport Protocol Specification                                   Page 45
International Standards Organization


7.2.5.4.2  Window Definition

        For each transport connection and for each direction 
of data transmission a 'transmit window' is defined as the (possibly 
null) ordered set of consecutive data TPDUs authorized to be 
transmitted in that direction.  At any given time, the lowest 
sequence number of a data TPDU which a transport entity is 
authorized to transmit is referred to as the 'lowest window edge'.  
The 'upper window edge' is calculated  by adding the credit 
allocation, given by the value of the Credit (CDT) field contained 
in a received TPDU, to the lower window edge.  Note that a transport 
entity is authorized to send data TPDUs with sequence numbers up to 
but not including the upper window edge.

7.2.5.4.3  Flow Control

        Flow control is performed as follows:

        o  initialization time

           Lower window edge = 0

           Upper window edge = N (Credit received either in
           CR or in CC and N < 2**p < 2** (n-1), where P is the number of 
           bits in credit field of CR and CC.

        o  Sending of a Data TPDU

           Send data TPDUs while T(S) is less than the upper window
           edge.  If T(S) equals the upper window edge then wait for 
           additional credit before sending.

        o  Reception of Data TPDU (with TPDU NR = T(R)

           If T(R) is greater than or equal to the upper window edge
           authorized to the sending transport entity, then the receiving
           transport entity shall use the Treatment of Protocol Errors 
           function.  Otherwise T(R) shall be incremented.

           Sending Credit

                    Send AK TPDU with YR-TU-NR = T(R) and Credit equals N.
                    (Where N = number of additional data 
                    TPDUs the entity is prepared to receive.)

           Receiving Credit in AK.

                    Lower window edge = YR-TU-NR received.

                    Upper window edge =  Lower window edge + N.
^L
ISO Transport Protocol Specification                                   Page 46
International Standards Organization


7.2.5.4.4  Reducing the Upper Window Edge

        The value of the upper window edge cannot be decreased 
in this class.  If, at a certain point of time, the upper window edge 
value is U, the reception of an AK TPDU having YR-TU-NR = M and CDT 
= N such that:

        (U-M) (mod. 2**n) > N

is a protocol error

        Provided the previous statements are respected, CDT 
field may take any value including zero.

7.2.5.4.5  Procedure for Expedited Data Transfer

        The procedure of expedited data transfer allows a 
transport entity to transmit data to the remote transport entity 
without following the flow control procedure of the normal data 
flow.  This procedure can only apply in the transfer phase.

        The expedited procedure has no effect on the transfer 
and flow control applying to normal Data TPDUs.

        To transmit expedited data, the transport entity sends 
an expedited data TPDU (ED TPDU).  The size of a data field is 
limited (up to 16 octets).  The data field contains a complete ED 
TSDU.  The remote transport will then confirm the receipt of the ED 
TPDU by transmitting an expedited TPDU acknowledgement (EA TPDU).  
A transport entity can send another ED TPDU only after having 
received an EA TPDU for the previously transmitted ED TPDU.  In 
class 2 the ED TPDU NR field of the ED and YR-TU-NR field of the EA 
TPDU are not defined and may take any value.

7.2.6   Release Procedures for Class 2

        The data phase ends after a transport entity has sent 
or received a Disconnect Request (DR).  The transport entity will 
ignore any incoming TPDU except DC or DR.

        If the network resets or clears the network 
connection, all transport connections are terminated without the 
transport clearing sequence.  The References become frozen.

        For Class 2 the explicit variant of the 'release' 
mechanism is used, enabling transport connections to be cleared 
independently of the underlying network connection.

7.2.7   Treatment of Invalid TPDUs

^L
ISO Transport Protocol Specification                                   Page 47
International Standards Organization


        The 'Treatment of Protocol Error' mechanism in Section 
6.23 is used.

7.2.8   Behaviour after an Error signalled by the Network Layer.

        The implicit termination mechanism is used.

7.2.9   Supported Options

        Non use of explicit flow control.
        Extended formats.

7.3     PROTOCOL DESCRIPTION OF CLASS 3: ERROR RECOVERY AND MULTIPLEXING CLASS

7.3.1   Characteristics of Class 3

        The characteristics of Class 3 in addition to those of 
Class 2 is to mask errors indicated by the network.  Selection of 
this class is usually based upon reliability criteria.  Class 3 has 
been designed to be used in association with type B network connections.

7.3.2   Functions of Class 3

        This class 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.

7.3.3   Protocol Mechanisms of Class 3

        Class 3 mechanisms include Class 2 (with use of 
explicit flow control option) mechanisms and the ability to recover 
after a failure signalled by the network without informing the user 
of the transport connection.

7.3.3.1  Error Recovery Principles

        The sending transport entity keeps a copy of 
transmitted Data TPDUs and ED TPDUs until it receives a positive 
aknowledgement which allows copies to be released.  It may also 
receive an RJ command inviting it to retransmit or transmit all Data 
TPDUs, if any, from the point in the sequence indicated in the  RJ 
command.

        This is especially the case, when a failure is 
indicated by the network.  The transport entity sends an RJ command 
in order to indicate the sequence number of the next expected TPDU.
^L
ISO Transport Protocol Specification                                   Page 48
International Standards Organization


        Error recovery for ED TPDU is achieved by retransmission
(see 7.3.5.3).  

7.3.3.2  Relationship between Flow Control and Error Recovery

        Acknowledgement is performed by use of the T(R) count.          A
 credit is associated with this acknowledgement which may
be equal to or greater than zero.  Thus it is possible to acknowledge
data without giving the right to send new data.  

        Credit may be reduced, by the use of the RJ TPDU.  

7.3.4   Connection Establishment Procedure for Class 3

        The rules for Class 2 (with use of explicit flow 
control) apply with the addition of the following rules which apply 
on receipt of an eror indication from the Network layer.

        o  Reception of an error indication by a 
           transport entity which, prior to this event, has 
           sent a CR and has not yer received a CC, causes 
           the transport entity to retransmit CR.

        o  Reception of an error indication by a 
           transport entity to wait for reception of CR, RJ 
           or DR TPDU.  In this case:

           - Reception of CR will cause the transport 
             entity to retransmit CC.

           - Reception of RJ will cause the transport 
             entity to transmit an RJ with a YR-TU-NR 
             equal to zero and enter the data phase.

           - Reception of a DR will cause termination 
             of the transport connection as for Classes 1 
             and 2 (see 7.1.4).

7.3.5   Data Transfer Procedures for Class 3

7.3.5.1  Acknowledgement

        The 'AK' variant of the Retention until 
Acknowledgement of TPDUs function is used.

7.3.5.2  Retransmission Procedure

        TPDU retransmission is a procedure which allows 
a transport entity to request retransmission of one or several 
consecutive Data TPDUs from the remote transport entity.  A 
^L
ISO Transport Protocol Specification                                   Page 49
International Standards Organization


transport reject condition is signalled to the remote transport 
entity by transmission of an RJ TPDU whose YR-TU-NR field indicates 
the sequence number of the next expected Data TPDU.

        On receipt of a RJ TPDU, a Transport entity shall 
accept credit to the value contained in the credit field and shall 
re-transmit TPDUs, starting with the one whose number is specified in 
the YR-TU-NR field of the received RJ TPDU, subject to the new 
credit.

        The transport entity shall not specify a T(R) in the 
RJ TPDU less than that which has previously been acknowledged.  
Receipt of an RJ TPDU with a T(R) which has been previously
acknowledged will be considered a protocol error.

        Additional DT TPDUs pending initial transmission may 
follow the retransmitted DT TPDU(s) if the window is not closed.

7.3.5.3  Reducing the upper window edge

        It is possible to decrease the value of the upper 
window edge down to the sequence number transported by YR-TU-NR 
field of the RJ TPDU.  Receipt of an DT TPDU which would have been 
inside the window before the reduction is not a protocol error and 
this TPDU may be discarded.

        Note:  In such a case the credit equal to zero  
achieves the effect of a Receive not Ready Condition.

7.3.5.4  Behaviour after an error signalled by the network layer

        After receiving an error indication from the Network 
Service, the transport entity shall tranmit to the remove entity an 
RJ TPDU with YR-TU-NR field indicating the sequence number of the 
next expected Data TPDU.

7.3.5.5  Procedure for Expedited Data Transfer

        In Class 3, the ED TPDU-NR field of the Expedited 
Data (ED) TPDU contains an identification number.  This number must 
be different for successive ED TPDUs.  That is, when an ED TPDU has 
been sent and an EA TPDU for the ED TPDU has been received, the next 
ED TPDU must have a different value in the NR field of the ED 
TPDU.  No other significance is attached to this field.  It is 
recommended, however, that the values used be consecutive modulo 
2**n.  When a transport entity receives an ED TPDU for a transport 
connection, it shall respond by transmitting an expedited 
acknowledgement (EA) TPDU.

        It places in the YR-TU-NR field the value contained in 
^L
ISO Transport Protocol Specification                                   Page 50
International Standards Organization


the NR field of the received ED TPDU.  If, and only if, this value 
is different from the NR field of the previously received ED TPDU, 
the data contained in the TPDU is to be passed to the session entity.

        If an error indication from the Network layer is 
received before the receipt of the expected Expedited Acknowledgement 
(EA) TPDU, the transport entity shall retransmit the ED TPDU with 
the same value in the NR field.  By the rule described in the 
previous paragraph, the session entity does not receive data 
corresponding to the same expedited TPDU more than once.

7.3.6   Release Procedures for Class 3

        The rules for Class 2 apply with the addition of the  
following rule:

        Receipt of an eror indication by a transport entity, 
which prior to this event has sent a DR, causes this transport 
entity to retransmit DR.  Only DC and DR will be accepted and 
interpreted as the completion of the connection clearing sequence.  
The related Reference will become unassigned.

7.3.7   Treatment of Invalid TPDUs

        The 'Treatment of Protocol Errors' mechanism is used.

7.3.8   Supported Options

        Extended formats.

7.4     PROTOCOL DESCRIPTION OF CLASS 4: ERROR DETECTION AND RECOVERY CLASS

7.4.1   Characteristics of Class 4

        The characteristic of Class 4, in addition to those of 
Class 3, is the detection of errors which occur as a result of the 
low grade of service available from the network layer.  The kinds of 
errors to be detected include:  TPDU loss, TPDU delivery out of 
sequence, TPDU duplication.  These errors may afect control TPDUs as 
well as Data TPDUs.

        Class 4 has been designed to be usd in association 
with network connections of type C.

7.4.2   Functions of Class 4

        This class provides the functionality of Class 3, plus 
the ability to detect and recover from lost, duplicated or out of 
sequence TPDUs without involving the user of the transport service.

^L
ISO Transport Protocol Specification                                   Page 51
International Standards Organization


        This detection of errors is made by extended use of 
the sequence numbering of Classes 2 and 3, by a timeout mechanism, 
and by additional protocol mechanisms.

        This class additionally detects and recovers from 
damaged TPDUs by using a checksum mechamism.  The use of the 
checksum mechanism must be available but its use or its non use is 
subject to negotiation.  Class 4 does not attempt to deal with 
detection of errors due to the misdelivery of TPDUs.

7.4.3   Protocol Mechanisms of Class 4

7.4.3.1  Network Service Data Unit Lifetime

        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 is known by the Transport Layer.  
The maximum time which may elapse between the transmission of an 
NSDU into the network layer and the receipt of any copy of it is 
referred to as M.

7.4.3.2  Average Transit Delay

        It is assumed that there is some value of transmit 
delay in the network, typically much less than M, which will be the 
maximum delay suffered by all but a small proportion of NSDUs.  This  
value is referred to as E.

7.4.3.3  Remote Acknowledge Time Assumptions

        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 transmisssion of the Corresponding response.
this value is referred to as A/L.  The corresponding time given by the 
remote transport entity is referred to as A/R.  The values for these
timers may be conventionally established or may be established
at connection establishment time.  

7.4.3.4  Local Retransmission Time

        The local transport entity is assumed to maintain a 
bound on the time it will wait for an acknowledgement before 
retransmitting the TPDU.  This time is the local retransmission time 
and is referred to as T1.

                  T1 = 2*E +  X  + Ar?

             Where X is a value to allow for TPDU processing in the 
local transport entity.

^L
ISO Transport Protocol Specification                                   Page 52
International Standards Organization


7.4.3.5  Persistence Time

        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 acknowledgment.  This value is referred to 
as R.

        The value is clearly related to the time elapsed 
between retransmission, T1, and the maximum number of 
retransmissions, N.  It is not less than T1*N+X, where X is 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.

7.4.3.6  Bound on Reference Identifier and Sequence Numbers

        Using the above values, a bound L may be established 
for the maximum time between the decision to transmit a TPDU and the 
receipt of any response relating to it.  The value of L is given by:

                  L = 2*M+R+Ar

        It is necessary to wait for a period L before reusing 
any reference or sequence number, to avoid confusion in case a TPDU 
referring to it may be duplicated or delayed.

        (Note:  In practive, 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).

7.4.3.7  Inactivity Time

        To protect against unsignalled breaks in the network 
connection (Half-open connections), each transport entity maintains 
an inactivity time interval.   If the interval passes without 
receipt of some TPDU, the transport entity will terminate the TC by 
making use of the release procedure.  This interval is referred to 
as I.

7.4.3.8  Window Time

        A transport entity maintains a time to ensure that 
there is a maximum interval between transmission of up-to-date 
window information.  This interval is referred to as the window 
time, W.

7.4.3.9  Class 4 Error Recovery Principles
^L
ISO Transport Protocol Specification                                   Page 53
International Standards Organization


        In class 4, the transport entity associates a response time
with TPDUs sent requiring a response.  If an appropriate response is 
not received within time T1, the recovery procedure must be invoked
by the sender.  This will usually involve the retransmission of the 
corresponding TPDU.  

        A TPDU may be transmitted a maximum number of times,  
This number is referred to a N.  The value of N is chosen so that 
the required quality of service can be provided given the known 
characteristics of the network connection.

7.4.3.10  Relationship of Times and Intervals

        The following note describes the relationship between 
the time described in Section 7.4.3.1 - 7.4.3.9.

        Note:

             a.   The interrelationship of times for the worst case 
                  is as follows:

                  M:   maximum transit delay of the network (see 
                       7.4.3.1)

                  Ar  maximum acknowledgement time of the remote 
                       transport entity (see 7.4.3.3)

                  R:   maximum local retransmission time (see 
                       7.4.3.5)

                  N:   maximum number of transmission for a single 
                       TPDU (see 7.4.3.9)

                  L:   maximum time for a TPDU to be valid (see 
                       7.4.3.6)

                                             R = T * (N-1)
                                                  1

                            R
                             
                            *
                            M
             L              *

                            A                =2*M  +  A   + R
                             R                         R

                            *
                            M
^L
ISO Transport Protocol Specification                                   Page 54
International Standards Organization


                                         
                                 t      t

             b.   The interrelationship of times for the average 
                  case is as follows (see 7.4.3.4)

                  E:        average transit delay for the network 
                            (E<<M)

                  X:        TPDU processing time

                  T :       average time from sending a TPDU until 
                   1        the receipt of its acknowledgement (see 
                            7.4.3.4)

                  A :       maximum acknowledgement time of the 
                   R        remote transport entity (see 7.4.3.3)

                         X

                         E

                         A         T  = 2*E + X + A
                          R         1              R

                         E
t                t

7.4.3.11  Sequence Numbering

        In Class 4 sequence numbering is applied to certain 
control TPDUs and their acknowledgements, as well as to DT TPDUs.  
These are ED and its acknowledgement EA.

        The length of sequence numbers may be negotiated at 
connection establishment.  Where other than the default length is 
used, an extended header format is used for sequenced TPDUs 
containing additional octets of sequence numbers.  Extended header 
format includes a credit field on the appropriate TPDU types 
allowing extended credit allocation.

7.4.4   Procedures for Connection Establishment Phase

        The following features pertain to connection 
establishment for Class 4:

        o  In Class 4, a connection is not considered 
           established until the successful completion 
           of a 3-way TPDU exchange.  The sender of a 
           CR TPDU must respond to the corresponding CC 
^L
ISO Transport Protocol Specification                                   Page 55
International Standards Organization


           TPDU by immediately sending a DT, ED or AK TPDU.

        o  As a result of duplication, 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, 
           the receiving transport entity should ignore 
           such a TPDU.  Otherwise a CC TPDU should be 
           transmitted.

        o  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 should ignore such a CC TPDU.

        o  A CC TPDU may be received specifying a 
           reference which is in the frozen state.  The 
           response to such a TPDU should be a DR TPDU.

7.4.4.1  Connection Request

        When a transport entity transmits a CR TPDU it starts 
timer T1.  If this timer expires before a CC TPDU is received, the 
CR TPDU is retransmitted and the timer restarted.  After 
transmission of the CR TPDU N times, the connection establishment 
procedure is abandoned and the failure reported to the transport 
user.  The reference must be placed in the frozen state for a period 
L (see section 7.4.3.6).

7.4.4.2  Incomimg Connection Request

        An incoming connection request is processed as for Class 3

7.4.4.3  Connection Confirm

        When a transport entity transmits a CC TPDU it starts 
timer T1.  If this timer expires before an AK or DT TPDU is 
received, the CC TPDU is retransmitted according to the 
retransmission principles in Section 7.4.3.9

7.4.4.4  Incoming Connection Confirm

        When a CC TPDU is received, the receiving transport entity
enters the data transfer phase.  It must immediately transmit an
AK, ED or DT TPDU to complete the 3-way TPDU exchange.  The
CC TPDU is subject to the usual rules of the data transfer phase
regarding retransmission, see Section 7.4.5.3.  
^L
ISO Transport Protocol Specification                                   Page 56
International Standards Organization


7.4.4.5  Incoming Acknowledgement

        When an AK, DT or ED TPDU is received the receiving 
transport entity can enter the data transfer phase.  If the entity 
has data to send it may send DT TPDUs or an ED TPDU.  The DT TPDUs 
are subject to flow control.  Otherwise, the transport entity must 
obey the inactivity principles (see Section 7.4.5.8).

7.4.4.6  Unsuccessful Connection

        When a DR TPDU is received in response to a CR TPDU, 
the timer T1 is cancelled and the reference placed in the frozen 
state for a period L (see Section 7.4.6.1).

7.4.4.7  Initial Credit Allocation

        The CR and CC TPDUs may allocate an initial credit value 
to their respective recipients.  This value is limited to 15 by the 
encoding of the TPDU.  Where the extended header format is in use, 
credit values greater than 15 must be allocated using AK TPDUs.

7.4.4.8  Exchange of Acknowledge Time

        A transport entity may transmit the value it intends 
to use for AL at connection establishment, as the 'Acknowledge 
Time' parameter in the CR or CC TPDU (depending on whether the 
transport entity is initiating or accepting the transport 
connection).  If this parameter is present in a received CR or CC 
TPDU, the value of AR should be set accordingly.  If this 
parameter is not present, AR may be assumed to be insignificant in 
comparison to E the typical maximum transit delay.

7.4.5   Procedure for Data Transfer Phase

7.4.5.1  Sequence Control

        The receiving transport entity is responsible for 
maintaining the proper sequence of DT TPDUs.

        DT TPDUs received out of sequence must not be 
delivered to the TS-user until in-sequence TPDUs have also been 
received.

        AK TPDUs also contain information allowing the 
receiving transport entity to process them in the correct order.

7.4.5.2  Duplicate DT TPDUs

        Duplicate TPDUs can be detected because the T(S) value 
matches that of previously received TPDUs.  T(S) values must not be 
^L
ISO Transport Protocol Specification                                   Page 57
International Standards Organization


reused for the period L after their previous use.  Otherwise, a  
new, valid TPDU could be confused with a duplicated TPDU which had 
previously been received and acknowledged.

        Duplicated DT TPDUs must 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 should be
ignored.

7.4.5.3  Retransmission Principles

        When a transport entity has some outstanding DT or ED 
TPDUs that require acknowledgement, it will check that no T1 
interval elapses without the arrival of an AK or EA TPDU that 
acknowledges one of them.  If the timer expires, the first TPDU is 
retransmitted and the timer is restarted.  After N transmissions 
(N-1 retransmissions) the connection is assumed to have failed and 
the release phase is entered, and the transport user is informed.

        DT TPDUs which fall beyond the current window (due to 
reduction of the upper window edge) are not retransmitted until 
advancement of the upper window edge so permits.

     Note:     This requirement can be met by different 
                       means, for example.

             1.   One timer is associated with each TPDU.  If the 
                  timer expires, the associated TPDU will be 
                  retransmitted, and the timer T1 will be 
                  restarted for all subsequent DT TPDUs.

             2.   One timer is associated with each TC:

                  if the transport entity transmits a DT TPDU 
                  requiring acknowledgement, it starts timer 
                  T1,

                  if the transport entity receives a TPDU that 
                  acknowledges one of the TPDUs to be 
                  acknowledged, timer T1 is restarted,

                  if the transport entity receives a TPDU that 
                  acknowledges the last TPDU to be 
                  acknowledged, timer T1 is stopped.

        For the decision whether the retransmission timer T1 
is maintained on a per TPDU or on a per TC basis, throughput 
considerations have to be taken into account.
^L
ISO Transport Protocol Specification                                   Page 58
International Standards Organization


7.4.5.4  Acknowledgement Principles

        A transport entity operating class 4 must acknowledge 
all TPDUs received requiring acknowledgment.  To avoid unnecessary 
retransmissions and to avoid delays to transmission by the remote 
transport entity, the delay for acknowledgement should not exceed 
timer A  (see Section 7.4.3.2).
       L

        There are two TPDU types that must be acknowledged:  
ED and DT.  Receipt of an ED TPDU must be acknowledged by an EA 
TPDU.  A DT TPDU is acknowledged with an AK TPDU.

        An AK TPDU has the sequence number of the next DT 
TPDU the receiving transport entity expects to receive.  It thus 
acknowledges receipt of all DT TPDUs with sequence numbers less than 
the acknowledgement number.

        An AK TPDU may be repeated at any time, using the 
sequence number in the last AK TPDU sent.

7.4.5.5  Flow Control Principles

        Flow control in Class 4 is subject to the same 
principles as in Classes 2 and 3.  The credit mechanism and window 
principle of those classes still apply, except that in class 4, the 
upper window edge can be reduced by the receiving transport entity 
by sending an AK TPDU with a smaller credit.

        A receiving transport entity may send an AK TPDU at 
any time to change the window size.  This AK TPDU may acknowledge a 
new DT TPDU or may repeat a previous acknowledgement.

7.4.5.6  Window Synchronization Principles

        To ensure the synchronization of flow control 
information the window timer provokes the frequent exchange of AK 
TPDUs between transport entities.  The window timer maintains a 
minimum level of TPDU traffic between transport entities cooperating 
in a transport connection.

        In Class 4 the window size can be reduced in any AK 
TPDU.  Due to the possibility of misordering of AK TPDUs and the
associated loss of efficiency, the AK TPDU for class 4 
includes an additional field called the AK TPDU  subsequence 
parameter.

        An AK TPDU should contain the subsequence parameter 
whenever a duplicate AK TPDU is sent with the same sequence number 
but with reduced credit.  The value of the subsequence parameter is 
^L
ISO Transport Protocol Specification                                   Page 59
International Standards Organization


set to one for the first time the AK TPDU is resent with reduced 
credit.

        When an AK TPDU is transmitted whose sequence 
number is increased, the 'sub-sequence' parameter is omitted 
until credit reduction takes place.

        When an AK TPDU is received, it must be processed 
(i.e., its contents made use of) only if:

        o  The sequence number is greater than in any
           previously received AK TPDU, or,

        o  The sequence number is equal to the highest 
           in any previously received AK TPDU, and the 
           sub-sequence parameter is greater than in 
           any previously received AK TPDU having the
           same sequence number (where an 
           absent sub-sequence parameter is regarded 
           as having a value of zero), or

        o  The sequence number and sub-sequence 
           parameter are both equal to the highest in 
           any previously received AK TPDU (where an 
           absent sub-sequence parameter is regarded as 
           having a value of zero), and the credit 
           field is greater than in any previously 
           received AK TPDU having the same sequence 
           and sub-sequence numbers. 

        When an AK TPDU is transmitted which opens a closed 
window (i.e. increases credit from zero), it should be retransmitted 
at an interval of T1.  Transmission should occur a maximum of N 
times, after which the usual inactivity retransmission timer should 
be reverted to.  Retransmission may also cease if the local 
transport entity becomes sure that the new credit information has 
been received by the remote transport entity.

        If a transport entity receives an AK TPDU containing 
a 'Flow Control Confirmation' parameter, whose Lower Window Edge and 
Your-Sub-Sequence fields are equal to its own lower window edge and 
sub-sequence number, it may note that the credit available at the 
remote transport entity (relative the Lower Window Edge field) is at 
least equal to the value conveyed as Your Credit.  This enables the 
transport entity to cease the frequent retransmission of window 
information, if it thereby knows that the remote window is open.

        A transport entity need not retransmit window 
information (except as described under Inactivity Principles) if it 
is aware by the receipt of DT TPDUs that the remote transport entity 
^L
ISO Transport Protocol Specification                                   Page 60
International Standards Organization


has sufficient credit to prevent deadlock.  When an AK TPDU is 
transmitted in response to a DT TPDU, the transport entity may 
normally assume that the transmitter of the DT TPDU will ensure that 
the AK TPDU is received, be retransmission of the DT TPDU if 
necessary.  Therefore, it can normally be assumed that the credit 
conveyed in such an AK TPDU will be available to the remote 
transport entity, and frequent retransmission is unnecessary.

        The assumption that the DT TPDU will be retransmitted 
may be incorrect if credit reduction has taken place.  Therefore, a 
transport entity may not make this assumption if the 
sequence number of the DT TPDU is less than or equal to the highest 
value for which permission to transmit (i.e., credit) has been given 
and subsequently withdrawn.

        Upon receipt of an AK TPDU which increases the upper 
window edge, a transport entity may transmit an AK TPDU which 
repeats the information contained in the received TPDU in a 'Flow 
Control Confirmation' parameter in its variable part an thereby 
assures the transmitter of the original AK TPDU of its own state.  
Such an AK TPDU may be tranmmitted:

        o  Upon receipt of a duplicated AK TPDU 
           (i.e., one which is identical in all fields, 
           including the sub-sequence parameter if 
           present, to the most recently received AK 
           TPDU which was not discarded due to 
           detection of a sequence error), not 
           containing the 'Flow Control Confirmation' 
           parameter.

        o  Upon receipt of an AK TPDU which increases 
           the upper window edge but does not increase 
           the lower window edge, when the upper window 
           edge was formerly equal to the lower window 
           edge.

7.4.5.7  Procedure for Expedited Data

        The procedure for expedited data is as for Class 3, 
with the following exceptions.

        The ED TPDU has a sequence number which is allocated 
from a separate sequence space from that of the DT TPDUs.  The EA 
TPDU carries the same sequence number as the corresponding ED TPDU.  
Only a single ED TPDU may be transmitted and awaiting 
acknowledgements at any time.

        Upon receipt of an unduplicated ED TPDU, a transport 
entity immediately forwards the data to the transport user.  The ED 
^L
ISO Transport Protocol Specification                                   Page 61
International Standards Organization


TPDU sequence number is recorded in an EA TPDU sent to the other 
transport entity.

        The sender of an ED TPDU shall not send any new DT 
TPDU with higher T(S) until it receives the EA TPDU.  This 
guarantees the arrival of the ED TPDU before any subsequently sent 
DT TPDUs.

7.4.5.8  Inactivity Principles

        If the Inactivity Time I passes without receipt of 
some TPDU, the transport entity will terminate the TC by making use 
of the release procedure.  To present expiration of the remote 
transport entity's inactivity times 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 Principles (see 7.4.5.6) may ensure that 
this requirement is met.

        Note: It is likely that the release procedure 
initiated due to inactivity timer expiration will fail, as such 
expiration indicates probable failure of the supporting NC or of the 
remote transport entity.  This case is described in Section 7.4.6.

7.4.6   Procedures for Release Phase

        The rules for class 3 apply.  The DR TPDU is subject 
to the usual retransmission procedure.  After N retransmissions, the 
transport connection is considered disconnected, the Reference is 
placed in the frozen state for a period L and retransmission ceases.

        The DC TPDU is sent only in response to a DR TPDU, and 
is not subject to the retransmission procedure.

        The DC TPDU when received allows the transport entity 
to release all resources maintained for the transport connection.

        The DR TPDU does not carry a sequence number.  Any 
previously transmitted TPDUs (including DT and ED) which are 
received after the DR TPDU result in a further DR TPDU but are 
otherwise ignored.  After disconnection, for whatever reason, the 
Reference is placed in the frozen state for a period L.

7.4.6.1  Unassigned Frozen References

        When a transport connection is terminated, the 
corresponding references cannot be immediately reused since TPDUs 
containing these references may continue to exist in the network for 
a time up to L.  Therefore, these references will be placed in an 
unassignable, frozen state for this peiod.
^L
ISO Transport Protocol Specification                                   Page 62
International Standards Organization


        After an event involving loss of transport entity 
state information, including the status of reference assignments, 
all references relating to network connections whose transport 
state information has been lost must be placed in the frozen state 
for a period L.

        If a DC TPDU is received for a local reference which 
is in the frozen state, or with a remore reference not matching the 
already recorded one, this DC TPDU shall be ignored.

7.4.7   Treatment of Invalid TPDUs

        The 'Treatment of Protocol Erorrs' function is used.

7.4.8   Supported Options

        Non use of checksum.

        Use of extended formats.

8.      ENCODING

8.1     Summary

                                    Classes
                                  0  1  2  3  4   Sect.       Code

CR Connection Request             x  x  x  x  x   8.3      1110xxxx

CC Connection Confirm             x  x  x  x  x   8.4      1101xxxx

DR Disconnect Request             x  x  x  x  x   8.5      10000000

DC Disconnect Confirm                x  x  x  x   8.6      11000000

DT Data                           x  x  x  x  x   8.7      11110000

ED Expedited Data                    x  NF x  x   8.8      00010000

AK Data Acknowledgement            NRC  NF x  x   8.9      0110xxxx
    (Note 1)

EA Expedited Data                    x  NF x  x   8.10     00100000
   Acknowledgement

RJ Reject (Note 1)                   x     x      8.11     0101xxxx

ERR TPDU Error                    x  x  x  x  x   8.12     01110000

not available (Note 2)                             -      00000000
^L
ISO Transport Protocol Specification                                   Page 63
International Standards Organization


not available (Note 2)                             -      00110000

not available (Note 2)                             -      1001xxxx

not available (Note 2)                             -      1010xxxx

Where xxxx (bits 4-1) is used to signal the CDT

Note 1: In extended header format, the code for AK=0110 0000 and the 
        code for RJ=0101 0000.

Note 2: These codes are already in use in compatible protocols 
        defines by standards organizations other than CCITT/ISO.

NF:     Not available when the non explicit flow control option is 
        selected.

NRC:    Not available when the receipt confirmation option is 
        selected.

8.2     Structure

        As defined in the previous sections, all the Transport 
Protocol Data Units (TPDU) shall contain an integral number of 
octets.  The octets in a TPDU are numbered starting from 1 and 
increasing in the order of transmission.  The bits in an octet are 
numbered from 1 to 8, where bit 1 is the low-ordered bit.

        There are tao types of TPDUs:

        o  Data TPDUs, used to transfer Transport Service 
           Data Units (TSDUs).  The structure of the TSDUs is 
           maintained by means of the TSDU End Mark.

        o  Control TPDUs, used to control the transport 
           protocol functions, including the optional 
           functions.

Octets  1  2  3  4           n  n+1          p  p+1
        ------------      --------------   --------------   --------   
        LI|  | |  |  ...    |  |   |    .... | |    |   .... |             
        ------------      --------------   --------------   --------
        
         <--- Fixed Part -----><-- Variable Part->
                                   (including checksum   
                                    where applicable)

        <--------------Header-------------------><----Data Field->  

A TPDU is divided into four parts:
^L
ISO Transport Protocol Specification                                   Page 64
International Standards Organization


        o  Length Indicator Field (LI)

        o  Fixed Part

        o  Variable Part (may be omitted)

        o  Data Field (may be omitted)

The length Indicator Field, Fixed Part and Variable Part constitute 
the Header of the TPDU.

8.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 (11111110).  The length indicated is the header length, 
including parameters, but excluding the length indicator field and 
user data, if any.  The value 255 (11111111) is reserved for 
possible extensions.

8.2.2   Fixed Part

        The fixed part contains frequently occurring functions 
including the code of the TPDU.  The length and the structure of the 
fixed part are defined by the TPDU code, defined by bits 5 to 8 of 
the second octet of the header.

8.2.2.1  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:

             1110 xxxx      Connecting Request
             1101 xxxx      Connection Confirm
             0101 xxxx      Reject
             0110 xxxx      Data Acknowledgement

        Where xxxx (bits 4-1) is used to signal the CDT.

        Any other bit pattern may be used to define a TPDU Code.
        Only those codes defined in Section 8.1 are currently valid.

8.2.3   Variable Part

        The variable part is used to define parameters 
relating to optional functions.  If the variable part is present, it 
shall contain one or more parameters.  The number of parameters that 
may be contained in the varialbe part is indicated by the length of 
^L
ISO Transport Protocol Specification                                   Page 65
International Standards Organization


the variable part which is a LI minus the length of the fixed part.

        Since the currently defined minimum fixed part for 
headers which allow parameters is four octets, and since the length 
indication field is limited to a maximum of 254, the maximum length 
of the variable part is 250 octets.

        Each parameter contained within the variable part is 
coded 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

        o       The parameter code field is coded in binary and, 
                without extensions, provides a maximum number of 
                255 different parameters.  However, as noted below, 
                bits 8 and 7 indicates the source of definition, 
                so the practical maximum number of different 
                parameters is less.  Parameter code 1111 1111 is 
                reserved for possible extensions of the parameter code.

        o       The parameter length indication indicates the length, 
                in octets, of the parameter value field.  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 succeedimg parameter, the maximum value of "m" decreases.

        o       The parameter value field contains the value of the 
                parameter identified in the parameter code field.

        o       No standard parameter codes use bits 8 and 7 with the 
                value 00.

        o       Implementations shall accept the parameters defined in 
                the variable part in any order.  If any parameter is 
                duplicated then the later value will be used.

8.2.3.1  Checksum Parameter (Class 4 only)

^L
ISO Transport Protocol Specification                                   Page 66
International Standards Organization


        All TPDU types may contain a checksum parameter in 
their variable part.  This parameter must always be present 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 
                                 Section 6.18.

8.2.4   Data Field      This field contains transparent user data.  
Restrictions on its size are noted for each command.

8.3     Connections Request (CR)

8.3.1   Structure

        1     2         3        4     5    6     7     8     p   p+1
        LI  CR  CDT 00000000 00000000 SOURCE-   class  VARIABLE  USER DATA
                                      REFERENCE options   PART

8.3.2   LI

        See Section  8.2.1

8.3.3   Fixed Part (Octets 2 to 7)

             CR:       Connection Request Code:      1110

             CDT:      Initial Credit Allocation (set to 0000 in    
                       Classes 0 and 1 when specified as preferred class).

             SOURCE REFERENCE:        Reference selected by the transport 
                                      entity initiating the CR TPDU to 
                                      identify the requested TC.

             CLASSES:   Bits 8-5 octer 7 defines the preferred Transport 
                        Protocol class to be operated over the requested 
                        TC.  This field may take on one of the following 
                        values.

                                 0000           Class 0
                                 0001           Class 1
                                 0010           Class 2
                                 0011           Class 3
                                 0100           Class 4

        The CR contains the first choice of class in the fixed 
part as above.  Second and subsequent choices are listed in the 
variable part if required.
^L
ISO Transport Protocol Specification                                   Page 67
International Standards Organization


        Bits 4-1 of octet 7 are reserved for options to be 
used on the requested transport connection.

        The use of bits 4-1 is as follows:

                  BIT            OPTION

                  4              0    always

                  3              0    always

                  2              =0   use of normal formats
                                 =1   use of extended formats

                  1              =0   use of explicit flow control 
                                      in Class 2

                                 =1   no use of explicit flow 
                                      control in Class 2

        Note:

        1.  It is not valid to request 'use of expedited data 
            transfer' (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.

8.3.4   Variable Part (Octets 8 to p)

        The following parameters are permitted in the variable part:

        o  Transport Service Access Point Identifier (TSAP-ID)

           Parameter code 11000001 for the identifier of the Calling TSAP.

           11000010 for the identifier of the Called TSAP.

        If a TSPA-ID is given in the request it may be 
returned in the confirmation.

        o  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 11000000

^L
ISO Transport Protocol Specification                                   Page 68
International Standards Organization


        Parameter value field

        00001101  8192 octets (not allowed in Class 0 of 1)

        00001100  4096 octets (not allowed in Class 0 of 1)

        00001011  2048 octets

        00001010  1024 octets

        00001001  512 octets

        00001000  256 octets

        00000111  128 octets

        Default value is 00000111 (128 octets)

        Version Number (not used in Class 0)

        Parameter code 11000100

        Parameter value field 00000001

        Default value 00000001

        Default value 00000001 (not used in Class 0)

       o Security Parameter (not used in Class 0)

         This parameter is user defined.

         Parameter code 11000101

         Parameter value and length field are user defined

       o Checksum (not used in Classes 0 through 3)

             See Section 8.2.3.1

         This parameter must 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.

       o Additional Option Selection (not used in Class 0)

        This parameter defines the selection to be made as to 
        whether or not additional options are to be used.

        Parameter code 11000110
^L
ISO Transport Protocol Specification                                   Page 69
International Standards Organization


        Parameter length:  1
        Parameter value field:

        Bits related to options particular to one class are 
        not meaningful and may take any value in the other classes.

             BITS                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=   Checksums are to be used in Class 4
                  1=   Checksums are not to be used in Class 4

             1    1=   Use of transport expedited data transfer 
                       service
                  0=   No use of transport expedited data transfer 
                       service

             Default falue is 00000001

        o Alternative protocol class (not used in Class 0)

             Parameter code 11000111

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

        o  Acknowledge Time

        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 section 7.4.5.3).

        Parameter Code 10000101

        Parameter Value field: n a binary number (2 octets)

        n is the maximum acknowledge time, expressed in 
        milliseconds.

        o  Throughput      Parameter code:    10001001

                            Length         :    12
^L
ISO Transport Protocol Specification                                   Page 70
International Standards Organization


                            1st 3 octets   :    Targer 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

             Values are expressed in octets per second.

        o Residual          Parameter code:     10000110
          error rate
                            Length        :     3

                            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

        o  Priority         Parameter code:     10000111

                            Length        :     2

                            Value         :     Integer

        o  Transit          Parameter code:     10001000
             delay

                            Length        :     8

                            1st 2 octets  :     Target value, 
                                                calling-called user 
                                                direction

                            2nd 2 octets  :     Max. acceptable,
                                                calling-called user
                                                direction.
^L
ISO Transport Protocol Specification                                   Page 71
International Standards Organization


                            3rd 2 octets  :     Target value, 
                                                called-calling user 
                                                direction.

                            4th 2 octets  :     Max. acceptable, 
                                                called-calling user 
                                                direction

             Values are expressed in milliseconds.

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

8.4     Connection Confirm (CC)

8.4.1   Structure

        1     2     3     4     5     6    7    8    p   p+1

        LI CC  CDT DST-REF SOURCE-REF  class  VARIABLE  USER DATA
          1101                         options  Part             

8.4.2   LT

        See Section 8.2.1.  

8.4.3   Fixed Part (Octets 2 to 7)

             CC                      :          Connection Confirm 
                                                Code:  1101

             CDT                     :          Initial Credit 
                                                Allocation (set to 
                                                0000 in Classes 0 
                                                and 1).

             DST-REFERENCE           :          Reference 
                                                identifying the 
                                                requested transport 
                                                connection at the 
                                                remote transport 
                                                entity.

             SOURCE REFERENCE        :          Reference selected 
                                                by the transport 
                                                entity initiating 
                                                the CC TPDU to 
^L
ISO Transport Protocol Specification                                   Page 72
International Standards Organization


                                                identify the 
                                                confirmed TC.

             CLASSES                 :          Defines the selected 
                                                transport protocol class to 
                                                be operated over the accepted 
                                                TC according to the 
                                                negotiation rules specified 
                                                in Section 6.5.

8.4.4   Variable part (Octet 8 to p)

        See Section 8.3.4

8.4.5   User Data (Octets p+1 to the end)

        See Section 8.3.5

8.5     Disconnect Request (DR)

8.5.1   Structure

LI  DR        DST-REF   SOURCE-REF    REASON    VARIABLE  USER DATA 
   10000000                                       PART               

8.5.2   LI

             See Section 8.2.1

8.5.3   Fixed Part (Octets 2 to 7)

        DR                :      Disconnect Request Code:   1000

        DST-REFERENCE     :      Reference identifying the TC at 
                                 the remote transport entity.

        SOURCE REFERENCE  :      Reference identifying the TC at 
                                 the transport entity initiating  
                                 the command.  Value zero when 
                                 reference is unassigned.

        REASON            :      Defines the reason for 
                                 disconnecting the TC.  This field 
                                 shall take one of the following 
                                 values:

                                 The following values can be used 
                                 for class 1 to 4:

                                 128 + 0 - Normal disconnect 
^L
ISO Transport Protocol Specification                                   Page 73
International Standards Organization


                                 initiated by session entity.

                                 128 + 1 - Remote transport entity 
                                 congestion at connect request time

                                *128 + 2 - Connection negotiation failed 
                                (i.e. proposed class(es) not supported).

                                 128 + 3 - Duplicated connection detected

                                 128 + 4 - Mismatched references

                                 128 + 5 - Protocol error

                                 128 + 6 - Not used

                                 128 + 7 - Reference overflow

                                 128 + 8 - Connection request refused on this 
                                 network connection

                                 128 + 9 - Not used

                                 128 + 10 - Header or parameter length invalid

             The following values can be used for all classes.

                  0 -  Reason not specified

                  1 -  Congested at TSAP

                  *2   Session entity not attached to TSAP

                  *3   Address unknown

             Note:     Reasons marked with '*' may be reported to 
                       the TS-user as 'persistent', other reasons 
                       as 'transient'.

8.5.4   Variable Part (Octets 8 to 10)

        o    A parameter may be provided to allow additional 
             information related to the clearing of the connection.

             Parameter code:       11100000

             Parameter Value Field:  Additional information.  This 
             field is intended to be used by the transport service 
             provider for internal purposes.

^L
ISO Transport Protocol Specification                                   Page 74
International Standards Organization


        o    Checksum (see 8.2.3.1)

8.5.5   User Data (Octets p+1 to the end)

        Not allowed in class 0,

        This field may not exceed 64 octers and is used 
to carry TS-User data.  The successful transfer of this data is not 
guaranteed.

8.6     Disconnect Confirm (DC)

        (Not used in Class 0)

8.6.1   Structure

        1     2         3       4       5      6        7        p
        LI             DST-REFERENCE  SOURCE-REFERENCE  Variable Part
           11000000

8.6.2   LI

        See Section 8.2.1

8.6.3   Fixed Part (Octets 2 to 6)

             DC            :     Disconnect Confirm Code:  1100

             DST-REFERENCE :     See Section 8.3.3

             SOURCE-REFERENCE:   See Section 8.4.3

8.6.4   Variable Part

             Checksum (see 8.2.3.1)

8.7     Data (DT)

8.7.1   Structure

             Normal Format for Class 0 to 1

        1     2          3           4         5

        LI   DT     E    TPDU-NR    User Data
           11110000 0                        
                    T                        

             Normal format for Class 2, 3 and 4

^L
ISO Transport Protocol Specification                                   Page 75
International Standards Organization


1        2        3        4          5          6       p     p+1
LI             DST-REFERENCE    E   TPDU-NR   Variable Part  User Data
   11110000                     O
                                T

        Extended Format for optional use in Classes 2,3 and 4

        1       2      3       4     5,6,7,8    9        p p+1

        LI   DT     DST-REFERENCE  E  TPDU-NR  Variable  User Data
           11110000                O
                                   T

8.7.2   LI

        Section 8.2.1

8.7.3   Fixed Part

        (Classes 0 to 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)

             DT             :    Data Transfer Code:  1111

             DST-REFERENCE  :    See Section 8.4.3

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

             TPDU-NR        :    TPDU Send Sequence Number (Zero in 
                                 Class 0), may take any value in 
                                 Class 2 without explicit flow 
                                 control.

8.7.4   Variable Part

        Checksum (See 8.2.3.1)

8.7.5   User Data Field

        This field contains data of the TSDU being transmitted.
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 presemt, amy further reduce the size of the user
data field.
^L
ISO Transport Protocol Specification                                   Page 76
International Standards Organization


8.8     Expedited Data (ED)

        (Not used in Class 2 when "no explicit flow 
         control" option is selected.)

8.8.1   Structure

        Normal Format

     1        2      3        4        EOT 5        6     p        p + 1

     LI       ED    DST-REFERENCE     EDTPDU-NR    Variable Part  User Data
           00010000                 1.

        Extended Format

     1        2        3      4        EOT 5,6,7,8  9    p          p + 1

     LI       ED     DST-REFERENCE       EDTPDU-NR  Variable Part   User Data
           00010000                    1.

8.8.2   LI

        See Section 8.2.1

8.8.3   Fixed Part

        (Octets 2 to 5, normal format: 2 to 8, extended format)

        ED:            Expedited Data command code: 0001

        DST-REFERENCE: Same as Section 8.4.3

        ED TPDU-NR:    Expedited TPDU identification number 
                       (Classes 1, 3, and 4; may take any value in 
                       Class 2).

8.8.4   Variable Part

        Checksum (See 8.2.3.1)

8.8.5   User Data Field

        This field contains an expedited TSDU.  Up to 16 octets.

8.9     Data Acknowledgement (AK)

        Not applicable 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.
^L
ISO Transport Protocol Specification                                   Page 77
International Standards Organization


        Flow Control Confirmation (class 4 only - optionally used)

        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 Section 7.4.5.6).

        Parameter Code:  100001011

        Parameter value field 64 bits, used as follows:

        o  Lower Window Edge (32 bits)
           Bit 32 is set to zero, bits 31 to 1 contain the 
           YR-TU-NR value of the received AK TPDU.  When normal 
           format is in use, only the least significant seven 
           bits (bits 1 to 7) of this field are significant.

        o  Your Sub-Sequence (16 bits)
           Contains the value of the sub-sequence parameter of 
           the received AK TPDU, or zero if this parameter was 
           not present.

        o  Your Credit (16 bits)
           Contains the value of the CDT field of the received AK 
           TPDU.  When normal format is in use, only the least 
           significant four bits (bits 1 to 4) of this field are 
           significant.

8.10    Expedited Data Acknowledgement (EA)

        (Not applicable for Class 0 and Class 2 when the no 
        explicit flow control option is selected).

8.10.1  Structure

        Normal Format

     1       2       3       4         5               6         p

     LI      EA      DST-REFERENCE      . YR-TU-NR     Variable Part
            00100000                  0.

        Extended Format

     1      2         3       4          5,6,7,8            9      p

     LI     EA        DST-REFERENCE       . YR-TU-NR        Variable Part
           00100000                     0.

8.9.1   Structure

^L
ISO Transport Protocol Specification                                   Page 78
International Standards Organization


        Normal Format

      1       2          3          4         5            6       p

      LI      AK CDT     DST-REFERENCE         . YR-TU-NR  Variable Part
             0110                            0.

        Extended Format

     1      2         3       4        5,6,7,8       9,10    11    p

     LI     AK        DST-REFERENCE     . YR-TU-NR   CDT     Variable Part
           01100000                   0.

8.9.2   LI

        See Section 8.2.1

8.9.3   Fixed Part

        (Octets 2 to 5, normal format:  2 to 10, extended format)

        AK:            Acknowledgement command code:  0110

        CDT:           Credit Value (set to 0 in class 1)

        DST-REFERENCE: Same as Section 8.4.3

        YR-TU-NR:      Sequence number indicating the next expected 
                       DT TPDU number.

8.9.4   Variable Part

        Checksum (See 8.2.3.1)

        Sub-sequence number (class 4 only - optionally used).

        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:  100001010

        Parameter Value: 16-bit sub-sequence number.

8.10.2  LI

        See Section 8.2.1

8.10.3  Fixed Part
^L
ISO Transport Protocol Specification                                   Page 79
International Standards Organization


        (Octets 2 to 5, normal format; 2 to 8, extended 
        format)

        EA:            Acknowledgement command code:  0010

        DST-REFERENCE: Same as Section 8.4.3

        YR-TU-NR:      Identification of the ED TPDU being 
                       acknowledged.  May take any value in Class 2.

8.10.4  Variable Part

        Checksum (See 8.2.3.1)

8.11    Reject (RJ)

        (Not used in Classes 0, 2, and 4)

8.11.1  Structure

        Normal Format

       1       2        3       4          EOT 5          6       p

       LI      RJ CDT   DST-REFERENCE       . YR-TU-NR    Variable Part
              0101                        0.

        Extended Format

      1        2       3        4          EOT 5,6,7,8    9,10     11      p
      LI       RJ      DST-REFERENCE        .  YR-TU-NR   CDT      Variable
              0l0l0000                                              Part

8.11.2  LI

        See Section 8.2.1

8.11.3  Fixed Part

        (Octets 2 to 5, normal format; 2 to 10, extended format)

        RJ:            Reject Command Code:  0101

        CDT:           Credit Value (set to 0 in class 1)

        DST-REFERENCE: Same as Section 8.4.3

        YR-TU-NR:      Sequence number indicating the next expected 
                       TPDU from which retransmission should occur.

^L
ISO Transport Protocol Specification                                   Page 80
International Standards Organization


8.11.4  Variable Part

        No parameters exclusive to this TPDU type.

8.12    TPDU Error (ERR)

      1         2          3        4        5             6

      LI        ERR        DST-REFERENCE     Reject        Parameters
               01110000                      Cause

8.12.1  LI

        See Section 8.2.1

8.12.2  Fixed Part

        ERR:           TPDU Error Code: 0111

        DST-REFERENCE: Same as Section 8.4.3

        REJECT CAUSE:  
                       00000000  Reason not specified

                       00000001  Invalid parameter code

                       00000010  Invalid TPDU type

                       00000011  Invalid parameter value

8.12.3  Variable Part (Octets 6 to the end)

        Parameter Code:  1100001

        Parameter Value Field:

        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.

        Checksum (See Section 8.2.3.1)

SECTION THREE - CONFORMANCE

9.      CONFORMANCE

        Implementations claiming conformance to this standard shall:

        1.   Implement either Class 0 or Class 2 or both.

^L
ISO Transport Protocol Specification                                   Page 81
International Standards Organization


        2.   If other classes are implemented, the following rules 
             shall be observed:

             a)  If Class 3 or Class 4 is implemented then Class 2 
             must be implemented

             b)  If Class 1 is implemented then Class 0 must be 
             implemented.

        3.   The following table defines the requirements for the 
             implementation of the options defined in previous 
             sections:

                                                Class
                                            0     1    2     3    4

        TPDU with Checksum                 no    no   no    no    m
        TPDU without Checksum               m     m    m     m    o

        Expedited Data Transfer            no     m    m     m    m
        No Expedited Data Transfer          m     m    m     m    m

        Flow Control in Class 2            no    no    m    no   no
        No Flow Control in Class 2         no    no    o    no   no

        7 bits format (normal)             m     m    m     m    m
        31 bits format (extended)          no    no    o     o    o

        Use of Receipt Confirmation in     no     o   no    no   no
        Class 1
        No use of Receipt Confirmation in  no     m   no    no   no
        Class 1

        Use of Network Expedited in Class  no     o   no    no   no
        1, if T-EXPEDITED DATA necessary

        No use of Network Expedited in     no     m   no    no   no
        Class 1, if T-EXPEDITED DATA necessary

        o  -  optional:     An implementation may or may not 
                            provide this user-selected option.

        m  -  mandatory:    An implementation must provide for this 
                            option

        no  -               An implementation shall not provide 
                            this option.

        4.   Implementations claiming conformance shall support a 
             TPDU length of 128 octets.  If larger maximum TPDU 
^L
ISO Transport Protocol Specification                                   Page 82
International Standards Organization


             sizes can be supported in Classes 1,2,3, or 4, then 
             all permitted TPDU sizes between the maximum and 128 
             octets shall be supported.

        5.   Claims of conformance shall state:

             a)  which class of protocol is supported.

             b)  which additional options indicated by the letter 
             'o' in the above table are supported.
^L