La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

@ Michel Carpentier - Alain Gofflot

Présentations similaires


Présentation au sujet: "@ Michel Carpentier - Alain Gofflot"— Transcription de la présentation:

1 @ Michel Carpentier - Alain Gofflot
1. La couche réseaux BUT : La couche réseaux se charge d’acheminer des paquets tout au long d’un parcours, d’une source jusqu’à un destinataire. Gère le trafic à travers les nœuds de communication intermédiaire. @ Michel Carpentier - Alain Gofflot

2 Fonctions principales
Pour acheminer un paquet d’un émetteur vers un destinataire, il est impératif de connaître précisément la localisation de l’émetteur et du destinataire. Pour ce faire, la couche réseau introduit la notion d’adressage. @ Michel Carpentier - Alain Gofflot

3 Fonctions principales
Une fois la destination connue, il faut déterminer le chemin à parcourir pour s’y rendre. La couche réseau introduit donc la notion de routage. Le routage est le choix du meilleur chemin à prendre pour aller à la destination. @ Michel Carpentier - Alain Gofflot

4 Fonctions principales
Le réseau global peut être vu comme un réseau routier. Par conséquent, il est sensible aux mêmes problèmes d’embouteillages. La couche réseau assure le contrôle de flux et le contrôle de congestion pour limiter les dégâts de ces embouteillages. @ Michel Carpentier - Alain Gofflot

5 Le service à la couche transport
Les service offerts à la couche 4 doivent respecter les objectifs suivants : les services doivent être indépendants des technologies de routeur mises en œuvre sur le sous-réseau la couche réseau doit être indépendante du nombre et du type des routeurs, ainsi que de la topologie du réseau les adresses de réseau mises à la disposition de la couche transport doivent faire partie d’un plan de numérotation qui doit rester uniforme. @ Michel Carpentier - Alain Gofflot

6 Le service à la couche transport
Compte tenu de ces critères, les concepteurs de la couche réseaux avaient beaucoup de liberté pour rédiger les spécifications. Cette liberté donna lieu à d’assez grandes divergences : certains voulaient un service orienté connexion pour assurer une certaine qualité de service d’autres voulaient un service sans connexion, argumentant le fait que c’est aux stations d’assurer le service de connexion @ Michel Carpentier - Alain Gofflot

7 Service sans connexion
Dans ce mode, les paquets sont injectés dans le sous-réseau individuellement, et routés indépendamment les uns des autres. Dans ce contexte les paquets sont souvent appelés datagrammes Il est possible que les paquets n’arrivent pas dans l’ordre initialement émis ou n’arrive pas du tout @ Michel Carpentier - Alain Gofflot

8 Service avec connexion
Un chemin doit être établi au préalable du routeur source jusqu’au routeur de destination avant que les paquets ne soient envoyés Cette connexion est appelée Circuit Virtuel Il n’est dès lors plus nécessaire de prendre une décision de routage pour chaque paquet @ Michel Carpentier - Alain Gofflot

9 Couche réseau dans Internet
10 principes fondamentaux sont décrits dans la RFC 1958. s’assurer que tout fonctionne privilégier la simplicité faire des choix exploiter la modularité (faite des couches) anticiper l’hétérogénéité (plus c’est grand, plus il y a des éléments différents qui composent) éviter les options et les paramètres statiques 10 principes fondamentaux : S’assurer que tout fonctionne L’idée principale est de ne pas rédiger le standard de 1000 pages avant d’avoir un programme qui fonctionne. C’est le fondement principal qui distingue ISO de l’internet. Privilégier la simplicité En cas de doute, optez pour la solution la plus simple. Méfiez vous de l’abondance de fonctionnalités. Si une fonctionnalité n’est pas absolument indispensable, renoncez-y. Surtout si on peut faire la même chose en combinant plusieurs autres fonctionnalités de base. Faire des choix Lorsqu’il existe plusieurs manières de faire quelque chose, retenez en une seule. Exploiter la modularité Utilisez des piles de protocoles dans lesquelles chaque couche est indépendante des autres. Anticiper l’hétérogénéité Un grand réseau implique forcément différents types de matériels, d’équipements de communication et d’applications. Pour pouvoir gérer cette diversité d’éléments, la conception du réseau doit être simple, générale et souple. Eviter les options et les paramètres statiques Lorsque des paramètres doivent être fixés, il est préférable que l’émetteur et le récepteur définissent une valeur plutôt que de configurer une valeur statique. @ Michel Carpentier - Alain Gofflot

10 Couche réseau dans Internet
rechercher une conception efficace, mais pas parfaite être sévère lors de l’envoi et tolérant lors de la réception penser à l’évolutivité considérer les performances et les coûts S’assurer que tout fonctionne L’idée principale est de ne pas rédiger le standard de 1000 pages avant d’avoir un programme qui fonctionne. C’est le fondement principal qui distingue ISO de l’internet. Privilégier la simplicité En cas de doute, optez pour la solution la plus simple. Méfiez vous de l’abondance de fonctionnalités. Si une fonctionnalité n’est pas absolument indispensable, renoncez-y. Surtout si on peut faire la même chose en combinant plusieurs autres fonctionnalités de base. Faire des choix Lorsqu’il existe plusieurs manières de faire quelque chose, retenez en une seule. Exploiter la modularité Utilisez des piles de protocoles dans lesquelles chaque couche est indépendante des autres. Anticiper l’hétérogénéité Un grand réseau implique forcément différents types de matériels, d’équipements de communication et d’applications. Pour pouvoir gérer cette diversité d’éléments, la conception du réseau doit être simple, générale et souple. Eviter les options et les paramètres statiques Lorsque des paramètres doivent être fixés, il est préférable que l’émetteur et le récepteur définissent une valeur plutôt que de configurer une valeur statique. Rechercher une conception efficace, mais pas parfaite Les concepteurs disposent souvent de conceptions efficaces mais qui ne permettent pas de gérer certaines configurations particulières. Dans ce cas, il ne faut pas modifier les conceptions : la charge de trouver une solution particulière incombe aux personnes concernées par cette solution particulière. Etre sévère lors de l’envoi et tolérant lors de la réception N’envoyez que des paquets qui respectent strictement les standards. Attendez vous à ce que les autres ne fassent pas pareil. Penser à l’évolutivité S’il est prévu que le système doit supporter des millions d’utilisateurs et de machines, il n’est pas question de faire une base de données centralisée. On doit privilégier un système où la charge doit être répartie. Considérer les performances et les coûts Si les performances sont médiocres ou les coûts trop importants, personne ne l’utilisera. @ Michel Carpentier - Alain Gofflot

11 @ Michel Carpentier - Alain Gofflot
IP - Plan Le format de datagramme IP L’adressage La fonction de routage @ Michel Carpentier - Alain Gofflot

12 IP – Le format de datagramme
Entête : Version Identification Durée de vie (TTL) Adresse source Adresse de destination Options (0 ou plusieurs mots) LET Type de Service Position du fragment Longueur Totale D F M F Protocole Total de contrôle d’en-tête @ Michel Carpentier - Alain Gofflot

13 @ Michel Carpentier - Alain Gofflot
Vocabulaire Little endian = lecture des informations de droite à gauche, soit le bit de poids faible en premier Exemple : un octet est transmis Big endian = lecture des informations de gauche à droite, soit le bit de poids fort en premier Exemple : un octet est transmis little endian : octet transmis big endian octet transmis @ Michel Carpentier - Alain Gofflot

14 IP – Le format de datagramme
L’entête est transmise sous forme big endian (adresse « d’abord ») Version : indique le numéro de version du protocole. Ainsi, on peut avoir plusieurs version de IP au même moment sur le réseau. Actuellement, la version est IPv4. Une transition vers IPv6 est en cours. @ Michel Carpentier - Alain Gofflot

15 IP – Le format de datagramme
LET : la Longeur de l’En-Tête est précisée ici sous la forme d’un nombre de mots de 32 bits. La valeur minimale est 5, sans options. La valeur maximale est de 15, soit 60 octets au maximum pour l’en-tête IP. @ Michel Carpentier - Alain Gofflot

16 IP – Le format de datagramme
Type de Service : sert à distinguer les différentes classes de services (combinaisons de fiabilité et de débit). A l’origine, ces 6 bits représentaient : 3 bits de priorité (0 = normale, 7 = haute) 1 bit D(elay) = importance sur le délais 1 bit T(hroughput) = importance sur le débit 1 bit R(eliability) = importance sur la fiabilité Dans la pratique actuelle, le type de service est ignoré par les routeurs @ Michel Carpentier - Alain Gofflot

17 IP – Le format de datagramme
Longueur totale : donne la longueur totale du datagramme (en-tête + données) Actuellement, le maximum est octets. Ce nombre risque de devenir trop petit dans les futurs réseaux Gigabits. Identification : permet à l’hôte destinataire de déterminer à quel datagramme appartient un fragment reçu. Tous les fragments d’un datagramme contiennent la même valeur d’identification. @ Michel Carpentier - Alain Gofflot

18 IP – Le format de datagramme
DF (Don’t Fragment) : un bit qui permet de demander aux routeurs intermédiaires de ne pas fragmenter le datagramme. Dans certains cas, le destinataire n’est pas en mesure de recomposer les datagrammes qui seraient fragmentés. MF (More Fragments) : ce bit est positionné à 1 pour tous les fragments sauf le dernier. @ Michel Carpentier - Alain Gofflot

19 IP – Le format de datagramme
Position de Fragment : indique la position (déplacement, offset) du fragment dans le datagramme courant (même identification). Tous les fragments (à l’exception du dernier) doivent avoir un multiple de 8 octets. Ce champ contient 13 bits, soit une valeur maximale de (= 2^13) fragments par message (unité du niveau 4) x 8 = octets au total. @ Michel Carpentier - Alain Gofflot

20 IP – Le format de datagramme
Durée de Vie (TTL Time To Live) : compteur qui sert à limiter la durée de vie des datagrammes. Lorsqu’un datagramme traverse un routeur, celui-ci décrémente la valeur du TTL. Ceci permet d’empêcher que des datagrammes n’errent sans fin (boucle sans fin) dans le réseau. En effet, un paquet pourrait « jouer » au ping-pong entres routeurs et ce en fonction des informations de routage que ces derniers possèdent (état des lignes, métriques, …) @ Michel Carpentier - Alain Gofflot

21 IP – Le format de datagramme
Protocole : spécifie à quel processus de la couche transport doit on passer le datagramme La numérotation des protocoles est globale sur l’internet (fixée par la RFC1700) et consultable sur le site @ Michel Carpentier - Alain Gofflot

22 IP – Le format de datagramme
Total de contrôle d’en-tête : permet de détecter les erreurs générées par des mots mémoire erronés dans un routeur. Ce total de contrôle doit être recalculé dans chaque routeur. Pourquoi ? car au moins le TTL change à chaque passage dans un routeur. @ Michel Carpentier - Alain Gofflot

23 IP – Le format de datagramme
L’adresse source et l’adresse destination : contiennent respectivement les adresses IP des machines source et destination. Ces adresses seront détaillées ultérieurement. @ Michel Carpentier - Alain Gofflot

24 IP – Le format de datagramme
Options : le champ options a été prévu pour introduire de nouveaux éléments dans le protocole sans devoir revoir complètement la spécification. On peut également placer dans les options des éléments rarement exploitables. @ Michel Carpentier - Alain Gofflot

25 IP – Le format de datagramme
Les options sont de longueur variables, et sont constituées de : un champ de code d’option un champ de longueur d’option (facultatif) un ou plusieurs octets de données Le champ option doit être un multiple de 4 octets @ Michel Carpentier - Alain Gofflot

26 IP – Le format de datagramme
5 options on été définies au départ : Sécurité : renseigne sur le degré de confidentialité des données, par exemple pour interdire le routage de paquets confidentiels au travers de certains pays. En pratique, c’est ignoré Routage strict par la source : Le chemin entre la source et la destination est écrit, et le datagramme doit suivre ce chemin. Utile pour envoyer des messages lorsque les tables de routage sont corrompues @ Michel Carpentier - Alain Gofflot

27 IP – Le format de datagramme
Routage lâche par la source : Permet de spécifier quelques routeurs que le datagramme doit traverser pour rejoindre sa destination. Utile par exemple pour éviter de traverser certains pays en demandant un passage par d’autres Enregistrement de route : Demande aux routeurs intermédiaires d’insérer leur adresse IP dans le champ d’option pour que l’administrateur puisse déterminer le parcourt du datagramme Horodatage : chaque routeur intermédiaire doit introduire une date et heure pour permettre un debuggage du parcours effectué par le datagramme @ Michel Carpentier - Alain Gofflot

28 @ Michel Carpentier - Alain Gofflot
Time To Live Le paquet est délivré TTL=4 TTL=1 TTL=2 TTL=3 @ Michel Carpentier - Alain Gofflot

29 @ Michel Carpentier - Alain Gofflot
Time To Live TTL=1 TTL=0 Le paquet est détruit TTL=4 TTL=2 TTL=3 @ Michel Carpentier - Alain Gofflot

30 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Chaque carte réseau possède une adresse MAC unique au monde, constituée de 48 bits. Malheureusement, il n’y a aucune logique dans la localisation des adresses MAC : l’adresse B-72-0D-58 peut se trouver à Luxembourg et l’adresse B-72-0D-59 se trouver à New York Il est donc impossible d’utiliser ces adresses pour acheminer les datagramme au niveau mondial. @ Michel Carpentier - Alain Gofflot

31 @ Michel Carpentier - Alain Gofflot
IP – Les adresses A chaque ordinateur, routeur, … connecté à l’Internet on va attribuer au moins une adresse IP. Une adresse IP est constituée de 32 bits et contient : Un numéro de réseau Un numéro d’hôtes A chaque carte réseau peut-être associée une adresse IP. @ Michel Carpentier - Alain Gofflot

32 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Pendant plusieurs décennies, les adresses IP ont été divisées en 5 classes : L’adressage par classes Le tableau suivant reprend les 5 classes : @ Michel Carpentier - Alain Gofflot

33 IP – Les adresses 32 Bits Réseau 10 110 1111
Réservé pour une utilisation future 1110 Adresse Multicast Hôte A B C D E @ Michel Carpentier - Alain Gofflot

34 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Classe A : Adresses de à 128 réseaux différents 16 millions d’hôtes différents par réseau Classe B : Adresses de à 16384 réseaux différents 65536 d’hôtes différents par réseau Classe C : Adresses de à Plus de 2 millions de réseaux 256 d’hôtes différents par réseau @ Michel Carpentier - Alain Gofflot

35 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Classe D : Adresses de à Adresses multicast utilisées pour envoyer des datagrammes à plusieurs destinataires simultanément. Classe E : Adresses de à Réservé pour un usage ultérieur @ Michel Carpentier - Alain Gofflot

36 @ Michel Carpentier - Alain Gofflot
IP – Les adresses La gestion des adresses IP au niveau mondial est faite par l’ICANN (Internet Corporation for Assigned Names and Numbers) S’occupe de veiller à ce qu’une adresse IP (routable) ne soit pas utilisée 2 fois sur la planète Délégation de la gestion de groupes d’adresses à des autorités régionales Exemple : RESTENA – @ Michel Carpentier - Alain Gofflot

37 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Représentation d’une adresse IP : Notation décimale pointée Exemple : Les 4 octets qui constituent l’adresse sont séparés par un point Chaque octet peut prendre une valeur de 0 à 255. Exemple : C @ Michel Carpentier - Alain Gofflot

38 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Certaines adresses ont une signification particulière : Cet hôte : adresse utilisée au démarrage de la machine ( ) Broadcast : adresse utilisée pour diffuser un paquet à toutes les stations d’un LAN @ Michel Carpentier - Alain Gofflot

39 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Un hôte sur ce réseau : permet de désigner un hôte sans tenir compte du numéro du réseau local (NB : il faut quand même connaître la classe du réseau) Diffusion broadcast sur réseau distant : permet d’envoyer un paquet en broadcast sur un réseau non local. Numéro hôte Numéro réseau @ Michel Carpentier - Alain Gofflot

40 @ Michel Carpentier - Alain Gofflot
IP – Les adresses Bouclage : permet d’effectuer un test de fonctionnement de la pile de protocoles sans utiliser le réseau physique = localhost Valeur quelconque = 127 @ Michel Carpentier - Alain Gofflot

41 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Tous les hôtes appartenant à un même réseau doivent avoir le même numéro de réseau Cependant, l’utilisation d’une classe A ou B pose rapidement un problème : on ne peut pas stocker hôtes ou plus dans un espace physique adressable par un réseau Ethernet (en coaxial, la limite des 4 répéteurs est rapidement atteinte) @ Michel Carpentier - Alain Gofflot

42 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Il est donc nécessaire de faire une légère modification au système d’adressage : partitionner le réseau en plusieurs entités à usage interne. Vu de l’extérieur, rien ne change : le réseau est toujours vu comme une seule entité. Exemple : RESTENA dispose d’une classe B ( ), et attribue des parties de cette classe aux lycées luxembourgeois. @ Michel Carpentier - Alain Gofflot

43 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Les réseaux résultant du partitionnement sont appelés des « sous-réseaux » ou « subnets » Comment un routeur d’entrée peut-il transmettre un paquet qui arrive pour une machine appartenant à un subnet ? @ Michel Carpentier - Alain Gofflot

44 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Première solution : Tenir en mémoire une table de tous les hôtes des différents subnets. Cette solution n’a pas été retenue, car elle implique une table volumineuse en mémoire et un travail de maintenance important (ajout, déplacement, retrait de stations). @ Michel Carpentier - Alain Gofflot

45 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Seconde solution : utiliser des bits de la partie « hôte » de l’adresse IP pour déterminer le subnet. Exemple : RESTENA dispose d’une classe B ( ) subdivisée en subnet pour les instituts d’enseignement. Ici pour l’IST ( ) 158 64 76 Partie réseau Partie subnet Partie hôte @ Michel Carpentier - Alain Gofflot

46 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Cette implémentation requiert l’utilisation d’un « masque de sous-réseau » ou « Subnet mask ». Il identifie les portions numéro de réseau / numéro de sous-réseau (tous les bits à 1) et le numéro d’hôte. (tous les bits à 0) 158 64 76 Partie réseau Partie subnet Partie hôte IP NetMask @ Michel Carpentier - Alain Gofflot

47 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Remarque : dans notre exemple, le masque de sous réseau comporte 24 bits à 1, ce qui est équivalent à une adresse de classe C. Dans la réalité, le masque de sous réseau peut prendre un nombre quelconque de bits à 1 : corollaire : si le nombre de subnets augmente, le nombre de machines dans ceux-ci diminue @ Michel Carpentier - Alain Gofflot

48 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Exemple : 158 64 Partie réseau Partie subnet Partie hôte IP NetMask Dans ce cas, les adresses IP du sous réseau vont de à @ Michel Carpentier - Alain Gofflot

49 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Le masque de sous réseau peut se représenter de 2 manières différentes : Sous la même forme qu’une adresse IP Pour l’exemple précédent : Sous la forme d’un nombre de bits à 1 placé à coté de l’adresse du réseau Pour l’exemple précédent : / 20 @ Michel Carpentier - Alain Gofflot

50 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Pour un sous réseau, certaines valeurs des adresses ont une signification particulière : Adresse réseau : constituée d’un numéro réseau et d’un numéro d’hôte égal à 0. Elle donne la référence du sous réseau. Adresse broadcast : constituée d’un numéro de réseau et d’un numéro d’hôte dont tous les bits sont à 1. Elle permet d’envoyer un paquet à toutes les machines du sous réseau. @ Michel Carpentier - Alain Gofflot

51 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Calcul : Adresse IP : Masque de sous réseau : Quelle est l’adresse du réseau ? Quelle est l’adresse de broadcast ? Combien de machines peut-on adresser dans ce sous réseau ? @ Michel Carpentier - Alain Gofflot

52 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Représentation de l’exercice : 158 64 66 75 Partie réseau Partie subnet Partie hôte IP NetMask @ Michel Carpentier - Alain Gofflot

53 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Pour calculer l’adresse du réseau, il faut mettre tous les bits de la partie hôte à 0. 158 64 66 75 Partie réseau Partie subnet Partie hôte IP NetMask Adresse Réseau @ Michel Carpentier - Alain Gofflot

54 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Pour calculer l’adresse broadcast, il faut mettre tous les bits de la partie hôte à 1. 158 64 66 75 Partie réseau Partie subnet Partie hôte IP NetMask Adresse Réseau 79 255 @ Michel Carpentier - Alain Gofflot

55 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Le nombre de machines que l’on peut adresser dans le sous réseau est égal au nombre d’adresses IP différentes (avec la même partie réseau) moins l’adresse réseau et l’adresse broadcast. Cela revient à calculer le nombre de nombres que l’on peut écrire avec les bits de la partie hôte, puis soustraire 2. 12 bits pour la partie hôte (32 – 20) 4096 nombres différents avec ces 12 bits Donc, 4094 hôtes dans le sous réseau @ Michel Carpentier - Alain Gofflot

56 @ Michel Carpentier - Alain Gofflot
IP – Les sous-réseaux Exercices : Calculez l’adresse réseau, l’adresse broadcast et le nombre de machine par sous réseau pour les adresses suivantes. /25 /20 /12 /25 126 hôtes : 2^7 /20 4094 hôtes /12 hôtes @ Michel Carpentier - Alain Gofflot

57 @ Michel Carpentier - Alain Gofflot
IP – En pratique Déterminer l’adresse IP d’une machine Windows : @ Michel Carpentier - Alain Gofflot

58 @ Michel Carpentier - Alain Gofflot
IP – En pratique Déterminer l’adresse IP d’une machine Unix : @ Michel Carpentier - Alain Gofflot

59 Routage : Introduction
Comme nous l’avons vu, la couche réseau a pour but d’acheminer les paquets (datagrammes) d’un hôte émetteur vers un hôte destinataire (distant). @ Michel Carpentier - Alain Gofflot

60 Routage : Introduction
Le réseau global peut être vu comme suit : deux machines distantes sont reliées par un ensemble de routeurs formant un maillage complexe. R1 R2 R3 R4 @ Michel Carpentier - Alain Gofflot

61 Routage : Introduction
En conséquence, il existe plusieurs chemins pour un datagramme pour aller de l’émetteur vers le récepteur. R1 R2 R3 R4 @ Michel Carpentier - Alain Gofflot

62 Routage : Introduction
Le routeur est un dispositif qui permet de déterminer la route qu’un datagramme doit suivre pour arriver à destination. Ce processus s’appelle routage. @ Michel Carpentier - Alain Gofflot

63 Routage : Introduction
Globalement, le routeur peut être vu comme une boite noire avec un certain nombre d’interface. Chaque interface pourra être connectée à un réseau (local) réseau 4 réseau 5 Routeur if 1 if 4 if 3 if 5 if 2 réseau 1 interface 1 réseau 2 interface 2 ... réseau 5 interface 5 réseau n interface n @ Michel Carpentier - Alain Gofflot

64 Routage : Introduction
A l’intérieur du routeur, un algorithme examine chaque datagramme en provenance d’une interface. En fonction de la table de routage et de l’adresse de destination, il détermine l’interface que le datagramme doit emprunter pour continuer sa route vers sa destination. @ Michel Carpentier - Alain Gofflot

65 Routage : table de routage
La table de routage est une liste contenant un certain nombre de combinaisons : Adresse IP (réseau, 0 ou réseau, hôte) Masque de sous réseau Interface de sortie Cette liste permet de déterminer quelle interface de sortie doit emprunter un datagramme qui arrive au routeur. Nous allons montrer comment le routage fonctionne au travers d’un exemple : @ Michel Carpentier - Alain Gofflot

66 @ Michel Carpentier - Alain Gofflot
Routage : exemple Soit 3 universités qui demandent un accès à l’Internet : Cambridge demande 2000 adresses IP et reçoit le bloc d’adresses de à avec le masque Oxford demande 4000 adresses IP et reçoit le bloc d’adresses de à avec le masque Un bloc de 4096 adresses doit être aligné sur la valeur 4096. @ Michel Carpentier - Alain Gofflot

67 @ Michel Carpentier - Alain Gofflot
Routage : exemple Edimbourg demande 1000 adresses IP et reçoit le bloc d’adresses de à avec le masque Dans le tableau suivant, on constate donc qu’un ensemble d’adresse IP sont disponibles de à @ Michel Carpentier - Alain Gofflot

68 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Université Première adresse Dernière adresse Nombre d’adresses Masque de sous réseau Cambridge 2048 Edimbourg 1024 (Disponible) Oxford 4096 @ Michel Carpentier - Alain Gofflot

69 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Les tables de routage des routeurs sont mises à jour avec ces informations. Dans chaque routeur on trouvera l’adresse réseau et le masque de sous réseau : Y associer le port de sortie Université Adresse réseau Masque de sous réseau Cambridge Edimbourg Oxford @ Michel Carpentier - Alain Gofflot

