---
marp: true
theme: catppuccin
paginate: true
size: 4:3
transition: coverflow
footer: ''
math: katex
---

<style>
section {
  font-size: 28px;
}
</style>


# Adressage IP
---
## Première approche : analogie avec La Poste

--- 
### Adressage logique

Pour distribuer du courrier
- La poste
    * Nom de la personne -> impossible de savoir quelle boîte aux lettres
    * Adresse de la personne
        * Pays, Code postal, ville, rue, numéro...
        * Permet de restreindre la zone : le réseau
        * Le numéro de rue -> boîte aux lettres
- Informatique : 
    * Adresse physique : adresse MAC
    * Adresse logique
        - trouver le réseau
        - identifier la machine

---

!!! success À retenir
Un **réseau logique** est formé par des **hôtes** qui appartiennent à un même regroupement que l'on veut pouvoir adresser de manière unique, indépendemment de leur localisation physique. Il faut pour cela définir : 
- une adresse logique pour le réseau
- une adresse logique unique pour chaque hôte

Dans les réseaux informatiques, nous utilisons le protocole IP (Internet Protocol) pour définir des adresses logiques.
!!!

---

### Comment trouver un hôte sur un autre réseau ?

- La poste : 
    * Relais postal qui trie et dispatche le courrier aux autres relais postaux
    * Relais le plus proche distribue le courrier
- Informatique :
    * Le **routeur** aura ce rôle
        * parfois appelé **passerelle** ou **gateway**
    * Plusieurs cartes réseau -> connecté à plusieurs réseaux

---

## Adresse MAC

!!! success À retenir
L'**adresse MAC** (*Media Access Control*) ou **adresse physique** est un identifiant physique **unique** stocké directement dans la carte réseau. Toutes les cartes réseau ont une adresse MAC.

Elle est constituée de 48 bits (6 octets) et représentée sous forme hexadécimale en séparant chaque octet par `:`
!!!

**Exemple :** `5E:FF:56:A2:AF:15`

---

## Adresse IP

![Adresse IP](./images/adresse-ip.svg)

---

!!! success À retenir
Une adresse IPv4 est une suite de 32 bits (= 4 octets) sous la forme de 4 nombres décimaux séparés par un point.

L'**adresse IP** d'un hôte permet de définir précisément :
- le réseau sur lequel est connecté l'hôte : identifiant réseau (ou "Net ID")
- l'adresse de l'hôte sur le réseau : identifiant machine hôte (ou "Host ID")
!!!

---

![Adresse IP et masque width:800px](./images/masque.svg)

---

!!! success À retenir
Le **masque** est une suite de 32 bits constituée d'une suite de 1 et d'une suite de 0.
- La suite de 1 indique l'identifiant du réseau
- La suite de 0 indique l'identifiant de la machine hôte

On exprime également le masque sous la forme décimale séparée par des points.
!!!

---

!!! success À retenir
La notation CIDR consiste à faire suivre l'adresse IP par le nombre de bits à 1 dans le masque, séparés par `/`
!!!

**Exemple :** 192.168.1.58 avec un masque à 255.255.255.0 sera noté **192.168.1.58/24**

---

**Exercice** : Donnez le masque des adresses IP suivantes
- 10.12.56.2/16
- 172.16.3.25/19

---

