[mod.telecom] MNP Protocol

S.PAE@DEEP-THOUGHT.MIT.EDU.UUCP (06/04/86)

I recently got a pair of Vadic 2400PA. They implement Class 3
MNP communications. My company's file transfer protocol uses DEC DDCMP
for error-free transmissions. Generally, we can specify the windowing
(pipelining) for DDCMP to 0 or 1, but one of our implementations only has
a windowing of 0 (no pipelining).

The reults of a timing trials are as follows:
Window		No Error Correction	Error Correction
1		213 cps			210 cps
0		190 cps			127 cps

The dramatic fall off with no windowing seems to be caused by the
timeout that the modem takes before it decides to packetize a sub-size
number of characters (there's clearly a precise term for this...). We
probably lose on the last part of our data packet and on the returned
acknowledge packet. Since everything hangs until that ack is returned,
the timeout time is probably added in twice per packet. A pipelining
implementation has enough time to get the ACK back and the timeouts
are (mostly) not impeding throughput.

Other than knowing how our DDCMP implementation works, the above paragraph
is guesswork.  The Vadic documentation contains NO information about how
MNP works, how much memory their beasties have, how big the packet size
is, etc. Vadic technical support doesn't when it comes to MNP.

I would be very interested to know what MNP is up to. Specifically, what is
the minimal number of characters in a MNP Class 3 packet? How long does the
protocol take to decide that it should go ahead and send a partial packet
out? Is this rigidly specified in the protocol?  Would bad things happen
if the timeout were set to the 1/240 of a second (one character)? 

Why do I care? Why not just turn off error correction?  Or turn it on
when we need it? Mostly because it would be really nice if it worked,
and we could just leave it on with a small performance loss. Everything
is too complicated.

My apologies if this sounds like a condemnation of Vadic. I have no idea
if anyone else is doing any better. If there are any Vadic employees on this
list who can help me out, send me personal mail.

--phil

PS One general caveat about the 2400PAs with MNP on: when no
characters are being sent in either direction, the modems are still
sending characters to each other (This is useful??). When things aren't
working and you see the transmit light going off on its own, it's 
a tremendous source of confusion.
-------

DPickett@HIS-PHOENIX-MULTICS.ARPA.UUCP (06/11/86)

     If the modem sends characters all the time, TYMNET will love it, as
they charge "by the character".  I suppose that they will filter this
out when they support it.
     It would be nice if they would send the first character right away,
and if they accumulate a few more before they can send again, increase
the packet size to that number.  They might wait until the start bit of
the next character is possible (in async) and send immediately only if
the device is not keeping up (i.e.  no sort of block mode is active),
otherwise fill a standard block, or one that increases in size
dynamically in response to the host activity and decreasing with
increasing error rate.  This is too much to hope for (They probably
tried it once, and it worked too good, so the dropped it).  The block
sizes can also reflect the balance of in/out flow so as to avoid too
large a delay of input when massive output is active.