Tanto TCP como UDP encajan en la cuarta capa en el modelo OSI que es la capa de transporte justo por encima de la capa IP. TCP y UDP soportan la transmisión de datos de maneras diferentes.
En el transporte de paquetes hay dos limitaciones principales, una es la confiabilidad y la otra es la latencia. La confiabilidad está garantizada en la entrega del paquete y la latencia es oportuna en la entrega del paquete.
Para iniciar una comunicación de datos entre dos nodos, el remitente debe conocer la IP del receptor y el número de puerto. La dirección IP sirve para enrutar el paquete y el número de puerto sirve para entregar el paquete a la dirección correcta.
Igual que en el modelo de servicios de aplicaciones y comunicación de datos, las aplicaciones TCP escuchan los números de puerto para aceptar conexiones TCP. Igual que las aplicaciones UDP también escuchan los números de puerto para entregar servicios UDP.
TCP es un protocolo confiable de extremo a extremo de conexión para admitir la transmisión de datos garantizada. Desde el establecimiento de la conexión en sí TCP garantiza la fiabilidad. Algunas de las características principales del TCP son el protocolo de enlace de 3 vías (SYN, SYN-ACK, ACK), detección de errores, control de flujo y control de congestión.
TCP es un mecanismo de transporte confiable, por lo que se usará donde la entrega de paquetes sea una necesidad incluso en congestiones. Ejemplo típico de aplicaciones TCP y números de puerto son el FTP (20), Control de FTP (21), SSH (222), Telnet (23), Correo (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) y HTTPS (443). Estas son aplicaciones TCP muy conocidas.
UDP (User Datagram Protocol) es un protocolo de transmisión simple que proporciona un servicio no confiable. No significa que UDP no entregará los datos, pero no hay mecanismos para monitorear el control de congestión o la pérdida de paquetes. Ya que es simple, evita el procesamiento de gastos generales en la interfaz de red. Las aplicaciones en tiempo real utilizan principalmente UDP porque es preferible eliminar paquetes que tener paquetes retrasados. Un ejemplo típico son los flujos de medios de voz sobre IP.