On Sep 18, 2018, at 6:44 PM, Johnny Billquist <bqt
at softjar.se> wrote:
A couple of more comments:
The manual I have for DECNET-8 is dated February 1977.
The timeline for DECnet on Wikipedia claims that phase II was introduced in 1975.
According that same article, it would appear that only RSX ever had DECnet phase I.
But information on Wikipedia should as usual be taken with a grain of salt. Especially
when it a bit more obscure information, for which there are few sources, and the
information might be written by someone without direct experience.
A couple of quotes from the code, that might help:
From NSP.PA:
/NETWORK SERVICES PROTOCOL FOR DECNET/8
/ IMPLEMENTED AT SPEC LEVEL 2.2
...
So, despite the comments, it's version 1C, and not 1A. And the last fix was in
September 1977.
And "SPEC LEVEL 2.2" might be useful in figuring out what phase it might be,
and it might be a hint for phase 2.
I never really learned PDP-8 assembler, time to dig up the old handbook.
However... the DECnet/8 internals document is pretty explicit that it's talking about
Phase I. The packet formats are entirely different and utterly incompatible with any
later version of DECnet. For example, there are no sequence numbers in NSP, at least not
in the DECnet/8 flavor. And NSP packet types are effectively two bytes, not one. Flow
control supplies message counts, not deltas as in later versions. There is no handshake
for discovering information about neighbor nodes (nothing beyond DDCMP link startup). And
so on.
"Spec level 2.2" may indeed refer to an NSP spec. But note that the NSP spec
version number for the Phase II NSP is 3.1 (for Phase III it's 3.2; for Phase IV
it's 4.0).
The internals document also suggests there are two variants of Phase I, or at least there
might have been designs for two, confusingly called "phase 1" and "phase
2". The difference is whether the network is assumed to be lossless so NSP
doesn't have to deal with missing or reordered packets. DECnet/8 is that flavor
("phase 1"), which explains why its NSP doesn't have sequence numbers in the
headers. I have no idea what the other flavor looks like, or if it actually ever
existed.
Phase II uses a lossless datalink also (DDCMP) but in spite of that has sequence numbers
in NSP. It doesn't have timeouts and retransmission, though. At least it isn't
required; if a node were to do that nothing bad would happen but it isn't normal
practice that I recall.
paul