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 Gofflot1 1. La couche réseaux  BUT :  La couche réseaux se charge d’acheminer des paquets tout au long d’un parcours, d’une.

Présentations similaires


Présentation au sujet: "@ Michel Carpentier - Alain Gofflot1 1. La couche réseaux  BUT :  La couche réseaux se charge d’acheminer des paquets tout au long d’un parcours, d’une."— Transcription de la présentation:

1 @ Michel Carpentier - Alain Gofflot1 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.

2 @ Michel Carpentier - Alain Gofflot2 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.

3 @ Michel Carpentier - Alain Gofflot3 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.

4 @ Michel Carpentier - Alain Gofflot4 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.

5 @ Michel Carpentier - Alain Gofflot5 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.

6 @ Michel Carpentier - Alain Gofflot6 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

7 @ Michel Carpentier - Alain Gofflot7 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

8 @ Michel Carpentier - Alain Gofflot8 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

9 @ Michel Carpentier - Alain Gofflot9 Couche réseau dans Internet  10 principes fondamentaux sont décrits dans la RFC s’assurer que tout fonctionne 2. privilégier la simplicité 3. faire des choix 4. exploiter la modularité (faite des couches) 5. anticiper l’hétérogénéité (plus c’est grand, plus il y a des éléments différents qui composent) 6. éviter les options et les paramètres statiques

10 @ Michel Carpentier - Alain Gofflot10 Couche réseau dans Internet 7. rechercher une conception efficace, mais pas parfaite 8. être sévère lors de l’envoi et tolérant lors de la réception 9. penser à l’évolutivité 10. considérer les performances et les coûts

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

12 @ Michel Carpentier - Alain Gofflot12 IP – Le format de datagramme 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 DFDF MFMF ProtocoleTotal de contrôle d’en-tête  Entête :

13 @ Michel Carpentier - Alain Gofflot13 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

14 @ Michel Carpentier - Alain Gofflot14 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.

15 @ Michel Carpentier - Alain Gofflot15 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.

16 @ Michel Carpentier - Alain Gofflot16 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

17 @ Michel Carpentier - Alain Gofflot17 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.

18 @ Michel Carpentier - Alain Gofflot18 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.

19 @ Michel Carpentier - Alain Gofflot19 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.

20 @ Michel Carpentier - Alain Gofflot20 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, …)

21 @ Michel Carpentier - Alain Gofflot21 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

22 @ Michel Carpentier - Alain Gofflot22 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.

23 @ Michel Carpentier - Alain Gofflot23 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.

24 @ Michel Carpentier - Alain Gofflot24 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.

25 @ Michel Carpentier - Alain Gofflot25 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

26 @ Michel Carpentier - Alain Gofflot26 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

27 @ Michel Carpentier - Alain Gofflot27 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

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

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

30 @ Michel Carpentier - Alain Gofflot30 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.

31 @ Michel Carpentier - Alain Gofflot31 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.

32 @ Michel Carpentier - Alain Gofflot32 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 :

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

34 @ Michel Carpentier - Alain Gofflot34 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 à  réseaux différents  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

35 @ Michel Carpentier - Alain Gofflot35 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

36 @ Michel Carpentier - Alain Gofflot36 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 –

37 @ Michel Carpentier - Alain Gofflot37 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

38 @ Michel Carpentier - Alain Gofflot38 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

39 @ Michel Carpentier - Alain Gofflot39 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ôteNuméro réseau

40 @ Michel Carpentier - Alain Gofflot40 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

41 @ Michel Carpentier - Alain Gofflot41 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)

42 @ Michel Carpentier - Alain Gofflot42 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.

43 @ Michel Carpentier - Alain Gofflot43 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 ?

44 @ Michel Carpentier - Alain Gofflot44 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).

45 @ Michel Carpentier - Alain Gofflot45 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 ( ) Partie réseau Partie subnetPartie hôte

46 @ Michel Carpentier - Alain Gofflot46 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) Partie réseau Partie subnetPartie hôte IP NetMask

47 @ Michel Carpentier - Alain Gofflot47 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

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

49 @ Michel Carpentier - Alain Gofflot49 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

50 @ Michel Carpentier - Alain Gofflot50 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.

51 @ Michel Carpentier - Alain Gofflot51 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 ?

52 @ Michel Carpentier - Alain Gofflot52 IP – Les sous-réseaux  Représentation de l’exercice : Partie réseau Partie subnet Partie hôte IP NetMask

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

54 @ Michel Carpentier - Alain Gofflot54 IP – Les sous-réseaux  Pour calculer l’adresse broadcast, il faut mettre tous les bits de la partie hôte à Partie réseau Partie subnet Partie hôte IP NetMask Adresse Réseau

55 @ Michel Carpentier - Alain Gofflot55 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

56 @ Michel Carpentier - Alain Gofflot56 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

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

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

59 @ Michel Carpentier - Alain Gofflot59 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).

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

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

62 @ Michel Carpentier - Alain Gofflot62 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.

63 @ Michel Carpentier - Alain Gofflot63 Routage : Introduction réseau 4 réseau 5 Routeur if 1 if 4 if 3 if 5 if 2 réseau 1interface 1 réseau 2interface 2... réseau 5interface 5... réseau ninterface n  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)

64 @ Michel Carpentier - Alain Gofflot64 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.

65 @ Michel Carpentier - Alain Gofflot65 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 :

66 @ Michel Carpentier - Alain Gofflot66 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.

67 @ Michel Carpentier - Alain Gofflot67 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 à

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

69 @ Michel Carpentier - Alain Gofflot69 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

70 @ Michel Carpentier - Alain Gofflot70 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.

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

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

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

74 @ Michel Carpentier - Alain Gofflot74 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.

75 @ Michel Carpentier - Alain Gofflot75 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

76 @ Michel Carpentier - Alain Gofflot76 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 :

77 @ Michel Carpentier - Alain Gofflot77 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.

78 @ Michel Carpentier - Alain Gofflot78 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

79 @ Michel Carpentier - Alain Gofflot79 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.

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

81 @ Michel Carpentier - Alain Gofflot81 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.

82 @ Michel Carpentier - Alain Gofflot82 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

83 @ Michel Carpentier - Alain Gofflot83 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

84 @ Michel Carpentier - Alain Gofflot84 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)

85 @ Michel Carpentier - Alain Gofflot85 Routage : les outils

86 @ Michel Carpentier - Alain Gofflot86 Routage : les outils

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

88 @ Michel Carpentier - Alain Gofflot88 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.

89 @ Michel Carpentier - Alain Gofflot89 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 /? »

90 @ Michel Carpentier - Alain Gofflot90 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 »

91 @ Michel Carpentier - Alain Gofflot91 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

92 @ Michel Carpentier - Alain Gofflot92 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.

93 @ Michel Carpentier - Alain Gofflot93 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 ?

94 @ Michel Carpentier - Alain Gofflot94 ARP  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.

95 @ Michel Carpentier - Alain Gofflot95 ARP  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.

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

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

98 @ Michel Carpentier - Alain Gofflot98 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

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

100 @ Michel Carpentier - Alain Gofflot100 Routage : Exercice  Les tableaux suivants reprennent les tables de routage PC1 Adresse & Masque InterfaceGateway / 0 Eth / 24 Eth0 PC2 Adresse & Masque InterfaceGateway / 0 Eth / 24 Eth0 PC3 Adresse & Masque InterfaceGateway / 0 Eth / 24 Eth0 PC4 Adresse & Masque InterfaceGateway / 0 Eth / 16 Eth0 R1 Adresse & Masque InterfaceGateway / / / R2 Adresse & Masque InterfaceGateway / /

101 @ Michel Carpentier - Alain Gofflot101 Routage : Exercice / / / PC1PC2PC3 PC4 R1 R2

