Bases de TCP/IP
Les communications Internet ne fonctionnent pas grâce à un seul grand mécanisme.
Lorsque vous consultez un site web, envoyez un e-mail ou qu'une application se connecte à un serveur, plusieurs règles de communication se combinent.
L'idée qui sert de base à cela est TCP/IP.
Le nom TCP/IP contient TCP et IP, mais il ne désigne pas seulement TCP et IP. Il est utilisé pour désigner l'ensemble des protocoles de communication employés sur Internet, c'est-à-dire les mécanismes fondamentaux de la communication.
Cet article organise TCP/IP non comme une spécification détaillée, mais comme une entrée pour comprendre la vue d'ensemble des communications Internet.
Qu'est-ce que TCP/IP ?
TCP/IP est l'ensemble des protocoles fondamentaux utilisés pour communiquer sur Internet.
Un protocole est une règle de communication. Il faut des règles pour déterminer comment indiquer la destination, dans quelles unités envoyer les données, comment traiter les données qui n'arrivent pas, et sous quel format les applications échangent.
Dans TCP/IP, on pense la communication par rôles.
| Rôle | Principal responsable | Explication |
|---|---|---|
| Acheminer vers la destination | IP | Utilise les adresses IP pour diriger la communication vers sa destination |
| Gérer la façon de livrer | TCP・UDP | Détermine comment envoyer les données et comment traiter fiabilité ou légèreté |
| Résoudre les noms | DNS | Recherche l'adresse IP correspondant à un nom de domaine |
| Échanger entre applications | HTTP, etc. | Échange des données d'application comme les pages web et les API |
| Protéger la communication | TLS | Chiffre le contenu de communications comme HTTP et aide à prévenir modifications et usurpations |
Ainsi, les communications Internet s'établissent en combinant IP, TCP et UDP comme base avec des mécanismes environnants comme DNS, HTTP et TLS.
IP a pour rôle d'acheminer vers la destination
IP est l'abréviation de Internet Protocol.
Le rôle central d'IP est d'utiliser les adresses IP pour diriger la communication vers sa destination. Sur Internet, les adresses IP servent à identifier les appareils et les serveurs.
Par exemple, lorsque le navigateur communique avec un serveur web, les paquets sont finalement envoyés vers l'adresse IP de destination. Les routeurs situés sur le trajet regardent notamment cette adresse IP de destination pour décider où envoyer ensuite le paquet.
Cependant, IP est un mécanisme pour « diriger vers la destination » ; à lui seul, il ne garantit pas la fiabilité de toute la communication.
IP seul ne traite pas suffisamment les points suivants.
- Les données sont-elles arrivées ?
- Les données sont-elles arrivées dans le bon ordre ?
- Faut-il renvoyer les données perdues ?
- À quelle application d'un même appareil faut-il les remettre ?
TCP, UDP, les numéros de port et les protocoles de niveau supérieur interviennent pour ces points.
TCP met l'accent sur la fiabilité
TCP est l'abréviation de Transmission Control Protocol.
TCP est un mécanisme qui facilite le traitement correct des données. Il établit une connexion avec l'interlocuteur, vérifie si les données envoyées sont arrivées, renvoie les données perdues s'il y en a, et remet dans le bon ordre les données arrivées en désordre.
TCP convient donc aux communications où des données manquantes ou désordonnées poseraient problème.
| Usage | Pourquoi TCP convient |
|---|---|
| HTTP/1.1・HTTP/2 | Les données des pages web doivent être reçues correctement |
| Traitement de connexion | Le traitement ne peut pas se faire si les informations nécessaires à l'authentification manquent |
| Envoi/réception de fichiers | Le fichier peut être corrompu si une partie manque |
| Envoi d'e-mails | Le contenu du message doit être livré correctement |
Toutefois, TCP n'est pas un mécanisme qui rend tout plus rapide. Comme il effectue des confirmations d'arrivée et des retransmissions, la latence peut augmenter selon l'état de la communication.
TCP est important lorsque l'on veut privilégier la fiabilité plutôt que la faible latence.
UDP met l'accent sur la légèreté et la flexibilité
UDP est l'abréviation de User Datagram Protocol.
UDP n'effectue pas, dans le protocole lui-même, l'établissement de connexion, la confirmation d'arrivée, le contrôle d'ordre et les retransmissions comme TCP. En contrepartie, son mécanisme est léger et il est plus facile pour l'application de concevoir les contrôles nécessaires.
UDP est utilisé pour des communications où le temps réel ou un contrôle flexible sont importants.
| Usage | Pourquoi UDP est utilisé |
|---|---|
| DNS | Les courtes requêtes et réponses sont faciles à traiter rapidement |
| Appels vidéo | Il peut être préférable de livrer rapidement l'information actuelle plutôt que de livrer parfaitement plus tard un ancien son ou une ancienne image |
| Jeux en ligne | Il peut être préférable de continuer à mettre à jour l'état actuel avec une faible latence |
| QUIC・HTTP/3 | De nouveaux mécanismes de fiabilité et de chiffrement sont superposés à UDP |
UDP ne signifie pas « communication mauvaise parce que non fiable ». UDP lui-même réduit les garanties et confie les contrôles nécessaires à l'application ou à des mécanismes supérieurs.
Comme QUIC, il existe aussi des mécanismes qui reposent sur UDP tout en réalisant leur propre fiabilité et leur propre chiffrement.
Les numéros de port distinguent les applications
L'adresse IP indique la position de l'interlocuteur sur le réseau. Mais dans un même appareil ou serveur, plusieurs applications et services communiquent en même temps.
Avec l'adresse IP seule, on ne sait donc pas à quelle application remettre la communication.
C'est là qu'interviennent les numéros de port.
| Information | Rôle | Exemple |
|---|---|---|
| Adresse IP | Indique vers quel appareil ou serveur aller | Adresse IP d'un serveur web |
| Numéro de port | Indique à quel service de cet appareil remettre la communication | 443 pour HTTPS, 53 pour DNS |
| Protocole de communication | Indique notamment s'il s'agit de TCP ou UDP | TCP 443, UDP 53 |
Par exemple, si le même serveur fait fonctionner Web, DNS et e-mail, il peut les distinguer par des numéros de port différents.
Même si TCP et UDP utilisent le même numéro, ils sont traités comme des communications différentes. Autrement dit, TCP 443 et UDP 443 utilisent le même nombre « 443 », mais ce ne sont pas la même communication.
DNS, HTTP et TLS fonctionnent aussi au-dessus de TCP/IP
Consulter un site web ne se limite pas à IP, TCP et UDP.
Les humains indiquent normalement les sites web par des noms de domaine plutôt que par des adresses IP. Il faut donc d'abord utiliser DNS pour rechercher l'adresse IP correspondant au nom de domaine.
Une fois l'adresse IP connue, le navigateur communique avec la destination. HTTP est utilisé pour obtenir les pages web. Dans le cas de HTTPS, la communication HTTP est protégée par TLS.
| Mécanisme | Rôle |
|---|---|
| DNS | Rechercher l'adresse IP à partir d'un nom de domaine |
| IP | Transporter les paquets vers l'adresse IP de destination |
| TCP・UDP | Traiter la façon de livrer les données |
| TLS | Chiffrer le contenu de la communication, vérifier la destination et détecter les modifications |
| HTTP | Échanger les données des pages web et des API |
Le point important ici est que ces mécanismes ne sont pas en concurrence ; ils se partagent les rôles.
Par exemple, HTTPS est une communication où HTTP est protégé par TLS. Et, dans de nombreux cas, TCP ou UDP et IP sont utilisés en dessous.
Flux lors de l'ouverture d'une page web
Du point de vue de TCP/IP, on peut organiser simplement le flux d'ouverture d'une page web comme suit.
| Étape | Ce qui se passe | Mécanismes concernés |
|---|---|---|
| 1 | Interpréter l'URL | Navigateur, HTTP/HTTPS |
| 2 | Rechercher l'adresse IP à partir du nom de domaine | DNS |
| 3 | Diriger la communication vers l'adresse IP de destination | IP, routage |
| 4 | Gérer la façon de livrer les données | TCP, UDP, QUIC, etc. |
| 5 | Protéger la communication si c'est HTTPS | TLS |
| 6 | Demander les données de la page ou de l'API | HTTP |
| 7 | Afficher à l'écran les données reçues | Navigateur |
Dans une communication réelle, le cache, les CDN, les répartiteurs de charge, la réutilisation de connexions existantes et d'autres éléments interviennent aussi. Il ne faut donc pas supposer que tout recommence toujours exactement dans le même ordre à chaque fois.
Mais comme base, il est plus facile d'organiser les choses en considérant que DNS, IP, TCP/UDP, TLS et HTTP ont chacun un rôle différent.
Rapport entre TCP/IP et anonymat
TCP/IP n'est pas un mécanisme d'anonymisation. C'est la base qui permet d'établir une communication sur Internet.
Pour cette raison, les informations nécessaires à l'établissement de la communication peuvent être visibles sur le trajet ou à la destination.
| Information | Lieu où elle peut être visible | Point d'attention pour l'anonymat |
|---|---|---|
| Adresse IP source | Serveur de destination, équipements sur le trajet, etc. | Devient un indice sur le réseau d'origine |
| Adresse IP de destination | Équipements sur le trajet, etc. | Peut servir à déduire vers quel serveur la communication se dirige |
| Numéro de port | Routeurs, pare-feu, journaux de communication, etc. | Peut servir à déduire le type de communication, comme HTTPS, DNS ou |
| Protocole de communication | Routeurs, pare-feu, journaux de communication, etc. | Le traitement de la communication change selon qu'il s'agit de TCP ou UDP |
| Volume et heure de communication | Équipements sur le trajet, serveur de destination, etc. | Peut servir à rapprocher des comportements ou d'autres journaux |
Avec HTTPS ou TLS, le contenu de la communication est plus facilement protégé. Mais l'adresse IP, le volume, l'heure de communication et le lien avec la destination ne disparaissent pas tous.
Lorsque l'on réfléchit à l'anonymat, il faut distinguer le « contenu de la communication » et les « informations extérieures nécessaires pour établir la communication ».
Résumé
TCP/IP est l'ensemble des protocoles fondamentaux qui permettent les communications Internet.
IP utilise les adresses IP pour diriger la communication vers sa destination. TCP établit une connexion et met l'accent sur la fiabilité au moyen de confirmations d'arrivée, de retransmissions et de contrôle d'ordre. UDP réduit les garanties et met l'accent sur la légèreté et la flexibilité.
Les numéros de port servent à distinguer à quelle application ou à quel service remettre la communication dans un même appareil ou serveur.
DNS, HTTP, TLS et d'autres mécanismes fonctionnent aussi en se partageant les rôles au-dessus de TCP/IP. Lorsque vous ouvrez une page web, DNS recherche l'adresse IP, IP dirige vers la destination, TCP ou UDP traite la façon de livrer les données, TLS protège la communication dans HTTPS, et HTTP échange le contenu de la page.
TCP/IP n'est pas une technologie d'anonymisation. Pour établir la communication, des informations comme les adresses IP, les numéros de port, le protocole de communication, le volume et l'heure sont traitées.
Comprendre cette base rend plus facile, lorsque vous apprenez DNS, HTTP/HTTPS, TLS, VPN, , les journaux de communication, etc., de distinguer « de quelle couche et de quoi il est question ».
Outils liés
WhatIsMyIP
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.