Outils pour utilisateurs

Outils du site


nsi:terminales:reseau:protocoles

RIP et OSPF

Il s'agit de deux protocoles de routage, c'est à dire des règles permettant aux routeurs de décider quelle chemin choisir pour transmettre les paquets de données vers leurs destinations.

RIP : Routing Information Protocol

Utilise l'algorithme de Bellman et Ford pour déterminer un plus court chemin – Il s'agit d'un exemple de programmation dynamique.

Exemple de réseau

On peut se contente ici du principe en se basant sur cet exemple :

  • Les routeurs de A à G sont connectés les uns aux autres,
  • Toutes les connexions ont bien sûr une adresse IP mais ce qui nous intéresse surtout est de pouvoir atteindre les sous-réseaux auxquels certains routeurs sont connectés.
    Par exemple B est relié au sous-réseau 172.16.x.x. Une requête vers ce sous-réseau doit passer par B.
    Le sous réseau 57.x.x.x peut être atteint par G et D.

Principe du protocol

Maintenant voyons comment les routeurs vont calculer leurs chemins.

  • Aucun routeur n'a de vision globale du réseau. Il ne communique qu'avec ses voisins.
  • Chaque routeur entretient une table de routage précisant la distance qui le sépare d'un réseau IP, cette distance étant exprimée en sautshops en anglais.
    • Par exemple B sait qu'il est à une distance de 0 du réseau 172.16.x.x.
    • Au début, F ne sait pas à quelle distance il est de 172.16.x.x mais après des échanges, il saura qu'il peut atteindre B et donc 172.16.x.x en 2 sauts.
  • Les routeurs échangent leur table de routage avec leurs voisins. Voyons un exemple :
    • F avait dans sa table de routage l'information qu'il pouvait atteindre 172.16.x.x en 3 sauts en passant par E.
    • G, sait qu'il peut atteindre 172.16.x.x en 1 saut. Il passe l'information à ses voisins.
    • F reçoit le message. Il en déduit qu'il pourra, en passant par G, atteindre 172.16.x.x en 2 sauts, ce qui est mieux.
    • F modifie donc sa table et indique qu'il peut atteindre 172.16.x.x en 2 sauts en passant par G.
    • Comme F a amélioré sa table, il en informe ses voisins en transmettant sa table.
  • Un chemin de plus de 15 sauts n'est pas enregistré

Dans notre exemple, F n'enregistre pas dans sa table la totalité du chemin vers 172.16.x.x. Il se contente de mémoriser qu'il peut le faire en 2 sauts en passant par G. Si F doit envoyer un paquet vers 172.16.x.x, il l'envoie vers G. G prendra en charge la suite de l'itinéraire.

Ce protocole, contrairement à celui qui suit, ne tient pas compte de la qualité des liaisons entre routeurs. Seul le nombre de sauts compte. Dans notre exemple, RIP préférera le chemin F → G → B au chemin F → E → C→ B même si le second a un meilleur débit.

Tolérance de panne

Un aspect important d'un réseau est sa capacité à s'adapter automatiquement à la défaillance d'un de ses éléments. Si un routeur tombe en panne, les paquets de données doivent pouvoir continuer à trouver leur chemin.

On ajoute donc des règles au protocole :

  • Toutes les 30 secondes, les routeurs diffusent leur table de routage.
  • Si une route connaît un problème prolongé, elle est supprimée de la table.
  • Si un routeur ne diffuse rien pendant 3 minutes, il est considéré en panne et les routes passant par lui sont supprimées.

Les réseaux étant gros et les échanges permanents, il faut envisager des cas à problèmes. Supposons que :

  • C dit que G est en panne
  • B dit qu'il a une route passant par G

C et G risque de s'échanger en boucle cette information contradictoire :

  • C ayant reçu le message de B, il se met dire que G fonctionne diffuse l'information
  • B qui vient d'entendre que G est en panne modifie sa route et diffuse l'information “G en panne”

Pour éviter ce problème, on donne la priorité à l'information “en panne” et on empêche les allers-retours entre deux routeurs : B ne répète pas vers C ce que C vient de lui dire.

OSPF : Open Shortest Path First

Ce protocole est déjà ancien (années 1990) et permet de gérer des réseau plus grands avec des routeurs plus puissants.

Avec OSPF on cherchera le chemin le plus court dans le réseau mais en tenant compte du débit. Pour mieux dire, on choisira le chemin au débit le plus élevé.

Exemple

Supposons que l'on ait les débits suivants :

  • 100 Mb/s : B – C ; C – E
  • 10 Mb/s : A – B ; B – G ; E – F
  • 1 Mb/s : A – D ; F – G ; C – D
  • 100 kb/s : E – G ; D – F

Alors le transfert d'un paquet de 1 Gb sur la route F → E → C → B prendra

  • 100 s pour F → E
  • 10 s pour E → C
  • 10 s pour C → B

Le même transfert sur F → G → B prendra

  • 1000 s sur F → G
  • 100 s sur G → B

Le premier chemin est nettement meilleur.

J'ai pris un paquet de 1 Gb pour simplifier le calcul. On ne transmettrait pas un aussi gros paquet d'un coup. On le découperait en petits morceaux qui pourraient être envoyés sur plusieurs chemins différents et le transfert E → C pourrait commencer avec les premiers morceaux avant que la totalité des morceaux aient fait F → E. Cela ne change rien au raisonnement, il suffit d'envisager les paquets élémentaires qui ne sont pas fractionnés.

nsi/terminales/reseau/protocoles.txt · Dernière modification : de 90.2.171.232