On 2018-05-04 23:03, Paul Koning wrote:
On May 4, 2018, at 2:46 AM, Johnny Billquist
<bqt at softjar.se> wrote:
On 2018-05-04 05:55, Robert Armstrong wrote:
I guess a more direct question for the DECnet
experts out there would be, "can any DECnet circuit cope with multiple adjacent nodes
on the same circuit?" I always thought Ethernet circuits were special in that
regard, but maybe not. If any single circuit can have multiple adjacencies, then you
could make a Multinet driver that accepted multiple connections.
There are a little bit more to it, but first of all, ethernet is special. The protocol
DECnet uses over ethernet is a bit different than the protocol used over point-to-point
links.
But in addition, you also have multipoint circuits, which is a variant of point-to-point
circuits, but which have several endpoints/adjacent nodes. So ethernet is not the only one
able to do that.
That's not exactly right. There are a number of different objects at several layers.
Thanks for correcting me.
The routing layer has two: "circuit" and
"adjacency". Circuit is the communication service provided by the datalink
layer. Adjacency is the information the routing layer has about a given neighbor. If the
circuit is point to point, there is exactly one adjacency per circuit. If broadcast,
there can be many (and they can be mixed: some endnode adjacencies, some routing
adjacencies).
The data link layer also has two objects: "line" and "circuit". Line
corresponds to a physical wire. Circuit is the communication service provided to the
layers above. I don't remember how X.25 links are modeled in the DECnet data link
layer, never worked on that stuff. Broadcast links like Ethernet have one circuit per
line. Point to point links like the DMC-11 also have one circuit per line. Multipoint
links such as a DMP-11 at the master end have as many circuits as there are configured
drops; each circuit describes the connectivity to a particular multidrop slave station.
So from the routing layer point of view, there is NO difference between DMC and DMP -- in
each case, routing sees point to point circuits. The multiplexing for a multipoint link,
if used, is in the data link layer, not in routing. On the other hand, with Ethernet the
multiplexing (for the different neighbors) is in the routing layer, NOT the data link
layer.
Right. I was way to careless with detail here.
It would certainly be plausible to model Multinet as a
multidrop link, like a DMP-11. If you do that, you'd still see multiple circuit
objects in routing, each with its own name and state and all that. Then you can make the
TCP (or UDP) port number be a line attribute in the datalink layer. That all fits.
I thought about it for a while, but decided it wasn't worth dealing with
this, as VMS Multinet did it more straight forward, and I couldn't see
any point in doing it differently when I wrote this for RSX.
I should look at the X.25 model more closely; it might
be a better fit still.
It would indeed be an obvious better fit. The X.25 in RSX presents a
virtual line over which you can have multiple circuits. It would be more
or less a perfect fit in that this maps straight off to how you'd like
to do this over TCP/IP. However, it was both a bit obscure and sortof
hackish in the RSX implementation, and again, it didn't match up to the
VMS Multinet solution, so I decided to not do this in the end.
Meanwhile, on an unrelated topic, are there any
Multinet implementations that support IPv6? My home IP connection supposedly is IPv6
capable, though I've never succeeded in getting that to work.
I think it would be extremely straight forward, but since I don't
support IPv6 (yet) in RSX, I have certainly not done it. :-)
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol