Files
1ereNSI/reseau/adressage_ip/README.md

241 lines
7.9 KiB
Markdown

# Adressage IP
> Chaque appareil connecté à un réseau possède une adresse unique qui permet de l'identifier : c'est l'adresse IP.
---------
## Qu'est-ce qu'une adresse IP ?
Une **adresse IP** (Internet Protocol) est un identifiant numérique attribué à chaque appareil connecté à un réseau utilisant le protocole IP.
Elle permet :
- D'**identifier** de manière unique chaque machine sur le réseau
- De **localiser** cette machine pour lui envoyer des données
- De **router** les paquets de données à travers Internet
### Analogie
Tout comme votre adresse postale permet au facteur de vous livrer votre courrier, l'adresse IP permet aux données de trouver leur destinataire sur le réseau.
---------
## IPv4 : Structure d'une adresse
Une adresse IPv4 est composée de **4 octets** (32 bits), séparés par des points.
Chaque octet peut prendre une valeur comprise entre **0 et 255**.
```
Exemple : 192.168.1.25
```
| Octet 1 | Octet 2 | Octet 3 | Octet 4 |
|:-------:|:-------:|:-------:|:-------:|
| 192 | 168 | 1 | 25 |
| 11000000 | 10101000 | 00000001 | 00011001 |
### Nombre d'adresses possibles
Avec 32 bits, on peut théoriquement avoir $`2^{32}`$ = **4 294 967 296** adresses différentes.
> **Problème** : Ce nombre est aujourd'hui insuffisant ! C'est pourquoi IPv6 a été créé (128 bits).
---------
## Adresses publiques et privées
### Adresses publiques
Une adresse **publique** est unique sur Internet. Elle est attribuée par votre fournisseur d'accès (FAI) et permet à votre box d'être identifiée sur le réseau mondial.
### Adresses privées
Les adresses **privées** sont réservées aux réseaux locaux (LAN). Elles ne sont pas routables sur Internet.
| Classe | Plage d'adresses | Nombre d'adresses |
|--------|------------------|-------------------|
| A | 10.0.0.0 → 10.255.255.255 | 16 millions |
| B | 172.16.0.0 → 172.31.255.255 | 1 million |
| C | 192.168.0.0 → 192.168.255.255 | 65 536 |
> **Remarque** : Chez vous, vos appareils ont probablement une adresse en 192.168.x.x
---------
## Le masque de sous-réseau
Le **masque de sous-réseau** permet de distinguer deux parties dans une adresse IP :
- La partie **réseau** (commune à toutes les machines du même réseau)
- La partie **hôte** (unique pour chaque machine)
### Notation
Le masque s'écrit comme une adresse IP, avec des bits à 1 pour la partie réseau et des bits à 0 pour la partie hôte.
| Masque | Notation CIDR | Bits réseau | Bits hôte |
|--------|---------------|-------------|-----------|
| 255.0.0.0 | /8 | 8 | 24 |
| 255.255.0.0 | /16 | 16 | 16 |
| 255.255.255.0 | /24 | 24 | 8 |
| 255.255.255.128 | /25 | 25 | 7 |
| 255.255.255.192 | /26 | 26 | 6 |
### Exemple
Avec l'adresse **192.168.1.25** et le masque **255.255.255.0** (/24) :
```
Adresse IP : 192.168.1.25
Masque : 255.255.255.0
─────────────
Partie réseau : 192.168.1.x (les 3 premiers octets)
Partie hôte : x.x.x.25 (le dernier octet)
```
Toutes les machines du réseau **192.168.1.0/24** auront une adresse de la forme **192.168.1.X** où X varie de 1 à 254.
---------
## La méthode magique pour calculer les adresses
Voici une méthode simple et rapide pour calculer les adresses d'un réseau à partir d'une adresse IP et de son masque.
### Le nombre magique
Le **nombre magique** = 256 - valeur de l'octet "intéressant" du masque
L'octet "intéressant" est celui qui n'est ni 255 ni 0.
### Exemple 1 : Masque /24 (255.255.255.0)
**Adresse** : 192.168.1.25/24
L'octet intéressant est le 4ème : **0**
Nombre magique = 256 - 0 = **256** (donc tout le dernier octet)
| Élément | Calcul | Résultat |
|---------|--------|----------|
| Adresse réseau | Mettre 0 dans la partie hôte | **192.168.1.0** |
| Première adresse utilisable | Adresse réseau + 1 | **192.168.1.1** |
| Dernière adresse utilisable | Broadcast - 1 | **192.168.1.254** |
| Adresse de broadcast | Mettre 255 dans la partie hôte | **192.168.1.255** |
| Nombre d'hôtes | $`2^8 - 2 = 254`$ | **254 machines** |
### Exemple 2 : Masque /26 (255.255.255.192)
**Adresse** : 192.168.1.130/26
L'octet intéressant est le 4ème : **192**
Nombre magique = 256 - 192 = **64**
Les adresses réseau sont donc des multiples de 64 : 0, 64, 128, 192...
Puisque 130 est compris entre **128** et **192**, notre réseau commence à 128.
| Élément | Calcul | Résultat |
|---------|--------|----------|
| Adresse réseau | Plus grand multiple de 64 ≤ 130 | **192.168.1.128** |
| Première adresse utilisable | 128 + 1 | **192.168.1.129** |
| Dernière adresse utilisable | 128 + 64 - 1 - 1 = 190 | **192.168.1.190** |
| Adresse de broadcast | 128 + 64 - 1 = 191 | **192.168.1.191** |
| Nombre d'hôtes | $`2^6 - 2 = 62`$ | **62 machines** |
### Exemple 3 : Masque /20 (255.255.240.0)
**Adresse** : 172.16.45.100/20
L'octet intéressant est le 3ème : **240**
Nombre magique = 256 - 240 = **16**
Les adresses réseau (sur le 3ème octet) sont des multiples de 16 : 0, 16, 32, 48...
Puisque 45 est compris entre **32** et **48**, notre réseau commence à 32.
| Élément | Résultat |
|---------|----------|
| Adresse réseau | **172.16.32.0** |
| Première adresse utilisable | **172.16.32.1** |
| Dernière adresse utilisable | **172.16.47.254** |
| Adresse de broadcast | **172.16.47.255** |
| Nombre d'hôtes | $`2^{12} - 2 = 4094`$ | **4094 machines** |
---------
## Tableau récapitulatif des masques courants
| CIDR | Masque | Nombre magique | Nombre d'hôtes |
|------|--------|----------------|----------------|
| /8 | 255.0.0.0 | 256 (octets 2, 3 et 4 libres) | 16 777 214 |
| /16 | 255.255.0.0 | 256 (octets 3 et 4 libres) | 65 534 |
| /24 | 255.255.255.0 | 256 (octet 4) | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
---------
## Exercices
### Exercice 1 : Identification
Pour chaque adresse, indiquez s'il s'agit d'une adresse publique ou privée :
1. 192.168.0.1
2. 8.8.8.8
3. 10.0.0.50
4. 172.20.1.1
5. 91.198.174.192
### Exercice 2 : Calcul d'adresses (méthode magique)
Pour chaque adresse IP et masque, calculez :
- L'adresse réseau
- La première adresse utilisable
- La dernière adresse utilisable
- L'adresse de broadcast
- Le nombre d'hôtes possibles
1. **192.168.10.50/24**
2. **10.0.0.100/8**
3. **172.16.100.200/26**
4. **192.168.5.67/28**
5. **10.10.10.10/20**
### Exercice 3 : Appartenance au même réseau
Les machines suivantes peuvent-elles communiquer directement (sans routeur) ?
1. Machine A : 192.168.1.10/24 et Machine B : 192.168.1.200/24
2. Machine A : 192.168.1.10/24 et Machine B : 192.168.2.10/24
3. Machine A : 10.0.0.5/8 et Machine B : 10.255.255.250/8
4. Machine A : 172.16.50.10/26 et Machine B : 172.16.50.100/26
### Exercice 4 : Conception de réseau
Une entreprise dispose de l'adresse réseau **192.168.0.0/24** et souhaite créer 4 sous-réseaux de taille égale.
1. Quel masque de sous-réseau faut-il utiliser ?
2. Quelles sont les plages d'adresses pour chaque sous-réseau ?
3. Combien de machines peut-on adresser dans chaque sous-réseau ?
> **[Voir la correction](./CORRECTION.md)**
---------
## Pour aller plus loin
- **IPv6** : Le successeur d'IPv4 avec des adresses sur 128 bits
- **NAT** : Network Address Translation, permet à plusieurs machines de partager une seule IP publique
- **DHCP** : Attribution automatique des adresses IP
---------
Auteur : Florian Mathieu
Licence CC BY NC
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.