Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

According to what I've read, there are three main connection types in computer networks:

  • Unacknowledged, connectionless (e.g. UDP)
  • Acknowledged, connectionless (e.g. ?)
  • Acknowledged, connection-oriented (e.g. TCP)
share|improve this question
up vote 4 down vote accepted

From memory those three connection types are defined by the OSI network model, and while the TCP/IP and OSI Models may share some similarities the support of certain features required/implied by OSI does not necessarily translate into support in the TCP/IP model.

Everything I can find regarding "acknowledged, connectionless" protocols simply refers to it being a feature/requirement in the Data Link Layer of the OSI model

While the OSI model is a good model for learning how a network should work, is not necessarily perfect for widespread usage and some of the features are simply not worth the effort to implement in common networking protocols.

The two types you listed (TCP and UDP) are enough to support 99.9% of situations that are likely to occur, and as connections "cost less" with faster networking devices and features like Selective Acknowledgement the requirement for acknowledged yet connectionless protocols becomes minimal, and if you truly don't want a connection (i.e. broadcasting to multiple computers) then acknowledgement could create a processing bottleneck coming back to you.

The only real use I can see for that particular type of connection is in a system like a factory where you absolutely must know that certain data has been received by all machines and I cannot see why, with modern hardware speeds and capabilities, you would want to use a connectionless protocol as a connection-orientated protocol would provide much better quality of service.

share|improve this answer
It's not that I'm trying to use such a protocol, the question is more of educational use for me :) I was just wondering what such a protocol would be used for, because I didn't came up with a good use for it either. – fresskoma Jul 1 '11 at 15:34

TFTP uses UDP, and relies on acknowledgements to function.

share|improve this answer
Not exactly what I was looking for, but nevertheless useful ^^ – fresskoma Jul 1 '11 at 15:35

There is a protocol called Reliable User Datagram Protocol (RUDP). It is a trade off between the reliability of TCP and simplicity of UDP. It attempts to minimize the complexity and overhead of TCP connections while improving reliability.

share|improve this answer

Does UDP with a request-response protocol qualify as acknowledged-connectionless? E.g. UDP Echo per RFC 862?

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .