Un paquet UDP ne va pas plus vite qu'un paquet TCP.
Par contre si tu as juste un paquet à envoyer, pour dire "coucou" à PC2 et c'est tout il faut :
en TCP :
- ouvrir une connexion :
PC1 > PC2 : TCP SYN(x)
PC2 > PC1 : TCP SYN(y),ACK(x+1)
PC1 > PC2 : TCP ACK(y+1)
- la connexion est établie, on peut transmettre :
PC1 > PC2 : TCP segment = "coucou" (6 octets),ACK(y+1)
PC2 > PC1 : TCP ACK(x+7)
- fermeture de la connexion
PC1 > PC2 : TCP FIN,ACK(y+1)
PC2 > PC1 : TCP ACK(x+8)
PC2 > PC1 : TCP FIN,ACK(x+8)
PC1 > PC2 : TCP ACK(y+2)
Au total, PC1 a envoyé à PC2 : SYN, coucou, FIN
et PC2 a envoyé à PC1 : SYN, FIN
Ensuite PC1 et PC2 doivent porter le deuil de la connexion TCP pendant 2 minutes afin de respecter sa mémoire.
Après tout ça, PC1 et PC2 peuvent enfin oublier cette connexion.
En UDP :
PC1 > PC2 : UDP "coucou"
mais il faut envisager que le coucou soit perdu.
UDP avec système de confirmation :
PC1 > PC2 : UDP "coucou"
PC2 > PC1 : UDP "bien reçu ton coucou"
Donc TCP est efficace pour envoyer de grosses quantités de données, ou plein de messages courts dans une même connexion de façon fiable (avec confirmation), mais pas pour envoyer juste un seul message court.