70 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Voyons ce qui se passe lorsqu’un routeur reçoit un paquet dont l’adresse de destination est En binaire, cette adresse est : Le routeur va effectuer un ET logique avec les masques de chaque ligne de la table de routage. @ Michel Carpentier - Alain Gofflot

71 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Pour la première ligne (Cambridge) : Cette adresse ne correspond pas à l’adresse IP du réseau de Cambridge. @ Michel Carpentier - Alain Gofflot

72 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Pour la seconde ligne (Edimbourg) : Cette adresse ne correspond pas à l’adresse IP du réseau de Edimbourg. @ Michel Carpentier - Alain Gofflot

73 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Pour la troisième ligne (Oxford) : Le résultat correspond à l’adresse du réseau de Oxford. @ Michel Carpentier - Alain Gofflot

74 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Si aucune correspondance plus longue n’est trouvée, le datagramme est envoyé par l’interface correspondante pour la ligne trouvée dans la table de routage. @ Michel Carpentier - Alain Gofflot

75 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Prenons ensuite le cas d’un routeur situé à Omaha, au Nebraska. Ce routeur ne dispose que de 4 interfaces vers : Minneapolis New York Dallas Denver @ Michel Carpentier - Alain Gofflot

76 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Lorsque ce routeur prend connaissance des 3 nouvelles lignes à insérer dans sa table de routage, il constate qu’il peut les combiner en une seule règle : / 19 vers l’interface New York. L’adresse : Le masque de sous réseau : @ Michel Carpentier - Alain Gofflot

77 @ Michel Carpentier - Alain Gofflot
Routage : Exemple Cette entrée dit d’envoyer tous les paquets destinés à n’importe quelle des 3 universités à New York En combinant ces entrées, le routeur de Omaha simplifie sa table de routage et donc améliore ses performances. On appelle cette technique l’agrégation de routes. @ Michel Carpentier - Alain Gofflot

78 @ Michel Carpentier - Alain Gofflot
Routage : Exemple L’entrée agrégée du routeur de Omaha dirige aussi vers New York les datagrammes destinés aux adresses non assignées. Si ces adresses étaient attribuées à l’université de Californie, il faudrait ajouter une entrée supplémentaire : Exemple : / 22 vers Dallas @ Michel Carpentier - Alain Gofflot

79 @ Michel Carpentier - Alain Gofflot
Routage : LAN ou WAN ? Le même principe du ET logique est utilisé par les stations d’un LAN pour déterminer si le datagramme qu’elles envoient doit être délivré sur le LAN ou envoyé à un routeur pour une expédition sur un WAN. @ Michel Carpentier - Alain Gofflot

80 @ Michel Carpentier - Alain Gofflot
Routage : LAN ou WAN ? Exemple : voici la configuration d’une machine. IP : Netmask : Gateway : @ Michel Carpentier - Alain Gofflot

81 @ Michel Carpentier - Alain Gofflot
Routage : LAN ou WAN ? Cette machine envoie un datagramme vers On effectue un ET logique entre l’adresse de destination et le masque de sous réseau. Cette adresse correspond à l’adresse réseau calculée à partir de l’adresse IP de la machine. Le datagramme doit donc être délivré sur le LAN. @ Michel Carpentier - Alain Gofflot

82 @ Michel Carpentier - Alain Gofflot
Routage : LAN ou WAN ? Cette machine envoie un datagramme vers On effectue un ET logique entre l’adresse de destination et le masque de sous réseau. Cette adresse ne correspond pas à l’adresse réseau calculée à partir de l’adresse IP de la machine. Le datagramme doit donc être délivré au routeur @ Michel Carpentier - Alain Gofflot

83 @ Michel Carpentier - Alain Gofflot
Routage : la gateway La default gateway notée dans la configuration de la machine exemple est en fait la destination par défaut pour tous les datagrammes ne trouvant pas une ligne qui leur correspond. On peut assimiler cela au panneau « Toutes directions ». Il s’agit d’une entrée de la table de routage @ Michel Carpentier - Alain Gofflot

84 @ Michel Carpentier - Alain Gofflot
Routage : les outils Consultation de la table de routage sous Windows : Route print Netstat -nr Consultation de la table de routage sous Unix : Netstat –nr Route (nécessite les droits root) @ Michel Carpentier - Alain Gofflot

85 @ Michel Carpentier - Alain Gofflot
Routage : les outils @ Michel Carpentier - Alain Gofflot

86 @ Michel Carpentier - Alain Gofflot
Routage : les outils @ Michel Carpentier - Alain Gofflot

87 Routage : Modifications
Au niveau de la configuration d’une machine, il n’y a qu’une seule route par défault (default gateway). @ Michel Carpentier - Alain Gofflot

88 Routage : Modifications
Dans certains cas, cela peut poser des problèmes. Exemple : Routeur par défaut Réseau Réseau Tous les datagrammes à destination de seront envoyés au routeur par défaut. @ Michel Carpentier - Alain Gofflot

89 Routage : Modifications
Pour modifier la table de routage d’un PC Windows : Ajout d’une route : route add mask Suppression d’une route : route delete mask Plus d’infos : « route /? » @ Michel Carpentier - Alain Gofflot

90 Routage : Modifications
Pour modifier la table de routage d’une machine Unix : Ajout d’une route : route add -net netmask dev eth0 Suppression d’une route : route del -net netmask dev eth0 Plus d’infos : « man route » @ Michel Carpentier - Alain Gofflot

91 Routage : Modifications
En modifiant la table de routage du PC, on peut router directement les datagrammes vers le routeur du réseau Routeur par défaut Réseau Réseau route add mask @ Michel Carpentier - Alain Gofflot

92 Routage : Modifications
Dans les deux cas (Windows et Unix), les modifications apportées de la sorte aux tables de routage ne seront valides que pour la session courante. Pour une modification permanente, il faut ajouter ces lignes dans les scripts de démarrage de la machine. @ Michel Carpentier - Alain Gofflot

93 @ Michel Carpentier - Alain Gofflot
Liaison couche 2 & 3 Nous avons vu précédemment que la couche 2 utilise des adresses MAC pour transmettre des informations d’une station à une autre. Avec l’arrivée de la couche 3, nous avons introduit les adresses IP pour assurer l’acheminement mondial des datagrammes. Comment effectuer le lien entre adresse MAC et adresse IP ? @ Michel Carpentier - Alain Gofflot

94 @ Michel Carpentier - Alain Gofflot
Ce lien va être assuré par ARP (Address Resolution Protocol). ARP va convertir les adresses IP en adresse MAC (ethernet ou token ring) La machine source envoie un paquet en broadcast sur le LAN. Ce paquet contient l’adresse MAC source, l’adresse IP source et l’adresse IP destination. @ Michel Carpentier - Alain Gofflot

95 @ Michel Carpentier - Alain Gofflot
Chaque machine connectée au réseau local reçoit ce paquet, mais seule la machine dont l’adresse IP est spécifiée correspond à l’adresse IP destination du paquet répond. Cette machine envoie alors à l’adresse MAC source trouvée dans le paquet, l’information demandée : son adresse MAC. @ Michel Carpentier - Alain Gofflot

96 @ Michel Carpentier - Alain Gofflot
Je suis ! Qui est ? @ Michel Carpentier - Alain Gofflot

97 @ Michel Carpentier - Alain Gofflot
Les informations ainsi obtenues sont stockées dans une mémoire temporaire On peut consulter ces informations à l’aide de la commande : arp -a @ Michel Carpentier - Alain Gofflot

98 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Donnez, pour chaque segment impliqué la valeur des adresses ethernet source et destination la valeur des adresses IP source et destination utilisées pour une communication entre PC1 et PC2, puis PC1 et PC3, PC1 et PC4. Vous utiliserez la notation suivante : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @ Michel Carpentier - Alain Gofflot

99 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Le tableau suivant reprend les adresses des machines : Nom de machine Adresse IP Adresse MAC PC1 @PC1 PC2 @PC2 PC3 @PC3 PC4 @PC4 R1 interface 1 @R1-1 R1 interface 2 @R1-2 R1 interface 3 @R1-3 R2 interface 1 @R2-1 R2 interface 2 @R2-2 @ Michel Carpentier - Alain Gofflot

100 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Les tableaux suivants reprennent les tables de routage PC1 Adresse & Masque Interface Gateway / 0 Eth0 / 24 PC2 Adresse & Masque Interface Gateway / 0 Eth0 / 24 PC3 Adresse & Masque Interface Gateway / 0 Eth0 / 24 PC4 Adresse & Masque Interface Gateway / 0 Eth0 / 16 R1 Adresse & Masque Interface Gateway / 24 2 / 16 3 / 0 1 R2 Adresse & Masque Interface Gateway / 24 2 / 0 1 @ Michel Carpentier - Alain Gofflot

101 @ Michel Carpentier - Alain Gofflot
Routage : Exercice / 16 / 24 / 24 1 2 3 PC1 PC2 PC3 PC4 R1 R2 @ Michel Carpentier - Alain Gofflot

102 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Transmission de datagramme de PC1 à PC2. On effectue un ET logique entre l’adresse IP de destination et le masque du sous réseau de la première entrée de la table de routage de PC1 : ET = La route convient, mais on continue à parcourir la table de routage pour trouver une éventuelle meilleure solution. La seconde ligne nous donne le calcul suivant : ET = La route convient également. De plus, la correspondance est plus longue (plus de bits correspondants), elle est donc privilégiée. @ Michel Carpentier - Alain Gofflot

103 Routage : Exercice On recherche donc l’adresse MAC de PC2 en envoyant un paquet ARP en broadcast sur le LAN. La station PC2 répond en donnant son adresse Le paquet peut donc circuler sur le LAN avec les informations suivantes : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @PC1 @PC2 @ Michel Carpentier - Alain Gofflot

104 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Transmission d’un datagramme de PC1 à PC3. Parcours de la table de routage de PC1 : ET = La route convient. On continue… ET = La route ne convient pas, car l’adresse trouvée ne correspond pas à l’entrée. La première ligne est donc utilisée. Elle renseigne qu’il faut envoyer le datagramme à la gateway On recherche donc l’adresse MAC de ce routeur via ARP. L’adresse nous est fournie @ Michel Carpentier - Alain Gofflot

105 Routage : Exercice On obtient donc :
adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @PC1 @R1-2 Le datagramme arrive donc dans R1 par l’interface 2. Le routeur consulte sa table de routage pour déterminer le traitement à apporter à ce datagramme. ET = La route ne convient pas. ET = La route ne convient pas. @ Michel Carpentier - Alain Gofflot

106 Routage : Exercice ET = La route convient et on est arrivé au bout de la table de routage. La ligne en question indique qu’il faut transmettre le datagramme à la gateway via l’interface 1 du routeur En utilisant ARP, on détermine l’adresse MAC correspondant à cette adresse IP Le datagramme est donc transmis : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @PC1 @R1-2 @R1-1 @R2-1 @ Michel Carpentier - Alain Gofflot

107 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Le datagramme arrive dans R2 par l’interface 1 Le routeur consulte sa table de routage pour déterminer le traitement à apporter à ce datagramme. ET = La route convient. ET = La route convient, mais la correspondance est plus courte, on conserve donc la première ligne comme route à utiliser. Cette ligne nous indique d’utiliser l’interface 2 pour transmettre le datagramme En utilisant ARP, on détermine l’adresse MAC correspondant à cette adresse IP @ Michel Carpentier - Alain Gofflot

108 Routage : Exercice Le datagramme est donc transmis :
adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @PC1 @R1-2 @R1-1 @R2-1 @R2-2 @PC3 Le datagramme est arrivé à destination. @ Michel Carpentier - Alain Gofflot

109 @ Michel Carpentier - Alain Gofflot
Routage : Exercice Transmission d’un datagramme de PC1 à PC4. Parcours de la table de routage de PC1 : ET = La route convient. On continue… ET = La route ne convient pas, car l’adresse trouvée ne correspond pas à l’entrée. La première ligne est donc utilisée. Elle renseigne qu’il faut envoyer le datagramme à la gateway On recherche donc l’adresse MAC de ce routeur via ARP. L’adresse nous est fournie @ Michel Carpentier - Alain Gofflot

110 Routage : Exercice On obtient donc :
adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @PC1 @R1-2 Le datagramme arrive donc dans R1 par l’interface 2. Le routeur consulte sa table de routage pour déterminer le traitement à apporter à ce datagramme. ET = La route ne convient pas. ET = La route convient. On continue… @ Michel Carpentier - Alain Gofflot

