[comp.sys.proteon] TCP & UDP over PRONET80

mike@jpl-devvax.JPL.NASA.GOV (Mike Tankenson) (12/15/88)

I'm a new reader to this group, so please excuse me if this subject has
been beaten to death.

We're in the process of putting together a PRONET80 ring, running TCP/IP.
The application involves several megabits of blocked telmetry data running
between a Gould (and perhaps a Sun or Masscomp).  We're trying to determine
whether TCP or UDP would be more appropriate as the transport protocol.  We
have lots of experience with TCP/IP over Ethernet, but zilch when it comes
to Token Ring.

Question 1: How is UDP over Token Ring different than UDP over Ethernet?
Here we're interested in collisions, checksum errors, slow receivers,
retransmissions (built into the driver?).  I know collisions are eliminated
with Token Ring -- I'm interested in basic UDP behavior.

Question 2: Given our Ethernet experience, we've found that back to back
UDP packets will invariably overrun a receiver, causing loss of packets.
Does this (or can this) happen on PRONET80?  Probability?

Question 3: If the answers to 1 and 2 above are positive (ie. UDP is much
more reliable over Token Ring than Ethernet), then do you think UDP would
be a suitable protocol to use for a high speed application such as ours?

If anybody has archived any discussions on this topic, I'd be very grateful
for a copy (via email).  I'd take pointers to any magazine articles on the
subject too.  Thanks.

PS: I have spoken to Proteon on this, and they basically said that UDP is
slightly more reliable on Token Ring (no collisions, etc), but that there
is still NO GUARANTEE that UDP packets will ever get delivered.  Am I off
base here?

--mike
-- 
Mike Tankenson                      Telos/Jet Propulsion Laboratory/NASA
4800 Oak Grove Drive, Pasadena, CA.  91109    Mail Stop: 301-260a
Phone: (818) 354-1439
ARPA: mike@jpl-devvax.JPL.NASA.GOV  UUCP: seismo!cit-vax!jpl-devvax!mike

jqj@oregon.uoregon.edu (J Q Johnson) (12/15/88)

In article <3756@jpl-devvax.JPL.NASA.GOV>, mike@jpl-devvax.JPL.NASA.GOV (Mike Tankenson) writes:
> We're in the process of putting together a PRONET80 ring, running TCP/IP.
> The application involves several megabits of blocked telmetry data running
> between a Gould (and perhaps a Sun or Masscomp).  We're trying to determine
> whether TCP or UDP would be more appropriate as the transport protocol.  We
> have lots of experience with TCP/IP over Ethernet, but zilch when it comes
> to Token Ring.

I have no TR experience either, so can't answer the specific questions. 
However, in response to the general questions of UDP vs TCP for high
speed transfer, the current wisdom is "go with TCP, but with the Van
Jacobsen performance enhancements such as header prediction." There is
no reason to believe that TCP should be much if any slower than UDP,
especially since there now exist very carefully tuned high performance
TCP implementations for Unix.  Although Sun presumably did some
performance tuning to their UDP for NFS, it isn't clear that they did
anywhere near as good a job as Van. 

Meanwhile, even if your medium were perfectly reliable you'd still lose
with UDP as soon as you added a gateway.

kwe@bu-cs.BU.EDU (kwe@bu-it.bu.edu (Kent W. England)) (12/16/88)

In article <3756@jpl-devvax.JPL.NASA.GOV> 
mike@jpl-devvax.JPL.NASA.GOV (Mike Tankenson) writes:
>
>Question 1: How is UDP over Token Ring different than UDP over Ethernet?
>Here we're interested in collisions, checksum errors, slow receivers,
>retransmissions (built into the driver?).  I know collisions are eliminated
>with Token Ring -- I'm interested in basic UDP behavior.

	There are no collisions on Token Ring, but the datagram will
still have a variable waiting time to get on the channel.
	You could overrun a buffer on a Pronet-80 node, just like
could happen on Ethernet.  So you don't find much use for Pronet-80
interfaces in PC-XTs.  :-)
	Checksum errors and retransmissions.  Hmmm.  Pronet-80 doesn't
use CRC checking on the datagram like Ethernet does.  It encodes each
4-bit "character" into a 6-bit symbol.  Supposed to be better than CRC
in detecting single bit errors, but I wonder about the differences.
Can anyone explain the differences between Pronet-80 error detection
and Ethernet error detection?
	NFS runs UDP with no checksum.   Works fine on Ethernet.  Work
fine on Pronet-80?

>
>PS: I have spoken to Proteon on this, and they basically said that UDP is
>slightly more reliable on Token Ring (no collisions, etc), but that there
>is still NO GUARANTEE that UDP packets will ever get delivered.  Am I off
>base here?

	Pronet-80 is like Ethernet in that it *should* detect an error
in a frame (at least a single bit error) but it will drop the packet.
There is no buffering and retransmission in Ethernet.  I think there
is not any in Pronet-80, although there is link-level acknowledgement
in some token rings that would allow link-level retransmission.  I'm
not sure that that feature is used in any token ring implementations.
It's left for higher layers, which is reasonable given the low bit
error rates of most modern media.

	Collisions in CSMA/CD are not errors.  Frames that collide are
retransmitted by the MAC layer.  Bit errors are detected and frames
dropped.  That's why Ethernet is "unreliable".

	Kent England, Boston University