Une adresse IP (Internet Protocol) est une étiquette numérique attribuée à chaque appareil connecté à un réseau utilisant le protocole IP pour communiquer. En IPv4, une adresse est composée de 32 bits (4 octets), généralement représentée en notation décimale pointée (ex: 192.168.1.1).
L'adressage IP permet d'identifier de manière unique chaque appareil sur un réseau et de router les paquets de données vers leur destination.
Une adresse IP est divisée en deux parties :
Exemple :
Adresse IP : 192.168.1.10
Masque de sous-réseau : 255.255.255.0 (ou /24)
→ Partie réseau : 192.168.1
→ Partie hôte : 10
Schéma de l'adresse IP et du masque :
Adresse IP : 192 . 168 . 1 . 10
11000000 . 10101000 . 00000001 . 00001010
Masque : 255 . 255 . 255 . 0
11111111 . 11111111 . 11111111 . 00000000
Résultat ET logique :
11000000 . 10101000 . 00000001 . 00000000
= 192.168.1.0 (Adresse réseau)
Voici un tableau comparatif entre le modèle OSI et TCP/IP :
| Modèle OSI | Modèle TCP/IP |
|---|---|
| 1.Application: interface utilisateur | Application |
| 2.Présentation: Format de données | Application |
| 3.Session: Controle du dialog entre Hôtes | Application |
| 4.Transport: Transmission fiable | Transport |
| 5.Réseau: Routage des paquets (IP) | Internet |
| 6.Liaison de données: Encadremant trame | Accès réseau |
| 7.Physique: Transmission des bits | Physique |
Le masque de sous-réseau permet de séparer la partie réseau de la partie hôte d'une adresse IP. Il est représenté en notation décimale pointée (ex: 255.255.255.0) ou en notation CIDR (ex: /24).
Comment calculer le masque ?
Un masque est une suite de 1 suivie de 0. Le nombre de 1 correspond au nombre de bits de la partie réseau.
Exemple :
/24 = 11111111.11111111.11111111.00000000 = 255.255.255.0
| Notation CIDR | Masque binaire | Masque décimal | Nombre d'hôtes | Nombre de sous-réseaux |
|---|---|---|---|---|
| /24 | 11111111.11111111.11111111.00000000 | 255.255.255.0 | 254 | 1 |
| /25 | 11111111.11111111.11111111.10000000 | 255.255.255.128 | 126 | 2 |
| /26 | 11111111.11111111.11111111.11000000 | 255.255.255.192 | 62 | 4 |
| /27 | 11111111.11111111.11111111.11100000 | 255.255.255.224 | 30 | 8 |
| /28 | 11111111.11111111.11111111.11110000 | 255.255.255.240 | 14 | 16 |
Pour trouver l'adresse réseau et l'adresse de diffusion :
1.Exemple :
Adresse IP : 10.168.0.1
Masque : 255.255.240.0 (/20)
→ Adresse réseau : 10.168.0.0
→ Adresse de diffusion : 10.168.15.255
Exemple détaillé :
Adresse IP : 10 . 168 . 0 . 1
00001010 . 10101000 . 00000000 . 00000001
Masque : 255 . 255 . 240 . 0
11111111 . 11111111 . 11110000 . 00000000
Résultat ET logique :
00001010 . 10101000 . 00000000 . 00000000
= 10.168.0.0 (Adresse réseau)
Adresse de diffusion :
00001010 . 10101000 . 00001111 . 11111111
= 10.168.15.255
Le routage est le processus de sélection d'un chemin pour acheminer des paquets d'un réseau à un autre. Les routeurs utilisent des tables de routage pour déterminer le meilleur chemin.
Une table de routage contient :
Exemple de table de routage :
| Destination | Masque | Prochain saut | Interface | Métrique |
|---|---|---|---|---|
| 0.0.0.0 | /0 | 10.1.3.65 | eth1 | 1 |
| 10.1.0.0 | /16 | 10.1.3.65 | eth1 | 1 |
| 10.1.3.0 | /24 | 10.1.3.1 | eth1 | 0 |
| 10.1.8.0 | /24 | 10.1.3.65 | eth1 | 6 |
Pour déterminer la route à emprunter, un routeur utilise l'algorithme de correspondance la plus longue (Longest Prefix Match) :
Exemple :
Adresse de destination : 10.1.8.66
Table de routage :
| Destination | Masque | Prochain saut |
|---|---|---|
| 0.0.0.0 | /0 | 10.1.3.65 |
| 10.1.0.0 | /16 | 10.1.3.65 |
| 10.1.8.0 | /24 | 10.1.3.65 |
| 10.1.8.64 | /26 | 10.1.3.62 |
Solution : Le prochain saut est 10.1.3.62 (correspondance la plus longue avec /26).
| Sous-réseau | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
|---|---|---|---|---|---|---|---|---|---|
| Hôte | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Masque de Sous-réseau | /24 | /25 | /26 | /27 | /28 | /29 | /30 | /31 | /32 |
| ID Réseau | Masque de Sous-réseau | Plage d'ID d'Hôte | Nombre d'Hôtes Utilisables | Broadcast |
|---|---|---|---|---|
| 192.168.4.0 | /26 | 192.168.4.1 - 192.168.4.62 | 62 | 192.168.4.63 |
| 192.168.4.64 | /26 | 192.168.4.65 - 192.168.4.126 | 62 | 192.168.4.127 |
| 192.168.4.128 | /26 | 192.168.4.129 - 192.168.4.190 | 62 | 192.168.4.191 |
La fragmentation permet de diviser un paquet IP en plusieurs fragments pour qu'il puisse traverser des réseaux avec une MTU (Maximum Transmission Unit) plus petite.
Champs utilisés pour la fragmentation en IPv4 :
Exemple de fragmentation :
Paquet original : 4000 octets
MTU du réseau : 1500 octets
Fragment 1 :
- Taille : 1500 octets
- Identification : X
- Flags : MF=1 (d'autres fragments suivent)
- Offset : 0
Fragment 2 :
- Taille : 1500 octets
- Identification : X
- Flags : MF=1
- Offset : 185 (1500/8 = 187.5, arrondi à 185)
Fragment 3 :
- Taille : 1040 octets
- Identification : X
- Flags : MF=0 (dernier fragment)
- Offset : 370 (3000/8 = 375, arrondi à 370)
VLSM (Variable Length Subnet Mask) permet d'utiliser différents masques de sous-réseau dans un même réseau, optimisant ainsi l'utilisation des adresses IP.
CIDR (Classless Inter-Domain Routing) est une méthode pour allouer des adresses IP et router le trafic Internet de manière plus efficace que l'ancien système de classes (A, B, C).
Exemple de VLSM :
Réseau : 192.168.1.0/24
Sous-réseaux :
192.168.1.0/26 (62 hôtes)192.168.1.64/27 (30 hôtes)192.168.1.96/28 (14 hôtes)Énoncé : Calculer l'adresse réseau et l'adresse de diffusion pour l'adresse IP 172.16.5.33 avec un masque 255.255.255.224 (/27).
Solution :
→ Adresse réseau : 172.16.5.32
→ Adresse de diffusion : 172.16.5.63
Énoncé : Un routeur a la table de routage suivante. Quel est le prochain saut pour un paquet destiné à 10.1.8.66 ?
| Destination | Masque | Prochain saut | Interface |
|---|---|---|---|
| 0.0.0.0 | /0 | 10.1.3.65 | eth1 |
| 10.1.0.0 | /16 | 10.1.3.65 | eth1 |
| 10.1.8.0 | /24 | 10.1.3.65 | eth1 |
| 10.1.8.64 | /26 | 10.1.3.62 | ppp0 |
Solution : Le prochain saut est 10.1.3.62 (correspondance la plus longue avec /26).
Énoncé : Un paquet de 4000 octets doit traverser un réseau avec une MTU de 1500 octets. Combien de fragments seront créés et quelles seront leurs tailles ?
Solution :
→ 3 fragments : 1500 octets, 1500 octets, et 1000 octets.
À retenir :
255.255.255.0 correspond à /24.1.