111 Routage : Exercice ET = La route convient et on est arrivé au bout de la table de routage. Cependant, la précédente solution est plus longue, donc utilisée. La ligne en question indique qu’il faut utiliser l’interface 3 pour délivrer le datagramme sur le LAN. En utilisant ARP, on détermine l’adresse MAC correspondant à cette l’adresse IP de PC4 Le datagramme est donc transmis : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination @PC1 @R1-2 @R1-3 @PC4 @ Michel Carpentier - Alain Gofflot

112 @ Michel Carpentier - Alain Gofflot
Routage : Exercices Conseils pour la réalisation : Attention aux tables de routage ! Ne pas se focaliser sur le schéma du réseau Travailler de manière méthodique en suivant l’algorithme de routage. @ Michel Carpentier - Alain Gofflot

113 @ Michel Carpentier - Alain Gofflot
Routage : Exercice 2 Dans la réalité, le travail de l’administrateur réseau est de trouver la bonne configuration pour chaque routeur. L’exercice suivant colle à cette réalité. Trouvez une proposition d’adressage pour les stations et les routeurs, puis donnez les tables de routage de chacun d’entre eux. @ Michel Carpentier - Alain Gofflot

114 @ Michel Carpentier - Alain Gofflot
Routage : Exercice 2 PC4 / 16 3 1 1 R2 R1 2 2 / 24 / 24 PC1 PC2 PC3 @ Michel Carpentier - Alain Gofflot

115 @ Michel Carpentier - Alain Gofflot
Routage : Exercices 2 Attribution des adresses IP à chaque interface de station / routeur. Placez les adresses IP sur le schéma Déterminer le routage pour chaque routeur. A remplir dans les tables suivantes. @ Michel Carpentier - Alain Gofflot

116 @ Michel Carpentier - Alain Gofflot
Routage : Exercice 2 PC1 Adresse & Masque Interface Gateway PC2 Adresse & Masque Interface Gateway PC3 Adresse & Masque Interface Gateway PC4 Adresse & Masque Interface Gateway R1 Adresse & Masque Interface Gateway R2 Adresse & Masque Interface Gateway @ Michel Carpentier - Alain Gofflot

117 @ Michel Carpentier - Alain Gofflot
NAT Les adresses IP sont devenues une denrée rare de nos jours Une solution consiste à allouer des adresses de manière temporaire aux personnes qui se connectent à l’Internet par une ligne téléphonique. Cette solution n’est malheureusement pas miraculeuse car les entreprises veulent une connexion permanente, de même que les clients au service ADSL. @ Michel Carpentier - Alain Gofflot

118 @ Michel Carpentier - Alain Gofflot
NAT C’est pour cela qu’est née la technique de traduction d’adresses de réseau (Network Address Translation - NAT) On assigne à chaque organisation une seule adresse IP (ou un petit groupe). Tous les ordinateurs reçoivent une adresse unique interne. Lorsqu’un datagramme doit être envoyé sur le réseau externe, la traduction d’adresse intervient. @ Michel Carpentier - Alain Gofflot

119 @ Michel Carpentier - Alain Gofflot
NAT Pour réaliser cela, 3 plages d’adresses IP ont été réservées : / hôtes / hôtes / hôtes Ces adresses peuvent être utilisées librement à la condition qu’aucune d’elle ne doit être transmise sur Internet. @ Michel Carpentier - Alain Gofflot

120 NAT Paquet après la traduction 198.2.4.7 10.0.0.1 NAT
Routeur de l’entreprise Routeur de l’ISP Paquet avant la traduction @ Michel Carpentier - Alain Gofflot

121 NAT ? ?.?.?.? Paquet réponse 144.4.4.8 ? ? ? ? Routeur de l’entreprise
Routeur de l’ISP ? Que faire d’un paquet entrant dans le réseau de l’entreprise ? ? @ Michel Carpentier - Alain Gofflot

122 @ Michel Carpentier - Alain Gofflot
NAT On ne peut modifier l’entête IP pour y ajouter une information pour NAT, et il ne reste plus qu’un seul bit disponible ! Les concepteurs de NAT ont constaté que la majorité des paquets IP incluent une charge utile TCP ou UDP. @ Michel Carpentier - Alain Gofflot

123 @ Michel Carpentier - Alain Gofflot
NAT Nous verrons plus tard (cours 1081) que TCP et UDP utilise un numéro de port source et un numéro de port destination pour orienter les paquets vers les bons processus (tant chez l’émetteur que le récepteur). Les numéros de 0 à 1023 sont réservés à des services identifiés. Exemple : le port http est 80. Ces numéros de port sont codés sur 16 bits. @ Michel Carpentier - Alain Gofflot

124 @ Michel Carpentier - Alain Gofflot
NAT Par analogie, on pourrait comparer ces numéros de ports aux extensions téléphoniques d’une entreprise. Le numéro de la centrale serait l’adresse IP, tandis que les extensions des employés seraient les numéros de ports. @ Michel Carpentier - Alain Gofflot

125 @ Michel Carpentier - Alain Gofflot
NAT Lorsqu’un paquet est envoyé à l’extérieur, il traverse le dispositif NAT : L’adresse IP interne ( ) est remplacée par l’adresse publique de la société ( ) Le champ port source TCP (ou UDP) est remplacé par une référence à une entrée dans une table de traduction de adresses du dispositif NAT. @ Michel Carpentier - Alain Gofflot

126 @ Michel Carpentier - Alain Gofflot
NAT Cette table contient : Le numéro IP de la machine source Le numéro de port de la machine source Les sommes de contrôle sont recalculées et le paquet est transmis. Il est impératif de remplacer le port source par un port choisi, car au sein du réseau, deux machines pourraient établir une communication vers l’extérieur avec le port 5000 comme source au même moment. @ Michel Carpentier - Alain Gofflot

127 @ Michel Carpentier - Alain Gofflot
NAT Lorsque la réponse arrive au dispositif NAT de l’extérieur, le port TCP (ou UDP) est extrait du paquet et utilisé pour retrouver dans la table de correspondance du dispositif NAT, le numéro de port et l’adresse IP de la machine destinatrice. Une fois l’entrée localisée, le paquet reconstitué (avec recalcul des sommes de contrôle), il peut être envoyé au destinataire. @ Michel Carpentier - Alain Gofflot

128 @ Michel Carpentier - Alain Gofflot
NAT (exemple sans NAT) Sans Dispositif NAT Packet TCP reçu IP Src : Port Src : 1842 IP Dest : Port Dest : 80 Packet TCP émis IP Src : Port Src : 1842 IP Dest : Port Dest : 80 Packet TCP réponse reçue IP Src : Port Src : 80 IP Dest : Port Dest : 1842 Packet TCP réponse IP Src : Port Src : 80 IP Dest : Port Dest : 1842 @ Michel Carpentier - Alain Gofflot

129 @ Michel Carpentier - Alain Gofflot
NAT (exemple avec NAT) Dispositif NAT Packet TCP reçu IP Src : Port Src : 1842 IP Dest : Port Dest : 80 Packet TCP NATé IP Src : Port Src : 5689 IP Dest : Port Dest : 80 Packet TCP reçu IP Src : Port Src : 5689 IP Dest : Port Dest : 80 Packet TCP émis IP Src : Port Src : 1842 IP Dest : Port Dest : 80 Insert line Table NAT Numéro IP Src Port Src 5689 1842 Packet TCP réponse reçue IP Src : Port Src : 80 IP Dest : Port Dest : 1842 Packet TCP réponse IP Src : Port Src : 80 IP Dest : Port Dest : 5689 Consult line Packet TCP dé-NATé IP Src : Port Src : 80 IP Dest : Port Dest : 1842 Packet TCP reçu IP Src : Port Src : 80 IP Dest : Port Dest : 5689 @ Michel Carpentier - Alain Gofflot

130 @ Michel Carpentier - Alain Gofflot
NAT Cette technique a cependant ses problèmes : NAT ne respecte pas le modèle architectural qui dit que chaque machine est identifiée par son adresse IP NAT altère le réseau en faisant d’un réseau sans connexion une sorte de réseau avec connexions. En cas de plantage du routeur toutes les connexions en cours sont perdues. @ Michel Carpentier - Alain Gofflot

131 @ Michel Carpentier - Alain Gofflot
NAT NAT enfreint la règle la plus essentielle de l’organisation en couches : la couche k n’est absolument pas concernée par ce que la couche k+1 place dans son champ de données. La version 2 de TCP risque de poser beaucoup de problèmes. Les processus de l’Internet ne sont pas strictement obligés d’utiliser TCP ou UDP. Avec NAT, ils perdent cette liberté. @ Michel Carpentier - Alain Gofflot

132 @ Michel Carpentier - Alain Gofflot
NAT Certaine application insèrent des adresses IP dans le corps des données transmises. Le récepteur peut ensuite les extraire pour s’en servir. Exemple : FTP, H323. Étant donné que le champ port source est codé sur 16 bits, un maximum de machines peuvent être associées. Ceci peut être contourné en réalisant le NAT avec plusieurs adresses externes. @ Michel Carpentier - Alain Gofflot

133 Les protocoles de contrôle
Outre IP qui sert à la transmission de données, l’Internet dispose d’un certain nombre de protocoles destinés au contrôle du réseau : ICMP – Internet Control Message Protocol ARP – Address Resolution Protocol RARP – Reverse Address Resolution Protocol BOOTP - Bootstrap DHCP – Dynamic Host Configuration Protocol @ Michel Carpentier - Alain Gofflot

134 @ Michel Carpentier - Alain Gofflot
ICMP ICMP (Internet Control Message Protocol) sert à : Signaler des événement inattendus sur le réseau Tester le fonctionnement du réseau Une dizaine de messages ICMP ont été définis et peuvent être transmis au sein d’un paquet IP. @ Michel Carpentier - Alain Gofflot

135 @ Michel Carpentier - Alain Gofflot
ICMP Type de message Description Destination inaccessible Le paquet n’a pas pu être délivré Délai expiré Le champ d’entête TTL a atteint 0 Problème de paramètre Champ d’entête invalide Ralentissement de la source Paquet de rétention Redirection Indication d’une meilleure route Demande d’écho Demande à une machine si elle est active Envoi d’écho La machine distante est active Demande d’horodate Identique à une demande d’écho, mais inclus en plus une horodate Envoi d’horodate Identique à un envoi d’écho, mais inclus en plus une horodate @ Michel Carpentier - Alain Gofflot

136 @ Michel Carpentier - Alain Gofflot
ICMP Destination inaccessible est utilisé lorsque le sous réseau, ou un routeur ne parvient pas à localiser la destination. Ce paquet peut également être envoyé par un routeur qui ne peut transmettre une donnée pour laquelle le champ DF de l’entête est positionné à 1. @ Michel Carpentier - Alain Gofflot

137 @ Michel Carpentier - Alain Gofflot
ICMP Délai expiré est émis lorsqu’un paquet est éliminé car son compteur de durée de vie a atteint la valeur 0. TTL=1 ICMP Mon paquet a été perdu TTL=0 ICMP Le paquet est détruit TTL=4 TTL=2 ICMP ICMP TTL=3 ICMP @ Michel Carpentier - Alain Gofflot

138 @ Michel Carpentier - Alain Gofflot
ICMP Problème de paramètre indique qu’une valeur illégale a été détectée dans un champ d’entête. Il signifie un bug dans un logiciel IP. Ralentissement de source était destiné initialement à ralentir l’émetteur trop rapide. Il n’est plus utilisé car le contrôle de flux est maintenant assuré en couche 4. (Cours 1081) @ Michel Carpentier - Alain Gofflot

139 @ Michel Carpentier - Alain Gofflot
ICMP Redirection est émis par un routeur lorsqu’il lui semble qu’un paquet n’est pas correctement routé. Il signale à l’hôte émetteur la probabilité d’une erreur. Les messages demande d’écho et envoi d’écho permettent de déterminer si une destination donnée est accessible et active. @ Michel Carpentier - Alain Gofflot

140 @ Michel Carpentier - Alain Gofflot
Ping Ping permet d’utiliser ces paquet ICMP demande d’écho et envoi d’écho. @ Michel Carpentier - Alain Gofflot

141 @ Michel Carpentier - Alain Gofflot
Ping @ Michel Carpentier - Alain Gofflot

142 @ Michel Carpentier - Alain Gofflot
Ping Ping possède quelques options interessantes… @ Michel Carpentier - Alain Gofflot

