M.I.T. Lab. for Computer Science Network Implementation Note No. 5 February 15, 1979 IEN-82 LCS Net Address Format Noel Chiappa David Clark David Reed This note defines the current format of addresses in the LCS Local Net and their translation into LCS hardware headers as well as InterNet addresses and CHAOS Net addresses. _________________________________________________________________ This note is an informal working paper of the M.I.T. Laboratory for Computer Science. It should not be reproduced without the author's permission, and it should not be cited in other publications.
February 15, 1979 This note defines the current format of addresses in the LCS Local Net and their translation into LCSNet hardware headers as well as CHAOS addresses and InterNet addresses. Address and protocol numbers specific to the LCSNet are also temporaily defined in this note. Note that the proposal stated in this is not final, but is motivated by other considerations. The LNI as currently designed contains sophisticated name matching facilities of unknown worth. It is not yet clear whether this hardware is useful or not, but we felt that we should at least explore the possibilities, and have thus designed the protocol to take maximum advantage of the hardware's features. Depending on the results of our preliminary work with the name matching hardware, we may or may not keep< it in future versions of the LNI. The basic hardware format of a LCS-LN packet is as follows: DPNM 31 0 |________________________________| DPN 31 0 |________________________________| OPN 31 0 |________________________________| LEN 15 0 |________________| DATA 8n-1 0 |________________| (Unless others stated, all bit numbers are in decimal and all others are in octal.) The DPNM, DPN, OPN and LEN fields are all defined by the hardware. The DATA field contains LEN bytes of data. The DPNM (Destination Process Name Mask) together with the DPN (Destination Process Name) specify the destination address, and the OPN (Originating Process Name) is the sender's address. This field is actually unused by the hardware, but is reserved for future use. The workings of the DPNM and DPN are as follows: in every LNI there is an array of sofware loadable names (the Name Table, NT), each with a DPNM and a DPN. The name matching algorithm is a follows: for each bit in the name, if the two bits in the DPN's are equivalent or if either DPNM bit is on, then
February 15, 1979 that bit matched. If all the bits matched, then the name matched. The basic format of the headers (imposed by the sotware) is as follows: DPNM 31 Type 23 0 |________|________________________| DPN 31 Rsd 23 0 |________|________________________| OPN 31 Reserved 0 |________________________________| LEN 15 0 |________________| DATA 8n-1 0 |________________| "Rsd" stands for "Reserved" and "Type" is the Local Type. As a general rule the value of 0 for any field is reserved for fixing catastrophes not yet visible to the eye. The following conventions are to be used in assigning type numbers: types 1 through 077 have a common address format, specified below, types 100 through 277 are reserved, and types 301 through 377 are available for (experimental) protocols which may use the next 24 bits of address as they see fit. The intention of the above is that bridges be able to easily recognize, via the top bit(s) whether or not the address field fits a common format. Clearly there are enormous advantages, in the building of bridges and other areas, where it is desirable to have a common address format, but it is obviously also desirable not to hamstring the development of other very different protocols (such as a distributed process system or a distributed file system) which would fit poorly into the classical addressing system. For types that use the common address format, the address format is: 00 Type SNet Rsd Host 31 29 23 15 7 0 |__|______|________|________|________|
February 15, 1979 The field marked "Rsd" is reserved for future use. It is intended that it be used for address expansion should it become necessary, but it may be used for whatever appears appropiate, such as a "Flag" field. SubNet numbers and Host Numbers (per SubNet) are currently being assigned in common with the AI Lab's CHAOS Net in an attempt to maintain an MIT wide addressing unity. The main repository for these numbers is in the online file AI:SYSENG;HOSTS > on MIT-AI. numbers specific to our net are: Number SubNet 0 Reserved 1-7 Unassigned 10 LCS LN 11-377 Unassigned Subnet 10 Number Host 0 Reserved 1 - 7 Unassigned 10 CSR 11/40 11 DSSR 11/70 12 - 17 Unassigned 20 VAX 21 - 377 Unassigned It is not intended that this note be the official source for host and subnet numbers; rather, there will be an online database which at the moment is the specified ITS file. The assigned protocol types are: Type Use 0 Reserved 1 InterNet Datagram (Internal) 2 CHAOS Packet 3-77 Unassigned 100-277 Reserved 300 Reserved 301 InterNet Datagram (Outbound) 302-377 Unassigned
February 15, 1979 In all cases the specified header is followed immediately by a packet of the specified type as defined in the appropriate reference. [1,2] At the moment, the format of outbound InterNet packets is as follows: 11 000 Rsd Ext Net 31 29 23 7 0 |__|______|________________|________| where "Ext Net" is the major net number of the destination. In internal InterNet packets, the mapping from InterNet Headers to MIT addresses is simple; the 24 bits of "Address" after "Net Number" in the InterNet header have the same format as the adddress of a common address format packet, and are copied directly into the header. In the future, some attempt may be made to support variable address format addresses on inbound packets.
February 15, 1979 References  Postel, Jonathan B., "InterNetwork Protocol Specification, Version IV," Information Sciences Institute, University of Southern California, IEN 54, September 1978.  Greenblatt, Richard G., and Moon, David, "CHAOS Protocol Specification," Artificial Intelligence Laboratory, M.I.T., 1978.