TCP et UDP sont les 2 principaux protocoles de la couche transport. La différence entre TCP et UDP sont fondamentales.
Ces deux protocoles servent à échanger des paquets d’information entre 2 machines en utilisant leur adresse IP et un numéro de port.
TCP fonctionne un peu comme le téléphone : il faut d’abord établir une connexion TCP entre les 2 machines, ce qu’on pourrait comparer à composer le numéro de téléphone.
Une fois que la communication est établie, les 2 machines peuvent dialoguer de manière bidirectionnelle (vous pouvez parler à votre interlocuteur, et c’est réciproque).
Et vous pouvez communiquer de cette manière autant que vous voulez, tant que vous ne fermez pas la connexion TCP (i.e. tant que vous ne raccrochez pas le combiné téléphonique).
On dit que TCP est un protocole stateful (avec état) : l’état c’est tout simplement la connexion, le fait que les 2 machines sont reliées par un circuit logique à travers internet. En programmation, cette connexion est matérialisée par une socket qui représente l’interface de communication avec la machine distante.
TCP sert de socle à de nombreux protocoles de la couche application, que vous connaissez peut-être :
UDP est un protocole stateless (sans état), on peut le comparer au courrier : vous placez le message à envoyer dans une enveloppe qui contient toutes les informations nécessaires au routage : l’adresse IP et le port (i.e. les coordonnées du destinataire), puis vous envoyez l’enveloppe.
Le paquet UDP (l’enveloppe) va alors être acheminé à travers internet jusqu’à sa destination.
UDP est utilisé pour :
Voici dans un tableau les principaux protocoles TCP/UDP et leur port. Cette liste est personnelle, si vous voulez que d’autres protocoles y soit référencé n’hésitez pas à me le demander 🙂
n° port | Protocole | Service associé |
---|---|---|
20 | tcp | ftp-data - File Transfer Protocol |
21 | tcp | ftp - File Transfer Protocol (le flux de contrôle pour le transfert de fichiers) |
22 | tcp | SSH - Secure Shell |
23 | tcp | Telnet |
25 | tcp | SMTP - Simple Mail Transfer Protocol (sans authentification) |
53 | udp | DNS - Domain Name Service |
67 | udp | DHCP (Client) - Dynamic Host Configuration Protocol |
68 | udp | DHCP (Serveur) - Dynamic Host Configuration Protocol |
69 | udp | tftp - Trivial File Transfer |
80 | tcp | HTTP - Hypertext Transfer Protocol |
110 | tcp | pop3 - Post Office Protocol v3 |
123 | udp | ntp - Network Time Protocol |
137 | tcp | netbios-ns - NETBIOS Name Service |
143 | tcp | imap4 - Internet Message Access Protocol v4 |
161 | udp | SNMP - Simple Network Management Protocol |
162 | udp | SNMPtrap - Simple Network Management Protocol Trap |
389 | tcp | LDAP - Lightweight Directory Access Protocol |
443 | tcp | https - HyperText Transfer Protocol Secure |
445 | tcp | CIFS - Common Internet File System (SMB - Samba) |
546 | udp | DHCPv6 - Dynamic Host Configuration Protocol v6 |
993 | tcp | IMAPS |
995 | tcp | POP3S |
1433 | tcp | Microsoft SQL Server |
1521 | tcp | Oracle SQL |
3306 | tcp | MySQL |
5432 | tcp | PostgreSQL |
5900 | tcp | VNC Server |
6667 | tcp | IRC |