4
votes

Are there any networking protocols that are not strictly TCP or UDP but can be used with either one?

For example, HTTP, FTP, STMP, RTMP are always TCP.

DNS, SNMP, DHCP, RIP are always UDP.

Is there anything that can be either TCP or UDP? Or am I wrong in the above assertions?

RTSP is one weird one I know of that uses both, TCP for the control port but UDP for audio/video/quality, but it has strict requirements of what gets sent of each.

I'm asking about standard, published, or at least commonly used protocols, not custom ones.

5
Your premise is flawed. DNS is not always UDP. The DNS RFC says that DNS works equally well on TCP and UDP. Another protocol that works on either TCP or UDP is NFS.Robᵩ
@Rob, that's exactly what I'm asking..Samuel Neff

5 Answers

4
votes

DNS can use either UDP or TCP; TCP is required when the response data exceeds 512 bytes.

2
votes

SIP can use UDP, TCP or SCTP. Using a reliable transport becomes important in SIP if your messages get to be at all large (i.e., significantly larger than the smallest MTU in between user agents). A good example is shared- or bridged-line appearances, which use a form of presence with XML bodies. The larger the number of SIP clients in the shared-line group, the larger the packets are likely to be, making fragmentation and retransmission an issue.

2
votes

If you examine a Windows' services file you will see a number of protocols registered for both TCP and UDP. Path: C:\Windows\System32\drivers\etc In fact, most of the listings in the services file use both TCP and UDP protocols.

As far as well known apps that use both, I would think that most chat applications use both. sms-chat definitely does but probably most others.

Edit:

From that file, here's a few of the protocols that can be sent over either TCP or UDP (there are exactly 100 listed protocols that use both in the file, many internal MS protocols):

  • echo
  • discard
  • daytime
  • qotd (Quote of the day)
  • chargen (Character generator)
  • time
1
votes

SIP can be either UDP or TCP. However, the reality is that UDP is mostly used for this protocol.

1
votes

SNMP almost always runs over UDP, but it can and does run over TCP. Theory says that it's a bad idea to do SNMP over an error-correcting transport because because some of the very errors that SNMP intends to detect are masked.