143 @ Michel Carpentier - Alain Gofflot
ICMP D’autres messages on été définis. Leur liste se trouve maintenue à l’adresse @ Michel Carpentier - Alain Gofflot

144 @ Michel Carpentier - Alain Gofflot
ICMP & ARP : Exercice Comment déterminer l’adresse MAC d’une station distante ? Solution en 2 étapes : Effectuer un PING vers la station Consulter la table d’adresses MAC via ARP. @ Michel Carpentier - Alain Gofflot

145 @ Michel Carpentier - Alain Gofflot
ICMP & ARP : Exercice Quelle est l’adresse MAC de la station ? Cette adresse n’est pas en mémoire : @ Michel Carpentier - Alain Gofflot

146 @ Michel Carpentier - Alain Gofflot
ICMP & ARP : Exercice On effectue un PING vers cette station : @ Michel Carpentier - Alain Gofflot

147 @ Michel Carpentier - Alain Gofflot
ICMP & ARP : Exercice On regarde le contenu de la table ARP : @ Michel Carpentier - Alain Gofflot

148 @ Michel Carpentier - Alain Gofflot
RARP Nous avons vu que ARP permet de découvrir l’adresse MAC d’une station dont on connaît l’adresse IP Dans certains cas, l’inverse est également intéressant : certaines stations « disk-less » doivent demander au réseau l’attribution d’une adresse IP, connaissant leur adresse MAC. @ Michel Carpentier - Alain Gofflot

149 @ Michel Carpentier - Alain Gofflot
RARP RARP (Reverse Address Resolution Protocol) assure cette fonction. RFC 903 Une station effectue une requête RARP en broadcast avec sa propre adresse MAC. Le serveur RARP répond en donnant l’adresse IP qu’il souhaite attribuer à cette station @ Michel Carpentier - Alain Gofflot

150 RARP Votre IP est ! Je suis 00-0D-56-E9-14-0F. Quelle IP dois-je utiliser ? @ Michel Carpentier - Alain Gofflot

151 @ Michel Carpentier - Alain Gofflot
RARP Inconvénient : Le broadcast est effectué en plaçant tous les bits de l’adresse de destination à 1. Une telle frame ne traverse pas le routeur qui délimite le segment de la station émettrice. En conséquence, il faut un serveur RARP par segment de réseau. @ Michel Carpentier - Alain Gofflot

152 @ Michel Carpentier - Alain Gofflot
BOOTP BOOTP (Bootstrap) contourne l’inconvénient de RARP en utilisant des messages UDP pour effectuer les requêtes. Dès lors, les routeurs peuvent être franchis. RFC 951, 1048, 1084 @ Michel Carpentier - Alain Gofflot

153 @ Michel Carpentier - Alain Gofflot
BOOTP Inconvénient : Sur le serveur BOOTP, chaque station doit être décrite sous la forme : Adresse ethernet -> Adresse IP La gestion d’une telle table est source de lourdeur et de risque potentiels de mauvaise configuration. @ Michel Carpentier - Alain Gofflot

154 @ Michel Carpentier - Alain Gofflot
DHCP En répondant à ce dernier inconvénient, le protocole BOOTP a changé de nom : DHCP (Dynamic Host Configuration Protocol). Basé sur RFC 2131 et RFC 2132 Le fonctionnement est basé sur le mode client – serveur. @ Michel Carpentier - Alain Gofflot

155 @ Michel Carpentier - Alain Gofflot
DHCP Client DHCP Client DHCP Voici ton adresse IP Donne moi une adresse IP Serveur DHCP @ Michel Carpentier - Alain Gofflot

156 @ Michel Carpentier - Alain Gofflot
DHCP Un serveur DHCP peut envoyer des informations diverses : adresse IP masque de sous-réseau valeurs optionelles : routeur par défaut serveur(s) DNS options spécifiques au client. @ Michel Carpentier - Alain Gofflot

157 @ Michel Carpentier - Alain Gofflot
DHCP Lorsque l’attribution d’adresses se fait automatiquement, il faut s’assurer que les adresses qui ne sont plus utilisées sont restituées au serveur. Pour assurer cela, on utilise le mécanisme du bail (leasing) Chaque adresse est « prettée » pour une certaine période. A la fin de cette période, elle peut être renouvelée ou remise à disposition. @ Michel Carpentier - Alain Gofflot

158 @ Michel Carpentier - Alain Gofflot
DHCP Il existe plusieurs formes de requêtes DHCP : DHCPDISCOVER (pour localiser les serveurs DHCP disponibles) DHCPOFFER (réponse du serveur à un paquet DHCPDISCOVER, qui contient les premiers paramètres) DHCPREQUEST (requête diverse du client pour par exemple prolonger son bail) DHCPACK (réponse du serveur qui contient des paramètres et l'adresse IP du client) DHCPNAK (réponse du serveur pour signaler au client que son bail est échu ou si le client annonce une mauvaise configuration réseau) DHCPDECLINE (le client annonce au serveur que l'adresse est déjà utilisée) DHCPRELEASE (le client libère son adresse IP) DHCPINFORM (le client demande des paramètres locaux, il a déjà son adresse IP) @ Michel Carpentier - Alain Gofflot

159 @ Michel Carpentier - Alain Gofflot
DHCP Le serveur envoie une proposition au client Client DHCP Client DHCP DHCPOFFER IP : Mask : Lease : 48h Mac client : C6-2A-C8-AC IP Server : DHCPDISCOVER Source : Destin. : FF.FF.FF.FF Le poste client demande une adresse IP au(x) serveur(s) DHCP Serveur DHCP @ Michel Carpentier - Alain Gofflot

160 @ Michel Carpentier - Alain Gofflot
DHCP Le serveur confirme l’attribution de l’adresse Client DHCP Client DHCP DHCPACK IP : Mask : Lease : 48h Mac client : C6-2A-C8-AC IP Server : DHCPREQUEST Source : Destin. : FF.FF.FF.FF IP : Le poste client accepte la première proposition qu’il a reçue en informant tous les serveurs. Serveur DHCP @ Michel Carpentier - Alain Gofflot

161 @ Michel Carpentier - Alain Gofflot
DHCP Client DHCP du serveur 2 Client DHCP du serveur 1 ERREUR à à Serveur DHCP2 Serveur DHCP1 @ Michel Carpentier - Alain Gofflot

162 Le routage dans l’Internet
Nous avons vu jusqu’à présent un certain nombre de protocoles de contrôle d’Internet : ICMP ARP, RARP DHCP Voyons à présent les protocoles de routage de ce réseau fédérateur Les onduleurs (UPS) sont des appareils électriques qui permettent de pallier aux micro-coupures, coupures de courant et même brusques sautes de courant occasionnelles. Leur usage devient indispensable dès que des machines qui peuvent être sérieusement endommagées en cas de rupture de courant ou de fluctuations importantes de la tension sont utilisées. En effet, une coupure de courant, qui résulte forcément dans un arrêt non contrôlé des machines, peut avoir des conséquences néfastes (perte de données sur les serveurs, par exemple). Certains systèmes d'exploitation disposent d'un module logiciel pour l'alimentation de secours. Dans ce cas, l'onduleur est relié au PC, en général par l'intermédiaire d'une connexion série ou par le réseau local. Le PC est informé de toute panne de courant et le programme de surveillance se prépare à un arrêt du système : il effectue toutes les opérations y nécessaires telles que clôture des fichiers, sauvegarde des paramètres d'urgence, etc... Dans le cas de configuration en réseau, les 'clients' sont déconnectés du serveur et le serveur effectue aussi les opérations nécessaires à un arrêt propre du système. @ Michel Carpentier - Alain Gofflot

163 Le routage dans l’Internet
Par réseau fédérateur il faut comprendre d’Internet est composé d’un très grand nombre de systèmes autonomes (SA) gérés par des acteurs (sociétés, …) indépendants : un SA est ensemble de réseaux qui sont sous un même contrôle administratif : ex : RESTENA, BELNET, UUNET, … chacun de ces acteurs a la liberté du choix, dans son système (en interne) de son protocole de routage un nombre potentiellement élevé de protocoles différents @ Michel Carpentier - Alain Gofflot

164 Le routage dans l’Internet
Les différents SA sont interconnectés entre eux en ce qui concerne BELNET : connexion directe avec plusieurs AS « belges » via BNIX : connexion directe avec plusieurs AS « hollandais » via AMSIX : connexion directe avec plusieurs réseaux de la recherche : SURFNET (NL), TEN-155 (Europe) connexion directe avec des ISPs internationaux @ Michel Carpentier - Alain Gofflot

165 Le routage dans l’Internet
Quid de l’interconnexion : la définition de normes facilite grandement le travail de tous en effet, si certaines règles sont respectées, l’implémentation de l’interfaçage frontière entre ces différents SA est considérablement facilitée : standardisation des règles de communication réutilisation du code @ Michel Carpentier - Alain Gofflot

166 Le routage dans l’Internet
Le routage dans l’Internet commence donc par le routage dans un système autonome : nous parlerons des protocoles de routage interne Nous verrons ensuite le routage entre systèmes autonomes : nous parlerons des protocoles de routage externe @ Michel Carpentier - Alain Gofflot

167 Le routage dans l’Internet
Exterior Gateway Protocol : Distribue les routes globalement en considérent chaque SA comme une boîte noir Interior Gateway Protocol : Topologie interne de l’AS et des liens externes @ Michel Carpentier - Alain Gofflot

168 Les protocoles de routage interne
Ou routage intradomaine : Différents types de routage : statique : cfr dynamique : avec vecteur de distance : RIP avec états de liaison : OSPF, IS-IS Abordons ces deux dernières catégories @ Michel Carpentier - Alain Gofflot

169 @ Michel Carpentier - Alain Gofflot
Routage : pourquoi ? L’objectif principal de la couche 3 est, comme nous l’avons déjà vu, d’acheminer des paquets de la source vers la destination Dans un réseau, comment trouver le chemin d’un point A à un point B ? c’est le travail des algorithmes de routage en général, chaque routeur se base sur sa table de routage pour déterminer le port qu’il va attribuer pour véhiculer le paquet @ Michel Carpentier - Alain Gofflot

170 @ Michel Carpentier - Alain Gofflot
Routage : exemple Routing table A : local D : Sud B : Est C : Est [via B] E : Est [via B] A : Ouest [via B] D : Sud Ouest [via E] B : Ouest C : Local E : Sud Ouest A : Ouest D : Sud [via E] B : Local C : Sud [via E] E : Sud A : Nord D : Local B : Nord [via A] C : Est [via E] E : Est A : Nord [via B] D : Ouest B : Nord C : Nord Est E : Local A B C D E @ Michel Carpentier - Alain Gofflot

171 Détermination de la route
Principe d’optimalité si le routeur J se trouve sur le meilleur chemin de I à K, alors le meilleur chemin de J à K suit la même route que le meilleur chemin de I à K on peut donc trouver le meilleur chemin de façon incrémentale Dans un réseau, l’ensemble des meilleurs chemins partants d’un routeur est un arbre dont la racine est ce routeur @ Michel Carpentier - Alain Gofflot

172 Algorithmes de routage
Meilleur chemin dans un réseau ? plus court chemin [le moins de lignes à traverser] chemin avec le délai le plus court chemin avec le débit le plus élevé en général, on caractérise chaque ligne par un nombre [métrique] Comment construire les tables de routage ? Routage statique Routage dynamique @ Michel Carpentier - Alain Gofflot

173 @ Michel Carpentier - Alain Gofflot
Routage statique Principe un ordinateur spécialisé calcule les tables des routage pour tous les routeurs du réseau Calcule des tables de routage algorithme pour trouver le chemin le plus court algorithmes plus complexes pour optimiser l’utilisation du réseau en fonction du trafic @ Michel Carpentier - Alain Gofflot

174 @ Michel Carpentier - Alain Gofflot
Routage statique Avantages du routage statique : facile à utiliser dans un petit réseau optimisation possible des tables de routages Désavantages pas d’adaptation dynamique à l’évolution du trafic comment faire quand en cas de en panne ? @ Michel Carpentier - Alain Gofflot

175 @ Michel Carpentier - Alain Gofflot
Routage dynamique Principe : les routeurs coopèrent pour mettre à jour leurs tables de routage de façon dynamique avec un algorithme distribué utilisé dans quasiment tous les réseaux Méthodes : routage avec vecteurs de distance routage avec états de liaison @ Michel Carpentier - Alain Gofflot

