Adresses IP et Routage

Comment un paquet trouve-t-il son chemin parmi des milliards d'appareils connectés ? Découvrez le GPS d'Internet : les adresses IP et le routage !

Difficulté:
40 min
+40 XP

Objectifs du cours

  • Comprendre ce qu'est une adresse IP et son format
  • Distinguer adresses IP privées et publiques
  • Comprendre le fonctionnement du routage
  • Savoir ce qu'est un masque de sous-réseau
  • Découvrir les tables de routage et les routeurs

Erreurs courantes à éviter

  • Confondre adresse IP et adresse MAC
  • Penser qu'une adresse IP est fixe et permanente
  • Ne pas comprendre la différence entre réseau local et Internet
  • Confondre routeur et switch

**Qu'est-ce qu'une adresse IP ?**

Une **adresse IP** (Internet Protocol) est un identifiant unique qui permet de localiser un appareil sur un réseau, comme une adresse postale.

📍 **Format IPv4** (le plus courant) : • 4 nombres de 0 à 255 séparés par des points • Exemple : `192.168.1.10` • Chaque nombre s'appelle un **octet**

**Pourquoi 4 nombres de 0 à 255 ?**

Chaque nombre est codé sur **8 bits** (1 octet) : • 8 bits = 2⁸ = 256 valeurs possibles (0 à 255) • 4 octets = 32 bits au total • Soit 2³² = 4,3 milliards d'adresses possibles

**Analogie avec les adresses postales** :

🏠 **Adresse postale** : • 12 Rue de la Paix • 75002 Paris • France

🌐 **Adresse IP** : • `192.168.1.10` • Chaque partie a une signification • Permet de localiser l'appareil

**Structure d'une adresse IP**

Une adresse IP se décompose en deux parties :

1️⃣ **Partie réseau** (network) : • Identifie le réseau auquel appartient l'appareil • Comme le code postal et la ville

2️⃣ **Partie hôte** (host) : • Identifie l'appareil spécifique dans le réseau • Comme le numéro de rue

**Exemple** : `192.168.1.10` • `192.168.1` = réseau • `10` = appareil numéro 10 sur ce réseau

**Types d'appareils ayant une adresse IP** :

💻 Ordinateurs 📱 Smartphones et tablettes 🖨️ Imprimantes réseau 📡 Routeurs et box Internet 📷 Caméras de surveillance 🎮 Consoles de jeux 🌡️ Objets connectés (thermostats, ampoules...)

Python
# Manipulation d'adresses IP en Python

def decomposer_ip(ip):
    """Décompose une adresse IP en ses 4 octets."""
    octets = ip.split('.')
    print(f"Adresse IP: {ip}")
    print(f"Décomposition:")
    for i, octet in enumerate(octets, 1):
        print(f"  Octet {i}: {octet:>3} (en binaire: {int(octet):08b})")

# Test
print("=== STRUCTURE D'UNE ADRESSE IP ===\n")
decomposer_ip("192.168.1.10")

# Conversion binaire complète
ip = "192.168.1.10"
octets = ip.split('.')
binaire = '.'.join([f"{int(o):08b}" for o in octets])
print(f"\nEn binaire: {binaire}")
print(f"Total: 32 bits (4 octets de 8 bits)\n")

# Calcul du nombre d'adresses IPv4
nb_bits = 32
nb_adresses = 2 ** nb_bits
print(f"=== CAPACITÉ D'ADRESSAGE IPv4 ===")
print(f"Nombre de bits: {nb_bits}")
print(f"Nombre d'adresses: {nb_adresses:,}")
print(f"Soit environ {nb_adresses / 1_000_000_000:.1f} milliards d'adresses")

# Population mondiale
population_mondiale = 8_000_000_000
print(f"\nPopulation mondiale: {population_mondiale:,}")
print(f"Adresses par personne: {nb_adresses / population_mondiale:.1f}")
print("\n⚠️ Problème: Pas assez d'adresses pour tout le monde !")
print("   Solution: IPv6 (340 sextillions d'adresses)")

# Vérifier si une adresse IP est valide
def est_ip_valide(ip):
    """Vérifie si une adresse IP est valide."""
    try:
        octets = ip.split('.')
        if len(octets) != 4:
            return False
        for octet in octets:
            num = int(octet)
            if num < 0 or num > 255:
                return False
        return True
    except:
        return False

print("\n=== VALIDATION D'ADRESSES IP ===\n")
adresses_test = [
    "192.168.1.1",
    "256.100.50.25",  # Invalide (256 > 255)
    "10.0.0.1",
    "192.168",        # Invalide (pas 4 octets)
    "8.8.8.8"
]

for addr in adresses_test:
    valide = "✅ Valide" if est_ip_valide(addr) else "❌ Invalide"
    print(f"{addr:20} → {valide}")

Quiz de validation

1. Combien d'octets compose une adresse IPv4 ?

2. Quelle plage d'adresses est privée (non visible sur Internet) ?

3. Quel est le rôle principal d'un routeur ?

4. Que signifie /24 dans l'adresse 192.168.1.10/24 ?

5. Combien d'adresses IPv6 existe-t-il théoriquement ?

EdTech AI Assistant