![Calcul de l'adresse de réseau width:800px](./images/calcul-adresse-reseau.svg)

---

**Exercice** : Calculez les adresses de réseau des adresses suivantes
- 10.12.56.2/16
- 172.16.3.25/19

---

### Adresse de diffusion

![Adresse de diffusion width:800px](./images/diffusion.svg)

---

!!! success À retenir
**L'adresse de diffusion** (ou *broadcast* en anglais) permet d'envoyer un message à l'ensemble des hôtes connectés au réseau.

L'adresse de diffusion est la dernière adresse du réseau. Elle est constituée en mettant tous les bits de la **partie hôte** à 1.
!!!

---

**Exercice** : Donnez les adresses de diffusion des réseaux suivants
- 10.12.56.2/16
- 172.16.3.25/19

---

### Plage adressable

!!! success À retenir
La plage adressable est l'ensemble des adresses que peut prendre un hôte sur le réseau.
- La **première adresse** est celle qui suit immédiatement l'adresse de réseau
- La **dernière adresse** est celle qui **précède** l'adresse de diffusion
!!!

---

Exemple: 192.168.1.0/24

* Sur le réseau 192.168.1.0/24, la partie réseau correspond aux trois premiers octets. 
* La première adresse de la plage adressable est celle qui suit l'adresse de réseau, c'est à dire 192.168.1.1 
* Et la dernière adresse est celle qui précède l'adresse de diffusion, c'est à dire 192.168.1.254

---

!!! success À retenir
Le nombre de bits de la partie hôte permet de savoir combien d'adresses sont possibles : 
$$2^{\mathrm{nombre\,de\,bits}} - 2$$

On utilise toute la plage des valeurs possibles sauf 2 :
- l'adresse de réseau
- l'adresse de diffusion
!!!

---

Exemple: 192.168.1.0/24


* Il y a 32-24 = 8 bits dédiés à la partie hôte, soit 256 valeurs possibles. 
* Comme on enlève l'adresse de réseau et l'adresse de diffusion, il reste 254 adresses disponibles. 

---

**Exercice** : Donnez les plages adressables et le nombre d'IP disponibles des réseaux suivants :

- 10.14.0.0/16
- 192.168.3.128/25

---

## Catégories d'adresses

- **Adresses publiques** : adresses distribuées par l'IANA et utilisées pour accéder à des machines/réseaux sur internet
- **Adresses privées** : adresses utilisées dans des réseaux locaux/internes
    - Elles ne seront jamais distribuées par l'IANA

|Plage d'adresses|
|-|
|10.0.0.0/8|
|172.**16-31**.0.0/16|
|192.168.**0-255**.0/24|

---

**Exercice** : Dites si les adresses suivantes sont publiques ou privées
- 10.6.4.5
- 156.217.45.6
- 223.45.88.135
- 192.168.234.4
- 172.33.0.221

---

### Adresses spéciales

- On connaît déjà :
    * Adresse de réseau
    * Adresse de diffusion 
* Mais aussi :
    * Boucle locale
    * Adresse de diffusion générale
    * Adresse d'initialisation

---

#### Boucle locale

* Sert à désigner la machine elle-même
* Réseau 127.0.0.0/8
* L'adresse 127.0.0.1 (*localhost*):
    - désigne la machine elle-même
    - existe toujours (même sans réseau)
    - simule un accès réseau
    - pour communiquer en local ou tests

---

- Adresse de diffusion générale : 255.255.255.255
    - Pour contacter toutes les machines du réseau actuel
    - **!!!** Différent de l'adresse de diffusion qui permet de broadcaster sur un autre réseau
- Adresse d'initialisation : 0.0.0.0
    - Utilisée à l'initialisation quand la machine se connecte à un réseau

---
<style scoped>
table {
  font-size: 20px;
}
</style>


### Classes d'adresses

!!! warning Attention
Système obsolète depuis les années 1990, remplacé par le CIDR
!!!

|Classe|Plage d'adresses|Masque|Réseaux|Hôtes|
|------|----------------|------|-----------------|--------------|
|A|1-127.\*.\*.\*|255.0.0.0|128|16 777 214|
|B|128-191.\*.\*.\*|255.255.0.0|16384|65 534|
|C|192-223.\*.\*.\*|255.255.255.0|2 097 150|254| 

---

## Plan d'adressage

- Permet de distribuer les adresses pour répondre à l'organisation d'une structure
- On crée des réseaux plus ou moins isolés
- Contraintes :
    - Adresse IP **unique**
    - Sous-réseaux suffisamment grands pour contenir toutes les machines

---

**Exemple :** Une entreprise souhaite créer un réseau pour son service comptabilité. 
- Le service compte 4 postes de travail et un routeur. 
- L'administration réseau souhaite utiliser un sous-réseau de la taille la plus petite possible
- À l'intérieur de la plage d'adresses 10.0.0.0/8

* Solution :
    * 5 hôtes : 4 postes + routeur
    * /29 : 3 bits dans la partie hôte
        * 2³ - 2 = 8 - 2 = 6 hôtes possibles
    * 10.0.0.0/29 -> 10.0.0.1 à 10.0.0.6
---

### Obtenir une adresse IP

- Deux stratégies possibles :
  * Adresse statique
    * Inconvénients : 
        - rigueur
        - maintenance
  * Adresse attribuée par DHCP (*Dynamic Host Configuration Protocol*)

---

#### DHCP

- Attribue les IP aux machines qui en font la demande. 
- Machines restituent adresse quand elles quittent le réseau
- -> Connaît les adresses disponibles.
- Deux mécanismes :
    - **Allocation manuelle** : adresse statique choisie par l'administrateurice
    - **Allocation automatique** : le serveur DHCP choisit dans une plage d'adresses définie et alloue l'adresse *dynamiquement*