Le niveau 3 du modèle OSI, appelé couche réseau, est responsable de l'interconnexion des réseaux. Son rôle principal est de permettre la communication entre des machines situées sur des réseaux différents.
Le niveau 3 transforme Internet en un "réseau des réseaux", permettant à une machine sur un réseau local de communiquer avec une machine située sur un autre réseau local, potentiellement à l'autre bout du monde.
Avant d'aborder les adresses IP, il est essentiel de maîtriser les conversions entre différents systèmes de numération.
Décimal | Binaire | Hexadécimal |
---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
Un octet représente 8 bits et peut prendre des valeurs de 0 à 255 en décimal :
Une adresse IPv4 est composée de 4 octets (32 bits au total), exprimés en notation décimale pointée.
Exemple : 172.16.254.1
En binaire : 10101100.00010000.11111110.00000001
Une adresse IP est indissociable de son masque de sous-réseau. Le masque détermine :
Exemple :
192.168.1.20
255.255.255.0
(notation décimale) ou /24
(notation CIDR)11111111.11111111.11111111.00000000
Dans cet exemple :
192.168.1
(les 24 premiers bits)20
(les 8 derniers bits)La notation CIDR (Classless Inter-Domain Routing) a rendu obsolète la notion de classes d'adresses. Elle permet d'indiquer l'adresse IP et le masque en une seule expression.
Format : adresse_IP/nombre_de_bits_réseau
Notation CIDR | Masque décimal | Masque binaire |
---|---|---|
/8 | 255.0.0.0 | 11111111.00000000.00000000.00000000 |
/16 | 255.255.0.0 | 11111111.11111111.00000000.00000000 |
/24 | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
/30 | 255.255.255.252 | 11111111.11111111.11111111.11111100 |
Pour un masque /n
:
32 - n
2^(32-n)
2^(32-n) - 2
(on exclut l'adresse réseau et l'adresse de broadcast)Exemple : Pour /24
Pour déterminer la plage d'adresses d'un sous-réseau :
192.168.15.21/24
Étape 1 : Conversion en binaire
11000000.10101000.00001111.00010101
11111111.11111111.11111111.00000000
Étape 2 : Identification des parties
192.168.15
(24 premiers bits)Étape 3 : Calcul de la plage
192.168.15.0
192.168.15.1
192.168.15.254
192.168.15.255
172.16.42.17/12
Analyse du masque /12 :
11111111.11110000.00000000.00000000
255.240.0.0
Focus sur l'octet de transition (2ème octet) :
172.[0001|0000].42.17
255.[1111|0000].0.0
Calcul de la plage :
172.[0001|0000].0.0
= 172.16.0.0
172.[0001|1111].255.255
= 172.31.255.255
Bien que obsolète depuis 1993, la notion de classes reste parfois utilisée.
Classe | Premier octet | Masque par défaut | Usage |
---|---|---|---|
A | 1-127 | /8 (255.0.0.0) | Très grands réseaux |
B | 128-191 | /16 (255.255.0.0) | Réseaux moyens |
C | 192-223 | /24 (255.255.255.0) | Petits réseaux |
D | 224-239 | N/A | Multicast |
E | 240-255 | N/A | Expérimental |
Certaines plages d'adresses sont réservées à l'usage privé et ne sont pas routables sur Internet.
Réseau | Plage d'adresses | Notation CIDR |
---|---|---|
10.0.0.0 | 10.0.0.0 à 10.255.255.255 | 10.0.0.0/8 |
172.16.0.0 | 172.16.0.0 à 172.31.255.255 | 172.16.0.0/12 |
192.168.0.0 | 192.168.0.0 à 192.168.255.255 | 192.168.0.0/16 |
Bloc | Usage |
---|---|
0.0.0.0/8 | "Ce réseau" ou route par défaut |
127.0.0.0/8 | Adresse de bouclage (localhost) |
169.254.0.0/16 | Adresses autoconfigurées (APIPA) |
224.0.0.0/4 | Multicast |
255.255.255.255 | Broadcast limité |
Le routage permet de choisir le chemin optimal pour aller d'un réseau à un autre en utilisant une table de routage.
Réseau de destination | Passerelle (Gateway) | Interface | Métrique |
---|---|---|---|
192.168.0.0/24 | 192.168.0.254 | eth0 | 1 |
192.168.1.0/24 | 192.168.1.254 | eth1 | 1 |
0.0.0.0/0 | 192.168.0.1 | eth0 | 10 |
0.0.0.0/0
, utilisée quand aucune route spécifique n'existeLe datagramme est l'unité de données du niveau 3. Il encapsule les données des niveaux supérieurs et ajoute un en-tête IP.
┌─────────────────────────────────────────────────────────────┐
│ En-tête Ethernet │ En-tête IP │ Données │ CRC │
└─────────────────────────────────────────────────────────────┘
Quand une machine reçoit un datagramme IP :
Champ | Taille | Description |
---|---|---|
Version | 4 bits | Version IP (4 pour IPv4) |
IHL | 4 bits | Longueur de l'en-tête |
Type of Service | 8 bits | Qualité de service |
Total Length | 16 bits | Longueur totale du datagramme |
TTL | 8 bits | Time To Live |
Protocol | 8 bits | Protocole du niveau supérieur |
Source Address | 32 bits | Adresse IP source |
Destination Address | 32 bits | Adresse IP destination |
ARP (Address Resolution Protocol) assure le lien entre l'adressage niveau 2 (MAC) et niveau 3 (IP).
Question fondamentale : Comment une machine détermine-t-elle l'adresse MAC associée à une adresse IP ?
Scénario type :
Chaque machine maintient un cache ARP pour éviter les requêtes répétées :
arp
(Windows) ou ip neigh
(Linux)ARP est vulnérable aux attaques :
ipconfig
(Windows)Usage de base :
ipconfig
Affiche : nom de l'interface, adresse IPv4, masque, passerelle par défaut
Informations détaillées :
ipconfig /all
Affiche : adresse MAC, configuration DHCP, serveurs DNS, etc.
Gestion DHCP :
ipconfig /release # Libère le bail DHCP
ipconfig /renew # Renouvelle le bail DHCP
arp
Affichage du cache :
arp -a
Gestion manuelle :
arp -s 192.168.1.1 00-11-22-33-44-55 # Ajout statique
arp -d 192.168.1.1 # Suppression
ping
Principe : Envoie des paquets ICMP (Echo Request) et attend les réponses (Echo Reply)
Usage :
ping 192.168.1.1
ping -t 192.168.1.1 # Ping continu
ping -n 10 192.168.1.1 # 10 paquets seulement
Informations fournies :
tracert
(Windows) / traceroute
(Linux)Principe : Utilise des TTL croissants (1, 2, 3...) pour découvrir la route
Usage :
tracert google.com
Informations fournies :
route
Affichage de la table de routage :
route print
Gestion des routes :
route add 192.168.2.0 mask 255.255.255.0 192.168.1.1
route delete 192.168.2.0
route -p add ... # Route permanente
IPv6 répond aux limites d'IPv4 :
Caractéristiques :
:
Exemple complet :
2001:0db8:0000:85a3:0000:0000:ac1f:8001
Suppression des zéros non significatifs :
2001:0db8:0000:85a3:0000:0000:ac1f:8001
↓
2001:db8:0:85a3:0:0:ac1f:8001
Utilisation de "::" pour les zéros consécutifs :
2001:db8:0:85a3:0:0:ac1f:8001
↓
2001:db8:0:85a3::ac1f:8001
Règles importantes :
Pour associer une adresse IPv6 avec un port :
[2001:db8::1]:80
Préfixe | Description |
---|---|
::/8 | Adresses réservées |
2000::/3 | Adresses unicast globales (Internet) |
fc00::/7 | Adresses locales uniques (ULA) |
fe80::/10 | Adresses locales de lien |
ff00::/8 | Adresses multicast |
::1/128 | Adresse de bouclage (loopback) |
Mécanismes de transition :
Le niveau 3 du modèle OSI est fondamental pour le fonctionnement d'Internet. La maîtrise des concepts d'adressage IP, de routage et des protocoles associés est essentielle pour tout professionnel des réseaux.
Points clés à retenir :
La transition vers IPv6 est en cours et nécessite une adaptation des compétences, tout en conservant la compréhension d'IPv4 qui reste majoritaire dans les infrastructures actuelles.