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.20255.255.255.0 (notation décimale) ou /24 (notation CIDR)11111111.11111111.11111111.00000000Dans 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 - n2^(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.0001010111111111.11111111.11111111.00000000Étape 2 : Identification des parties
192.168.15 (24 premiers bits)Étape 3 : Calcul de la plage
192.168.15.0192.168.15.1192.168.15.254192.168.15.255172.16.42.17/12Analyse du masque /12 :
11111111.11110000.00000000.00000000255.240.0.0Focus sur l'octet de transition (2ème octet) :
172.[0001|0000].42.17255.[1111|0000].0.0Calcul de la plage :
172.[0001|0000].0.0 = 172.16.0.0172.[0001|1111].255.255 = 172.31.255.255Bien 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
arpAffichage 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
pingPrincipe : 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 :
routeAffichage 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.