TCP, UDP et ports
Un numéro de port tient sur 16 bits, il va donc de 0 à 65535. Les serveurs web en HTTPS écoutent sur le port 443.
Deux énigmes pour commencer. Pendant un appel vidéo, un petit morceau de la voix de ton ami se perd en route. Ton application doit-elle le redemander ? Maintenant, tu télécharges un fichier de devoirs et un morceau du fichier se perd. Même question. Décide pour les deux avant de lire la suite.
Deux morceaux perdus, deux réponses différentes
Si tu as dit non pour l'appel et oui pour le fichier, tu as déjà choisi entre les deux protocoles de transport. Un morceau de son qui arrive une demi-seconde trop tard ne sert à rien. La conversation a continué, il vaut donc mieux sauter ce morceau et jouer le suivant. Un fichier auquel il manque un morceau est abîmé, alors ce morceau vaut la peine d'attendre. Internet a un protocole de transport pour chaque cas : TCP attend et renvoie, UDP envoie et passe à la suite. Mais avant que l'un ou l'autre puisse aider, un paquet doit atteindre le bon programme.
Quel programme reçoit le paquet : les ports
Une adresse IP amène un paquet au bon ordinateur. Mais un ordinateur fait tourner beaucoup de programmes à la fois : un navigateur avec plusieurs onglets, une messagerie, une application de musique. Les en-têtes TCP et UDP portent tous deux un port source et un port de destination, chacun étant un nombre de 16 bits entre 0 et 65535, et le port indique à quel programme le paquet est destiné. Un programme serveur écoute sur un port convenu : 80 pour le HTTP simple, 443 pour le HTTPS, 53 pour le DNS, 25 pour le courrier entre serveurs. La RFC 6335 découpe la plage en ports système de 0 à 1023, ports utilisateur de 1024 à 49151 et ports dynamiques de 49152 à 65535. Ton ordinateur choisit un port source temporaire pour chaque conversation, souvent dans la plage dynamique. Une adresse et un port ensemble, comme 198.51.100.20:443, désignent exactement une extrémité d'une conversation.
TCP coche chaque octet
TCP (RFC 9293) transforme un flux de paquets peu fiable en une sorte de ligne téléphonique pour octets. D'abord, les deux côtés établissent une connexion par une poignée de main en trois temps : le client envoie SYN, le serveur répond SYN-ACK et le client répond ACK. À partir de là, chaque octet a un numéro de séquence. Le récepteur envoie des accusés de réception (ACK) qui disent jusqu'où il en est, et remet en place les morceaux arrivés dans le désordre. Si l'expéditeur ne reçoit aucun ACK avant la fin du délai d'attente, il renvoie les données. La RFC 6298 fixe le premier délai à 1 seconde, puis l'ajuste au temps d'aller-retour mesuré. TCP ralentit aussi quand il constate des pertes, pour ne pas inonder une liaison chargée.
UDP envoie et passe à la suite
UDP (RFC 768, 1980) en fait beaucoup moins. Son en-tête ne fait que 8 octets : deux ports, une longueur et une somme de contrôle. Pas de poignée de main, pas de numéro de séquence, pas de renvoi. Pour l'appel vidéo de la première énigme, c'est exactement ce qu'il faut. Les courtes questions DNS utilisent aussi UDP, car une question et une réponse vont plus vite sans poignée de main. QUIC, le protocole de transport sous HTTP/3, fonctionne sur UDP et ajoute par-dessus son propre système de renvoi.
Fais glisser pour tourner. Fais défiler ou pince pour zoomer.
Quatre nombres pour distinguer deux onglets
Quatre nombres identifient ensemble une connexion TCP : adresse source, port source, adresse de destination et port de destination. C'est ainsi qu'un serveur sur le port 443 peut parler à des milliers de navigateurs à la fois sans les confondre, et que ton ordinateur portable distingue deux onglets ouverts sur le même site, car la connexion de chaque onglet utilise un port source différent. Touche un paquet dans le simulateur et lis son en-tête. Avant la box, la source est 192.168.0.12 port 51000. Après, le NAT a changé les deux nombres, et le routeur se souvient de l'échange pour que les réponses reviennent au bon onglet.
| TCP | UDP | |
|---|---|---|
| Établissement | Poignée de main en trois temps | Aucun |
| Données perdues | Renvoyées après un délai d'attente | Restent perdues |
| Ordre | Rétabli grâce aux numéros de séquence | Non garanti |
| En-tête | 20 octets ou plus | 8 octets |
| Usages typiques | Pages web, courriel, téléchargement de fichiers | Questions DNS, appels audio et vidéo, jeux, QUIC |
| Port 443 | HTTPS |
| Port 80 | HTTP sans chiffrement |
| Port 53 | DNS |
| Port 25 | Courriel entre serveurs de messagerie (SMTP) |
| SYN, SYN-ACK, ACK | Poignée de main TCP en trois temps |
| ACK | Accusé de réception : « j'ai tout reçu jusqu'ici » |
- Quel est le plus grand numéro de port ?
- Quel port un serveur web utilise-t-il pour le HTTPS ?
- Quel port le DNS utilise-t-il ?
- Ton navigateur utilise le port source 50000. Dans quelle plage de la RFC 6335 se trouve-t-il ?
- Dynamique (49152 à 65535)
- Système (0 à 1023)
- Utilisateur (1024 à 49151)
- Ce n'est pas un port valide
- Remets la poignée de main TCP dans l'ordre.
- Combien d'octets fait un en-tête UDP ?
- Avant toute mesure d'aller-retour, quel premier délai de retransmission la RFC 6298 fixe-t-elle ?
- Avec 25 % de perte, que fait TCP d'un paquet manquant ?
- Il le renvoie après le délai d'attente
- Il le saute
- Il renvoie tout le message depuis le début
- Il ferme aussitôt la connexion
- Pourquoi les appels vidéo utilisent-ils souvent UDP ?
- Un son qui arrive en retard ne sert à rien, donc attendre un renvoi n'aide pas
- UDP chiffre l'appel
- UDP ne perd jamais de paquets
- TCP ne peut pas transporter de son
- Combien y a-t-il de numéros de port différents ?
- « UDP est une version ratée de TCP qui perd des données. » On choisit UDP exprès quand des données en retard ne servent à rien ou qu'une question et une réponse suffisent, comme pour les appels, les jeux et le DNS. QUIC construit même sa propre fiabilité par-dessus.
- « Un port, c'est une prise à l'arrière de l'ordinateur. » Le mot est le même, mais un port TCP ou UDP est un nombre de 16 bits dans l'en-tête du paquet, entre 0 et 65535. Il désigne un programme, pas une prise.
- « Quand un paquet est perdu, TCP renvoie tout le fichier. » Seules les données manquantes sont renvoyées après le délai d'attente. Les numéros de séquence et les ACK montrent quelle partie n'a pas été confirmée ; le récepteur a déjà le reste.
- Les ports (16 bits, de 0 à 65535) choisissent le programme : 80 HTTP, 443 HTTPS, 53 DNS.
- TCP : poignée de main (SYN, SYN-ACK, ACK), numéros de séquence, ACK, renvoi après délai d'attente.
- UDP : en-tête de 8 octets, pas de poignée de main, pas de renvoi ; utile quand des données en retard ne servent à rien.
- QUIC (HTTP/3) fonctionne sur UDP et ajoute sa propre fiabilité.
Sources de ce cours (28)
- (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then operators and papers, history sources last)
- IETF RFCs (rfc-editor.org): RFC 768 UDP (1980, 8-byte header)
- RFC 791 IPv4 (1981, 32-bit addresses, "does not provide a reliable communication facility", TTL field "measured in units of seconds" but every module must decrease it by at least one, so it is only an upper bound)
- RFC 792 ICMP (Time Exceeded)
- RFC 801 NCP/TCP transition plan (1 January 1983)
- RFC 894 Ethernet (1500-byte payload)
- RFC 1034 and RFC 1035 DNS (1987, HOSTS.TXT kept by SRI-NIC, labels up to 63 octets and names up to 255, TTL in seconds)
- RFC 1122 (127.0.0.0/8 loopback)
- RFC 1918 private addresses (10/8, 172.16/12, 192.168/16)
- RFC 2131 DHCP, RFC 3022 NAT, RFC 3596 AAAA records, RFC 3849 and RFC 5737 documentation addresses, RFC 4271 BGP-4, RFC 4291 IPv6 text form, RFC 6298 TCP retransmission timer (initial RTO 1 second)
- RFC 6335 port ranges (0-1023, 1024-49151, 49152-65535)
- RFC 7766 DNS over TCP, RFC 8200 IPv6 (128-bit addresses, Hop Limit)
- RFC 8446 TLS 1.3 (one round-trip handshake)
- RFC 9000 QUIC and RFC 9114 HTTP/3, RFC 9110 HTTP semantics (status code classes)
- RFC 9293 TCP (three-way handshake, sequence numbers)
- IANA: ip-parameters registry (recommended default TTL 64)
- IPv4 free pool depleted 3 February 2011 (NRO and ARIN announcements)
- Official documentation: MDN Web Docs "How does the Internet work?" (45 cables for 10 computers, switches, routers, MAC and IP addresses, internet and web)
- "What is a URL?", "HTTP response status codes" (developer.mozilla.org)
- Cloudflare Learning Center: "What is DNS?" (four kinds of DNS server, 8 steps of an uncached lookup, browser and OS caches, TTL)
- "What is HTTP/3?" (cloudflare.com/learning)
- Google Chrome Help, "Browse in Incognito mode" (support.google.com/chrome/answer/95464, checked 2026-10-19: Incognito limits what is saved to the device; websites and organisations that manage your network, like your school, employer or internet service provider, may be able to observe your activity)
- Operators and papers: root-servers.org (13 root name servers run by 12 organisations, 2047 instances on 2026-10-17)
- Jacobson and Karels 1988, Congestion Avoidance and Control (loss mostly congestion)
- History blocks only: UCLA Samueli School of Engineering, Internet50 (first ARPANET message "LO", UCLA to SRI, 29 October 1969, 22:30)
- historyofinformation.com and Wikipedia ARPANET (Kline)
- Spiceworks/SRI history (HOSTS.TXT kept by SRI-NIC)
- Numbers (2^32, 2^96, 45 and 6 cables, packet counts, round-trip times)
Consulté le: 2026-10-17