102 @ Michel Carpentier - Alain Gofflot102 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.

103 @ Michel Carpentier - Alain Gofflot103 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

104 @ Michel Carpentier - Alain Gofflot104 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

105 @ Michel Carpentier - Alain Gofflot105 Routage : Exercice  On obtient donc : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination  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.

106 @ Michel Carpentier - Alain Gofflot106 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

107 @ Michel Carpentier - Alain Gofflot107 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

108 @ Michel Carpentier - Alain Gofflot108 Routage : Exercice  Le datagramme est donc transmis : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination  Le datagramme est arrivé à destination.

109 @ Michel Carpentier - Alain Gofflot109 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

110 @ Michel Carpentier - Alain Gofflot110 Routage : Exercice  On obtient donc : adresse ethernet source adresse ethernet destination adresse IP source adresse IP destination  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…

111 @ Michel Carpentier - Alain Gofflot111 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

112 @ Michel Carpentier - Alain Gofflot112 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.

113 @ Michel Carpentier - Alain Gofflot113 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.

114 @ Michel Carpentier - Alain Gofflot114 Routage : Exercice / / / PC1PC2PC3 PC4 R1 R2

115 @ Michel Carpentier - Alain Gofflot115 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.

116 @ Michel Carpentier - Alain Gofflot116 Routage : Exercice 2 PC1 Adresse & Masque InterfaceGateway PC2 InterfaceGateway PC3 InterfaceGateway PC4 InterfaceGateway R1 InterfaceGateway R2 InterfaceGateway

117 @ Michel Carpentier - Alain Gofflot117 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.

118 @ Michel Carpentier - Alain Gofflot118 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.

119 @ Michel Carpentier - Alain Gofflot119 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.

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

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

122 @ Michel Carpentier - Alain Gofflot122 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.

123 @ Michel Carpentier - Alain Gofflot123 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.

124 @ Michel Carpentier - Alain Gofflot124 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.

125 @ Michel Carpentier - Alain Gofflot125 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.

126 @ Michel Carpentier - Alain Gofflot126 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.

127 @ Michel Carpentier - Alain Gofflot127 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.

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

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

130 @ Michel Carpentier - Alain Gofflot130 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.

131 @ Michel Carpentier - Alain Gofflot131 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é.

132 @ Michel Carpentier - Alain Gofflot132 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.

133 @ Michel Carpentier - Alain Gofflot133 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

134 @ Michel Carpentier - Alain Gofflot134 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.

135 @ Michel Carpentier - Alain Gofflot135 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

136 @ Michel Carpentier - Alain Gofflot136 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.

137 @ Michel Carpentier - Alain Gofflot137 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=4 TTL=3 TTL=2 TTL=1 TTL=0 Le paquet est détruit ICMP Mon paquet a été perdu

138 @ Michel Carpentier - Alain Gofflot138 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)

139 @ Michel Carpentier - Alain Gofflot139 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.

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

141 @ Michel Carpentier - Alain Gofflot141 Ping

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

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

144 @ Michel Carpentier - Alain Gofflot144 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.

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

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

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

148 @ Michel Carpentier - Alain Gofflot148 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.

149 @ Michel Carpentier - Alain Gofflot149 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

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

151 @ Michel Carpentier - Alain Gofflot151 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.

152 @ Michel Carpentier - Alain Gofflot152 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

153 @ Michel Carpentier - Alain Gofflot153 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.

154 @ Michel Carpentier - Alain Gofflot154 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.

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

156 @ Michel Carpentier - Alain Gofflot156 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.

157 @ Michel Carpentier - Alain Gofflot157 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.

158 @ Michel Carpentier - Alain Gofflot158 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) 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)

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

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

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

162 @ Michel Carpentier - Alain Gofflot162 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

163 @ Michel Carpentier - Alain Gofflot163 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

164 @ Michel Carpentier - Alain Gofflot164 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

165 @ Michel Carpentier - Alain Gofflot165 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  …

