[HECnet] Multinet protocol description

Paul_Koning at Dell.com Paul_Koning at Dell.com
Wed May 8 22:05:45 PDT 2013


On May 8, 2013, at 4:51 PM, Dennis Boone wrote:

I gather the "multinet" protocol is how much of hecnet is tied
together.   Is that right?   Is there a protocol description for it, or
code that implements it?

It wraps decnet frames in udp frames, typically on port 700.   The linux
decnet package has an implementation of it, and the source is reasonably
easy to follow.

I think I figured it out.   The DECnet/Linux code is in dnprogs, file multinet.c

It's quite a hack.   DECnet/Linux apparently only supports Ethernet datalinks.   Or at least the multinet stuff hooks into the Ethernet machinery (via a tun/tap port).   But it converts the packet stream into the point to point flavor of the protocol, at least a close enough approximation that it basically works.

Ok, that helps, because it basically means I need to do another point to point link (closely analogous to the simh DDCMP emulation).

One detail is unclear: it looks like the first four bytes of the datagram are a 2 byte sequence number followed by 2 bytes of padding.   The code isn't doing anything with the sequence number on receipt.   And it doesn't ever seem to reset the sequence number.   So what, if anything, is it used for?

Part of the puzzle is that the DECnet routing spec requires point to point links not to lose packets -- which DDCMP guarantees.   UDP does not, obviously.   It doesn't even guarantee sequential delivery.   And while DECnet can deal reasonably well with lost packets, reordered packets on a datalink are not something the state machine was designed for.   I suppose that real world packet loss/reordering rates are low enough that it works well enough by the standards of the people who invented this scheme, even though it wouldn't have passed muster in the DECnet architecture team...

	paul



More information about the Hecnet-list mailing list