poll: have you ever designed a protocol that uses TCP or UDP directly? (vs using protocols that are based on TCP/UDP like DNS, HTTP, SSH, etc)

(you can pick more than one)

yes, TCP
36.1%
yes, UDP
24.3%
no, but I’ve used protocols based on them
37%
other
2.6%
Poll ended at .

I'm so curious about what the 30% of you who are designing custom UDP-based protocols are doing, I would love to hear more!

(please only reply if you responded “yes, UDP” to the above poll)

RFC 5389: Session Traversal Utilities for NAT (STUN)

Session Traversal Utilities for NAT (STUN) is a protocol that serves as a tool for other protocols in dealing with Network Address Translator (NAT) traversal. It can be used by an endpoint to determine the IP address and port allocated to it by a NAT. It can also be used to check connectivity between two endpoints, and as a keep-alive protocol to maintain NAT bindings. STUN works with many existing NATs, and does not require any special behavior from them. STUN is not a NAT traversal solution by itself. Rather, it is a tool to be used in the context of a NAT traversal solution. This is an important change from the previous version of this specification (RFC 3489), which presented STUN as a complete solution. This document obsoletes RFC 3489. [STANDARDS-TRACK]

IETF Datatracker