Protocoles TCP/IP

Comment votre message voyage-t-il d'un bout du monde à l'autre en quelques millisecondes ? Grâce aux protocoles TCP/IP, le langage universel d'Internet !

Difficulté:
35 min
+35 XP

Objectifs du cours

  • Comprendre le rôle des protocoles dans les communications réseau
  • Distinguer les fonctions de TCP et IP
  • Comprendre le principe de la commutation de paquets
  • Identifier les différentes couches du modèle TCP/IP
  • Savoir ce qu'est une adresse IP et un port

Erreurs courantes à éviter

  • Confondre TCP et IP (ce sont deux protocoles différents mais complémentaires)
  • Penser que les données arrivent en un seul bloc
  • Ne pas comprendre que les paquets peuvent prendre des chemins différents
  • Confondre adresse IP et adresse MAC

**Définition simple**

Un **protocole** est un ensemble de règles que les ordinateurs doivent suivre pour communiquer entre eux. C'est comme une langue commune !

**Analogie avec la vie réelle** :

Imaginez que vous envoyez une lettre : • **Règle 1** : Écrire l'adresse du destinataire sur l'enveloppe • **Règle 2** : Mettre un timbre • **Règle 3** : Déposer dans une boîte aux lettres • **Règle 4** : La Poste achemine la lettre • **Règle 5** : Le facteur la dépose dans la bonne boîte

Sans ces règles, votre lettre ne parviendrait jamais à destination !

**Sur Internet, c'est pareil** :

Les ordinateurs utilisent des protocoles pour savoir : • Comment **découper** les données en petits morceaux (paquets) • Comment **adresser** ces paquets (où ils doivent aller) • Quel **chemin** emprunter pour arriver à destination • Comment **vérifier** que tout est bien arrivé • Comment **reconstituer** le message d'origine

**Pourquoi TCP/IP ?**

TCP/IP est devenu le protocole standard d'Internet car : ✅ **Universel** : fonctionne sur tous les types de réseaux ✅ **Ouvert** : pas de brevet, gratuit pour tous ✅ **Fiable** : détecte et corrige les erreurs ✅ **Flexible** : s'adapte à différentes situations

Python
# Simulation simple : envoyer un message sans protocole vs avec protocole

# SANS PROTOCOLE (chaos !)
message_brut = "BONJOUR"
print("=== SANS PROTOCOLE ===")
print(f"Envoi: {message_brut}")
print("Problèmes:")
print("  ❌ Où envoyer ? (pas d'adresse)")
print("  ❌ Comment envoyer ? (pas de format)")
print("  ❌ Est-ce arrivé ? (pas de confirmation)")
print("  ❌ Erreurs ? (pas de vérification)")

print("\n=== AVEC PROTOCOLE TCP/IP ===")

# Création d'un paquet structuré
paquet = {
    'source': '192.168.1.10',      # D'où ça vient
    'destination': '142.250.74.46', # Où ça va (Google)
    'port_source': 12345,           # Application source
    'port_dest': 80,                # Application destination (HTTP)
    'numero': 1,                    # Numéro du paquet
    'total': 3,                     # Total de paquets
    'donnees': 'BON',               # Les données
    'checksum': 'a1b2'              # Code de vérification
}

print("Structure du paquet:")
for cle, valeur in paquet.items():
    print(f"  {cle:15} → {valeur}")

print("\nAvantages:")
print("  ✅ Adresse claire (destination connue)")
print("  ✅ Format structuré (facile à traiter)")
print("  ✅ Numérotation (ordre garanti)")
print("  ✅ Vérification (détection d'erreurs)")

Quiz de validation

1. Quel est le rôle principal du protocole IP ?

2. Que signifie TCP ?

3. Combien d'étapes comporte le handshake TCP pour établir une connexion ?

4. Quel est le numéro de port standard pour HTTPS (web sécurisé) ?

5. Quelle est la principale différence entre TCP et UDP ?

EdTech AI Assistant