# Rappels théoriques : IPv4 & IPv6

### IPv4 et IPv6

#### IPv4

Les adresses IPv4 sont utilisées depuis les débuts d’Internet. Elles sont adressées en 32 bits sur 4 octets.  
**Exemple :** `51.68.45.52`.

<p class="callout warning">Le nombre total d’adresses disponibles est d'environ 4,3 milliards. Toutes les adresses IPv4 ont été attribuées depuis 2019.</p>

**Voir le détail de l'ARCEP :** [https://www.arcep.fr/la-regulation/grands-dossiers-internet-et-numerique/lipv6/suivi-de-lepuisement-des-adresses-ipv4.html](https://www.arcep.fr/la-regulation/grands-dossiers-internet-et-numerique/lipv6/suivi-de-lepuisement-des-adresses-ipv4.html)

##### Classes d’IPv4

<div class="___i31lg00 f10pi13n f14t3ns0 f1nbblvp fat0sn4 f1ov4xf1 fekwl8i f1lmfglv f1oz7aqm f1abmfm4 f1w619qj f16h0jq8" id="bkmrk-classe-plage-d%27adres"><table class="___1hm93bs f1ddd56o f16vktn6 f1enuhaj fdclmfp f1ev3kgc ftgm304 f1uinfot fibjyge fvueend f9yszdx f1fu4s3n f3l3pb3 f1s2k7dp f8fmt76 fjvbh62 fysh76l fic4ptz f1yenhzu f1yn6nvh f14tj6oe f1jq587y f1el8yx3 f1pymoxg f1ofu761 fe6itr f7coize f1794535 f70r78m f4zgifc fk1v6el f16pyhcb fo436u6 fzy4j18 fc43013 f1hmrcvb fc4t9fq fgp09rh fjnyn6r" style="width: 100%; height: 225.766px;"><thead><tr style="height: 34.1094px;"><td style="width: 9.77354%; height: 34.1094px;">**Classe**</td><td style="width: 31.9428%; height: 34.1094px;">**Plage d'adresses publiques**</td><td style="width: 36.2357%; height: 34.1094px;">**Plage d'adresses privées**</td><td style="width: 22.0479%; height: 34.1094px;">**Usage**</td></tr></thead><tbody><tr style="height: 34.1094px;"><td style="width: 9.77354%; height: 34.1094px;">**A**</td><td style="width: 31.9428%; height: 34.1094px;">1.0.0.0 - 126.255.255.255</td><td style="width: 36.2357%; height: 34.1094px;">10.0.0.0 - 10.255.255.255</td><td style="width: 22.0479%; height: 34.1094px;">Grands réseaux</td></tr><tr style="height: 34.1094px;"><td style="width: 9.77354%; height: 34.1094px;">**B**</td><td style="width: 31.9428%; height: 34.1094px;">128.0.0.0 - 191.255.255.255</td><td style="width: 36.2357%; height: 34.1094px;">172.16.0.0 - 172.31.255.255</td><td style="width: 22.0479%; height: 34.1094px;">Réseaux moyens</td></tr><tr style="height: 34.1094px;"><td style="width: 9.77354%; height: 34.1094px;">**C**</td><td style="width: 31.9428%; height: 34.1094px;">192.0.0.0 - 223.255.255.255</td><td style="width: 36.2357%; height: 34.1094px;">192.168.0.0 - 192.168.255.255</td><td style="width: 22.0479%; height: 34.1094px;">Petits réseaux</td></tr><tr style="height: 34.1094px;"><td style="width: 9.77354%; height: 34.1094px;">**D**</td><td style="width: 31.9428%; height: 34.1094px;"><span data-darkreader-inline-color="" style="color: rgb(149, 165, 166);">224.0.0.0 - 239.255.255.255</span></td><td style="width: 36.2357%; height: 34.1094px;"> </td><td style="width: 22.0479%; height: 34.1094px;"><span data-darkreader-inline-color="" style="color: rgb(149, 165, 166);">Multicast</span></td></tr><tr style="height: 55.2188px;"><td style="width: 9.77354%; height: 55.2188px;">**E**</td><td style="width: 31.9428%; height: 55.2188px;"><span data-darkreader-inline-color="" style="color: rgb(149, 165, 166);">240.0.0.0 - 255.255.255.255</span></td><td style="width: 36.2357%; height: 55.2188px;"> </td><td style="width: 22.0479%; height: 55.2188px;"><span data-darkreader-inline-color="" style="color: rgb(149, 165, 166);">Réservé</span></td></tr></tbody></table>

</div>Les **IP privées** sont utilisées sur un réseau local LAN, **elles ne sont pas routables sur internet**.  
À l'inverse, les **IP publiques** sont routables sur internet. Elles sont attribuées par les fournisseurs.

Le `NAT` (Network address translation) permet à plusieurs IP privées de partager une seule IP publique.

<p class="callout info">Nous approfondirons plus tard le protocole `NAT`.</p>

#### IPv6

`IPv6` est le successeur d'`IPv4`, conçu pour résoudre le problème de pénurie d’adresses IP.

Les IPv6 sont adressées sur 128 bits, permettant de générer environ 3,4×10³⁸ adresses.

**Exemple :** `1050:0:0:0:5:600:300c:326b`

> Cela équivaut à un nombre illimité puisque pour saturer le système, il faudrait placer près de 2,30 trillions (milliards de milliards) d'appareils connectés à Internet sur chaque millimètre carré de surface terrestre émergée (148 <abbr class="abbr" title="millions de km carré">millions de km<sup>2</sup></abbr>).
> 
> [Article Wikipedia IPv6](https://fr.wikipedia.org/wiki/Adresse_IPv6)

Contrairement à `IPv4`, `IPv6` élimine le besoin de `NAT` : chaque appareil peut disposer d’une adresse IP publique unique.

Cependant, son adoption nécessite une infrastructure compatible, tant au niveau matériel que logiciel, ce qui représente un coût important pour les entreprises.  
L'adoption d'IPv6 est inégale entre les pays du monde. Cela s'explique principalement par des différences dans la pression sur les ressources IPv4, les politiques publiques en matière de numérique, et le niveau de préparation technique des opérateurs locaux.

### Sous-réseaux

L'implémentation de **sous-réseaux** permet de diviser un réseau IP en segments plus petits **en s'affranchissant des classes IPv4 prédéfinies**.  
Chaque sous-réseau fonctionne comme un réseau indépendant.

Les cas d'usage sont par exemple l'optimisation du routage ou la séparation logique des services d'une organisation.

#### Notation CIDR et masque

La notation `CIDR` (Classless Inter-Domain Routing) permet de spécifier la longueur du préfixe réseau.

**Par exemple :**  
`192.168.10.0/24`

- 24 bits pour le réseau
- 8 bits pour les hôtes

<p class="callout info">Le masque correspondant est : `255.255.255.0`.</p>

#### Calcul du nombre de sous-réseaux et d'hôtes

Pour créer des sous-réseaux, on **emprunte des bits** à la partie hôte.

Par exemple, un réseau en `192.168.1.0/24` contient **256 adresses**. Si on passe en `/26`, on utilise 2 bits supplémentaires pour le réseau.  
Cela donne 4 sous-réseaux, chacun avec **64 adresses**, dont 62 utilisables.

<div class="___i31lg00 f10pi13n f14t3ns0 f1nbblvp fat0sn4 f1ov4xf1 fekwl8i f1lmfglv f1oz7aqm f1abmfm4 f1w619qj f16h0jq8" id="bkmrk-"></div><div class="___i31lg00 f10pi13n f14t3ns0 f1nbblvp fat0sn4 f1ov4xf1 fekwl8i f1lmfglv f1oz7aqm f1abmfm4 f1w619qj f16h0jq8" id="bkmrk-sous-r%C3%A9seau-plage-d%E2%80%99"><div class="___i31lg00 f10pi13n f14t3ns0 f1nbblvp fat0sn4 f1ov4xf1 fekwl8i f1lmfglv f1oz7aqm f1abmfm4 f1w619qj f16h0jq8"><table class="___1hm93bs f1ddd56o f16vktn6 f1enuhaj fdclmfp f1ev3kgc ftgm304 f1uinfot fibjyge fvueend f9yszdx f1fu4s3n f3l3pb3 f1s2k7dp f8fmt76 fjvbh62 fysh76l fic4ptz f1yenhzu f1yn6nvh f14tj6oe f1jq587y f1el8yx3 f1pymoxg f1ofu761 fe6itr f7coize f1794535 f70r78m f4zgifc fk1v6el f16pyhcb fo436u6 fzy4j18 fc43013 f1hmrcvb fc4t9fq fgp09rh fjnyn6r"><thead><tr><th>**Sous-réseau**</th><th>**Plage d’hôtes**</th><th>**Broadcast**</th></tr></thead><tbody><tr><td>192.168.1.0/26</td><td>192.168.1.1 – .62</td><td>192.168.1.63</td></tr><tr><td>192.168.1.64/26</td><td>192.168.1.65 – .126</td><td>192.168.1.127</td></tr><tr><td>192.168.1.128/26</td><td>192.168.1.129 – .190</td><td>192.168.1.191</td></tr><tr><td>192.168.1.192/26</td><td>192.168.1.193 – .254</td><td>192.168.1.255</td></tr></tbody></table>

</div>  
</div>