ajout dossier, cours, images sur le routage et algorithme de routage
This commit is contained in:
207
Routage/README.md
Normal file
207
Routage/README.md
Normal file
@@ -0,0 +1,207 @@
|
||||
## Réseaux et algorithmes de routage
|
||||
|
||||
> Processus fondamental des réseaux informatiques, le routage permet d’acheminer les paquets de données d’une source à une destination à travers un réseau.
|
||||
|
||||
### Le Programme
|
||||
|
||||
<img src="assets/bo.png" alt="bo_routage" style="zoom:50%;" />
|
||||
|
||||
|
||||
|
||||
<img src="assets/bo_2.png" alt="bo_graphe" style="zoom:50%;" />
|
||||
|
||||
|
||||
|
||||
Et oui, encore des graphes !
|
||||
|
||||
--------------
|
||||
|
||||
### Le routage, pourquoi faire ?
|
||||
|
||||
Lorsqu’un ordinateur envoie des données à un autre ordinateur situé sur un réseau différent, ces données doivent transiter par plusieurs équipements intermédiaires, appelés routeurs, qui déterminent le meilleur chemin à suivre.
|
||||
|
||||
L’acheminement efficace des données est crucial pour garantir la rapidité, la fiabilité et l’optimisation des ressources réseau. Sans un bon algorithme de routage, les réseaux seraient sujets à des retards importants, des congestions et des interruptions de communication.
|
||||
|
||||
|
||||
|
||||
<img src="assets/filius.png" alt="routage_filius" style="zoom: 67%;" />
|
||||
|
||||
|
||||
|
||||
### Mais dis moi Jamy, qu'est ce qu'un routeur ?
|
||||
|
||||
|
||||
|
||||
<img src="assets/allo.jpg" alt="allo" style="zoom:67%;" />
|
||||
|
||||
|
||||
|
||||
Un routeur est en quelque chose un hôte, un ordinateur, qui possède deux périphériques réseau, qui disposent d'une adresse IP chacun.
|
||||
|
||||
Lorsque des données transitent sur le réseau, chaque routeur va en recevoir, et pourra décider de les transmettre à telle ou telle machine.
|
||||
Pour ne pas se tromper et faire le bon choix, le routeur se servira de **tables de routage.**
|
||||
|
||||
Celles-ci peuvent être définies de manière **statique**, de manière **dynamique** ou tout simplement mises en place par défaut.
|
||||
|
||||
- **Routage statique** : Les routes sont définies manuellement par l’administrateur réseau et restent inchangées, sauf en cas d’intervention humaine.
|
||||
- **Routage dynamique** : Les routes sont déterminées automatiquement grâce à des protocoles de routage qui s’adaptent aux changements du réseau.
|
||||
- **Routage par défaut** : Utilisation d’une route unique lorsqu’aucune autre route spécifique n’est définie.
|
||||
|
||||
|
||||
|
||||
<img src="assets/yo.jpg" alt="yo" style="zoom:67%;" />
|
||||
|
||||
|
||||
|
||||
### Mais alors, ces tables de routage ?
|
||||
|
||||
Supposons un réseau représenté par ce graphe :
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Certaines tables de routage pourraient être celles-ci :
|
||||
|
||||
### Table de routage du routeur A
|
||||
| Destination | Routeur suivant | Distance |
|
||||
| ----------- | --------------- | -------- |
|
||||
| B | B | 1 |
|
||||
| C | C | 1 |
|
||||
| D | D | 1 |
|
||||
| E | C | 2 |
|
||||
| F | C | 2 |
|
||||
| G | C | 3 |
|
||||
|
||||
### Table de routage du routeur B
|
||||
| Destination | Routeur suivant | Distance |
|
||||
| ----------- | --------------- | -------- |
|
||||
| A | A | 1 |
|
||||
| C | A | 2 |
|
||||
| D | D | 1 |
|
||||
| E | D | 2 |
|
||||
| F | A | 3 |
|
||||
| G | D | 3 |
|
||||
|
||||
|
||||
|
||||
Comme on peut le voir, on dispose de plusieurs informations :
|
||||
|
||||
Depuis le routeur X, pour atteindre une destination, on va indiquer par quel routeur on passera, et la distance / le coût pour atteindre notre destination.
|
||||
|
||||
On parle alors de **passerelle** quand un routeur permet d'accéder à un sous-réseau différent du notre.
|
||||
|
||||
|
||||
|
||||
### Les algorithmes de routage
|
||||
|
||||
Il paraît évident qu'un réseau aussi grand qu'internet ne peut pas reposer sur des tables de routages manuelles. On a donc décidé d'automatiser cette tâche à l'aide d'algorithmes.
|
||||
Ainsi, ceux-ci permettent aux routeurs de choisir le chemin optimal pour transmettre les données. On distingue deux grandes catégories :
|
||||
|
||||
- **Les algorithmes à état de liens (Link-State)** : Chaque routeur construit une carte du réseau et calcule les meilleurs chemins avec des algorithmes comme **Dijkstra**.
|
||||
- **Les algorithmes à vecteur de distance (Distance-Vector)** : Chaque routeur échange des informations avec ses voisins et met à jour ses routes selon l’algorithme de **Bellman-Ford.**
|
||||
|
||||
#### RIP (Routing Information Protocol)
|
||||
|
||||
Ici, chaque routeur va attribuer une distance la plus courte possible à chaque destination accessible.
|
||||
Cette distance sera indiquée en unité de sauts (hop), avec un saut = un routeur traversé.
|
||||
|
||||
Pour commencer, chaque routeur va écrire dans sa table les plus proches voisins, c'est à dire les routeurs accessibles à 0 de distance.
|
||||
|
||||
Puis, toutes les 30 secondes, chaque routeur va propager les informations de sa table vers ses voisins immédiats, qui mettront leur propre table à jour avec ces informations, notamment si un chemin plus court vers une destination existe !
|
||||
|
||||
Puis que l'on dispose d'un routeur comme **direction**, et d'une **distance**, on a donc un **vecteur**.
|
||||
|
||||
**Attention** !
|
||||
|
||||
Si un routeur (et donc un réseau) n'est plus accessible passé 3 minutes, il sera supprimé des tables de routages.
|
||||
|
||||
|
||||
|
||||
À retenir :
|
||||
|
||||
- Distance en terme de sauts (ou hop en anglais)
|
||||
- Chaque routeur ne possède les informations que sur son voisinnage direct. On parle de ***routing by rumor*** : aucune vision globale du réseau, on fait confiance aux voisins pour savoir ce qu'il en est.
|
||||
- Au delà de 15 sauts, on considère un routeur inaccessible.
|
||||
- Utilise l’algorithme à vecteur de distance de Bellman-Ford et est simple à configurer, mais limité en performance.
|
||||
- Convient aux petits réseaux
|
||||
- Premiere algorithme de routage de l'histoire
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="assets/Vector_Distance.png" alt="resume_rip" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### OSPF (Open Shortest Path First)
|
||||
|
||||
Basé sur l’algorithme de Dijkstra, il est plus rapide et plus efficace que RIP.
|
||||
|
||||
Mis au point pour combler les lacunes du RIP, il est plus complet mais également plus complexe.
|
||||
|
||||
- Tous les routeurs ont une vision globale du réseau.
|
||||
- Les distances sont mesurées en termes de coûts d'une liaison ou de débit d'une liaison.
|
||||
- Le coût d'une liaison en OSPF est donné par la formule :
|
||||
|
||||
|
||||
$$
|
||||
\text{coût} = \frac{10^8}{d}
|
||||
$$
|
||||
|
||||
|
||||
où d est le débit nominal.
|
||||
|
||||
- Chaque réseau pourra être représenté sous forme de graphe.
|
||||
- On recherchera les routes les moins couteuses, et sans cycle.
|
||||
- Chaque routeur devient alors la racine d'un arbre contenant les meilleurs routes.
|
||||
|
||||
|
||||
|
||||
<img src="assets/Dijkstra_Animation.gif" alt="dijikstra" style="zoom:150%;" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Enfin, il reste un algorithme :
|
||||
|
||||
**BGP (Border Gateway Protocol)** : Utilisé pour l’échange de routes entre différents fournisseurs d’accès à Internet (FAI).
|
||||
|
||||
Que nous ne verrons pas cette année.
|
||||
|
||||
Merci jamy !
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-----------
|
||||
|
||||
### Sources
|
||||
|
||||
- Hatier prépabac
|
||||
- [Site d'Olivier Duranton](https://www.duranton.net/?darkmode=non&niveau=terminaleNSI&chapitre=11)
|
||||
- Leçon réseau et algorithme de routage préparée lors du Capes (et j'ai eu une bonne note, eh oui)
|
||||
|
||||
--------------
|
||||
|
||||
|
||||
|
||||
Auteur : Florian Mathieu
|
||||
|
||||
Licence CC BY NC
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user