¿Cómo podemos identificar qué aplicaciones usan TCP y cuáles usan UDP?

Bueno, esa es una buena pregunta.

Entonces, comencemos, en primer lugar, no hay una regla para identificar qué aplicación usa TCP y cuál usa UDP. Es solo la decisión del desarrollador de la aplicación.

Si no quisieron molestarse en escribir su propio sistema de “entrega confiable”, entonces simplemente pueden usar TCP que proporciona toda la confiabilidad.

Si pensaban que podían escribir un sistema de “entrega confiable” mejor o más apropiado, entonces podrían incorporarlo al protocolo mismo y simplemente usar UDP como su transporte.

Por ejemplo:

El Sistema de nombres de dominio (DNS) es tradicionalmente el protocolo al que se hace referencia cuando se discuten protocolos que usan TCP y UDP. No los usa al mismo tiempo, eso sí. Pero diferentes funciones dentro de DNS pueden requerir TCP vs UDP.

Por ejemplo, cuando se realiza una solicitud simple de resolución de registro A, la “solicitud” y la “respuesta” son muy ligeras, y ambas requieren un único paquete. Como tal, esto generalmente se hace a través de UDP.

Pero si una solicitud o respuesta requiere una transferencia mayor (por encima de una cierta cantidad de bytes), entonces DNS elige usar TCP para garantizar que “todos los bits” lleguen allí. Esto es común con las solicitudes completas de transferencia de zona.