# Corrigé des exercices — Réseau
---
## Exercices du cours principal (README.md)
### Exercice d'application
**1. Trouvez votre adresse IP locale**
```sh
# Windows
ipconfig
# Linux/Mac
ifconfig
# ou
ip a
```
L'adresse IP locale apparaît généralement sous la forme `192.168.x.x` ou `10.x.x.x` dans la section de l'interface réseau active (Ethernet ou Wi-Fi).
**2. Testez une requête DNS**
```sh
nslookup www.example.com
```
Résultat typique :
```
Serveur : dns.google
Address: 8.8.8.8
Réponse ne faisant pas autorité :
Nom : www.example.com
Address: 93.184.216.34
```
**3. Comparez TCP et UDP**
| Usage | Protocole | Justification |
|-------|-----------|---------------|
| Envoyer un e-mail | **TCP** | Fiabilité nécessaire : tous les caractères doivent arriver dans l'ordre |
| Jouer en ligne | **UDP** | Rapidité prioritaire : une perte de paquet est acceptable (on perd une frame) |
| Regarder une vidéo en streaming | **UDP** | Rapidité prioritaire : un pixel perdu n'est pas critique |
---
## Exercices de calcul d'adresses IP (CALCUL.md)
### Exercice 1 : Application directe
#### 1. `10.0.5.150/20`
**Méthode magique :**
- Masque /20 = `255.255.240.0`
- Octet variable : 240 (3e octet)
- Incrément magique : 256 - 240 = **16**
- Valeur du 3e octet de l'IP : 5
- Multiple de 16 inférieur ou égal à 5 : **0**
**Résultats :**
- Adresse réseau : `10.0.0.0`
- Adresse de broadcast : `10.0.15.255` (0 + 16 - 1 = 15 pour le 3e octet, 255 pour le 4e)
**Vérification en binaire :**
- IP : `00001010.00000000.00000101.10010110`
- Masque : `11111111.11111111.11110000.00000000`
- AND : `00001010.00000000.00000000.00000000` = `10.0.0.0` ✓
---
#### 2. `172.16.100.200/22`
**Méthode magique :**
- Masque /22 = `255.255.252.0`
- Octet variable : 252 (3e octet)
- Incrément magique : 256 - 252 = **4**
- Valeur du 3e octet de l'IP : 100
- Multiple de 4 inférieur ou égal à 100 : **100** (100 = 25 × 4)
**Résultats :**
- Adresse réseau : `172.16.100.0`
- Adresse de broadcast : `172.16.103.255` (100 + 4 - 1 = 103 pour le 3e octet)
**Vérification en binaire :**
- IP : `10101100.00010000.01100100.11001000`
- Masque : `11111111.11111111.11111100.00000000`
- AND : `10101100.00010000.01100100.00000000` = `172.16.100.0` ✓
---
#### 3. `192.168.0.250/27`
**Méthode magique :**
- Masque /27 = `255.255.255.224`
- Octet variable : 224 (4e octet)
- Incrément magique : 256 - 224 = **32**
- Valeur du 4e octet de l'IP : 250
- Multiples de 32 : 0, 32, 64, 96, 128, 160, 192, **224**, 256
- Multiple de 32 inférieur ou égal à 250 : **224**
**Résultats :**
- Adresse réseau : `192.168.0.224`
- Adresse de broadcast : `192.168.0.255` (224 + 32 - 1 = 255)
**Vérification en binaire :**
- IP : `11000000.10101000.00000000.11111010`
- Masque : `11111111.11111111.11111111.11100000`
- AND : `11000000.10101000.00000000.11100000` = `192.168.0.224` ✓
---
## Exercices TCP (tcp/README.md)
### Questions de réflexion
**1. Qu'est-ce que le routage des paquets engendre comme contrainte ?**
Le routage des paquets engendre plusieurs contraintes :
- **Latence** : Les paquets peuvent emprunter des chemins différents, certains plus longs que d'autres
- **Ordre d'arrivée** : Les paquets peuvent arriver dans le désordre (nécessite une numérotation)
- **Fiabilité** : Certains paquets peuvent se perdre en route (nécessite un accusé de réception)
- **Overhead** : Chaque paquet doit contenir des informations de routage (en-têtes)
**2. Pourquoi UDP est-il plus rapide que TCP ?**
UDP est plus rapide car :
- **Pas de connexion préalable** : TCP nécessite un "handshake" en 3 étapes (SYN, SYN-ACK, ACK)
- **Pas de numérotation** : Pas besoin d'ordonner les paquets
- **Pas d'accusé de réception** : Pas d'attente de confirmation
- **Pas de retransmission** : Si un paquet est perdu, on continue sans lui
- **En-têtes plus légers** : Moins de données de contrôle
**3. Services TCP vs UDP**
| Service | Protocole | Raison |
|---------|-----------|--------|
| Fichiers sur cloud | **TCP** | Intégrité des données critique |
| Streaming vidéo | **UDP** | Fluidité prioritaire |
**4. Que faire si un paquet se perd ?**
- **TCP** : Le protocole détecte la perte (pas d'ACK reçu) et retransmet automatiquement
- **UDP** : Le paquet est perdu définitivement, l'application doit gérer (ou ignorer)
**5. Que faire si un paquet arrive en double ?**
- **TCP** : Grâce à la numérotation, le doublon est détecté et ignoré
- **UDP** : L'application reçoit les deux copies
---
## Exercices DNS (dns/README.md)
### Questions sur les URL
**1. De combien de parties est composée une URL ?**
Une URL est composée de **5 parties** :
1. Protocole
2. Sous-domaine
3. Domaine principal
4. Domaine de deuxième niveau (TLD)
5. Répertoire (chemin)
**2. Définitions personnelles**
| Partie | Définition |
|--------|------------|
| Protocole | Règle de communication utilisée (HTTP, HTTPS, FTP...) |
| Sous-domaine | Subdivision du domaine principal (www, fr, blog...) |
| Domaine principal | Nom identifiant le site (google, wikipedia...) |
| TLD | Extension indiquant le type ou pays (.fr, .com, .org...) |
| Répertoire | Chemin vers la ressource demandée sur le serveur |
**3. Si une partie de l'URL est incorrecte ?**
- **Protocole incorrect** : Erreur de connexion ou redirection
- **Sous-domaine incorrect** : Erreur 404 ou DNS non résolu
- **Domaine incorrect** : DNS non résolu (NXDOMAIN)
- **TLD incorrect** : Site différent ou inexistant
- **Répertoire incorrect** : Erreur 404 (page non trouvée)
### Analyse de l'URL Wikipedia
URL : `https://fr.wikipedia.org/wiki/Ada_Lovelace`
| Partie | Type | Valeur |
|--------|------|--------|
| https | Protocole | Communication sécurisée |
| fr | Sous-domaine | Version française |
| wikipedia | Domaine Principal | Nom du site |
| org | Domaine de deuxième niveau | Organisation à but non lucratif |
| wiki/Ada_Lovelace | Répertoire | Article sur Ada Lovelace |
### Analyse de l'URL du lycée
URL : `https://www.lyc-thierry-maulnier.ac-nice.fr`
**Informations visibles :**
- Site sécurisé (HTTPS)
- Site web classique (www)
- Lycée Thierry Maulnier
- Académie de Nice
- Domaine français (.fr)
**Décomposition :**
| Partie | Valeur |
|--------|--------|
| Protocole | https |
| Sous-domaine | www |
| Domaine | lyc-thierry-maulnier |
| Sous-domaine académique | ac-nice |
| TLD | fr |
### Manipulation nslookup
```sh
nslookup www.google.fr
```
**Résultat typique :**
```
Nom : www.google.fr
Addresses: 142.250.179.99
2a00:1450:4007:818::2003
```
**Principe de fonctionnement :**
- `nslookup` interroge un serveur DNS
- Le serveur DNS traduit le nom de domaine en adresse IP
- L'adresse IPv4 et/ou IPv6 est retournée
**Constat en utilisant l'IP directement :**
- Le site fonctionne avec l'adresse IP
- Cela prouve que le DNS n'est qu'un "annuaire" de traduction
- Les serveurs web peuvent gérer plusieurs domaines sur une même IP (virtual hosts)
---
Auteur : Florian Mathieu
Licence CC BY NC
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.