Architecture des réseaux · Étape 07

Trouve le réseau, le broadcast et la plage d'hôtes

Pars d'une adresse /29, vérifie ses limites dans Linux et Python, puis provoque une panne en plaçant un poste dans le bloc voisin.

Durée indicative · ~55 minNiveau débutantPrérequis conseillé · Leçon 6 — préfixe IPv4Pratique · TP
L’idée reçue

« Pour trouver un sous-réseau, il faut convertir toute l’adresse en binaire. »

Le binaire explique le mécanisme, mais tu peux travailler efficacement avec la taille de bloc, puis utiliser un outil pour contrôler ton résultat.

Le laboratoire utilisera le réseau 192.168.77.8/29. Un /29 contient huit adresses : une adresse réseau, six hôtes utilisables et une adresse de broadcast.

.8 réseau.9.10.11.12.13.14.15 broadcast

01Calculer avec la taille de bloc

Expérience 1

Relie /29 à huit adresses

Il reste 32 - 29 = 3 bits pour les adresses du bloc :

2^3 = 8 adresses
8 - réseau - broadcast = 6 hôtes usuels

Dans le dernier octet, les débuts de blocs sont des multiples de 8 : 0, 8, 16, 24….

02Vérifier les limites

Vérification

Interroge Python

python3 - <<'PY'
from ipaddress import ip_interface

value = ip_interface("192.168.77.10/29")
network = value.network
hosts = list(network.hosts())

print("réseau    :", network.network_address)
print("broadcast :", network.broadcast_address)
print("premier   :", hosts[0])
print("dernier   :", hosts[-1])
print("hôtes     :", len(hosts))
PY
Observe
réseau    : 192.168.77.8
broadcast : 192.168.77.15
premier   : 192.168.77.9
dernier   : 192.168.77.14
hôtes     : 6

03Construire le petit LAN

Expérience 2

Configure le premier et le dernier hôte

sudo ip netns del pc1 2>/dev/null || true
sudo ip netns del pc2 2>/dev/null || true

sudo ip netns add pc1
sudo ip netns add pc2
sudo ip link add pc1-eth type veth peer name pc2-eth
sudo ip link set pc1-eth netns pc1
sudo ip link set pc2-eth netns pc2

sudo ip -n pc1 link set pc1-eth name eth0
sudo ip -n pc2 link set pc2-eth name eth0
sudo ip -n pc1 link set lo up
sudo ip -n pc2 link set lo up
sudo ip -n pc1 link set eth0 up
sudo ip -n pc2 link set eth0 up

sudo ip -n pc1 addr add 192.168.77.9/29 dev eth0
sudo ip -n pc2 addr add 192.168.77.14/29 dev eth0
sudo ip netns exec pc1 ping -c 3 192.168.77.14
.9 et .14 se trouvent aux deux extrémités de la plage d’hôtes, mais appartiennent au même LAN.

04Passer dans le bloc suivant

Panne volontaire

Déplace pc2 vers 192.168.77.17/29

sudo ip -n pc2 addr flush dev eth0
sudo ip -n pc2 addr add 192.168.77.17/29 dev eth0

sudo ip -n pc1 route get 192.168.77.17
sudo ip netns exec pc1 ping -c 2 192.168.77.17
192.168.77.17/29 appartient au bloc 192.168.77.16–23. Sans routeur, les deux blocs ne communiquent pas.

05Lire les blocs adjacents

Bloc /29RéseauHôtesBroadcast
1192.168.77.0.1 à .6.7
2192.168.77.8.9 à .14.15
3192.168.77.16.17 à .22.23
4192.168.77.24.25 à .30.31
Défi autonome

Analyse quatre adresses

Pour chacune des interfaces suivantes, donne réseau, broadcast, premier hôte et dernier hôte avant de vérifier avec Python :

  1. 10.0.0.37/28 ;
  2. 172.16.8.200/27 ;
  3. 192.168.50.65/26 ;
  4. 10.50.12.254/23.

06Nettoyer

sudo ip netns del pc1
sudo ip netns del pc2

Ce que tu retiens

Une adresse IPv4 appartient à un bloc délimité par une adresse réseau et une adresse de broadcast. La taille de bloc permet de trouver rapidement ces limites ; Python ou un autre outil sert ensuite de contrôle, pas de remplacement du raisonnement.

0
Ta progression

Chargement de l’état… Se connecter pour synchroniser.