166 @ Michel Carpentier - Alain Gofflot166 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

167 @ Michel Carpentier - Alain Gofflot167 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

168 @ Michel Carpentier - Alain Gofflot168 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

169 @ Michel Carpentier - Alain Gofflot169 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

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

171 @ Michel Carpentier - Alain Gofflot171 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

172 @ Michel Carpentier - Alain Gofflot172 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

173 @ Michel Carpentier - Alain Gofflot173 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

174 @ Michel Carpentier - Alain Gofflot174 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 ?

175 @ Michel Carpentier - Alain Gofflot175 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

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

177 @ Michel Carpentier - Alain Gofflot177 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

178 @ Michel Carpentier - Alain Gofflot178 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

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

180 @ Michel Carpentier - Alain Gofflot180 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)

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

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

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

184 @ Michel Carpentier - Alain Gofflot184 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

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

186 @ Michel Carpentier - Alain Gofflot186 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

187 @ Michel Carpentier - Alain Gofflot187 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 A : 0 local D : 1 Sud Routing table C : 0 Local E : 1 Sud-Ouest D : 2 Sud-Ouest A : 3 Sud-Ouest Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud 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 A B C DE B=0;A=1;C=1;D=2;E=1

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

189 @ Michel Carpentier - Alain Gofflot189 Vecteurs de distance : exemple 11  Nouveau vecteur de distance de A :  A=0 ; D=1 ; B=1 ; C=2 ; E=2  envoyé sur tous les ports de A … 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 Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E A=0;B=1;C=2;D=1;E=2

190 @ Michel Carpentier - Alain Gofflot190 Vecteurs de distance : exemple 12 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 Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E

191 @ Michel Carpentier - Alain Gofflot191 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

192 @ Michel Carpentier - Alain Gofflot192 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 DE

193 @ Michel Carpentier - Alain Gofflot193 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

194 @ Michel Carpentier - Alain Gofflot194 Vecteurs de distance : situation stable 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 Routing table B : 0 Local A : 1 Ouest C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E Apparition d’une panne

195 @ Michel Carpentier - Alain Gofflot195 VdD : réaction aux pannes (1)  Nouveau vecteur de distance de A :  A=0 ; D=1 ; B=C=E=  A=0 ; D=1 ; B=∞ ; C=∞ ; E=∞  envoyé sur le port Sud de A 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 Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E A=0;B=∞;C=∞;D=1;E=∞

196 @ Michel Carpentier - Alain Gofflot196 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=  D=0 ; A=1 ; E=1 ; C=2 ; B=∞

197 @ Michel Carpentier - Alain Gofflot197 VdD : réaction aux pannes (3) 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 Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E D=0;B=∞;A=1;C=2;E=1

198 @ Michel Carpentier - Alain Gofflot198 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=  B=0 ; A= ∞ ; C=1 ; E=1 ; D=2

199 @ Michel Carpentier - Alain Gofflot199 VdD : réaction aux pannes (5) 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 Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E B=0;A=∞;C=1;E=1;D=2

200 @ Michel Carpentier - Alain Gofflot200 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

201 @ Michel Carpentier - Alain Gofflot201 VdD : réaction aux pannes (7) 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 Routing table B : 0 Local A : ∞ C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E E=0;D=1;A=2;C=1;B=1

202 @ Michel Carpentier - Alain Gofflot202 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

203 @ Michel Carpentier - Alain Gofflot203 VdD : réaction aux pannes (9) 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E D enverra son vecteur de distance et annoncera à A la route permettant de joindre B via D

204 @ Michel Carpentier - Alain Gofflot204 VdD : situation stable après une panne 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E

205 @ Michel Carpentier - Alain Gofflot205 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 ?

206 @ Michel Carpentier - Alain Gofflot206 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…

207 @ Michel Carpentier - Alain Gofflot207 VdD : Nouvelle panne 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 A B C D E