176 @ Michel Carpentier - Alain Gofflot
Routage dynamique Avantage : adaptabilité Désavantage : beaucoup plus complexe à implémenter que routage statique @ Michel Carpentier - Alain Gofflot

177 Routage - vecteurs de distance
Principe : chaque routeur transmet périodiquement un vecteur comprenant pour chaque destination connue du routeur : 1. adresse de la destination 2. distance depuis le routeur qui transmet le vecteur jusqu’à la destination le vecteur de distance est en fait un résumé de la table de routage du routeur @ Michel Carpentier - Alain Gofflot

178 Routage - vecteurs de distance
Chaque routeur reçoit les vecteurs transmis par ses voisins immédiats et se base sur cette information pour construire sa table de routage Lorsqu’il démarre, un routeur ne connaît que lui−même @ Michel Carpentier - Alain Gofflot

179 Vecteurs de distance : exemple 1
réseau simple avec lignes de distance unitaire Routing table A : 0 local C : 0 Local B : 0 Local D : 0 Local E : 0 Local A B C D E A = 0 A = 0 @ Michel Carpentier - Alain Gofflot

180 Vecteurs de distance : exemple 2
Initialement, un routeur ne connaît que lui−même et il peut se joindre avec une distance de 0 Vecteur de distance de A : A=0 envoyé sur les port Est et Sud de A (tous) @ Michel Carpentier - Alain Gofflot

181 Vecteurs de distance : exemple 3
B et D connaissent maintenant l’existence de A Routing table B : 0 Local A : 1 Ouest Routing table A : 0 local Routing table C : 0 Local A B C D=0; A=1 Routing table D : 0 Local A : 1 Nord Routing table E : 0 Local D D=0; A=1 E @ Michel Carpentier - Alain Gofflot

182 Vecteurs de distance : exemple 4
Vecteur de distance pour D : D=0 ; A=1 envoyé sur les ports Nord et Est de D @ Michel Carpentier - Alain Gofflot

183 Vecteurs de distance : exemple 5
E connaît maintenant A et D Routing table B : 0 Local A : 1 Ouest Routing table A : 0 local D : 1 Sud Routing table C : 0 Local A B C=0 C C=0 Routing table D : 0 Local A : 1 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest D E @ Michel Carpentier - Alain Gofflot

184 Vecteurs de distance : exemple 6
Supposons que C décide d’envoyer son vecteur : vecteur de distance pour C à ce moment : C=0 envoyé sur les ports Ouest et Sud−Ouest @ Michel Carpentier - Alain Gofflot

185 Vecteurs de distance : exemple 7
B et E connaissent l’existence de C Routing table B : 0 Local A : 1 Ouest C : 1 Est Routing table A : 0 local D : 1 Sud Routing table C : 0 Local A B C E=0;D=1;A=2;C=1 E=0;D=1;A=2;C=1 Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est Routing table D : 0 Local A : 1 Nord E=0;D=1;A=2;C=1 D E @ Michel Carpentier - Alain Gofflot

186 Vecteurs de distance : exemple 8
Nouveau vecteur de distance pour E : E=0 ; D=1 ; A=2 ; C= 1 envoyé sur tous les ports de E @ Michel Carpentier - Alain Gofflot

187 Vecteurs de distance : exemple 9
B reçoit le vecteur de E : nouvelle route pour E et D route plus mauvaise pour A et C Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest A B C B=0;A=1;C=1;D=2;E=1 B=0;A=1;C=1;D=2;E=1 Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B=0;A=1;C=1;D=2;E=1 D E @ Michel Carpentier - Alain Gofflot

188 Vecteurs de distance : exemple 10
Nouveau vecteur de distance de B : B=0 ; A=1 ; C=1; E = 1 ; D=2 @ Michel Carpentier - Alain Gofflot

189 Vecteurs de distance : exemple 11
Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 1 Est C : 2 Est E : 2 Est Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 2 Ouest B : 1 Ouest A B C A=0;B=1;C=2;D=1;E=2 Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E Nouveau vecteur de distance de A : A=0 ; D=1 ; B=1 ; C=2 ; E=2 envoyé sur tous les ports de A … @ Michel Carpentier - Alain Gofflot

190 Vecteurs de distance : exemple 12
Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 1 Est C : 2 Est E : 2 Est Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 2 Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : 2 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E @ Michel Carpentier - Alain Gofflot

191 Vecteurs de distance : exemple 13
A cet instant, tous les routeurs savent comment joindre n’importe quel autre routeur du réseau Les tables de routage sont stables : la réémission d’un vecteur de distance ne provoquera pas de changement dans une table de routage @ Michel Carpentier - Alain Gofflot

192 Routage avec VdD : problème
Que faire en cas de panne d’une ligne ? Supprimer dans la table de routage de A et B les destinations que l’on pouvait joindre via la ligne en panne : cela ne suffit pas, il faut également propager dans le réseau l’information concernant la panne de la ligne A B C D E @ Michel Carpentier - Alain Gofflot

193 Routage avec VdD : problème
Idée : une ligne en panne = ligne avec distance infinie envoyer un nouveau vecteur de distance indiquant une distance infinie pour les destinations que l’on pouvait joindre via la ligne qui est tombée en panne @ Michel Carpentier - Alain Gofflot

194 Vecteurs de distance : situation stable
Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 1 Est C : 2 Est E : 2 Est Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 2 Ouest B : 1 Ouest A B C Apparition d’une panne Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : 2 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E @ Michel Carpentier - Alain Gofflot

195 VdD : réaction aux pannes (1)
Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : ∞ C : ∞ E : ∞ Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 2 Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : 2 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord A=0;B=∞;C=∞;D=1;E=∞ D E Nouveau vecteur de distance de A : A=0 ; D=1 ; B=∞ ; C=∞ ; E=∞ envoyé sur le port Sud de A @ Michel Carpentier - Alain Gofflot

196 VdD : réaction aux pannes (2)
D apprend la panne. Il réagit en ajustant ses tables de routage : D passait par A pour aller à B A annonce maintenant une distance infinie pour B D ne sait plus joindre B en passant par A D émet alors un nouveau vecteur de distance : D=0 ; A=1 ; E=1 ; C=2 ; B=∞ @ Michel Carpentier - Alain Gofflot

197 VdD : réaction aux pannes (3)
Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : ∞ C : ∞ E : ∞ Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 2 Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : ∞ Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D=0;B=∞;A=1;C=2;E=1 D E @ Michel Carpentier - Alain Gofflot

198 VdD : réaction aux pannes (4)
Chaque routeur doit « réapprendre » la topologie : A découvre une route vers C et vers E via D A et D ne peuvent toujours pas joindre B C croit toujours pouvoir joindre A via B B émet un nouveau vecteur de distance : B=0 ; A= ∞ ; C=1 ; E=1 ; D=2 @ Michel Carpentier - Alain Gofflot

199 VdD : réaction aux pannes (5)
Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : ∞ C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 2 Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : ∞ Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord B=0;A=∞;C=1;E=1;D=2 D E @ Michel Carpentier - Alain Gofflot

200 VdD : réaction aux pannes (6)
C apprend, à son tour, qu’il ne peut pas joindre A via B : il ajuste donc sa table de routage E émet également un nouveau vecteur de distance : E=0 ; D=1 ; A=2 ; C=1 ; B=1 ce dernier est envoyé sur tous ses ports @ Michel Carpentier - Alain Gofflot

201 VdD : réaction aux pannes (7)
Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : ∞ C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : ∞ B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : ∞ Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord E=0;D=1;A=2;C=1;B=1 E=0;D=1;A=2;C=1;B=1 D E @ Michel Carpentier - Alain Gofflot

202 VdD : réaction aux pannes (8)
D apprend de E une route vers B B apprend de E une route vers A C apprend de E une route vers A leurs tables de routage respective sont mises à jour D enverra son vecteur de distance et annoncera à A la route permettant de joindre B via D @ Michel Carpentier - Alain Gofflot

203 VdD : réaction aux pannes (9)
Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : ∞ C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : 2 Est Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E D enverra son vecteur de distance et annoncera à A la route permettant de joindre B via D @ Michel Carpentier - Alain Gofflot

204 VdD : situation stable après une panne
Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 3 Sud C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : 2 Est Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E @ Michel Carpentier - Alain Gofflot

205 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne Une nouvelle panne survient sur la ligne entre D et E : quid de la réaction d’ajustement des tables par propagation de nouveaux vecteurs ? @ Michel Carpentier - Alain Gofflot

206 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne D découvre l’existence de la panne : D sait maintenant que la distance vers E, C et B est infinie si c’est D qui envoie son vecteur de distance, tout se passe bien. Aucun problème Le problème vient quand A transmet en premier un vecteur de distance… @ Michel Carpentier - Alain Gofflot

207 @ Michel Carpentier - Alain Gofflot
VdD : Nouvelle panne Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 3 Sud C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 1 Est C : 2 Est B : 2 Est Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E @ Michel Carpentier - Alain Gofflot

208 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (1) Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 3 Sud C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : ∞ C : ∞ B : ∞ Routing table E : 0 Local D : ∞ A : ∞ C : 1 Nord-Est B : 1 Nord A=0;D=1;B=3;C=3;E=2 D E Vecteur de distance de A : A=0 ; D=1 ; B=3 ; C=3 ; E=2 envoyé sur tous les ports de A @ Michel Carpentier - Alain Gofflot

209 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (2) Le vecteur de distance de A permet à D d’avoir à nouveau une route vers B, C et E Le nouveau vecteur de distance pour D est : D=0 ; A=1 ; E=3 ; C=4 ; B=4 il est envoyé sur tous les ports de D @ Michel Carpentier - Alain Gofflot

210 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (3) Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 3 Sud C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 3 Nord C : 4 Nord B : 4 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D=0;A=1;E=3;C=4;B=4 D E @ Michel Carpentier - Alain Gofflot

211 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (4) Mauvaise nouvelle pour A : sa route vers B, C et E est plus longue d’une unité mise à jour de sa table et envoi des infos à ses voisins Le nouveau vecteur de distance pour A est : A=0 ; D=1 ; B=4 ; C=4 ; E=3 envoyé sur tous les ports @ Michel Carpentier - Alain Gofflot

212 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (5) Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 4 Sud C : 4 Sud E : 3 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 3 Nord C : 4 Nord B : 4 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord A=0;D=1;B=4;C=4;E=3 D E @ Michel Carpentier - Alain Gofflot

213 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (6) Mauvaise nouvelle pour D : sa route vers B, C et E est plus longue d’une unité qu’avant Le nouveau vecteur de distance pour D est : A=1 ; D=0 ; B=5 ; C=5 ; E=4 envoyé sur tous les ports Problème : il y a une boucle @ Michel Carpentier - Alain Gofflot

214 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (7) Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 4 Sud C : 4 Sud E : 3 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : 4 Nord C : 5 Nord B : 5 Nord Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord A=1;D=0;B=5;C=5;E=4 D E @ Michel Carpentier - Alain Gofflot

215 @ Michel Carpentier - Alain Gofflot
VdD : nouvelle panne (8) Origine du problème : comptage à l’infini car un routeur annonce sur une ligne des routes qu’il a appris via cette même ligne Comment éviter ? horizon partagé (split horizon) principe : construire un vecteur de distance pour chaque ligne sur une ligne, ne pas annoncer les destinations que l’on ne parvient pas à joindre via cette ligne @ Michel Carpentier - Alain Gofflot

216 @ Michel Carpentier - Alain Gofflot
VdD : horizon partagé Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 3 Sud C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : ∞ C : ∞ B : ∞ Routing table E : 0 Local D : ∞ A : ∞ C : 1 Nord-Est B : 1 Nord A=0 D=0;B=∞;E=∞ D E @ Michel Carpentier - Alain Gofflot

217 @ Michel Carpentier - Alain Gofflot
Horizon partagé Le vecteur de distance de A envoyé vers D : A=0 Le vecteur de distance de D envoyé vers A : D=0 ; E=∞ ; B=∞ @ Michel Carpentier - Alain Gofflot

218 @ Michel Carpentier - Alain Gofflot
Horizon partagé A apprend de D la mauvaise nouvelle : le problème du comptage infini est résolu Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : ∞ C : ∞ E : ∞ Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : ∞ C : ∞ B : ∞ Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord D E @ Michel Carpentier - Alain Gofflot

219 Horizon partagé avec empoisonnement
Amélioration à horizon partagé : horizon partagé avec empoisonnement principe construire un vecteur de distance pour chaque ligne sur une ligne donnée annoncer les destinations que l’on parvient à atteindre via d’autres lignes normalement annoncer les destinations que l’on parvient à atteindre via cette ligne en indiquant une distance infinie Avantage : permet d’annoncer plus rapidement les mauvaises nouvelles que split horizon simple @ Michel Carpentier - Alain Gofflot

