On Tuesday, February 25, 2020 at 6:31 AM, Paul Koning wrote:
   On Feb 24,
2020, at 9:44 PM, Peter Lothberg <roll at Stupi.SE> wrote:
 I would not recomend DDCMP over TCP, as you have no idea what the TCP
 implementaion does for timers etc and TCP is streams, you need to
 identify the packet boundaries. 
 
 DDCMP over TCP has been part of SIMH for quite some time.
 
 The stream nature is not an issue, of course.  DDCMP over wires also has a
 stream physical layer and knows how to do packet framing perfectly well.  The
 answer is the same in both places: header CRC framing.
 
  DDCMP over UDP gives DDCMP full control over
retransmit timers etc for
 making the connection reliable and what the actual netwrk is doing is
 visible to the DDCMP layer. 
 
 That's true.  Then again, DDCMP does not have any congestion control or timer
 adjustment or other things that are useful when sending frames over IP
 network as opposed to fixed delay wires that don't congest.
 
 As I mentioned, if you have PyDECnet at both ends, you can use DDCMP over
 UDP.  If you're using SIMH, you're limited to what it implements, which is
 DDCMP over TCP. 
 
It is not merely TCP:
        PDP-11 simulator V4.0-0 Current        git commit id: 146f05d1
        sim> help dmc attach
        Device DMC is currently disabled
        DMC device attach commands:
        DMC help.  Type <CR> to exit, HELP for navigation help
        Attach
            The device must be attached to a receive port, use the ATTACH command
            specifying the receive port number.
                sim> ATTACH DMC0 port
            The Peer host:port value must be specified before the attach command.
            The default connection uses TCP transport between the local system and
            the peer.  Alternatively, UDP can be used by specifying UDP on the
            ATTACH command:
                sim> ATTACH DMC0 port,UDP
        DMC Configuration?
The commits that added this help (and the related functionality) were in late 2013.
- Mark