208 @ Michel Carpentier - Alain Gofflot208 VdD : nouvelle panne (1) 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E  Vecteur de distance de A :  A=0 ; D=1 ; B=3 ; C=3 ; E=2  envoyé sur tous les ports de A A=0;D=1;B=3;C=3;E=2

209 @ Michel Carpentier - Alain Gofflot209 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

210 @ Michel Carpentier - Alain Gofflot210 VdD : nouvelle panne (3) 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E D=0;A=1;E=3;C=4;B=4

211 @ Michel Carpentier - Alain Gofflot211 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

212 @ Michel Carpentier - Alain Gofflot212 VdD : nouvelle panne (5) 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E A=0;D=1;B=4;C=4;E=3

213 @ Michel Carpentier - Alain Gofflot213 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

214 @ Michel Carpentier - Alain Gofflot214 VdD : nouvelle panne (7) 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E A=1;D=0;B=5;C=5;E=4

215 @ Michel Carpentier - Alain Gofflot215 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

216 @ Michel Carpentier - Alain Gofflot216 VdD : horizon partagé 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E D=0;B=∞;E=∞ A=0

217 @ Michel Carpentier - Alain Gofflot217 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=  D=0 ; E=∞ ; B=∞

218 @ Michel Carpentier - Alain Gofflot218 Horizon partagé 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E  A apprend de D la mauvaise nouvelle :   le problème du comptage infini est résolu

219 @ Michel Carpentier - Alain Gofflot219 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

220 @ Michel Carpentier - Alain Gofflot220 Horizon partagé avec empoisonnement (1)  Retour à l’exemple précédent :  Vecteur envoyé par A :  A=0 ; D===  A=0 ; D=∞ ; B=∞ ; C=∞ ; E=∞ 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 Routing table B : 0 Local A : 3 Sud C : 1 Est E : 1 Sud D : 2 Sud 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 B C D E A=0;D=∞;B=∞;C=∞;E=∞

221 @ Michel Carpentier - Alain Gofflot221 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 Routing table E : 0 Local A : 2 Nord C : 1 Nord-Est B : 1 Nord A B C E A=2;B=1;C=0;E=∞ A=∞;B=0;C=1;E=1

222 @ Michel Carpentier - Alain Gofflot222 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

223 @ Michel Carpentier - Alain Gofflot223 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 Routing table E : 0 Local A : 2 Ouest C : 1 Nord-Est B : 1 Nord A B C E A=2;B=1;C=0;E=∞ A=∞;B=0;C=1;E=∞

224 @ Michel Carpentier - Alain Gofflot224 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 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 : E : 0 Local A : 3 Nord-Est C : 1 Nord-Est B : 1 Nord A B C E A=2;B=1;C=0;E=∞ A=∞;B=0;C=1;E=∞ E enverra son vecteur de distance : • 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’∞

225 @ Michel Carpentier - Alain Gofflot225 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

226 @ Michel Carpentier - Alain Gofflot226 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 B E A: HELLO B: HELLO E: HELLO

227 @ Michel Carpentier - Alain Gofflot227 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

228 @ Michel Carpentier - Alain Gofflot228 Mesure du délai  Comment tenir compte de la charge de la ligne dans la mesure du délai ? BA 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  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

229 @ Michel Carpentier - Alain Gofflot229 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)

230 @ Michel Carpentier - Alain Gofflot230 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

231 @ Michel Carpentier - Alain Gofflot231 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)

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

233 @ Michel Carpentier - Alain Gofflot233 Diffusion des LSPs  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 ? Liaisons A-B : 1 A-D : 1 Liaisons B-C : 1 C-E : 1 B-E : 1 D-E : 1 Liaisons A-B : 1 B-E : 1 B-C : 1 E-D : 1 E-C : 1 Liaisons E-D : 1 E-B : 1 E-C : 1 A B C E Liaisons A-D : 1 D-E : 1 B-E : 1 E-C : 1 D LSP : E[D:1];[B:1];[C:1]