220 Horizon partagé avec empoisonnement (1)
Retour à l’exemple précédent : Vecteur envoyé par A : A=0 ; D=∞ ; B=∞ ; C=∞ ; E=∞ Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud Routing table A : 0 local D : 1 Sud B : 3 Sud C : 3 Sud E : 2 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest B : 1 Ouest A B C Routing table D : 0 Local A : 1 Nord E : ∞ C : ∞ B : ∞ Routing table E : 0 Local D : 1 Ouest A : 2 Ouest C : 1 Nord-Est B : 1 Nord A=0;D=∞;B=∞;C=∞;E=∞ D E @ Michel Carpentier - Alain Gofflot

221 Limitation à horizon partagé (avec ou sans empoisonnement)
Routing table A : 0 local B : ∞ C : ∞ E : ∞ Routing table C : 0 Local E : 1 Sud-Ouest A : 2 Ouest B : 1 Ouest Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud A B C A=∞;B=0;C=1;E=1 Routing table E : 0 Local A : 2 Nord C : 1 Nord-Est B : 1 Nord A=2;B=1;C=0;E=∞ E @ Michel Carpentier - Alain Gofflot

222 Limitation à horizon partagé (avec ou sans empoisonnement)
B envoie ses vecteurs de distance : le vecteur arrive en E Avant que le vecteur de B n’arrive en C, C envoie son vecteur à E @ Michel Carpentier - Alain Gofflot

223 Limitation à horizon partagé (avec ou sans empoisonnement)
Routing table A : 0 local B : ∞ C : ∞ E : ∞ Routing table C : 0 Local E : 1 Sud-Ouest A : 2 Ouest B : 1 Ouest Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud A B C Routing table E : 0 Local A : 2 Ouest C : 1 Nord-Est B : 1 Nord A=∞;B=0;C=1;E=∞ A=2;B=1;C=0;E=∞ E @ Michel Carpentier - Alain Gofflot

224 Limitation à horizon partagé (avec ou sans empoisonnement)
Routing table A : 0 local B : ∞ C : ∞ E : ∞ Routing table C : 0 Local E : 1 Sud-Ouest A : 2 Ouest B : 1 Ouest Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud A B C Routing table (E) Routing table après vecteur de B : E : 0 Local A : ∞ C : 1 Nord-Est B : 1 Nord Routing table après vecteur de C : A : 3 Nord-Est A=∞;B=0;C=1;E=∞ A=2;B=1;C=0;E=∞ E E enverra son vecteur de distance : B découvrira une route vers A via E et l’annoncera à C Nouveau problème de comptage à l’∞ @ Michel Carpentier - Alain Gofflot

225 Routage avec état de liaison
Idée : plutôt que d’envoyer uniquement la distance vers chaque destination, diffuser sur tous les routeurs une carte complète du réseau Comment construire cette carte ? chaque routeur doit découvrir ses voisins chaque routeur doit mesurer le délai de la ligne vers chacun de ces voisins chaque routeur envoie un paquet indiquant ses proches voisins à tous les routeurs du réseau les routeurs assemblent les paquets reçus et utilisent Dijkstra pour calculer le chemin +court @ Michel Carpentier - Alain Gofflot

226 Découverte des voisins
Comment un routeur peut-il découvrir ses voisins ? Message HELLO : envoyer périodiquement un paquet spécial HELLO qui indique l’adresse du routeur sur chaque ligne les voisins répondent en envoyant leur adresse l’envoi périodique permet de vérifier que la ligne reste active A: HELLO A B B: HELLO E: HELLO E @ Michel Carpentier - Alain Gofflot

227 @ Michel Carpentier - Alain Gofflot
Mesure du délai Comment mesurer le délai des lignes ? via le mécanisme HELLO permet de mesurer le délai aller−retour en divisant par 2 on obtient le délai de la ligne le délai doit−il tenir compte de la charge actuelle de la ligne ? : si oui, le routage pourra prendre la charge indirectement en compte, mais le routage risque d’être instable si non, le routage sera plus stable, mais certaines lignes risquent d’être mal utilisées @ Michel Carpentier - Alain Gofflot

228 Buffer de sortie du routeur
Mesure du délai Comment tenir compte de la charge de la ligne dans la mesure du délai ? A B Placement du paquet Hello à la tête du buffer : délai mesuré par Hello sera indépendant de la charge de la ligne à la queue du buffer : (comme s’il s’agissait d’un paquet normal) : délai par Hello mesuré sera fonction de la charge de la ligne Buffer de sortie du routeur contient des paquets en attente de transmission Si la charge est élevée, le buffer contiendra beaucoup de paquets en attente en moyenne Si la charge est faible, le buffer contiendra peu de paquets en moyenne @ Michel Carpentier - Alain Gofflot

229 Détermination de la topologie
Comment déterminer la topologie du réseau ? en découvrant ses voisins, chaque routeur découvre une petite partie de la topologie en assemblant ces petites parties, on peut construire la topologie complète chaque routeur résume sa topologie locale en un link state packet (LSP) contenant : identification du routeur couples (voisin,délai pour atteindre ce voisin) @ Michel Carpentier - Alain Gofflot

230 Détermination de la topologie
Quand construire les LSPs ? périodiquement en cas de problèmes (ligne devenant active ou en panne ou délai changeant fortement) Comment distribuer la topologie ? en s’appuyant sur les tables de routage : impossible car ces tables n’existent pas ou risquent d’être incohérentes lorsque l’on commence à diffuser la topologie @ Michel Carpentier - Alain Gofflot

231 Détermination de la topologie
Sans tenir compte de la table de routage la topologie doit être reçue par chaque routeur du réseau première solution : Chaque routeur place sa topologie locale dans un paquet spécial (LSP) et envoie ce paquet sur toutes ses lignes de sortie tout routeur qui reçoit un LSP d’un autre routeur stocke le contenu en mémoire et diffuse ce LSP sur ses lignes de sortie (sauf celle d’où le LSP provient évidemment) @ Michel Carpentier - Alain Gofflot

232 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Liaisons A-B : 1 A-D : 1 Liaisons B-C : 1 C-E : 1 Liaisons A-B : 1 B-E : 1 B-C : 1 A B C Liaisons A-D : 1 D-E : 1 LSP : E[D:1];[B:1];[C:1] LSP : E[D:1];[B:1];[C:1] Liaisons E-D : 1 E-B : 1 E-C : 1 D E LSP : E[D:1];[B:1];[C:1] E diffuse le premier son LSP sur ses ports : format : émetteur [topologie locale] : E[D:1];[B:1];[C:1] @ Michel Carpentier - Alain Gofflot

233 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Liaisons A-B : 1 B-E : 1 B-C : 1 E-D : 1 E-C : 1 Liaisons A-B : 1 A-D : 1 Liaisons B-C : 1 C-E : 1 B-E : 1 D-E : 1 LSP : E[D:1];[B:1];[C:1] A B C Liaisons A-D : 1 D-E : 1 B-E : 1 E-C : 1 LSP : E[D:1];[B:1];[C:1] Liaisons E-D : 1 E-B : 1 E-C : 1 D E Chaque routeur rediffuse le LSP reçu sur toutes ses lignes sauf celles d’où le LSP provient Comment éviter qu’un LSP ne boucle en permanence ? @ Michel Carpentier - Alain Gofflot

234 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Comment résoudre le problème du bouclage ? il faut qu’un routeur évite de rediffuser un LSP qu’il a déjà reçu précédemment sur une autre ligne : pour cela, un routeur doit conserver le dernier LSP émis par chaque routeur du réseau principe : chaque LSP contient : un numéro de séquence incrémenté par l’émetteur à chaque nouveau LSP une identification de l’émetteur du LSP les couples [routeur:distance] pour tous les routeurs voisins du routeur qui émet le LSP @ Michel Carpentier - Alain Gofflot

235 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs chaque routeur stocke le LSP le plus récent reçu de chaque routeur du réseau un LSP est traité et rediffusé uniquement si il est plus récent que le LSP qui était dans la mémoire du routeur @ Michel Carpentier - Alain Gofflot

236 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Liaisons A-B : 1 B-E : 1 B-C : 1 LSPs Liaisons A-B : 1 A-D : 1 LSPs Liaisons B-C : 1 C-E : 1 LSPs A B C Liaisons A-D : 1 D-E : 1 LSPs LSP : E-0[D:1];[B:1];[C:1] LSP : E-0[D:1];[B:1];[C:1] Liaisons E-D : 1 E-B : 1 E-C : 1 E-0[D:1];[B:1];[C:1] D E LSP : E-0[D:1];[B:1];[C:1] Initialement la table des LSPs est vide E envoie son LSP sur tous ses ports @ Michel Carpentier - Alain Gofflot

237 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Liaisons A-B : 1 B-E : 1 B-C : 1 E-D : 1 E-C : 1 E-0[D:1];[B:1];[C:1] Liaisons B-C : 1 C-E : 1 B-E : 1 D-E : 1 E-0[D:1];[B:1];[C:1] Liaisons A-B : 1 A-D : 1 LSPs LSP : E-0[D:1];[B:1];[C:1] A B C Liaisons A-D : 1 D-E : 1 B-E : 1 E-C : 1 E-0[D:1];[B:1];[C:1] LSP : E-0[D:1];[B:1];[C:1] Liaisons E-D : 1 E-B : 1 E-C : 1 E-0[D:1];[B:1];[C:1] D E @ Michel Carpentier - Alain Gofflot

238 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Grâce à la table des LSPs : A peut détecter qu’il reçoit le même LSP via D et via B B peut détecter qu’il reçoit un ancien LSP via C C peut détecter qu’il reçoit me même LSP de E et via B @ Michel Carpentier - Alain Gofflot

239 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Problème : un routeur se plante puis redémarre il envoie son LSP avec numéro de séquence = 0 si un ancien LSP de ce routeur existait dans le réseau, les autres routeurs ne propageront pas le nouveau LSP @ Michel Carpentier - Alain Gofflot

240 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Solution : ajouter un champ "age" dans les LSPs le champ age est décrémenté toutes les N secondes même à l’intérieur des tables de LSPs des routeurs un LSP avec age=0 est trop vieux et supprimé chaque routeur envoie périodiquement un nouveau LSP age>0 pour garantir la présence du LSP dans le réseau Principe de la ligne du temps pour expliquer l’age @ Michel Carpentier - Alain Gofflot

241 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs Améliorations : éviter qu’un LSP passe deux fois sur une ligne : lorsqu’un LSP est reçu, le routeur attend quelques secondes avant de le rediffuser : si le même LSP arrive d’une autre ligne, on a évité une diffusion si après ce temps le LSP n’est pas arrivé, on le diffuse un routeur qui démarre peut demander à un voisin de recevoir les LSPs stockés par ce voisin @ Michel Carpentier - Alain Gofflot

242 @ Michel Carpentier - Alain Gofflot
Diffusion des LSPs garantir la transmission correcte des LSPs : CRC dans chaque LSP pour détecter les erreurs de transmission la réception de chaque LSP est acquittée par le routeur qui le reçoit sur la ligne où il l’a reçu : si l’acquit n’arrive pas, le LSP est réémis @ Michel Carpentier - Alain Gofflot

243 Construction de la table de routage
Principe : sur base des LSPs reçus, chaque routeur calcule un arbre de recouvrement minimum en se considérant comme la racine de l’arbre à partir de l’arbre de recouvrement minimum, il est très facile de déduire la table de routage @ Michel Carpentier - Alain Gofflot

244 Construction de la table de routage
R1 : Ouest R2 : Nord R4 : Est R5 : Est R6 : Est @ Michel Carpentier - Alain Gofflot

245 Algorithme de Dijkstra
Construction de l’arbre de recouvrement minimum : initialement, l’arbre comprend uniquement la racine les routeurs adjacents sont placés avec les coûts de leur ligne dans une liste de candidats le routeur candidat avec le coût le plus faible est ajouté à l’arbre @ Michel Carpentier - Alain Gofflot

246 Algorithme de Dijkstra
on examine les voisins du routeur candidat choisi et on modifiera la liste des candidats si : un des voisins ne se trouvait pas dans la liste des candidats un des voisins est un routeur de la mise des candidats, mais avec un chemin plus court que celui qui est dans la liste actuelle l’algorithme se poursuit avec la nouvelle liste des candidats et s’arrête avec tous les routeurs dans l’arbre @ Michel Carpentier - Alain Gofflot

