Encapsulation⚓
Encapsulation des données
Le datagramme (ou paquet) IP
Comme pour la couche 2, le datagramme IP va être une suite de 0 et de 1 organisés comme suit :
??? | IP SRC (4 octets) | IP DEST (4 octets) | DONNEES |
Adresse IP SRC : Adresse IP d'où provient le paquet à envoyer
Adresse IP DEST : Adresse IPde destination
DONNEES : Les Données à envoyer
Encapsulation : Lors de l'envoi d'une donnée, un entête est ajouter à chaque passage par une couche. Au passage par la couche 4, on ajoutera l'en-tête de couche 4, puis celui de couche 3 en passant par la couche 3, et ainsi de suite. Ce mécanisme s'appelle l'encapsulation, car on encapsule un message dans un autre. Au final ce qui va circuler sur le réseau est une trame de couche 2, qui contient le datagramme de couche 3 (qui lui-même contiendra l'élément de couche 4).
Ordre | Champ | Couche | Taille (o) | Exemple / Détail |
1 | Destination MAC | Ethernet | 6 | \(34:12:98:76:54\) |
Source MAC | Ethernet | 6 | \(00:0c:29:aa:bb:cc\) | |
3 | Type (Ethertype) | Ethernet | 2 | \(0x0800\) → IPv4 |
4 | Version / IHL | IPv4 | 1 | \(0x45\) → IPv4, |
5 | TOS / DSCP | IPv4 | 1 | \(0x00\) |
6 | Total Length | IPv4 | 2 | \(0x003C\) (60 o) |
7 | Identification | IPv4 | 2 | \(0x1C46\) |
8 | Flags + Fragment Offset | IPv4 | 2 | \(0x4000\) (DF=1) |
9 | TTL | IPv4 | 1 | \(64\) |
10 | Protocol | IPv4 | 1 | \(0x01\) (ICMP) |
11 | Header Checksum | IPv4 | 2 | \(0x9B1F\) |
12 | Source IP | IPv4 | 4 | \(192.168.1.10\) |
13 | Destination IP | IPv4 | 4 | \(192.168.1.1\) |
14 | ICMP Type | ICMP | 1 | \(8\) → Echo Request |
15 | ICMP Code | ICMP | 1 | \(0\) |
16 | ICMP Checksum | ICMP | 2 | \(0x3B27\) |
17 | ICMP Identifier | ICMP | 2 | \(0x1234\) |
18 | ICMP Sequence | ICMP | 2 | \(0x0001\) |
19 | ICMP Data | ICMP | 32 | ASCII \(abcdef...\) |
20 | FCS (CRC32) | Ethernet | 4 | Généré par la carte réseau |
Réseau à joindre | Passerelle |
192.168.1.0/24 | 10.0.0.253 |
192.168.122.0/24 | 10.0.0.45 |
192.168.8.0/24 | 10.0.0.254 |
Ping (protocole ICMP)
Question⚓
Relever sur cette trame les adresses MAC source et destination. Idem pour les ardresse IP
34 12 98 76 54 32 00 0c 29 aa bb cc 08 00 45 00 00 3c 1c 46 40 00 40 01 9b 1f c0 a8 01 0a c0 a8 01 01 08 00 3b 27 12 34 00 01 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69
Solution⚓
Détails champ par champ
Ethernet (14 octets)
Dst MAC: \(34:12:98:76:54:32\)
Src MAC: \(00:0c:29:aa:bb:cc\)
Type: \(0x0800\) (IPv4)
IPv4 (20 octets)
Version/IHL: \(0x45\) → v4, en-tête 20 o
TOS/DSCP: \(0x00\)
Total Length: \(0x003c\) → 60 o (IP + ICMP)
Identification: \(0x1c46\)
Flags/Fragment offset: \(0x4000\) → DF (Don’t Fragment) = 1, offset = 0
TTL: \(64\)
Protocole: \(1\) (ICMP)
Header Checksum: \(0x9b1f\) ✔︎
Src IP: \(192.168.1.10\)
Dst IP: \(192.168.1.1\)
ICMP Echo Request (40 octets = 8 d’en-tête + 32 de données)
Type: \(8\) (Echo Request)
Code: \(0\)
Checksum: \(0x3b27\) ✔︎
Identifier: \(0x1234\)
Sequence: \(0x0001\)
Payload (32 o): ASCII \(abcdefghi\)