Trame, paquet, segment, requête
Ces mots désignent la même donnée vue à des étages différents du réseau. À chaque couche traversée, on ajoute une en-tête autour du contenu précédent : c'est l'encapsulation, comme des enveloppes glissées les unes dans les autres.
Trame
Niveau liaison (Ethernet, Wi-Fi). Contient les adresses MAC source et destination.
Paquet
Niveau réseau (IP). Contient les adresses IP source et destination.
Segment / datagramme
Niveau transport (TCP/UDP). Contient les ports.
Requête / message
Niveau application (HTTP, DNS, DHCP). Le contenu utile : la vraie demande.
La trame contient tout le reste. Quand une trame Ethernet part sur le câble, elle enveloppe un paquet IP, qui enveloppe un segment UDP, qui enveloppe la requête applicative. « Trame » et « requête » ne s'opposent pas : l'une est l'emballage extérieur, l'autre le contenu.
Anatomie d'une trame DHCP Discover
Un appareil vient de rejoindre le réseau et cherche une adresse (voir le numéro sur le DHCP). Il n'a pas encore d'IP et ne connaît pas le serveur : sa trame part donc en diffusion générale. Voici ses couches, de l'extérieur vers l'intérieur :
| Champ | Valeur typique | Pourquoi |
|---|---|---|
| MAC destination | FF:FF:FF:FF:FF:FF | Diffusion : tout le segment reçoit la trame, le client ne sait pas qui est le serveur |
| MAC source | celle de la carte réseau | Seule identité dont dispose le client à ce stade |
| IP source | 0.0.0.0 | « Je n'ai pas encore d'adresse » |
| IP destination | 255.255.255.255 | Broadcast : destiné à n'importe quel serveur à l'écoute |
| Ports UDP | 68 → 67 | 68 = client DHCP, 67 = serveur DHCP (BOOTP) |
| op | 1 (BOOTREQUEST) | C'est une demande, pas une réponse |
| xid | ex. 0x3a1b7f22 | Identifiant de transaction : relie Discover, Offer, Request et Ack entre eux |
| chaddr | MAC du client | Pour que le serveur sache à qui répondre |
| Option 53 | 1 = DHCPDISCOVER | Le type de message : c'est ce qui en fait un « Discover » |
| Option 55 | Parameter Request List | « Envoie-moi aussi : masque, passerelle, DNS… » |
Dans Wireshark, un filtre bootp (ou dhcp) isole exactement cet échange ; on y lit chaque champ ci-dessus en clair.
Anatomie d'une requête DNS
La machine a maintenant une adresse et veut joindre www.labreux.fr. Elle demande d'abord à traduire ce nom en IP (voir le numéro sur le DNS). La requête part cette fois vers un serveur précis, sur le port 53.
| Champ | Valeur typique | Pourquoi |
|---|---|---|
| Port destination | 53 | Port réservé au service DNS |
| ID transaction | ex. 0x8f3c | Relie la réponse à la bonne question (plusieurs en vol) |
| Flag QR | 0 | 0 = question (1 serait une réponse) |
| Flag RD | 1 | « Recursion Desired » : fais la recherche complète pour moi |
| QDCOUNT | 1 | Une seule question dans ce message |
| QNAME | www.labreux.fr | Le nom à résoudre, encodé label par label : 3www7labreux2fr0 |
| QTYPE | A (1) | On veut une adresse IPv4 (ce serait AAAA pour IPv6) |
| QCLASS | IN (1) | Classe « Internet », la seule utilisée en pratique |
Le QNAME se lit en « longueur + texte ». www.labreux.fr devient 3www 7labreux 2fr 0 : chaque bloc est précédé du nombre de lettres qui suit, et un 0 final marque la racine. Pas de points sur le câble — ils sont remplacés par ces compteurs.
Lire une trame, c'est lire une intention
Une trame ne ment pas : les adresses, les ports et les options disent qui parle, à qui, et pour demander quoi. C'est pourquoi l'analyse de trafic est au cœur du diagnostic réseau comme de la sécurité — un Discover qui reste sans réponse, une requête DNS vers un serveur inattendu, et l'anomalie saute aux yeux.
- Trame (MAC) ⊃ paquet (IP) ⊃ segment (ports) ⊃ requête (le contenu) : des enveloppes imbriquées.
- Un DHCP Discover part en broadcast depuis 0.0.0.0, ports 68→67, option 53 = 1.
- Une requête DNS vise le port 53, QR=0, QTYPE=A, nom encodé en « longueur + label ».
- Wireshark rend tout cela lisible champ par champ avec un simple filtre.