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
|
Network Working Group K. Hardwick
Request for Comments: 1044 NSC
J. Lekashman
NASA-Ames GE
February 1988
Internet Protocol on Network Systems HYPERchannel
Protocol Specification
STATUS OF THIS MEMO
The intent of this document is to provide a complete discussion of
the protocols and techniques used to embed DoD standard Internet
Protocol datagrams (and its associated higher level protocols) on
Network Systems Corporation's HYPERchannel [1] equipment.
Distribution of this memo is unlimited.
This document is intended for network planners and implementors who
are already familiar with the TCP/IP protocol suite and the
techniques used to carry TCP/IP traffic on common networks such as
the DDN or Ethernet. No great familiarity with NSC products is
assumed; an appendix is devoted to a review of NSC technologies and
protocols.
At the time of this first RFC edition, the contents of this document
has already been reviewed by about a dozen vendors and users active
in the use of TCP/IP on HYPERchannel media. Comments and suggestions
are still welcome (and implementable,) however.
Any comments or questions on this specification may be directed to:
Ken Hardwick
Director, Software Technology
Network Systems Corporation MS029
7600 Boone Avenue North
Brooklyn Park, MN 55428
Phone: (612) 424-1607
John Lekashman
Nasa Ames Research Center. NAS/GE
MS 258-6
Moffett Field, CA, 94035
lekash@orville.nas.nasa.gov
Phone: (415) 694-4359
Hardwick & Lekashman [Page 1]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
TABLE OF CONTENTS
Status of this memo . . . . . . . . . . . . . . . . . . . . . . 1
Goals of this document . . . . . . . . . . . . . . . . . . . . 3
Basic HYPERchannel network messages . . . . . . . . . . . . . . 4
Basic (16-bit address) Message Proper header . . . . . . . . . 5
TO addresses and open driver architecture . . . . . . . . . . 7
Extended (32-bit address) Message Proper header . . . . . . . . 8
Address Recognition and message forwarding . . . . . . . . . . 10
32-bit message fields . . . . . . . . . . . . . . . . . . . . 12
Broadcasting . . . . . . . . . . . . . . . . . . . . . . . . . 14
PROTOCOL SPECIFICATION . . . . . . . . . . . . . . . . . . . . 17
Basic (16-bit) Message Encapsulation . . . . . . . . . . . . 18
Compatibility with existing implementations . . . . . . . . . . 21
Extended (32-bit) Message Encapsulation . . . . . . . . . . . 24
Address Resolution Protocol . . . . . . . . . . . . . . . . . 27
Maximum Transmission Unit . . . . . . . . . . . . . . . . . . . 31
ADDRESS RESOLUTION . . . . . . . . . . . . . . . . . . . . . . 32
Local Address Resolution . . . . . . . . . . . . . . . . . . . 33
Configuration file format . . . . . . . . . . . . . . . . . . 34
ARP servers . . . . . . . . . . . . . . . . . . . . . . . . . 35
Broadcast ARP . . . . . . . . . . . . . . . . . . . . . . . . 36
Appendix A.
NSC Product Architecture and Addressing . . . . . . . . . . . . 38
Appendix B.
Network Systems HYPERchannel protocols . . . . . . . . . . . . 42
Hardwick & Lekashman [Page 2]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
GOALS OF THIS DOCUMENT
In this document, there are four major technical objectives:
1. To bless a "de facto" standard for IP on HYPERchannel that has
been implemented by Tektronix, Cray, NASA Ames, and others.
We are attempting to resolve some interoperability problems with
this standard so as to minimize the changes to existing IP on
HYPERchannel software. If any ambiguities remain in the de facto
standard, we wish to assist in their resolution.
2. To address larger networks, NSC's newer network products are
moving to a 32-bit address from the current 16-bit TO address.
This document would introduce the addressing extension to the
user community and specify how IP datagrams would work in the
new addressing mode.
3. To define an Address Resolution Protocol for HYPERchannel and
other NSC products. It is probably well known that current NSC
products do not support the broadcast modes that make ARP
particularly useful. However, many have expressed interest in
"ARP servers" at a known network address. These servers could
fade away as NSC products with broadcast capability come into
existence. Host drivers that can generate and recognize this
ARP protocol would be prepared to take advantage of it as the
pieces fall into place.
4. Part of this effort is to standardize the unofficial "message
type" field that reserves byte 8 of the HYPERchannel network
message. To permit better interoperability, NSC will initiate a
"network protocol registry" where any interested party may
obtain a unique value in byte 8 (or bytes 8 and 9) for their own
public, private, commercial or proprietary protocol. Lists of
assigned protocol type numbers and their "owners" will be
periodically published by NSC and would be available to
interested parties.
Hardwick & Lekashman [Page 3]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
BASIC HYPERCHANNEL NETWORK MESSAGES
Unlike most datagram delivery systems, the HYPERchannel network
message consists of two parts:
Message Proper
+--------------------+
| |
| |
| 10-64 bytes |
| |
| |
+--------------------+
Associated Data
+----------------------------------------------------+
| |
| |
| |
| |
| Unlimited length |
| |
| |
| |
| |
+----------------------------------------------------+
The first part is a message header that can be up to 64 bytes in
length. The first 10 bytes contain information required for the
delivery of the entire message, and the remainder can be used by
higher level protocols. The second part of the message, the
"Associated Data," can be optionally included with the message
proper. In most cases (transmission over HYPERchannel A trunks), the
length of the associated data is literally unlimited. Others (such
as HYPERchannel B or transmission within a local HYPERchannel A A400
adapter) limit the size of the Associated Data to 4K bytes. If the
information sent can be contained within the Message Proper, then the
Associated Data need not be sent.
HYPERchannel lower link protocols treat messages with and without
Associated Data quite differently; "Message only" transmissions are
sent using abbreviated protocols and can be queued in the receiving
network adapter, thus minimizing the elapsed time needed to send and
receive the messages. When associated data is provided, the
HYPERchannel A adapters free their logical resources towards driving
the host interface and coaxial trunks.
Hardwick & Lekashman [Page 4]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
BASIC (16-BIT ADDRESS) MESSAGE PROPER HEADER
The first 10 bytes of the network Message Proper are examined by the
network adapters to control delivery of the network message. Its
format is as follows:
byte Message Proper
+------------------------------+-----------------------------+
0 | Trunks to Try | Message Flags |
| TO trunks | FROM trunks | |EXC|BST|A/D|
+--------------+---------------+-----------------+---+---+---+
2 | Access code |
| |
+------------------------------+-----------------------------+
4 | Physical addr of | | TO Port |
| destination adapter (TO) | | number |
+------------------------------+-----------------------------+
6 | Physical addr of source | |FROM port|
| adapter (FROM) | | number |
+------------------------------+-----------------------------+
8 | Message type |
| |
+------------------------------+-----------------------------+
10 | |
| Available for higher level protocols |
| |
| |
+------------------------------+-----------------------------+
TRUNKS TO TRY
Consists of two four bit masks indicating which of four possible
HYPERchannel A coaxial data trunks are to be used to transmit the
message and to return it. If a bit in the mask is ON, then the
adapter firmware will logically AND it with the mask of installed
trunk interfaces and use the result as a candidate list of
interfaces. Whenever one of the internal "frames" are sent to
communicate with the destination adapter, the transmission hardware
electronically selects the first non-busy trunk out of the list of
candidates. Thus, selection of a data trunk is best performed by the
adapter itself rather than by the host. "Dedicating" trunks to
specific applications only makes sense in very critical real time
applications such as streaming data directly from high speed
overrunnable peripherals.
A second Trunk mask is provided for the receiving adapter when it
sends frames back to the transmitter, as it is possible to build
"asymmetric" configurations of data trunks where trunk 1 on one box
Hardwick & Lekashman [Page 5]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
is connected to the trunk 3 interface of a second. Such
configurations are strongly discouraged, but the addressing structure
supports it if needed.
The "trunks to try" field is only used by HYPERchannel A. To assure
maximum interoperability, a value of 0xFF should be placed in this
field to assure delivery over any technology. Other values should
only be used if the particular site hardware is so configured to not
be physically connected via those trunks.
MESSAGE FLAGS
Contains options in message delivery. In the basic type of message,
three bits are used:
ASSOCIATED DATA PRESENT (A/D) is ON if an Associated Data block
follows the Message Proper. 0 if only a message proper is present in
the network message. The value of this bit is enforced by the
network adapter firmware.
BURST MODE (BST) Enables a special mode for time critical transfers
where a single HYPERchannel A coaxial trunk is dedicated during
transmission of the network message. Not recommended for anything
that won't cause peripheral device overruns if data isn't delivered
once message transmission starts.
EXCEPTION (EXC) Indicates to some channel programmed host interfaces
that the message is "out of band" in some way and requires special
processing.
ACCESS CODE
A feature to permit adapters to share use of a cable yet still permit
an "access matrix" of which adapter boxes and physically talk to
which others. Not currently in use by anyone, support is being
discontinued.
TO ADDRESS
Consists of three parts. The high order 8-bits contains the physical
address of the network adapter box which is to receive the message.
The low order 8-bits are interpreted in different ways depending on
the nature of the receiving network adapter. If the receiving
adapter has different host "ports," then the low order bits of the TO
field are used to designate which interface is to receive the
message. On IBM data channels, the entire "logical" TO field is
interpreted as the subchannel on which the incoming data is to be
presented. Parts of the logical TO field that are not interpreted by
Hardwick & Lekashman [Page 6]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
the network adapter are passed to the host for further
interpretation.
FROM ADDRESS
The FROM address is not physically used during the process of
transmitting a network message, but is passed through to the
receiving host so that a response can be returned to the point of
origin. In general, reversing the TO and FROM 16-bit address fields
and the TO and FROM trunk masks can reliably return a message to its
destination.
MESSAGE TYPE
The following two bytes are reserved for NSC. Users have been
encouraged to put a zero in byte 8 and anything at all in byte 9 so
as to not conflict with internal processing of messages by NSC
firmware. In the past, this field has been loosely defined as
carrying information of interest to NSC equipment carrying the
message and not as a formal protocol type field. For example, 0xFF00
in bytes 8 and 9 of the message will cause the receiving adapter to
"loop back" the message without delivering it to the attached host.
Concurrent with this document, it is NSC's intent to use both bytes 8
and 9 as a formal "protocol type" designator. Major protocols will
be assigned a unique value in byte 8 that will (among good citizens)
not duplicate a value generated by a different protocol. Minor
protocols will have 16-bit values assigned to them so that we won't
run out when 256 protocols turn up. Any interested party could
obtain a protocol number or numbers by application to NSC. In this
document, protocol types specific to IP protocols are assigned.
TO ADDRESSES AND OPEN DRIVER ARCHITECTURE
Since not all 16-bits of the TO address are used for the physical
delivery of the network message, the remainder are considered
"logical" in that their meaning is physically determined by host
computer software or (in cases such as the FIPS data channel) by
hardware in the host interface.
Since HYPERchannel is and will be used to support a large variety of
general and special purpose protocols, it is desirable that several
independent protocol servers be able to independently share the
HYPERchannel network interface. The implementation of many of NSC's
device drivers as well as those of other parties (such as Cray
Research) support this service. Each protocol server that wishes to
send or receive HYPERchannel network messages logically "connects" to
a HYPERchannel device driver by specifying the complete 16-bit TO
Hardwick & Lekashman [Page 7]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
address it will "own" in the sense that any network message with that
TO address will be delivered to that protocol server.
The logical TO field serves a function similar to the TYPE byte in
the Ethernet 802.2 message header, but differs from it in that the
width of the logical TO field varies from host to host, and that no
values of the logical TO address are reserved for particular
protocols. On the other hand, it is possible to have several
"identical" protocols (such as two independent copies of IP with
different HYPERchannel addresses) sharing the same physical
HYPERchannel interface. This makes NSC's addressing approach
identical to the OSI concept that the protocol server to reach is
embedded within the address, rather than the IP notion of addressing
a "host" and identifying a server through a message type.
Since the HYPERchannel header also has a "message type" field, there
is some ambiguity concerning the respective roles of the message type
and logical TO fields:
o The logical TO field is always used to identify the protocol
server which will receive the message. Once a server has
specified the complete TO address for the messages it wishes to
receive, the message will not be delivered to a different
protocol server regardless of the contents of the message type
field.
o Although the "type" field cannot change the protocol server at
the final destination of the message, the type field can be used
by intermediate processes on the network to process the message
before it reaches the server destination. An obvious example is
the 0xFF00 message loopback type function, where network
processing to loop back the message results in nondelivery to
the TO address. In the future, intermediate nodes may process
"in transit" messages based on the message type only for
purposes such as security validation, aging of certain
datagrams, and network management.
EXTENDED (32-BIT ADDRESS) MESSAGE PROPER HEADER
In the original days of HYPERchannel, the limitation of 256 adapter
"boxes" that could be addressed in a network message was deemed
sufficient as 40 or so adapters was considered a "large" network. As
with the Ethernet, more recent networks have resulted in a need to
address larger networks. Although a few ad hoc modes have existed to
address larger HYPERchannel networks for some years, newer
technologies of HYPERchannel equipment have logically extended the
network message to support 32-bits of addressing, with 24 of those
bits to designate a physical network adapter.
Hardwick & Lekashman [Page 8]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
This 32-bit header has been designed so that existing network
adapters are capable of sending and receiving these messages. Only
the network bridges need the intelligence to select messages
designated for them.
Hardwick & Lekashman [Page 9]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
+------------------------------+-----------------------------+
0 | Trunks to Try | Message Flags |
| TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D|
+--------------+---------------+---+---+--+--+---+---+---+---+
2 | TO Domain # | TO Network # |
| | |
+------------------------------+-----------------------------+
4 |O| Physical addr of | | TO Port |
|N| destination adapter (TO) | | number |
+------------------------------+-----------------------------+
6 |O| Physical addr of source | |FROM port|
|N| adapter (FROM) | | number |
+------------------------------+-----------------------------+
8 | Message type |
| |
+------------------------------+-----------------------------+
10 | FROM Domain # | FROM Network # |
| | |
+------------------------------+-----------------------------+
12 | - reserved - | age count |
| | |
+------------------------------+-----------------------------+
14 | Next Header Offset | Header End Offset |
| (normally 16) | (normally 16) |
+------------------------------+-----------------------------+
16 | Start of user protocol |
| bytes 16 - 64 of message proper |
| |
+------------------------------+-----------------------------+
Associated Data
+-----------------------------------------------------------------+
| |
| As with basic format network messages |
| |
+-----------------------------------------------------------------+
ADDRESS RECOGNITION AND MESSAGE FORWARDING
With the 32-bit form of addressing, NSC is keeping with the premise
that the native HYPERchannel address bears a direct relation to the
position of the equipment in an extended HYPERchannel network.
Each collection of "locally" attached NSC network adapters that are
connected by coax or fiber optic cable (with the possible addition of
nonselective repeaters such as the ATRn series) is considered a
"network". Each network can have up to 256 directly addressable
adapters attached to it which can be reached by the basic format
Hardwick & Lekashman [Page 10]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
network message.
Existing bridges or "link adapters" can be programmed to become
"selective repeaters" in that they can receive network messages
containing a subset of network addresses send them over the bridge
medium (if present) and reintroduce them on the other network. Such
interconnected local area networks are considered a single network
from an addressing point of view.
A large NSC network can have up to 64K networks which can be
complexly interconnected by network bridges and/or "backbone"
networks which distribute data between other networks. To simplify
the mechanics of message forwarding, the 16-bit network field is
divided into two eight quantities, a "network number" identifying
which network is to receive the message and a "domain number" which
specifies which network of networks is the recipient.
The bridge technology adapters which move messages between networks
have address recognition hardware which examines all the 24-bits in
bytes 2-5 of the network message header to determine if the bridge
should accept the message for forwarding. At any given instant of
time in the network, each bridge will have a list of networks and
domains that it should accept for forwarding to a network at the
other end of the bridge. Each Adapter (Including Newer Technology
host adapters) contains in address recognition hardware:
o domainmask -- a 256-bit mask of domain numbers that should be
accepted for forwarding (not local processing) by this adapter.
o MyDomain -- the value of the domain on which this host
adapter or bridge end is installed.
o NetworkMask -- a 256-bit mask of network numbers that should be
accepted for forwarding by this adapter.
o MyNetwork - the value of the network on which this host
adapter or bridge end is installed.
o AddressMask -- A 256-bit mask of the local network addresses
that should be accepted by the adapter.
o MyAddress -- the "base address" of the box, which must be
supplied in any message that is directed to control processes
within the adapter, such as a loopback message.
Address recognition takes place using the algorithm:
IF Domain IN DomainMask OR
IF (Domain = MyDomain AND Network IN NetworkMask) OR
IF (Domain = MyDomain AND Network = MyNetwork AND
Address IN AddressMask) THEN accept-message
ELSE ignore-message.
Hardwick & Lekashman [Page 11]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
This algorithm means that an adapter's hardware address recognition
logic will accept any messages to the box itself, any secondary or
aliased local addresses owned by the adapter, and any message
directed to a remote network or domain that that particular adapter
is prepared to forward.
32-BIT MESSAGE FIELDS
TRUNK MASK
Is as in the basic network message. Messages that are to be
delivered outside the immediate network should have 0xFF in this byte
so that all possible trunks in intermediate networks should be tried.
Locally delivered 32-bit messages may still contain specially
tailored trunk masks to satisfy local delivery needs.
MESSAGE FLAGS
The currently defined bits remain as before. Three new bits have
been defined since that time.
CRC (END-END MESSAGE INTEGRITY). Newer technology host adapters are
capable of generating a 32-bit CRC for the entire network message as
soon as it is received over the channel or bus interface from the
host. This 32-bit CRC is appended to the end of the associated data
block and is preserved through the entire delivery process until it
is checked by the host adapter that is the ultimate recipient of the
message, which removes it. This end to end integrity checking is
designed to provide a high degree of assurance that data has been
correctly moved through all intermediate LAN's, geographic links, and
internal adapter hardware and processes.
SRC (SOURCE FROM ADDRESS CORRECT). This bit is provided to take
advantage of the physical nature of the network address to optionally
verify that the 32-bit FROM address provided in the network message
is in fact the location that the message originated. If the bit is
not set by the transmitting host, no particular processing occurs on
the message. If the bit is set, then all intermediate adapters
involved in the delivery of the message have the privilege of turning
the bit off if the received message FROM address is not a TO address
that would be delivered to the originator if the message were going
the opposite direction.
If the message is received by a host computer with this bit still
set, then the FROM address is guaranteed correct in the sense that
returning a message with TO and FROM information reversed will result
in delivery of the message to the process that actually originated
Hardwick & Lekashman [Page 12]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
it. By careful attention to the physical security of adapters and
intermediate links between networks, a high degree of security can be
built into systems that simply examine the FROM address of a message
to determine the legitimacy of its associated request.
GNA (GLOBAL NETWORK ADDRESSING). This bit ON indicates that 32-bit
addressing is present in the message. When this bit is on, bytes 2-3
(Domain and Network numbers) should also be nonzero.
TO ADDRESS
Four bytes contain the TO address, which is used to deliver the
network message as described in "Address Recognition and Message
Forwarding" on page 8. The "logical" part of the TO address is used
to designate a protocol server exactly as in the basic format network
message header.
The existing "address" field has its high order bit reserved as an
outnet bit for compatibility with existing A-series network adapter
equipment. Were it not for this bit, the A-series adapters would
attempt to accept messages that were "passing through" the local
network on their way elsewhere simply because the address field
matched while the the Domain and Network numbers (ignored by the A-
series adapters) were quite different.
This "outnet" bit is used in the following way:
o All network adapters (of any type) in an extended set of
networks containing A-Series adapters that will ever use 32-bit
addressing must have their addresses in the range 00-7F (hex.)
o If a message is to be sent to a destination on a nonlocal
network and domain on such an extended network, then the
high order bit of the address field is turned on.
o When the last bridge in the chain realizes that it is about to
forward the message to its final destination (the Domain and
Network numbers are local), then it turns the Outnet bit off.
This will result in local delivery to the destination adapter.
FROM ADDRESS
The FROM address follows the same logic as the TO address in that any
message can be returned to its source by reversing the FROM and TO
fields of the message. Since so many protocols examine byte 8 of the
message to determine its type, the FROM field has been split so that
the Domain and Network numbers extend into bytes 10-11.
Hardwick & Lekashman [Page 13]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
MESSAGE TYPE
This field (informally defined in the past) has been extended to 16-
bits so that a unique value can be assigned to any present or future
protocol which is layer on HYPERchannel messages for either private
or public use.
AGE COUNT
This field serves the same purpose as the IP "time to live" in that
it prevents datagrams from endlessly circulating about in an
improperly configured network. Each time a 32-bit message passes
through a bridge, the Age Count is decremented by one. When the
result is zero, the message is discarded by the bridge.
NEXT HEADER OFFSET AND HEADER END OFFSET
These are used as fields to optionally provide "loose source
routing", where a list of 32-bit TO addresses can be provided by the
transmitter to explicitly determine the path of a message through the
network. If this feature is not used, both these fields would
contain the value 16 (decimal) to both indicate extra TO addresses
are absent and that the beginning of protocol data following the
HYPERchannel header is in byte 16.
Although it is conceivable that a HYPERchannel IP process could use
this source routing capability to direct messages to hosts or
gateways, this capability is not felt to be of sufficient value to IP
to build it into a HYPERchannel IP protocol.
In the future, all higher level protocols should be able to examine
Header End Offset to determine the start of the higher level protocol
information.
BROADCASTING
NSC message forwarding protocols use low level link protocols to
negotiate transmission of a message to its next destination on the
network. Furthermore, NSC network boxes often "fan out" so that
several hosts share the same network transmission equipment as in the
A400 adapter. Both these characteristics mean that providing a
genuine broadcast capability is not a trivial task, and in fact no
current implementations of NSC technology support a broadcast
capability.
The last several years have seen broadcast applications mature to the
point where they have virtually unquestioned utility on a local and
sometimes campuswide basis. Accordingly, new NSC technologies will
Hardwick & Lekashman [Page 14]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
support a broadcast capability. Information on the use of this
capability is included here as it is essential to the discussion of
the Address Resolution Protocol later in this document.
Broadcast capability will be supported only with the extended (32-bit
address) message format. A broadcast message will have the following
general appearance:
byte Message Proper
+------------------------------+-----------------------------+
0 | Trunks to Try | Message Flags |
| TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D|
+--------------+---------------+---+---+--+--+---+---+---+---+
2 | TO Domain Number | TO Network Number |
| or 0xFF | or 0xFF |
+------------------------------+-----------------------------+
4 | 0xFF | Broadcast channel number |
| | |
+------------------------------+-----------------------------+
6 |O| Physical addr of source | |FROM port|
|N| adapter (FROM) | | number |
+------------------------------+-----------------------------+
8 | Message type |
| |
+------------------------------+-----------------------------+
10 | FROM Domain Number | FROM Network Number |
| | |
+------------------------------+-----------------------------+
12 | - reserved - | age count |
| | |
+------------------------------+-----------------------------+
14 | Next Header Offset | Header End Offset |
| (normally 16) | (normally 16) |
+------------------------------+-----------------------------+
16 | Start of user protocol |
| bytes 16 - 64 of message proper |
| |
+------------------------------+-----------------------------+
Associated Data
+-----------------------------------------------------------------+
| |
| As with basic format network messages |
| Maximum associated data size 1K bytes. |
| |
+-----------------------------------------------------------------+
Hardwick & Lekashman [Page 15]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
TRUNKS TO TRY AND MESSAGE FLAGS
These fields are defined just as with a normal 32-bit message. All
bits in the Message Flags field are valid with broadcast modes.
BROADCAST ADDRESS
For Domain, Network and Adapter Address fields, the value 0xFF is
reserved for use by the broadcast mechanism. A value of 0xFF in the
adapter address field indicates to the local network hardware that
this message is to be sent to all connected network equipment on the
individual network.
A value of 0xFF in the network or domain fields, respectively
indicates a request that the scope of the broadcast exceed the local
network. The bridging link adapters will receive the broadcast
message along with everyone else and will examine the "Broadcast
Channel" field and their internal switches to determine if the
message should be forwarded to other remote networks.
If the Network and Domain fields contain the local network and
domain, then the broadcast message will only be broadcast within the
local network. If a remote Network and Domain is specified, then the
message will be delivered as a single message to the remote network
and broadcast there.
BROADCAST CHANNEL
Since individual hosts and protocol servers generally are not
interested in all broadcast messages that float about the network, a
filtering mechanism is provided in the header and network adapter
equipment so that only proper classes of broadcast messages are
delivered to the end point.
Broadcast channel numbers in the range 00-0xFF will be assigned by
NSC much like the "message type" field. Host protocol servers
specify a specific TO address containing a channel number (such as
0xFF04) when they bind themselves to the HYPERchannel device driver.
The driver and the underlying equipment will deliver only broadcast
messages with the correct channel number to the protocol server. If
a protocol server wishes to receive several different broadcast
messages, it must bind itself to the driver several times with the
desired addresses.
Link adapters that are prepared to handle multinetwork broadcast
messages may be equipped with switches to determine which broadcast
channels will be propagated into the next network. Since
multinetwork broadcast is an arrangement that must be configured with
Hardwick & Lekashman [Page 16]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
care, these switches are off by default.
FROM ADDRESS
The FROM address is constructed just as with a normal 32-bit network
message. The Source Address Correct bit is processed just as with a
normal message.
MESSAGE TYPE
Message type is defined as with normal messages. Presumably
broadcast applications will have unique message types that are not
generally found in normal messages.
AGE COUNT
Age count is vitally important in a multinetwork broadcast as "loops"
in the network can cause a great deal of activity until all the
progeny of the original broadcast message die out.
PROTOCOL SPECIFICATION
This section contains information on the technique used to
encapsulate IP datagrams on the HYPERchannel network message. It
contains three sections to describe three protocol packagings:
o The technique used to encapsulate IP datagrams on the basic
16-bit network message. This is a de facto standard that has
been in use for several years and is documented here to make it
official.
o The encapsulation technique for IP datagrams on 32 bit network
messages.
o The definition of an Address Resolution Protocol on
HYPERchannel.
Hardwick & Lekashman [Page 17]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
BASIC (16-BIT) MESSAGE ENCAPSULATION
Message Proper
+------------------------------+-----------------------------+
0 | Trunks to Try | Message Flags |
| TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D|
+------------------------------+-----------------------------+
2 | Access code 0000 |
| (no longer supported) |
+------------------------------+-----------------------------+
4 | Physical addr of | Protocol server |Dest Port|
| destination adapter | logical address | number |
+------------------------------+-----------------------------+
6 | Physical addr of | Originating | Src Port|
| source adapter | server address | number |
+------------------------------+-----------------------------+
8 | IP on HYPERchannel | Offset to start of IP |
| type code 0x05 | header from message start |
+------------------------------+-----------------------------+
10 | IP type designator | Offset to start of IP |
| 0x34 | header from byte 12 |
+------------------------------+-----------------------------+
12 | Padding (variable length incl. zero bytes) |
| |
+------------------------------+-----------------------------+
Off | First (64-Offset) bytes of IP datagram |
| |
| |
| |
+------------------------------+-----------------------------+
Associated Data
+------------------------------+-----------------------------+
| |
| Remainder of IP datagram |
| |
| No associated data is present if IP |
| datagram fits in the Message Proper |
| |
+------------------------------+-----------------------------+
TRUNK MASK
From the vantage of an IP driver, any trunk mask is valid so long as
it results in successful delivery of the HYPERchannel network message
to its destination. There is no reason to check this field for
validity on reception of the message. Specification of the Trunk
Mask on output is a local affair that could be specified by the
transmitting driver's address resolution tables.
Hardwick & Lekashman [Page 18]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
MESSAGE FLAGS
No use is made of the Flags field (byte 1) other than to
appropriately set the Associated Data bit. Burst Mode and the
Exception bit should not be used with IP.
ACCESS CODE
Although some current implementations of IP on HYPERchannel support
the access code, no one appears to be using it at the current time.
Since this field is currently reserved for the use of 32-bit
addresses, no value other than 0000 should be placed in this field.
TO ADDRESS
The TO field is generally obtained by a local IP driver through a
table lookup algorithm where a 16-bit TO address is found that
corresponds to the IP address of a local host or gateway. The high
order bits of the TO address of course refer to the adapter number
the adapter attached to the destination host.
The logical TO field should contain the protocol server address of
the HYPERchannel IP driver for that host as determined by the host's
system administrator. Many HYPERchannel TCP/IP drivers in the field
today are not "open" in that any network message delivered to that
host will be presumed to be an IP datagram regardless of the logical
TO field; however any transmitting IP process should be capable of
generating the entire 16-bit TO field in order to generate a message
capable of reaching a destination IP process.
The process of determining which HYPERchannel address will receive an
IP datagram based on its IP address is a major topic that is covered
in "Address Resolution".
FROM ADDRESS
The FROM address is filled in with the address that the local driver
expects to receive from the network, but no particular use is make of
the FROM address.
MESSAGE TYPE
Network Systems requests that a value of 5 (decimal) be placed in
this byte to uniquely indicate that the network message is being used
to carry IP traffic. No other well-behaved protocol using
HYPERchannel should duplicate this value of 5.
Hardwick & Lekashman [Page 19]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
Many current implementations of IP on HYPERchannel place a zero or
other values in this field simply because no value was reserved for
IP usage. Transmitting versions of IP should always place a 5 in
this field; receiving IP's should presume a delivered message to be
an IP datagram until proven otherwise regardless of the contents of
the Message Type field.
Developers should note that it is often convenient to permit
reception of the value 0xFF00 in bytes 8 and 9 of the IP datagram.
Transmitting a message with this value will cause it to be looped
back at the destination adapter and returned to the protocol server
designate in the FROM address. This permits the developer have host
applications talk to others on the same host for purposes of network
interface or other protocol debugging.
IP HEADER OFFSET
Byte 9 contains the offset to the start of the IP header within the
message proper, such that the Message Proper address plus the IP
header offset generates the address of the first byte of the IP
header (at least on byte addressable machines.)
This field is redundant with the offset field in byte 11, and is
present for cosmetic compatibility with 32-bit implementations. On
reception, the value in byte 11 should take precedence.
As part of the migration to larger HYPERchannel headers, this field
will become significant with the 32-bit addressing format, as the
length of the header is no longer 10 bytes and byte 11 is used for
other purposes.
IP TYPE DESIGNATOR
Early implementations of IP drivers on HYPERchannel wanted to leave
bytes 8 and 9 alone for NSC use and place a "message type" field in
later in the message. A value of 0x34 had been selected by earlier
developers for reasons that are now of only historical interest.
Once again, implementations should generate this value on
transmission, but not check it on input, assuming that an IP datagram
is present in the message.
IP HEADER OFFSET
This value is used by a number of commercial implementations of IP on
HYPERchannel to align the start of the IP header within the network
message. This offset is relative to byte 12 of the network message
so that a value of zero indicates that the IP header begins in byte
12. This value should be both correctly generated on transmission,
and always respected on input processing.
Hardwick & Lekashman [Page 20]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
The maximum permissible offset in this field is 52 indicating that
the IP header begins at the start of the associated data block.
IP DATAGRAM CONTENTS
Beginning at the offset designated in byte 11, the IP datagram is
treated as a contiguous block of data that flows from byte 63 of the
message proper into the first byte of associated data, so that the
entire message plus data is treated as a single contiguous block.
If the IP header is small enough to fit within the entire network
message, then only the message proper is transmitted. The length of
the message proper sent should always be 64 bytes, even if the IP
datagram and HYPERchannel header do not occupy all 64 bytes of the
message proper.
If the datagram flows over into the associated data, then both
message and data are sent. Since a number of machines cannot send a
length of data to the HYPERchannel that is an exact number of bytes
(due to 16-64 bits on the channel bus,) the length of the associated
data received should not be used as a guide to the length of the IP
datagram -- this should be extracted from the IP header. A driver
should verify, of course, that the associated data received is at
least as long as is needed to hold the entire IP datagram.
COMPATIBILITY WITH EXISTING IMPLEMENTATIONS
The basic format described here is clearly a compromise between
several implementations of IP on HYPERchannel. Not all existing
implementations are interoperable with the standard described above.
Currently there are two known "families" of IP HYPERchannel drivers
in existence:
THE "CRAY-NASA AMES" PROTOCOL
This protocol is in the widest production use and has the largest
number of supported drivers in existence. It is interoperable and
identical with the standard described above with the sole exception
that bytes 8 and 9 are set to zero by these drivers. As these bytes
are ignored by most implementations of this driver, they have been
assigned values to formalize the use of the message type field and to
make it consistent with the 32-bit protocol.
THE "TEKTRONIX-BERKELEY" PROTOCOL
This protocol was historically the first IP on HYPERchannel
implementation developed (at Tektronix) and subsequently made its way
to Berkeley and BSD UNIX. This protocol is not interoperable with
Hardwick & Lekashman [Page 21]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
the standard described above due to several distinct differences.
First, bytes 8 through 11 are always zero. The IP header always
starts on byte 12. Comments in some of these drivers designate byte
11 as an "IP header offset" field, but apparently this value is never
processed.
The major difference (and the incompatibility) concerns the packaging
of the IP datagram into the network message. Due to historical
difficulties in the early 80's with the sending and receiving of very
small blocks of associated data on VAXes, this protocol the takes a
curious approach to the placement of the IP header and the headers of
higher level protocols (such as TCP or UDP.)
o If the entire length of the IP datagram is 54 bytes or less,
it is possible to fit the entire datagram and the HYPERchannel
header in the 64 byte message proper. In this case, no
associated data is sent; only a message proper is used to carry
the data. The length of the message proper transmitted is the
exact length needed to enclose the IP datagram; no padding bytes
are sent at the end of the message.
o If the length of the IP header is greater than 54 bytes, then:
- All higher level protocol information (TCP/UDP header and
their associated data fields) are placed in the associated
data block, with the TCP/UDP header beginning at the start
of the associated data block.
- On transmission, the length of the message proper
transmitted is set to the length of the HYPERchannel header
plus the IP header -- it is not padded out to 64 bytes.
The length of the associated data sent should be sufficient
to accommodate the TCP/UDP header and its data fields.
Hardwick & Lekashman [Page 22]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
WHICH PROTOCOL IS BEST?
In choosing which to follow, the "Cray-Ames" approach was taken for
several reasons:
1. Cray Research has performed exemplary work in dealing with other
vendors to provide IP on HYPERchannel from the Cray computers to
other hosts. As a result, there are 4 or 5 vendor supported
implementations of IP on HYPERchannel that use this approach.
2. The two part structure of the message proper has its uses when a
machine wishes to make protocol decisions before staging the
transfer of an immense block of associated data into memory.
Many network coprocessors and intelligent I/O subsystems find it
simpler to read in the entire network message before deciding
what to do with it. Arbitrarily catenating the two components
does this best and permits streaming of messages from future
technology network adapters.
3. Some TCP users (mostly secure DoD sites) intend to load up IP
datagrams with optional fields in the future. The
Tektronix-Berkeley implementation has problems if the IP header
length exceeds 54 bytes.
Hardwick & Lekashman [Page 23]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
EXTENDED (32-BIT) MESSAGE ENCAPSULATION
Message Proper
+------------------------------+-----------------------------+
0 | Trunks to Try |1| Message Flags |
| TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D|
+------------------------------+-----------------------------+
2 | Destination Domain | Destination Network |
| Number | Number |
+------------------------------+-----------------------------+
4 |O| Physical addr of | Protocol server |Dest Port|
|N| destination adapter | logical address | number |
+------------------------------+-----------------------------+
6 |O| Physical addr of | Originating | Src Port|
|N| source adapter | server address | number |
+------------------------------+-----------------------------+
8 | IP on HYPERchannel | Offset to start of IP |
| type code 0x06 | datagram header |
+------------------------------+-----------------------------+
10 | Source Domain Number | Source Network Number |
| | |
+------------------------------+-----------------------------+
12 | - reserved - | Age Count |
+------------------------------+-----------------------------+
14 | Next Header Offset | Header End Offset |
| | (usually 16) |
+------------------------------+-----------------------------+
16 | Padding to IP header start (usually 0 bytes) |
| |
+------------------------------+-----------------------------+
Off| Entire IP datagram if datagram length <= (64-Offset) |
| |
| else first (64-Offset) bytes of IP datagram |
+------------------------------+-----------------------------+
Associated Data
+------------------------------+-----------------------------+
| |
| Remainder of IP datagram |
| |
| No associated data is present if IP |
| datagram fits in the Message Proper |
| |
+------------------------------+-----------------------------+
TRUNK MASK
From the vantage of an IP driver, any trunk mask is valid so long as
Hardwick & Lekashman [Page 24]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
it results in successful delivery of the HYPERchannel network message
to its destination. There is no reason to check this field for
validity on reception of the message. Specification of the Trunk
Mask on output is a local affair that can be specified by the
transmitting driver's address resolution tables.
The use of 0xFF in this value is strongly encouraged for any message
other than those using exotic trunk configurations on a single local
network.
MESSAGE FLAGS
Several new bits have been defined here.
EXTENDED ADDRESSING. This bit should be set ON whenever a 32-bit
address (Network and/or Domain numbers nonzero) is present in the
message. It should always be OFF with the 16-bit message header. If
this bit is improperly set, delivery of the message to the (apparent)
destination is unlikely.
END-TO-END CRC. Some newer technology adapters are equipped to place
a 32-bit CRC of the associated data at the end of the associated data
block when this bit is on. Similarly equipped adapters will examine
the trailing 32-bits of associated data (when the bit is on) to
determine if the message contents have been corrupted at any stage of
the transmission.
Transmitting device drivers should include the ability to set this
bit on transmission as a configuration option similar to the specific
HYPERchannel device interface used. The bit should be generated to
be turned ON if the HYPERchannel IP driver is attached to an adapter
equipped to generated CRC information -- it should be left OFF in all
other circumstances.
If a message arrives at the host with the CRC bit still on, this
indicates that the CRC information was placed at the end of
associated data by the transmitting adapter and not removed by the
receiving adapter; thus the associated data will be four bytes longer
than otherwise expected. Since the IP datagram length is self
contained in the network message, this should not impact IP drivers.
It is possible for host computers to both generate and check this CRC
information to match the hardware assisted generation and checking
logic in newer network adapters. Contact NSC if there are particular
applications requiring exceptional data integrity that could benefit
from host generation and checking.
Hardwick & Lekashman [Page 25]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
FROM ADDRESS CORRECT. This bit should be set by all transmitting IP
drivers who have endeavored to provide a completely correct FROM
address that properly reflects the adapter interface used. No action
should be taken on this bit by the receiving IP driver at this time.
Additional work needs to be done to determine the action an IP driver
should take if it detects a real or imagined "security violation"
should a message arrive with this bit absent.
TO ADDRESS
The TO address logically constitutes bytes 2-5 of the network
message.
NETWORK AND DOMAIN NUMBERS. The Network and Domain numbers should
both be nonzero when 32-bit addressing is used. If the message is
local in nature, then the local Network and Domain numbers should be
placed in this field.
ADAPTER ADDRESS. Contains the adapter address as in the basic
message. The high order bit of this eight bit field (the "outnet"
bit) should be set to zero if the destination network and domain are
the same as the transmitting host's. The high order bit should be
set to one if the destination host is not in the local network or
domain.
LOGICAL TO AND SUBADDRESS. The logical TO field should contain the
protocol server address of the HYPERchannel IP driver for that host
as determined by the host's system administrator.
FROM ADDRESS
The FROM address is filled in with the address that the local driver
expects to receive from the network, but no particular use is made of
the FROM address.
MESSAGE TYPE
The value 6 must be placed in this byte to uniquely indicate that the
network message is being used to carry IP traffic. No other well-
behaved protocol using HYPERchannel should duplicate this value of 6.
Note that all IP drivers should be prepared to send and receive the
basic format network messages using the 16-bit HYPERchannel
addresses. The driver can distinguish an incoming network message by
the value of byte 8 -- 32-bit messages will always have a 6 in byte
8, while 16-bit messages should have a 5 here. For interoperability
with older drivers, a value of 0 here should be treated as 16 address
bit messages.
Hardwick & Lekashman [Page 26]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
IP HEADER OFFSET
Byte 9 contains the offset to the start of the IP header within the
message proper, such that the Message Proper address plus the IP
header offset generates the address of the first byte of the IP
header (at least on byte addressable machines.)
Unlike the 16-bit header, receiving IP drivers should assume that
this field contains a correct offset to the IP header and examine the
information at that offset for conformance to an IP datagram header.
Valid offsets are in the range of 16 through 44 bytes, inclusive.
The limitation of 44 bytes is imposed so that routing decisions on
the vast majority of IP datagrams can be made by examining only the
message proper, as the basic IP datagram will fit into the message
proper if it begins at an offset of 44.
IP DATAGRAM CONTENTS
The message and data are treated as logically contiguous entities
where the first byte of associated data immediately follows the 64th
byte of the message proper.
If the entire IP datagram is less than or equal to (64-offset) bytes
in length it will fit into the Message Proper. If so, only a message
proper containing the HYPERchannel header and IP datagram is sent on
the network.
If the IP datagram is greater than this length, the IP datagram
spills over into the associated data. On transmission, a 64 byte
message proper is sent followed by as many bytes of associated data
as are needed to send the entire datagram.
On reception, the message proper can be read into the start of an IP
input buffer and the associated data read into memory 64 bytes from
the start of the message. If the received message is in fact a 32-
bit address message, no "shuffling" of the message will be required
to build a contiguous IP datagram -- it's right there at buffer+16.
ADDRESS RESOLUTION PROTOCOL
Address Resolution Protocol has achieved a great deal of success on
the Ethernet as it permits a local IP network to configure itself
simply by having each node know its own IP address. Those unfamiliar
with the intent, protocol, and logic of the Address Resolution
Protocol should refer to RFC-826, "An Ethernet Address Resolution
Protocol" [2].
Hardwick & Lekashman [Page 27]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
A later section of this document describes four techniques where a
target HYPERchannel address is to obtained given the destination's IP
address. The protocol is defined in this section for completeness.
Message Proper
+------------------------------+-----------------------------+
0 | Trunks to Try |1| Message Flags |
| TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D|
+------------------------------+-----------------------------+
2 | Server Domain or | Server Network or |
| 0xFF | 0xFF |
+------------------------------+-----------------------------+
4 | Server Adapter Address or | Server logical addr/port or |
| 0xFF | 07 |
+------------------------------+-----------------------------+
6 |O| Physical addr of | Originating | Src Port|
|N| source adapter | server address | number |
+------------------------------+-----------------------------+
8 | NSC ARP type code |
| 07 | 00 |
+------------------------------+-----------------------------+
10 | Source Domain | Source Network |
+------------------------------+-----------------------------+
12 | - reserved - | Age Count |
+------------------------------+-----------------------------+
14 | Next Header Offset | Header End Offset |
| (usually 16) | (usually 16) |
+------------------------------+-----------------------------+
16 | Padding to start of IP info (usually 0 bytes) |
+------------------------------+-----------------------------+
Hardwick & Lekashman [Page 28]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
+------------------------------+-----------------------------+
Off | ARP hardware address type for HYPERchannel |
| 8 |
+------------------------------+-----------------------------+
+2 | HYPERchannel protocol type |
| 06 00 |
+------------------------------+-----------------------------+
+4 | HYPERchannel address length | IP address length |
| 6 | 4 |
+------------------------------+-----------------------------+
+6 | ARP opcode (request or reply) |
+------------------------------+-----------------------------+
+8 | Domain | Network |
+- Sender's 32-bit HYPERchannel address -+
+10 | Adapter address | Logical addr/port |
+------------------------------+-----------------------------+
+12 | Source's MTU size |
+------------------------------+-----------------------------+
+14 | | |
+- Sender's 32-bit IP address -+
+16 | |
+------------------------------+-----------------------------+
+18 | Domain | Network |
+- Destination's 32-bit HYPERchannel address -+
+20 | (to be determined on request) |
| Adapter address | Logical addr/port |
+------------------------------+-----------------------------+
+22 | Destination's MTU size |
| (to be determined on request) |
+------------------------------+-----------------------------+
+24 | | |
+- Destination's 32-bit IP address -+
+26 | |
+------------------------------+-----------------------------+
Layout of the fields of this ARP message is a fairly straightforward
exercise given the standards of ARP and the 32-bit message header. A
few fields are worth remarking upon:
TO ADDRESS
The TO address of an ARP message will be one of two classes of
address. A "normal" address indicates that the message is an ARP
response, or that it is an ARP request directed at an ARP server at a
well known address on the local network. For those HYPERchannel
networks which are equipped to broadcast, a value of 0xFFFFFF07 in
the TO address will (by convention) be picked up only by those
protocol servers prepared to interpret and respond to ARP messages.
Hardwick & Lekashman [Page 29]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
The issue of which address to use in an ARP request is discussed in
the Address Resolution section.
FROM ADDRESS
Must be the correct FROM address of the user protocol server issuing
an ARP request. The Source Correct bit in the Message Flags byte
should be set by this requesting server, as some ARP servers may
someday choose to issue ARP information on an "need to know" basis in
secure environments. With an ARP response, the FROM address will
contain the "normal" HYPERchannel address of the protocol server
responding to the ARP address, even if that server was reached via
broadcast mechanisms.
ARP responses are returned to the party specified in the FROM address
specified in the message header, rather than the address in the
"Source HYPERchannel Address" field within the body of the ARP
message.
MESSAGE TYPE
The 16-bit value 0x0700 is reserved for the exclusive use of ARP.
Unlike IP messages, no provision is made for the ARP message to begin
at an arbitrary offset within the message proper, so the value in
byte 9 is an extension of the message type.
HEADER END OFFSET
ARP uses the 32-bit addressing convention that byte 15 contains the
offset to the start of user protocol (and hence the end of user
protocol information). Note that this is not a substitute for the IP
offset fields, as this field also serves as the end of HYPERchannel
header information -- future NSC message processing code may well
take exception to "garbage" between the actual header end and the
start of user data.
HYPERCHANNEL HARDWARE TYPE CODE
This 16-bit number is assigned a formal ARP hardware type of 8.
HYPERCHANNEL PROTOCOL TYPE
On the Ethernet, this field is used to distinguish IP from all other
protocols that may require address resolution. To be logically
consistent, this field is identical to bytes 8 and 9 0x0600 in a 32-
bit address HYPERchannel message carrying an IP datagram.
Hardwick & Lekashman [Page 30]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
HYPERCHANNEL ADDRESS LENGTH
This contains the value 6, a sufficient number of bytes to
accommodate the four byte HYPERchannel address and 2 bytes to
indicate the largest IP datagram size that source and destination can
handle.
SOURCE AND DESTINATION HYPERCHANNEL ADDRESS
This field contains the Domain, Network, and Adapter/port address of
source and destination, respectively. A value of 0000 in the Domain
and Network fields has special significance as this is interpreted as
a request to send and receive 16-bit HYPERchannel headers rather than
32-bit headers. If 32-bit headers are to be used within a single
HYPERchannel network, then the local domain and network numbers may
be specified.
MAXIMUM TRANSMISSION UNIT
HYPERchannel LAN technology is such that messages of unlimited length
may be sent between hosts. Since host throughput on a network is
generally limited by the rate the network equipment can be
functioned, larger transmission sizes result in higher bulk transfer
performance. Since not every host will be able to handle the maximum
size IP datagram, a more flexible means of MTU (maximum transmission
unit) size negotiation than simply wiring the same value into every
network host is needed. With this field, each host declares the
maximum IP datagram size (not the associated data block size) it is
prepared to receive. Transmitting IP drivers should be prepared to
send the minimum of the source and destination IP sizes negotiated at
ARP time.
The MTU size sent refers to the maximum size of IP header + data. It
does not include the length of the HYPERchannel Hardware header or
any offset between the header and the start of the IP datagram.
Since it is the option of the transmitting hosts to use an offset of
up to 44 bytes a receiving host must in any event be prepared to
receive a 64 byte Message Proper and an Associated Data block of
MTU-20 (that is 64 - 44, or the length of the basic IP header).
An example of a typical 16-bit packet is:
12 bytes hardware header.
12 bytes offset.
40 bytes IP/TCP header.
4096 bytes of data.
This gives an MTU of 4136.
Hardwick & Lekashman [Page 31]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
An example of a typical 32-bit packet is:
16 bytes hardware header.
8 bytes offset.
40 bytes IP/TCP header.
4096 bytes of associated data,
This also gives an MTU of 4136.
The offset values are chosen so that the typical packet causes user
data to be page aligned at the start of the associated data area.
This is an implementation decision, which can certainly be modified
as required.
The maximum maximum transmission unit is 65536, the current largest
size IP datagram. In order to allow this value to fit into a 16-bit
field, the offset length is not included in the MTU. This MTU size
is not a requirement that a local host be equipped to send or receive
datagrams of that size; it simply indicates the maximum capacity of
the receiving host.
A note on trunk masks:
There is no field for specifying trunk masks. This is intentional,
as new NSC hardware will contain trunk reachability information,
eliminating the need for the host to maintain hardware configuration
layouts. All HYPERchannel messages generated as a result of an ARP
response should use 0xFF in the trunk mask.
ADDRESS RESOLUTION
This section describes techniques used by an IP driver to determine
the HYPERchannel address and header that a message should contain
given an IP datagram containing an IP address. It describes
techniques that are local to specific hosts (and hence can be
modified without regard to the activities or techniques of other
hosts) as well as techniques to use the Address Resolution Protocol
on existing HYPERchannel equipment to better manage IP addresses.
It also discusses the migration of name resolution on one of four
steps.
1. Truncation of the IP address to form a HYPERchannel address.
2. Local resolution of HYPERchannel addresses through configuration
files.
3. Centralized resolution of HYPERchannel addresses through an "ARP
server" driven by a configuration file.
Hardwick & Lekashman [Page 32]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
4. Distributed resolution of HYPERchannel addresses using a "real"
address Resolution Protocol on future HYPERchannel media
supporting a broadcast mode.
IP ADDRESS TRUNCATION
A number of IP on HYPERchannel implementations support modes where
the HYPERchannel address is generated by placing the low order 16-
bits of the IP address in the TO address of the message proper. This
more or less treats a set of HYPERchannel boxes addressable through
16-bit HYPERchannel addresses as a Class B IP network.
This approach certainly offers simplicity: IP addresses are simply
chosen to match HYPERchannel addresses and no IP address
"configuration files" need be kept. Although this approach works in
an environment where the HYPERchannel completely constitutes a Class
B network, or where connection to a larger IP network is not a
concern, its long term use is discouraged for several reasons:
o It simply will not work with any Class C address (the physical
TO address is not controllable) or a Class A address (where host
addresses are generally carefully administered.) In addition,
it will not support subnetworks. It is quite incompatible with
32-bit HYPERchannel addresses.
o By decoupling the IP and HYPERchannel addresses through more
complex address resolution, the characters of the two addresses
allow greater site flexibility: the IP address becomes
"logical" in character so that an address can move about a site
with the user or host; the HYPERchannel address maintains its
physical character so that a HYPERchannel address carefully
identifies the physical location of the source and destination
within the extended HYPERchannel network.
LOCAL ADDRESS RESOLUTION
The current state of address resolution art with IP on HYPERchannel
works as follows: given an arbitrary IP address, the IP HYPERchannel
driver looks up an entry with that address in a (generally hashed)
table. If found, the table entry contains the first 6 bytes of the
HYPERchannel header that is used to send the IP datagram to the next
IP node on the internet. Since implementations such as the 4.3BSD
UNIX IP are clever enough to provide its lower level drivers with the
IP address of the next gateway as well as the destination address on
the internet (assuming the message is not delivered locally on the
HYPERchannel,) the number of entries in this table is more or less
manageable, as it must only contain the IP hosts and gateway
addresses that are directly accessible on the HYPERchannel.
Hardwick & Lekashman [Page 33]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
CONFIGURATION FILE FORMAT
So long as this technique of address resolution is used, the
techniques used are exclusively local to the host in the sense that
the techniques used to generate and store the information in the
table are irrelevant to other hosts.
Shown here is a typical file format. This file should probably be
program generated from a database, as asymmetric trunk configurations
and multiply homed hosts can cause differences in physical routing
and trunk usage. This format is documented here to illustrate what
sort of information must be kept at the link layer.
The file consists of source lines each with the form:
<type> <hostname> <trunks/flags> <domain/net> <addr> <MTU>
an example:
<type> <hostname> <t/f> <dom/net> <addr> <MTU>
# Random front end
host hyper.nsco.com FF88 0103 3702 4148
# because we want to show the 4 byte format
host 192.12.102.1 FF00 0000 2203 1024
# Small packets, interactive traffic.
host cray-b.nas.nasa.gov FF88 0103 4401 4148
# The other interface, for big packets.
ahost cray-b.nas.nasa.gov FF88 0103 4501 32768
# A loopback interface, (What else)
loop loop37.nsco.com FF00 0000 3700 4148
# And of course an example of arp service.
arpserver hcgate.nsco.com FF88 0103 7F07
Comments may begin with either # or ;.
Case is not significant in any field.
<type> indicates the type of entity to be defined.
Currently defined types are "host," "ahost", "loop," "address,"
and "arpserver".
host This token indicates an IP host. The following field is
expected to be a name that can be resolved to an IP
address.
ahost This field indicates an additional network interface to
the same host. This may be used for performance
enhancements.
Hardwick & Lekashman [Page 34]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
loop Sets a flag in the entry for that host so that 0xFF00 is
placed in bytes 8 and 9 of the message. This will cause
the IP datagram to be directed towards the specified host
(which must still be a valid host name) and looped back
within the remote adapter. This facility serves both as a
debugging aid and as a crude probe of the availability of
the remote network adapter.
arpserver This indicates an address to use for directing ARP
requests to the network. If several arpserver addresses
are specified, they will be tried in turn until a response
is received (or we run out of servers.) An arpserver with
the appropriate broadcast address of FFFF FF07 would
cause an ARP broadcast to take place when broadcasting
becomes available. Broadcast and specific addresses may
be used in combination.
<hostname> This field is the logical name of the destination. For a
host it is the logical name to be given to the local naming service
to determine the associated IP address. This field may contain four
decimal numbers separated by dots, in which case it is assumed to be
the explicit IP address.
<trunks/flags> This field is the value to be placed in bytes 0 and 1
of the message header when sending to this host. The associated data
bit need not be supplied as the driver must control it. All other
bits are sent as provided. This field is a hexidecimal number.
<domain/net> This field is the value to be placed in the Domain and
Network number field of the message. A value of 0000 in this field
indicates that the destination should be reached by constructing a
16-bit HYPERchannel header, rather than a 32-bit header.
<address> This field is the value to be placed in the 16-bit TO field
to reach <hostname>. This field is a hexidecimal number.
<MTU> This field contains the largest size IP datagram that the
destination host is prepared to receive. This field is a decimal
number. This field is optional. If not present, a value of 4148 is
assumed. See the earlier discussion on Maximum Transmission Unit for
more detail.
ARP SERVERS
The primary problem with local host address resolution is that
changes or additions to hosts on the local net must be replicated to
every HYPERchannel host in that network. While this is manageable
for up to half a dozen hosts, it becomes quite unmanageable for
Hardwick & Lekashman [Page 35]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
larger networks. An approach that can be implemented using existing
HYPERchannel technology is to have a server on the HYPERchannel
network provide the HYPERchannel destination address that is
associated with an IP address.
Although this is strictly a point-to-point request/response dialogue
between two network nodes, the Address Resolution Protocol which was
originally designed for Ethernet (but thoughtfully constructed to
work with any pair of link and network addresses) performs an
excellent job.
ARP servers can be reached simply by placing the address of the
server in the 32-bit TO address of the network message. ARP servers
only "listen" to messages that arrive on their well known normal
address; they do not respond to ARP broadcast messages. Properly
equipped IP drivers should respond to the broadcast messages when
they appear.
If an ARP server receives a message containing an IP address it does
not know how to resolve, it ignores the message so that another ARP
server might be addressed at the source's next attempt.
If the address is resolvable, it places the known HYPERchannel
address and MTU size in the response and returns it to the location
in the HYPERchannel header FROM address.
Unlike a broadcast ARP, the ARP server will be required to service
two requests when two hosts that are initially unknown to one another
attempt to get in touch. Since the destination did not receive the
ARP request, it must contact the ARP server when its higher level
protocols first generate a datagram to respond to the the source's
first IP datagram to go through to the destination.
The source configuration file described in the previous section was
explicitly designed so that it could be sufficient as a data base for
an ARP server as well as an individual host.
BROADCAST ARP
When a local HYPERchannel network contains a broadcast capability,
any IP driver wishing to perform HYPERchannel address resolution may
be configured to emit the ARP message on a broadcast instead of a
well known address. IP drivers on other hosts are presumed to know
if their local HYPERchannel interface can send broadcast messages; if
so, they arrange to "listen" on the FF07 broadcast TO address for
ARP.
Processing of a received ARP broadcast message is otherwise identical
Hardwick & Lekashman [Page 36]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
to RFC-826:
o Messages are responded to if and only if the destination IP
driver is authoritative for the designated IP address.
o Whenever an ARP message is processed, the IP driver takes the
source HYPERchannel address and MTU size and adds it to its
address resolution tables. Thus the driver is equipped to
turn around the IP datagram that arrives from the destination
host when contact is made.
Each IP driver may have address resolutions that are set through a
static routing table (the configuration file specified above). If
ARP information arrives that contradicts a static entry (as opposed
to previously set dynamic ARP information) then the ARP information
should be ignored. This decision is made on the premise that the
only useful purpose of static routing in a broadcast ARP environment
is to add authentication, as it's easy to lie with ARP.
Hardwick & Lekashman [Page 37]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
APPENDIX A. NSC PRODUCT ARCHITECTURE AND ADDRESSING
This section is intended to be a concise review of the state of the
art in NSC networks and the techniques they provide for the delivery
of messages. Those who are thoroughly familiar with HYPERchannel may
wish to only skim this section; however, there is material on new
technologies and addressing formats that are not yet generally known
to most of NSC's customers.
NETWORK SYSTEMS HYPERCHANNEL TECHNOLOGIES
Network Systems manufactures several different network technologies
that use very different media and link controls, but still provide a
common host interface in both the protocol and hardware sense of the
term. These four technologies are:
o HYPERchannel A -- A 50-megabit, baseband, CSMA with collision
avoidance network using a coaxial cable bus. Individual
HYPERchannel "network adapters" can control up to 4 of these
coaxial cable "trunks," providing up to 200 megabits of
capacity on a fully interconnected network. HYPERchannel A
is NSC's earliest product and has been in production since
1977. It is principally used to interconnect larger
mainframe computers and high speed mainframe peripherals such
as tape drives and laser printers.
o HYPERchannel B -- a 10-megabit, baseband, CSMA with collision
avoidance network using a single coaxial cable bus. This
technology is used for direct host to host communications under
the name HYPERchannel B, and for terminal connections under the
name HYPERbus. It is currently used for three major
applications -- local networks of ASCII terminals, networks
of IBM 3270 terminals, and host to host communications of
smaller computers.
o DATAPIPE[3] -- a 275-megabit fiber optic "backbone" network
that interconnects lower speed local area networks within a 20
mile range, and to provide an ultra-high-performance network for
the next generation of supercomputers and optical storage
systems. A prototype version of DATApipe is currently under
development at a customer site.
o Bridges and Network Distance Extensions -- NSC quickly
discovered that its customers wanted very high speeds over
geographic areas, not just within the range of several miles
that is conceivable with a coaxial cable network. Starting
in 1978, NSC began to build a series of "link adapters" that
are integral bridges between local area networks. These link
Hardwick & Lekashman [Page 38]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
adapters support common high speed communications media such
as Telco T1 circuits, private microwave, high speed
satellite links, and fiber optic point to point connections.
ATTACHMENT TO HOST COMPUTERS
Network Systems' high speed interfaces use the attachment techniques
of the manufacturer's highest speed peripheral controllers in order
to achieve burst transfer rates of tens of megabits per second.
These attachment techniques fall into three categories:
"MAINFRAME" DATA CHANNEL ATTACHMENT
+-----------+-------+ +------------+ | | | |
| | | |HYPERchannel+--+ | | |
| | +-------------------+ Network +--|-+ | |
| Host | I/O +-------------------+ Adapter +--|-|-+ |
| | | Standard host | +--|-|-|-+
| Computer |Control| data channel +------------+ | | | |
| | |
| | |
| | |
| | |
+-----------+-------+
The network adapter contains interface boards and firmware to be
cabled to the manufacturer's data channel, such as would be done with
a disk or tape controller. Mainframe network adapters do not emulate
an existing manufacturer's device (such as a tape drive) but are
supported by software which functions the channel and adapter to send
and receive network messages.
Models of HYPERchannel adapters are available for essentially all
large scale computers worldwide.
Hardwick & Lekashman [Page 39]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
MINICOMPUTER AND WORKSTATION ATTACHMENT
Since the network adapter contains lots of expensive, high speed
logic, a different technique is used to provide attachment to
minicomputers and workstations.
+-------------+ +---------------+ +--------------+
| | | | | |
| Minicomputer| | Supermini | | Workstation |
| | | | | |
+-----+-------+ +-------+-------+ +-------+------+
| | DMA | | | DMA | | DMA | |
| |control| | |control| |control| |
+-----+---++--+ +-------+--++---+ +--++---+------+
|| || ||
|| || ||
|+----------+ || +---------+|
+----------+| || |+---------+
|| || ||
+-++--+-----+--++-+--++-+
| | | | |
+-----+-----+-----+-----+
| x400 |
| Network Adapter |
| |
+-------+-+-+-+---------+
| | | |
------------------|-|-|-+----------------
------------------|-|-+------------------
------------------|-+--------------------
------------------+----------------------
In this case, NSC provides a DMA controller designed for direct
connection to that minicomputer's backplane bus. These DMA
controllers accept functions and burst blocks of data from host
memory to a channel cable that is connected to one of four ports on a
"general purpose computer adapter." This adapter multiplexes
transmissions to and from the HYPERchannel trunks from up to four
attached processors.
Hardwick & Lekashman [Page 40]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
NETWORK COPROCESSORS
For about 10 different bus systems, Network systems provides a
"smart" DMA controller containing onboard memory and a Motorola 68010
protocol processor.
+------------+-----+---------------+-------+
| | | Coprocessor | | +--------+
| |Host | MC 68010 |Adapter+--------+ x400 |
| HOST |DMA | 256K memory | DMA +--------+ Adapter|
| | | | | +--------+
| Memory +-----+---------------+-------+
| |
+------------+
This class of interface works through the network coprocessor's
direct access to host memory. Network transmit and receive request
packets are placed in a common "mailbox" area and extracted by the
coprocessor. The coprocessor reads and writes system memory as
required to service network requests in the proper order. The
coprocessors currently provide a service to read or write network
messages (called Driver service as it is more or less identical to
HYPERchannel dumb DMA drivers) and a service for NETEX, which is
NSC's OSI-like communications protocol.
Hardwick & Lekashman [Page 41]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
APPENDIX B. NETWORK SYSTEMS HYPERCHANNEL PROTOCOLS
The protocols implemented by NSC within its own boxes are designed
for the needs of the different technologies. A compact summation of
these protocols is:
HYPERchannel B HYPERchannel A DATApipe
10 Mbits/second 50-200 Mbits/second 275 Mbits/second
+----------------------+----------------------+---------------------+
| |
| HYPERchannel network message |
| connectionless datagram protocol |
| |
+----------------------+----------------------+---------------------+
| "HYPERchannel | | |
| compatibility mode" | HYPERchannel A | DATApipe |
| Virtual circuit | reservation and | acknowledgment |
| estab. & control | flow control | & flow control |
+----------------------+ protocol | protocol |
| | | |
| Virtual Circuits | | |
| Flow Control | | |
+----------------------+----------------------+---------------------+
| CSMA / VT | CSMA / CA | |
| frame (datagram) | frame (datagram) | TDMA packet delivery|
| delivery and | delivery and | |
| acknowledgment | acknowledgment | |
+----------------------+----------------------+---------------------+
| | | Fiber optics |
| 75 ohm coax | 1-4 75 ohm coax | (various cable sizes|
| cable | cables | and xmission modes)|
+----------------------+----------------------+---------------------+
Without getting into great detail on these internal protocols, a few
points are particularly interesting to system designers:
o All three technologies supply the same interface to the host
computer or network coprocessor, a service to send and receive
network messages that are datagrams from the host's vantage in
that each contains sufficient information to deliver the message
in and of itself. Since this datagram and its header fields are
of paramount interest to the host implementor, it is discussed
in detail below.
o All technologies use acknowledgments at a very low level to
determine if packets have been successfully delivered. In
addition to permitting a highly tuned contention mechanism for
the coax medium, it also permits HYPERchannel A to balance the
Hardwick & Lekashman [Page 42]
^L
RFC 1044 IP on Network Systems HYPERchannel February 1988
load over several coax cables -- a feat that has proven very
difficult on, for example, Ethernet.
o All boxes go to some lengths to assure that resources exist
in the receiving box before actual transmission takes place.
HYPERchannel B uses a virtual circuit that endures for several
seconds of inactivity after one host first attempts to send a
message to the other. Traffic over this "working virtual
circuit" is flow controlled from source to destination and
buffer resources are reserved for the path.
HYPERchannel A exchanges frames at very high rates to determine that
the receiver is ready to receive data and to control its flow as data
moves through the network.
DATApipe propagation time is relatively long compared to the time
needed to send an internal packet of 2K-4K bytes. As a result,
DATApipe controllers use a streamlined TP4-like transport protocol to
assure delivery of frames between DATApipe boxes.
REFERENCES
[1] HYPERchannel is a trademark of Network Systems Corporation.
[2] Plummer, D., "An Ethernet Address Resolution Protocol",
RFC-826, Symbolics, September 1982.
[3] DATApipe is a registered trademark of Network Systems
Corporation.
Hardwick & Lekashman [Page 43]
^L
|