247 Algorithme de Dijkstra
1) Routeurs : [R1, R2, R4, R5,R6] ; Candidats : [ − ] ; Arbre : R3 2) Routeurs : [R5, R6] ; Candidats : [R1(5) ; R2(3) ; R4 (1) ] -> candidat choisi : R4 Nouvel Arbre : R3 − R4 Nouveaux Candidats ? [R1(5) ; R2 (3) ; R5(R4−4) ; R6(R4−7) ] 3) Routeurs [ − ] Candidat choisi : R2 ; Nouvel Arbre : R2 − R3 − R4 Nouveaux Candidats ? [R1(5) ; R5(R4−4) ; R6 (R4−7) ] 4) Candidat choisi : R5 ; Nouvel Arbre : R2 − R3 − R4 − R5 Nouveaux candidats ? [R1(5) ; R6(R4−7) ] @ Michel Carpentier - Alain Gofflot

248 @ Michel Carpentier - Alain Gofflot
Routage hiérarchique Dans un gros réseau, la table de routage peut devenir très grande et la distribution des LSPs consommer beaucoup de débit Il faut donc une alternative visant à réduire cette complexité/masse de données :  routage hiérarchique @ Michel Carpentier - Alain Gofflot

249 @ Michel Carpentier - Alain Gofflot
Routage hiérarchique Principe : diviser le réseau en région à l’intérieur d’une région tous les routeurs connaissent la topologie complète les routeurs ne connaissent qu’un résumé de la topologie à l’extérieur de leur région réduit un petit peu l’efficacité du routage, mais facilite grandement la diffusion des LSPs : utilisé dans quasiment tous les grands réseaux @ Michel Carpentier - Alain Gofflot

250 @ Michel Carpentier - Alain Gofflot
Protocole OSPF RIP fût le premier protocole de routage interne de l’Internet. basé sur les vecteurs de distance OK pour les systèmes de taille modeste KO pour des systèmes plus étendus : problème de la valeur infinie problème d’une convergence lente Remplacé dès 1979 par un protocole à état de lien @ Michel Carpentier - Alain Gofflot

251 @ Michel Carpentier - Alain Gofflot
Protocole OSPF En 1988, l’IETF introduisit OSPF (Open Shortest Path First). En 1990, OSPF fût normalisé : dès ce moment, OSPF devint le protocole de routage intra AS dominant RFC 2328 @ Michel Carpentier - Alain Gofflot

252 @ Michel Carpentier - Alain Gofflot
Protocole OSPF OSPF est conçu pour répondre à une longue liste d’exigences : protocole ouvert. Il appartient au domaine public.  le O de son nom support d’une grande variété de métrique : distance physique délai transmission dynamique  s’adapter automatiquement et rapidement aux changements de topologie @ Michel Carpentier - Alain Gofflot

253 @ Michel Carpentier - Alain Gofflot
Protocole OSPF routage en fonction du type de service demandé : exigence nouvelle  une partie du trafic routé en temps réel est-ce possible sur IP, comment ?  reste du trafic gestion de l’équilibrage des charges : plus efficace en répartissant le trafic sur plusieurs liaisons support des systèmes hiérarchiques : nécessaire car le développement d’Internet dès 1988 est tel qu’aucun routeur ne peut connaître la topologie toute entière @ Michel Carpentier - Alain Gofflot

254 @ Michel Carpentier - Alain Gofflot
Protocole OSPF prise en charge d’un minimum de sécurité : pour éviter que des pirates ne trompent des routeurs en leur envoyant des informations de routage erronées OSFP supporte trois types de connexions et de réseaux : liaisons point-à-point entre deux routeurs réseaux à accès multiple avec diffusion broadcast ex. la plupart des LAN réseaux à accès multiple sans diffusion broadcast ex. la plupart des WAN : commutation de paquets @ Michel Carpentier - Alain Gofflot

255 @ Michel Carpentier - Alain Gofflot
Protocole OSPF LAN 1 WAN 1 WAN 2 WAN 3 LAN 2 A B C G H I J E F D @ Michel Carpentier - Alain Gofflot

256 Protocole OSPF : détails
Un des objectifs est le support des grands réseaux : éviter des grosses tables de routage Solution : division du réseau en régions (areas) région backbone : cœur du réseau tous les routeurs connectés à deux areas ou plus en font partie toutes les autres areas doivent se connecter au backbone @ Michel Carpentier - Alain Gofflot

257 Protocole OSPF : détails
Le routage doit permettre de n’importe quelle area vers une autre à travers le backbone @ Michel Carpentier - Alain Gofflot

258 Protocole OSPF : fonctionnement
OSPF = protocole avec états de liaison démarrage d’un routeur envoi de messages HELLO pour découvrir ses voisins et construire la topologie mise à jour des tables de routages : envoi de LSPs : acquits, numéros de séquence et âge envoi périodique et lorsque une ligne change fortement database description : indique les numéros de séquence des différents LSP stockés par le routeur utile lorsqu’une ligne ou un routeur deviennent actifs @ Michel Carpentier - Alain Gofflot

259 Protocole OSPF : fonctionnement
link state request : utilisé par un routeur pour demander à un routeur adjacent un LSP particulier @ Michel Carpentier - Alain Gofflot

260 Protocole OSPF : fonctionnement
Problème : comment représenter un réseau local sous la forme d’un graphe ? R1 : R1 : R1 : R1 : @ Michel Carpentier - Alain Gofflot

261 Protocole OSPF : fonctionnement
Inconvénients : beaucoup de lignes à inclure dans le graphe beaucoup de message HELLO : topologie complexe ne représente pas vraiment la réalité : si le LAN tombe en panne : toutes les lignes entre routeurs tombent en panne également @ Michel Carpentier - Alain Gofflot

262 Protocole OSPF : fonctionnement
Comment réduire la taille du graphe ? représenter le réseau local comme un nœud virtuel autour auquel tous les routeurs sont connectés : routeur désigné : il y a toujours un et un seul routeur désigné par LAN (dialogue avec l’extérieur) routeur adjacent LAN @ Michel Carpentier - Alain Gofflot

263 Protocole OSPF : fonctionnement
Intérieur d’une area : distribution de la topologie de l’area les routeurs ne connaissent rien de la topologie des autres areas chaque routeur sait comment rejoindre le backbone R1 R2 R3 R4 D R5 AREA 1 RA AREA 0 RC R7 R8 RB Intérieur du backbone : distribution de la topologie du backbone chaque routeur sait joindre les areas propagation des routes inter- areas AREA 2 R9 D R10 @ Michel Carpentier - Alain Gofflot

264 BGP : routage interdomaine
BGP : Border Gateway Protocol Objectif : déterminer les routes entre AS, tout en permettant de spécifier des politiques de routage : exemples : Belgacom refuse de faire transiter du trafic destiné à France Telecom mais accepte le trafic destiné à WIN le trafic entre deux bâtiments de Microsoft ne doit jamais passer par un bâtiment d’IBM les politiques de routage sont aujourd’hui spécifiées manuellement dans chaque routeur : politique routage = choix stratégique Elles ne font par partie du protocole BGP @ Michel Carpentier - Alain Gofflot

265 BGP : routage interdomaine
Routage hiérarchique Pour BGP, l’Internet se résume aux différents AS et aux routeurs se trouvant au bord de ces AS : BGP ne connaît pas le détail interne de la topologie de chaque AS Deux routeurs BGP directement connectés s’échangent les informations de routage de façon fiable (protocole TCP) @ Michel Carpentier - Alain Gofflot

266 Types de réseaux AS100 : Réseau de transit Transit ISP (AS100) AS5
accepte les paquets de et vers n’importe quelle destination Transit ISP (AS100) AS1 StubASY AS5 AS4 StubAS9 AS3 AS7 AS6 AS2 IX2 IX1 AS9 : Réseau stub réseau connecté à un seul AS AS4 : Réseau multi-homed réseau connecté à plusieurs AS mais ne permet pas le transit. Seuls les paquets de ou vers des adresses IP de ce réseau sont acceptés @ Michel Carpentier - Alain Gofflot

267 @ Michel Carpentier - Alain Gofflot
BGP Principe de fonctionnement : routage avec vecteurs de distance : chaque vecteur contient le chemin complet (liste d’AS) et pas seulement l’adresse de la destination chaque AS choisit lui-même la route qu’il utilise sur base des vecteurs de distance reçus : la route choisie n’est pas nécessairement la plus courte @ Michel Carpentier - Alain Gofflot

268 @ Michel Carpentier - Alain Gofflot
BGP Avantage : permet d’éviter les problèmes du vecteur de distance : possible de détecter les boucles lorsque l’on connaît le chemin complet permet de connaître les AS par lesquels un paquet passera avant d’ arriver à la destination : nécessaire pour supporter du routage politique @ Michel Carpentier - Alain Gofflot

269 @ Michel Carpentier - Alain Gofflot
BGP : exemple Routing table AS3 : Sud AS2 : Est AS5 : Est [AS2-AS5] AS4 : Est [AS2-AS4] Routing table AS1 : Ouest [AS2-AS1] AS2 : Ouest AS3 : Est [AS2-AS4-AS3] AS4 : Sud-Ouest Routing table AS3 : Sud [AS4-AS3] AS1 : Ouest AS5 : Est AS4 : Sud AS1 AS2 AS5 AS2 : AS2 AS1 : AS2-AS1 AS5 : As2-AS5 AS3 : AS2-AS1-AS3 AS5 : AS5 AS2 : As5-AS2 AS1 : AS5-AS2-AS1 AS4 : Sud-Ouest AS3 D AS4 Routing table AS3 : Ouest AS2 : Nord AS5 : Nord-Est AS1 : Nord [AS2-AS1] Routing table AS4 : Est AS1 : Nord AS5 : Nord [AS1-AS2-AS5] AS2 : Nord [AS1-AS2] AS3 : AS3 AS1 : As3-AS1 AS5 : AS3-AS1-AS2-AS5 AS2 : AS3-AS2-AS1 @ Michel Carpentier - Alain Gofflot

270 @ Michel Carpentier - Alain Gofflot
BGP : exemple /24 /24 /16 /24 AS30 AS20 AS10 Un routeur BGP annonce aux routeurs extérieurs les sous-réseaux qui peuvent être atteints via lui : /24 /16 /23 @ Michel Carpentier - Alain Gofflot

271 @ Michel Carpentier - Alain Gofflot
BGP : exemple /8 : AS300 AS300 Multihomed /8 /8 : AS300 Transit /8 AS100 AS200 Transit /16 /24 : AS400 AS400 Stub /24 /16 : AS200 /8 : AS300 /8 : AS200-AS100 /8 : AS100-AS300 : AS100 Choix de la meilleure route : éliminer les routes interdites par la politique de routage route la plus courte (# d’AS intermédiaires) si plusieurs routes de même longueur, choix d’une d’entres elle suivant un critère quelconque @ Michel Carpentier - Alain Gofflot

272 @ Michel Carpentier - Alain Gofflot
Politiques de routage Support des politiques de routage : chaque routeur BGP choisit quelles routes il annonce aux AS voisins : tous les AS voisins ne reçoivent pas nécessairement les mêmes routes permet de contrôler le trafic qu’un AS accepte chaque routeur BGP choisit parmi toutes les routes qu’il a reçu de l’extérieur celle qui est la meilleure : permet de contrôler quelle direction prend le trafic qui sort d’un AS @ Michel Carpentier - Alain Gofflot

273 Politique de routage : exemple
Transit WIN /8 Belgacom /8 France Telecom /8 Annonce : /8 ; /8 Annonce : /8 Annonce : /8 Annonce : /8 ; /8 @ Michel Carpentier - Alain Gofflot

274 Interactions OSPF - BGP
A l’intérieur d’un AS : OSPF distribue la topologie interne BGP choisit le meilleur chemin interdomaine vers chaque destination externe Que faire si un AS a plusieurs liens externes ? les routeurs connectés à ces liens doivent se coordonner pour annoncer correctement les bonnes routes externes à l’intérieur de l’AS @ Michel Carpentier - Alain Gofflot

275 Interactions OSPF - BGP
Synchronisation des routeurs externes : liaison iBGP interne (à l’intérieur de l’AS) entre les routeurs connectés à l’extérieur : permet aux routeurs de déterminer les meilleurs routes chaque routeur diffuse les routes passant par lui via OSPF vers l’intérieur de l’AS @ Michel Carpentier - Alain Gofflot


Télécharger ppt "@ Michel Carpentier - Alain Gofflot"

Présentations similaires


Annonces Google