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