diff --git a/Routage/EXERCICES.md b/Routage/EXERCICES.md new file mode 100644 index 0000000..773a571 --- /dev/null +++ b/Routage/EXERCICES.md @@ -0,0 +1,178 @@ +# Exercices — Routage + +--- + +## Exercice 1 : Tables de routage + +Soit le réseau suivant : + +``` + A ---1--- B ---2--- E + | | + 3 5 + | | + C ---4--- D ---1--- F + \ / + 2 1 + \ / + G +``` + +*(Les chiffres sur les liaisons représentent le nombre de sauts.)* + +1. Compléter la table de routage du routeur **A** : + +| Destination | Passerelle | Distance (sauts) | +|-------------|------------|------------------| +| B | | | +| C | | | +| D | | | +| E | | | +| F | | | +| G | | | + +2. Compléter la table de routage du routeur **D** : + +| Destination | Passerelle | Distance (sauts) | +|-------------|------------|------------------| +| A | | | +| B | | | +| C | | | +| E | | | +| F | | | +| G | | | + +--- + +## Exercice 2 : Protocole RIP + +### Question 1 — Mise à jour des tables + +Un routeur R reçoit de son voisin V la table suivante : + +| Destination | Distance | +|-------------|----------| +| X | 2 | +| Y | 4 | +| Z | 1 | + +R est à distance **1 saut** de V. Quelles seront les nouvelles distances que R pourrait enregistrer pour X, Y et Z ? Dans quel cas R mettra-t-il à jour sa propre table ? + +### Question 2 — Limite de RIP + +Pourquoi RIP est-il limité à 15 sauts maximum ? Quelle conséquence cela a-t-il sur les réseaux pouvant utiliser RIP ? + +### Question 3 — Convergence + +Combien de temps faut-il au minimum pour qu'une information de routage traverse 5 routeurs avec RIP ? Justifier. + +--- + +## Exercice 3 : Algorithme de Dijkstra + +Soit le graphe pondéré suivant (les poids représentent des coûts de liaison) : + +``` + 4 + A -----> B + | | + 2| |1 + v v + C -----> D -----> E + 1 3 +``` + +1. Appliquer l'algorithme de Dijkstra depuis **A**. Compléter le tableau d'exécution : + +| Étape | Sommet traité | d(A) | d(B) | d(C) | d(D) | d(E) | +|-------|---------------|------|------|------|------|------| +| Init | — | 0 | ∞ | ∞ | ∞ | ∞ | +| 1 | | | | | | | +| 2 | | | | | | | +| 3 | | | | | | | +| 4 | | | | | | | +| 5 | | | | | | | + +2. Quel est le plus court chemin de A vers E ? Donner le chemin complet et son coût total. + +--- + +## Exercice 4 : Protocole OSPF + +La formule de coût OSPF est : + +$$\text{coût} = \frac{10^8}{d}$$ + +où $d$ est le débit de la liaison en bits/seconde. + +### Question 1 — Calcul de coûts + +Calculer le coût OSPF des liaisons suivantes : + +| Type de liaison | Débit | Coût | +|-----------------|-------|------| +| Ethernet 10 Mbps | 10 × 10⁶ bps | | +| Fast Ethernet 100 Mbps | 100 × 10⁶ bps | | +| Gigabit Ethernet | 10⁹ bps | | +| Liaison série 2 Mbps | 2 × 10⁶ bps | | + +### Question 2 — Choix du meilleur chemin + +Un réseau propose deux chemins de A vers Z : +- **Chemin 1** : A → B → Z, avec une liaison à 100 Mbps puis une liaison à 10 Mbps +- **Chemin 2** : A → C → D → Z, avec trois liaisons à 100 Mbps + +Quel chemin OSPF sélectionnera-t-il ? Justifier par le calcul. + +--- + +## Exercice 5 : Comparer RIP et OSPF + +Compléter le tableau comparatif : + +| Critère | RIP | OSPF | +|---------|-----|------| +| Type d'algorithme | | | +| Métrique utilisée | | | +| Vision du réseau | | | +| Limite de distance | | | +| Vitesse de convergence | | | +| Taille de réseau adaptée | | | + +--- + +## Exercice 6 : Implémenter Dijkstra en Python + +Implémenter la fonction `dijkstra(graphe, source)` qui retourne un dictionnaire des distances minimales depuis `source` vers tous les sommets du graphe. + +```python +def dijkstra(graphe, source): + """ + graphe : dict {sommet: [(voisin, poids), ...]} + source : sommet de départ + Retourne : dict {sommet: distance_minimale} + """ + # À compléter + pass + + +# Test attendu : +graphe = { + 'A': [('B', 4), ('C', 2)], + 'B': [('D', 1)], + 'C': [('D', 1)], + 'D': [('E', 3)], + 'E': [] +} + +print(dijkstra(graphe, 'A')) +# Résultat attendu : {'A': 0, 'B': 4, 'C': 2, 'D': 3, 'E': 6} +``` + +--- + +Auteur : Florian Mathieu + +Licence CC BY NC + +Licence Creative Commons
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. diff --git a/Réseau/EXERCICES.md b/Réseau/EXERCICES.md new file mode 100644 index 0000000..51fce27 --- /dev/null +++ b/Réseau/EXERCICES.md @@ -0,0 +1,117 @@ +# Exercices — Réseau + +--- + +## Exercice 1 : Protocoles TCP et UDP + +*D'après le cours tcp/* + +Arobase souhaite envoyer des fichiers personnels sur son cloud Bobble Drive, et décide de regarder un jeu en direct sur une plateforme de streaming en attendant. + +1. Qu'est-ce que le routage des paquets engendre comme contrainte pour la transmission de données ? +2. Pourquoi le protocole UDP est-il plus rapide que TCP ? +3. Lequel de ces deux services (cloud, streaming) favorise TCP ? Lequel favorise UDP ? Justifier. +4. Que se passe-t-il si un paquet se perd en cours de route ? +5. Que se passe-t-il si un paquet arrive en double ? + +--- + +## Exercice 2 : Comparer TCP et UDP + +Pour chacun des usages suivants, indiquer le protocole recommandé (TCP ou UDP) et justifier votre choix : + +| Usage | Protocole | Justification | +|-------|-----------|---------------| +| Envoyer un e-mail | | | +| Jouer en ligne (FPS) | | | +| Regarder une vidéo en streaming | | | +| Télécharger un fichier | | | +| Passer un appel vidéo | | | + +--- + +## Exercice 3 : DNS et URL + +*D'après le cours dns/* + +### Partie A — Anatomie d'une URL + +1. De combien de parties est composée une URL ? +2. Pour chacune des parties suivantes, donner votre propre définition : protocole, sous-domaine, domaine principal, domaine de deuxième niveau, répertoire. +3. Si une partie de l'URL est incorrecte, que se passe-t-il ? + +### Partie B — Analyser des URL + +Compléter le tableau pour l'URL : `https://fr.wikipedia.org/wiki/Ada_Lovelace` + +| Partie | Type | Valeur | +|--------|------|--------| +| ... | Protocole | | +| ... | Sous-domaine | | +| ... | Domaine principal | | +| ... | Domaine de deuxième niveau | | +| ... | Répertoire | | + +Quelles informations sont visibles en un coup d'œil dans l'URL suivante ? + +`https://www.lyc-thierry-maulnier.ac-nice.fr` + +### Partie C — Manipulation nslookup + +Dans un terminal : + +```sh +nslookup www.google.fr +``` + +1. Quelle adresse IP est retournée ? +2. Essayer d'accéder au site en entrant directement l'adresse IP dans le navigateur. Que constatez-vous ? +3. En déduire le principe de fonctionnement du DNS. + +--- + +## Exercice 4 : Adressage IP et sous-réseaux + +*D'après CALCUL.md* + +Pour chacune des adresses suivantes, déterminer l'**adresse réseau** et l'**adresse de broadcast** (utiliser la méthode de votre choix) : + +1. `10.0.5.150/20` +2. `172.16.100.200/22` +3. `192.168.0.250/27` + +--- + +## Exercice 5 : Modèles OSI et TCP/IP + +1. Citer les 4 couches du modèle TCP/IP et donner un exemple de protocole pour chacune. +2. À quelle couche du modèle OSI correspond la couche "Internet" du modèle TCP/IP ? +3. Dans quelle couche se situe le protocole HTTP ? Et IP ? Et Ethernet ? +4. Pourquoi dit-on que le modèle TCP/IP est "celui réellement utilisé sur Internet" alors que le modèle OSI est plus détaillé ? + +--- + +## Exercice 6 : Commandes réseau + +Dans un terminal (Windows : `cmd`, Mac/Linux : `Terminal`) : + +1. Trouver votre adresse IP locale : + ```sh + ipconfig # Windows + ifconfig # Linux/Mac + ``` + Quelle est votre adresse ? Est-elle publique ou privée ? Comment le savoir ? + +2. Tester une résolution DNS : + ```sh + nslookup www.example.com + ``` + Quelle adresse IP correspond à `www.example.com` ? + +--- + +Auteur : Florian Mathieu + +Licence CC BY NC + +Licence Creative Commons
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.