From 07db71eaec9a2b8d0bdf194c0a5cd5c3c260f292 Mon Sep 17 00:00:00 2001 From: Alexis Fourmaux Date: Mon, 25 Aug 2025 18:07:04 +0200 Subject: [PATCH] Adressage IP --- .../CIEL1/02-reseau/cours/adressage-ip.md | 53 ++-- .../CIEL1/02-reseau/cours/adresse-ip.svg | 4 + .../02-reseau/cours/calcul-adresse-reseau.svg | 4 + src/cours/CIEL1/02-reseau/cours/diffusion.svg | 4 + src/cours/CIEL1/02-reseau/cours/masque.svg | 4 + src/cours/CIEL1/02-reseau/plan cours.md | 12 + src/slides/adressage-ip.md | 296 ++++++++++++++++++ 7 files changed, 346 insertions(+), 31 deletions(-) create mode 100644 src/cours/CIEL1/02-reseau/cours/adresse-ip.svg create mode 100644 src/cours/CIEL1/02-reseau/cours/calcul-adresse-reseau.svg create mode 100644 src/cours/CIEL1/02-reseau/cours/diffusion.svg create mode 100644 src/cours/CIEL1/02-reseau/cours/masque.svg create mode 100644 src/cours/CIEL1/02-reseau/plan cours.md create mode 100644 src/slides/adressage-ip.md diff --git a/src/cours/CIEL1/02-reseau/cours/adressage-ip.md b/src/cours/CIEL1/02-reseau/cours/adressage-ip.md index f70ec21..9a5f952 100644 --- a/src/cours/CIEL1/02-reseau/cours/adressage-ip.md +++ b/src/cours/CIEL1/02-reseau/cours/adressage-ip.md @@ -67,7 +67,7 @@ L'**adresse MAC** (*Media Access Control*) ou **adresse physique** est un identi 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` +**Exemple :** `5E:FF:56:A2:AF:15` ## L'adresse IP @@ -81,7 +81,7 @@ L'adresse IP d'un hôte permet de définir précisément - l'adresse de l'hôte sur le réseau. Cette partie de l'adresse est l'identifiant machine hôte (ou "Host ID" en anglais) ``` -TODO schéma +![Adresse IP](./adresse-ip.svg) ### Le masque @@ -93,7 +93,7 @@ Le masque est une suite de 32 bits constituée d'une suite de 1 et d'une suite d On exprime également le masque sous la forme décimale séparée par des points. ``` -TODO Exemple et schéma +![Adresse IP et masque](./masque.svg) Le masque étant constitué d'une suite contigüe de 1 suivie d'une suite de 0, l'information utile est le nombre de 1. Une autre façon d'écrire le masque est la notation dite CIDR (Classless Inter-Domain Routing). C'est la plus utilisée actuellement. @@ -101,7 +101,7 @@ Le masque étant constitué d'une suite contigüe de 1 suivie d'une suite de 0, La notation CIDR consiste à faire suivre l'adresse IP par le nombre de bits à 1 dans le masque, séparés par `/` ``` -Ex: 192.168.1.0 avec un masque à 255.255.255.0 sera noté 192.168.1.0**/24** car +**Exemple :** 192.168.1.58 avec un masque à 255.255.255.0 sera noté 192.168.1.58 **/24** car - 255 s'écrit avec 8 bits à 1 - Les trois premiers octets du masque sont à 255 soit 3x8 = 24 bits à 1 @@ -117,7 +117,7 @@ Un réseau est un groupe d'hôtes dont la partie réseau de l'adresse est identi Pour rappel, quand on applique le ET logique, seul 1 ET 1 = 1, tout le reste vaut zéro. -TODO Exemple et schéma +![Calcul de l'adresse de réseau](./calcul-adresse-reseau.svg) Si on fait l'opération ET logique, on voit que les bits de la partie hôte sont tous à zéro ( = ils sont masqués) alors que les bits de la partie réseau gardent leur valeur. @@ -129,7 +129,7 @@ Si on fait l'opération ET logique, on voit que les bits de la partie hôte sont 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. ``` -TODO exemple avec schéma +![Adresse de diffusion](./diffusion.svg) ### Plage adressable et nombre d'hôtes possibles @@ -139,7 +139,11 @@ La plage adressable est l'ensemble des adresses que peut prendre un hôte sur le - La **dernière adresse** est celle qui **précède** l'adresse de diffusion ``` -TODO Exemple +**Exemple :** + +- 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 ```admonish success title="À retenir" @@ -151,7 +155,9 @@ On utilise toute la plage des valeurs possibles sur ce nombre de bits, mais deux - La dernière adresse est l'adresse de diffusion (celle où tous les bits hôte sont à 1) ``` -TODO Exemple +**Exemple :** + +Dans le réseau 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 valeurs, soit une plage disponible de 254 adresses sur ce réseau. ## Les catégories d'adresses @@ -174,12 +180,6 @@ Les adresses privées sont celles utilisées dans les réseaux privés comme par Vous pouvez les utiliser sans risque pour tout réseau interne (entreprise ou chez vous). Vous pouvez également définir des masques plus restrictifs que ceux proposés par défaut. -|Plage d'adresses| -|-| -|10.0.0.0/8| -|172.**16-31**.0.0/16| -|192.168.**0-255**.0/24| - ### Adresses spéciales #### L'adresse de réseau @@ -232,14 +232,20 @@ Les organisations ont souvent besoin de segmenter leur réseau interne selon leu Le plan d'adressage devra répondre à certaines contraintes pour être viable, et il faudra ensuite attribuer les adresses IP à chaque machine du réseau selon ce plan. - chaque machine devra avoir une adresse IP unique dans le réseau. C'est le principe même de l'adressage logique. -- les sous-réseaux devront pouvoir contenir toutes machines qu'on souhaite y affecter. Il faut donc prévoir des sous-réseaux avec des plages d'adressage suffisamment grandes. +- les sous-réseaux devront pouvoir contenir toutes les machines qu'on souhaite y affecter. Il faut donc prévoir des sous-réseaux avec des plages d'adressage suffisamment grandes. + +**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. + +- Il faut donc un sous-réseau comportant une plage d'adresses assez grande pour contenir 5 hôtes (4 postes et le routeur). +- Un réseau comportant 3 bits devrait suffire : 3 bits = 2³ = 8 soit 8 - 2 = 6 hôtes adressables +- On pourra donc utiliser un masque de 29 bits. Nous pouvons fixer l'adresse de sous-réseau à 10.0.0.0/29 et donc avoir un réseau pour notre service comptabilité qui couvre la plage de 10.0.0.1 à 10.0.0.6 -TODO Exemple ### Obtenir une adresse IP Toutes les machines qui veulent être rattachées au réseau IP doivent donc avoir une adresse IP unique. Pour cela, il y a **deux stratégies** possibles : - L'adresse IP est configurée de façon **statique** sur la machine. + L'administrateurice initialise alors la configuration des machines et leur attribue une adresse IP individuellement. Cette stratégie fonctionne mais nécessite beaucoup de rigueur car si l'administrateurice se trompe, il peut en résulter des conflits entre machines. Par ailleurs les changements de plan d'adressage impliquent une intervention sur chaque machine concernée, ce qui peut être fastidieux et chronophage. - L'adresse IP est attribuée à la demande par un serveur dédié à cet usage. On utilisera pour cela le protocole **DHCP** (*Dynamic Host Configuration Protocol*) et le serveur du même nom. @@ -249,18 +255,3 @@ Le serveur DHCP attribue les configurations IP aux machines qui en font la deman - L'**allocation manuelle** : l'administrateurice configure le serveur pour qu'il attribue de manière **statique** une adresse IP spécifique à une machine spécifique. On se servira généralement de l'adresse MAC pour identifier la machine de façon unique. - L'**allocation automatique** : l'administrateurice définit une plage d'adresses que le serveur DHCP peut allouer à la demande et **dynamiquement** à toute nouvelle machine. Cette adresse est ensuite conservée par la machine jusqu'à ce qu'elle la libère. ``` - -## IPv6 ?? -- Pourquoi IPv6 ? -- Similitudes avec IPv4 -- Différences avec IPv4 - -# Exercices -## Application / compréhension -## Exercices de programmation pour jouer avec adresses IP -> Voir TP Python - -# Mise en pratique / TP -[Cisco Packet Tracer](https://wiki.archlinux.org/title/Packet_Tracer) -[GNS3](https://wiki.archlinux.org/title/GNS3) - -# Evaluation \ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/cours/adresse-ip.svg b/src/cours/CIEL1/02-reseau/cours/adresse-ip.svg new file mode 100644 index 0000000..1186954 --- /dev/null +++ b/src/cours/CIEL1/02-reseau/cours/adresse-ip.svg @@ -0,0 +1,4 @@ + + + +
192.168.1.58
1100 0000.
0011 1010
1010 1000.
0000 0001.
\ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/cours/calcul-adresse-reseau.svg b/src/cours/CIEL1/02-reseau/cours/calcul-adresse-reseau.svg new file mode 100644 index 0000000..b0e5fdb --- /dev/null +++ b/src/cours/CIEL1/02-reseau/cours/calcul-adresse-reseau.svg @@ -0,0 +1,4 @@ + + + +
192.168.1.58
1100 0000 .
0011 1010
1010 1000 .
0000 0001 .
1111 1111 .
1111 1111 .
0000 0000
1111 1111 .
255.255.255.0
ET
1100 0000 .
1010 1000 .
0000 0001 .
0000 0000
192.168.1.0
Conversion en binaire
Conversion en décimal
Masque
Adresse IP
Application du ET logique entre le masque l'adresse IP
Adresse de réseau
\ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/cours/diffusion.svg b/src/cours/CIEL1/02-reseau/cours/diffusion.svg new file mode 100644 index 0000000..a719d82 --- /dev/null +++ b/src/cours/CIEL1/02-reseau/cours/diffusion.svg @@ -0,0 +1,4 @@ + + + +
1100 0000 .
1010 1000 .
0000 0001 .
1111 1111
192.168.1.255
Tous les bits de la partie hôte à 1
Réseau
Hôte
\ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/cours/masque.svg b/src/cours/CIEL1/02-reseau/cours/masque.svg new file mode 100644 index 0000000..bf53653 --- /dev/null +++ b/src/cours/CIEL1/02-reseau/cours/masque.svg @@ -0,0 +1,4 @@ + + + +
192.168.1.58
1100 0000 .
0011 1010
1010 1000 .
0000 0001 .
1111 1111 .
1111 1111 .
0000 0000
1111 1111 .
255.255.255.0
Adresse IP
Masque
Identifiant réseau
Identifiant hôte
Représentation binaire
\ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/plan cours.md b/src/cours/CIEL1/02-reseau/plan cours.md new file mode 100644 index 0000000..3b941c6 --- /dev/null +++ b/src/cours/CIEL1/02-reseau/plan cours.md @@ -0,0 +1,12 @@ +## IPv6 ? + +# Exercices +## Application / compréhension +## Exercices de programmation pour jouer avec adresses IP -> Voir TP Python + +# Mise en pratique / TP +[Cisco Packet Tracer](https://wiki.archlinux.org/title/Packet_Tracer) +[Lien téléchargement Packet Tracer](https://www.netacad.com/resources/lab-downloads?courseLang=fr-FR) +[GNS3](https://wiki.archlinux.org/title/GNS3) + +# Evaluation \ No newline at end of file diff --git a/src/slides/adressage-ip.md b/src/slides/adressage-ip.md new file mode 100644 index 0000000..b454df4 --- /dev/null +++ b/src/slides/adressage-ip.md @@ -0,0 +1,296 @@ +--- +marp: true +theme: catppuccin +paginate: true +size: 4:3 +transition: coverflow +footer: '' +math: katex +--- + + + + +# 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](../cours/CIEL1/02-reseau/cours/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](../cours/CIEL1/02-reseau/cours/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](../cours/CIEL1/02-reseau/cours/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](../cours/CIEL1/02-reseau/cours/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 + * Adreesse 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 + +--- + +### 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* \ No newline at end of file