234 @ Michel Carpentier - Alain Gofflot234 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

235 @ Michel Carpentier - Alain Gofflot235 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

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

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

238 @ Michel Carpentier - Alain Gofflot238 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

239 @ Michel Carpentier - Alain Gofflot239 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

240 @ Michel Carpentier - Alain Gofflot240 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

241 @ Michel Carpentier - Alain Gofflot241 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

242 @ Michel Carpentier - Alain Gofflot242 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

243 @ Michel Carpentier - Alain Gofflot243 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

244 @ Michel Carpentier - Alain Gofflot244 Table de routage R1 : Ouest R2 : Nord R4 : Est R5 : Est R6 : Est Construction de la table de routage R1 R2 R3R4 R5 R6 D = 3 D = 2 D = 10 D = 5 D = 1 D = 6 D = 3

245 @ Michel Carpentier - Alain Gofflot245 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

246 @ Michel Carpentier - Alain Gofflot246 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

247 @ Michel Carpentier - Alain Gofflot247 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) ] R1 R2 R3 R4 R5 R6 D = 3 D = 2 D = 10 D = 5 D = 1 D = 6 D = 3

248 @ Michel Carpentier - Alain Gofflot248 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

249 @ Michel Carpentier - Alain Gofflot249 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

250 @ Michel Carpentier - Alain Gofflot250 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

251 @ Michel Carpentier - Alain Gofflot251 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

252 @ Michel Carpentier - Alain Gofflot252 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

253 @ Michel Carpentier - Alain Gofflot253 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

254 @ Michel Carpentier - Alain Gofflot254 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

255 @ Michel Carpentier - Alain Gofflot255 Protocole OSPF LAN 1 WAN 1 WAN 2 WAN 3 LAN 2 ABC G H IJ E F D

256 @ Michel Carpentier - Alain Gofflot256 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

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

258 @ Michel Carpentier - Alain Gofflot258 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

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

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

261 @ Michel Carpentier - Alain Gofflot261 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

262 @ Michel Carpentier - Alain Gofflot262 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

263 @ Michel Carpentier - Alain Gofflot263 Protocole OSPF : fonctionnement R1R2 R3 R4 D R5 AREA 1 R7R8 R10 D R9 AREA 2 RA RB RC AREA 0 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 Intérieur du backbone : • distribution de la topologie du backbone • chaque routeur sait joindre les areas •propagation des routes inter- areas

264 @ Michel Carpentier - Alain Gofflot264 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

265 @ Michel Carpentier - Alain Gofflot265 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)

266 @ Michel Carpentier - Alain Gofflot266 Types de réseaux Transit ISP (AS100) AS1 StubASY AS5 AS4 StubAS9 AS3 AS7 AS6 AS2 IX1 IX2 AS100 : Réseau de transit accepte les paquets de et vers n’importe quelle destination 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

267 @ Michel Carpentier - Alain Gofflot267 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

268 @ Michel Carpentier - Alain Gofflot268 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

269 @ Michel Carpentier - Alain Gofflot269 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 Routing table AS3 : Ouest AS2 : Nord AS5 : Nord-Est AS1 : Nord [AS2-AS1] AS1 AS2 AS5 Routing table AS4 : Est AS1 : Nord AS5 : Nord [AS1-AS2-AS5] AS2 : Nord [AS1-AS2] D AS3 AS4 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 : AS3 AS1 : As3-AS1 AS5 : AS3-AS1-AS2-AS5 AS2 : AS3-AS2-AS1

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

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

272 @ Michel Carpentier - Alain Gofflot272 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

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

274 @ Michel Carpentier - Alain Gofflot274 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

275 @ Michel Carpentier - Alain Gofflot275 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


Télécharger ppt "@ Michel Carpentier - Alain Gofflot1 1. La couche réseaux  BUT :  La couche réseaux se charge d’acheminer des paquets tout au long d’un parcours, d’une."

Présentations similaires


Annonces Google