1 . La couche réseaux

download 1 . La couche réseaux

If you can't read please download the document

description

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. Fonctions principales. - PowerPoint PPT Presentation

Transcript of 1 . La couche réseaux

  • 1. La couche rseaux

    BUT :La couche rseaux se charge dacheminer des paquets tout au long dun parcours, dune source jusqu un destinataire.

    Gre le trafic travers les nuds de communication intermdiaire.

    @ Michel Carpentier - Alain Gofflot

  • Fonctions principalesPour acheminer un paquet dun metteur vers un destinataire, il est impratif de connatre prcisment la localisation de lmetteur et du destinataire. Pour ce faire, la couche rseau introduit la notion dadressage.

    @ Michel Carpentier - Alain Gofflot

  • Fonctions principalesUne fois la destination connue, il faut dterminer le chemin parcourir pour sy rendre. La couche rseau introduit donc la notion de routage. Le routage est le choix du meilleur chemin prendre pour aller la destination.

    @ Michel Carpentier - Alain Gofflot

  • Fonctions principalesLe rseau global peut tre vu comme un rseau routier. Par consquent, il est sensible aux mmes problmes dembouteillages. La couche rseau assure le contrle de flux et le contrle de congestion pour limiter les dgts de ces embouteillages.

    @ Michel Carpentier - Alain Gofflot

  • Le service la couche transportLes service offerts la couche 4 doivent respecter les objectifs suivants :les services doivent tre indpendants des technologies de routeur mises en uvre sur le sous-rseaula couche rseau doit tre indpendante du nombre et du type des routeurs, ainsi que de la topologie du rseaules adresses de rseau mises la disposition de la couche transport doivent faire partie dun plan de numrotation qui doit rester uniforme.

    @ Michel Carpentier - Alain Gofflot

  • Le service la couche transportCompte tenu de ces critres, les concepteurs de la couche rseaux avaient beaucoup de libert pour rdiger les spcifications.Cette libert donna lieu dassez grandes divergences :certains voulaient un service orient connexion pour assurer une certaine qualit de servicedautres voulaient un service sans connexion, argumentant le fait que cest aux stations dassurer le service de connexion

    @ Michel Carpentier - Alain Gofflot

  • Service sans connexionDans ce mode, les paquets sont injects dans le sous-rseau individuellement, et routs indpendamment les uns des autres.Dans ce contexte les paquets sont souvent appels datagrammesIl est possible que les paquets narrivent pas dans lordre initialement mis ou narrive pas du tout

    @ Michel Carpentier - Alain Gofflot

  • Service avec connexionUn chemin doit tre tabli au pralable du routeur source jusquau routeur de destination avant que les paquets ne soient envoysCette connexion est appele Circuit VirtuelIl nest ds lors plus ncessaire de prendre une dcision de routage pour chaque paquet

    @ Michel Carpentier - Alain Gofflot

  • Couche rseau dans Internet10 principes fondamentaux sont dcrits dans la RFC 1958.sassurer que tout fonctionneprivilgier la simplicitfaire des choixexploiter la modularit (faite des couches)anticiper lhtrognit (plus cest grand, plus il y a des lments diffrents qui composent)viter les options et les paramtres statiques

    @ Michel Carpentier - Alain Gofflot

  • Couche rseau dans Internetrechercher une conception efficace, mais pas parfaitetre svre lors de lenvoi et tolrant lors de la rceptionpenser lvolutivitconsidrer les performances et les cots

    @ Michel Carpentier - Alain Gofflot

  • IP - Plan

    Le format de datagramme IPLadressageLa fonction de routage

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeEntte :

    @ Michel Carpentier - Alain Gofflot

  • VocabulaireLittle endian = lecture des informations de droite gauche, soit le bit de poids faible en premier Exemple : un octet 10100111 est transmis 11100101Big endian = lecture des informations de gauche droite, soit le bit de poids fort en premier Exemple : un octet 10100111 est transmis 10100111

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeLentte est transmise sous forme big endian (adresse dabord)Version : indique le numro de version du protocole. Ainsi, on peut avoir plusieurs version de IP au mme moment sur le rseau. Actuellement, la version est IPv4. Une transition vers IPv6 est en cours.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeLET : la Longeur de lEn-Tte est prcise ici sous la forme dun 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 len-tte IP.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeType de Service : sert distinguer les diffrentes classes de services (combinaisons de fiabilit et de dbit). A lorigine, ces 6 bits reprsentaient : 3 bits de priorit (0 = normale, 7 = haute)1 bit D(elay) = importance sur le dlais1 bit T(hroughput) = importance sur le dbit1 bit R(eliability) = importance sur la fiabilitDans la pratique actuelle, le type de service est ignor par les routeurs

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeLongueur totale : donne la longueur totale du datagramme (en-tte + donnes) Actuellement, le maximum est 65.535 octets. Ce nombre risque de devenir trop petit dans les futurs rseaux Gigabits.Identification : permet lhte destinataire de dterminer quel datagramme appartient un fragment reu. Tous les fragments dun datagramme contiennent la mme valeur didentification.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeDF (Dont Fragment) : un bit qui permet de demander aux routeurs intermdiaires de ne pas fragmenter le datagramme. Dans certains cas, le destinataire nest pas en mesure de recomposer les datagrammes qui seraient fragments.MF (More Fragments) : ce bit est positionn 1 pour tous les fragments sauf le dernier.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammePosition de Fragment : indique la position (dplacement, offset) du fragment dans le datagramme courant (mme identification). Tous les fragments ( lexception du dernier) doivent avoir un multiple de 8 octets. Ce champ contient 13 bits, soit une valeur maximale de 8.192 (= 2^13) fragments par message (unit du niveau 4). 8.192 x 8 = 65.536 octets au total.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeDure de Vie (TTL Time To Live) : compteur qui sert limiter la dure de vie des datagrammes. Lorsquun datagramme traverse un routeur, celui-ci dcrmente la valeur du TTL. Ceci permet dempcher que des datagrammes nerrent sans fin (boucle sans fin) dans le rseau. En effet, un paquet pourrait jouer au ping-pong entres routeurs et ce en fonction des informations de routage que ces derniers possdent (tat des lignes, mtriques, )

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeProtocole : spcifie quel processus de la couche transport doit on passer le datagramme La numrotation des protocoles est globale sur linternet (fixe par la RFC1700) et consultable sur le site http://www.iana.org

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeTotal de contrle den-tte : permet de dtecter les erreurs gnres par des mots mmoire errons dans un routeur.Ce total de contrle doit tre recalcul dans chaque routeur. Pourquoi ?car au moins le TTL change chaque passage dans un routeur.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeLadresse source et ladresse destination : contiennent respectivement les adresses IP des machines source et destination. Ces adresses seront dtailles ultrieurement.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeOptions : le champ options a t prvu pour introduire de nouveaux lments dans le protocole sans devoir revoir compltement la spcification. On peut galement placer dans les options des lments rarement exploitables.

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagrammeLes options sont de longueur variables, et sont constitues de :un champ de code doptionun champ de longueur doption (facultatif)un ou plusieurs octets de donnesLe champ option doit tre un multiple de 4 octets

    @ Michel Carpentier - Alain Gofflot

  • IP Le format de datagramme5 options on t dfinies au dpart :

    Scurit : renseigne sur le degr de confidentialit des donnes, par exemple pour interdire le routage de paquets confidentiels au travers de certains pays. En pratique, cest ignorRoutage 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

  • IP Le format de datagrammeRoutage lche par la source : Permet de spcifier 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 dautresEnregistrement de route : Demande aux routeurs intermdiaires dinsrer leur adresse IP dans le champ doption pour que ladministrateur puisse dterminer le parcourt du datagrammeHorodatage : chaque routeur intermdiaire doit introduire une date et heure pour permettre un debuggage du parcours effectu par le datagramme

    @ Michel Carpentier - Alain Gofflot

  • Time To LiveTTL=4TTL=3TTL=2TTL=1Le paquet estdlivr

    @ Michel Carpentier - Alain Gofflot

  • Time To LiveTTL=4TTL=3TTL=2TTL=1TTL=0Le paquet est dtruit

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesChaque carte rseau possde une adresse MAC unique au monde, constitue de 48 bits.Malheureusement, il ny a aucune logique dans la localisation des adresses MAC : ladresse 00-90-4B-72-0D-58 peut se trouver Luxembourg et ladresse 00-90-4B-72-0D-59 se trouver New YorkIl est donc impossible dutiliser ces adresses pour acheminer les datagramme au niveau mondial.

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesA chaque ordinateur, routeur, connect lInternet on va attribuer au moins une adresse IP.Une adresse IP est constitue de 32 bits et contient : Un numro de rseauUn numro dhtes A chaque carte rseau peut-tre associe une adresse IP.

    @ Michel Carpentier - Alain Gofflot

  • IP Les adresses

    Pendant plusieurs dcennies, les adresses IP ont t divises en 5 classes : Ladressage par classes Le tableau suivant reprend les 5 classes :

    @ Michel Carpentier - Alain Gofflot

  • IP Les adresses32 BitsABCDE

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesClasse A : Adresses de 1.0.0.0 127.255.255.255128 rseaux diffrents16 millions dhtes diffrents par rseauClasse B : Adresses de 128.0.0.0 191.255.255.25516384 rseaux diffrents65536 dhtes diffrents par rseauClasse C : Adresses de 192.0.0.0 223.255.255.255Plus de 2 millions de rseaux256 dhtes diffrents par rseau

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesClasse D : Adresses de 224.0.0.0 239.255.255.255Adresses multicast utilises pour envoyer des datagrammes plusieurs destinataires simultanment.Classe E : Adresses de 240.0.0.0 255.255.255.255Rserv pour un usage ultrieur

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesLa gestion des adresses IP au niveau mondial est faite par lICANN (Internet Corporation for Assigned Names and Numbers)Soccupe de veiller ce quune adresse IP (routable) ne soit pas utilise 2 fois sur la planteDlgation de la gestion de groupes dadresses des autorits rgionales Exemple : RESTENA 158.64.0.0

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesReprsentation dune adresse IP :Notation dcimale pointe Exemple : 158.64.1.25Les 4 octets qui constituent ladresse sont spars par un pointChaque octet peut prendre une valeur de 0 255.Exemple : 1100 0000 0010 1001 0000 0110 0001 0100 C0 29 06 14 192.41.6.20

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesCertaines adresses ont une signification particulire : Cet hte : adresse utilise au dmarrage de la machine (0.0.0.0)

    Broadcast : adresse utilise pour diffuser un paquet toutes les stations dun LAN

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesUn hte sur ce rseau : permet de dsigner un hte sans tenir compte du numro du rseau local (NB : il faut quand mme connatre la classe du rseau)

    Diffusion broadcast sur rseau distant : permet denvoyer un paquet en broadcast sur un rseau non local.

    @ Michel Carpentier - Alain Gofflot

  • IP Les adressesBouclage : permet deffectuer un test de fonctionnement de la pile de protocoles sans utiliser le rseau physique

    127.0.0.1 = localhost= 127

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxTous les htes appartenant un mme rseau doivent avoir le mme numro de rseauCependant, lutilisation dune classe A ou B pose rapidement un problme : on ne peut pas stocker 60.000 htes ou plus dans un espace physique adressable par un rseau Ethernet (en coaxial, la limite des 4 rpteurs est rapidement atteinte)

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxIl est donc ncessaire de faire une lgre modification au systme dadressage : partitionner le rseau en plusieurs entits usage interne.Vu de lextrieur, rien ne change : le rseau est toujours vu comme une seule entit.Exemple : RESTENA dispose dune classe B (158.64.0.0), et attribue des parties de cette classe aux lyces luxembourgeois.

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxLes rseaux rsultant du partitionnement sont appels des sous-rseaux ou subnetsComment un routeur dentre peut-il transmettre un paquet qui arrive pour une machine appartenant un subnet ?

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxPremire solution : Tenir en mmoire une table de tous les htes des diffrents subnets. Cette solution na pas t retenue, car elle implique une table volumineuse en mmoire et un travail de maintenance important (ajout, dplacement, retrait de stations).

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxSeconde solution : utiliser des bits de la partie hte de ladresse IP pour dterminer le subnet. Exemple : RESTENA dispose dune classe B (158.64.0.0) subdivise en subnet pour les instituts denseignement. Ici pour lIST (158.64.76.0)15864760Partie rseauPartie subnetPartie hte

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxCette implmentation requiert lutilisation dun masque de sous-rseau ou Subnet mask. Il identifie les portions numro de rseau / numro de sous-rseau (tous les bits 1) et le numro dhte. (tous les bits 0)

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxRemarque : dans notre exemple, le masque de sous rseau comporte 24 bits 1, ce qui est quivalent une adresse de classe C. Dans la ralit, le masque de sous rseau 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

  • IP Les sous-rseauxExemple :Dans ce cas, les adresses IP du sous rseau vont de 158.64.64.0 158.64.79.255

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxLe masque de sous rseau peut se reprsenter de 2 manires diffrentes :Sous la mme forme quune adresse IP Pour lexemple prcdent : 255.255.240.0Sous la forme dun nombre de bits 1 plac cot de ladresse du rseau Pour lexemple prcdent : 158.64.64.0 / 20

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxPour un sous rseau, certaines valeurs des adresses ont une signification particulire :Adresse rseau : constitue dun numro rseau et dun numro dhte gal 0. Elle donne la rfrence du sous rseau.Adresse broadcast : constitue dun numro de rseau et dun numro dhte dont tous les bits sont 1. Elle permet denvoyer un paquet toutes les machines du sous rseau.

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxCalcul :Adresse IP : 158.64.66.75 Masque de sous rseau : 255.255.240.0

    Quelle est ladresse du rseau ?Quelle est ladresse de broadcast ?Combien de machines peut-on adresser dans ce sous rseau ?

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxReprsentation de lexercice :

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxPour calculer ladresse du rseau, il faut mettre tous les bits de la partie hte 0.

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxPour calculer ladresse broadcast, il faut mettre tous les bits de la partie hte 1.

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxLe nombre de machines que lon peut adresser dans le sous rseau est gal au nombre dadresses IP diffrentes (avec la mme partie rseau) moins ladresse rseau et ladresse broadcast. Cela revient calculer le nombre de nombres que lon peut crire avec les bits de la partie hte, puis soustraire 2.12 bits pour la partie hte (32 20) 4096 nombres diffrents avec ces 12 bitsDonc, 4094 htes dans le sous rseau

    @ Michel Carpentier - Alain Gofflot

  • IP Les sous-rseauxExercices : Calculez ladresse rseau, ladresse broadcast et le nombre de machine par sous rseau pour les adresses suivantes.192.168.101.25/25164.23.17.56/2010.65.45.23/12

    @ Michel Carpentier - Alain Gofflot

  • IP En pratiqueDterminer ladresse IP dune machine Windows :

    @ Michel Carpentier - Alain Gofflot

  • IP En pratiqueDterminer ladresse IP dune machine Unix :

    @ Michel Carpentier - Alain Gofflot

  • Routage : IntroductionComme nous lavons vu, la couche rseau a pour but dacheminer les paquets (datagrammes) dun hte metteur vers un hte destinataire (distant).

    @ Michel Carpentier - Alain Gofflot

  • Routage : IntroductionLe rseau global peut tre vu comme suit : deux machines distantes sont relies par un ensemble de routeurs formant un maillage complexe.

    @ Michel Carpentier - Alain Gofflot

  • Routage : IntroductionEn consquence, il existe plusieurs chemins pour un datagramme pour aller de lmetteur vers le rcepteur.

    @ Michel Carpentier - Alain Gofflot

  • Routage : IntroductionLe routeur est un dispositif qui permet de dterminer la route quun datagramme doit suivre pour arriver destination.Ce processus sappelle routage.

    @ Michel Carpentier - Alain Gofflot

  • Routage : IntroductionGlobalement, le routeur peut tre vu comme une boite noire avec un certain nombre dinterface. Chaque interface pourra tre connecte un rseau (local)

    @ Michel Carpentier - Alain Gofflot

  • Routage : IntroductionA lintrieur du routeur, un algorithme examine chaque datagramme en provenance dune interface. En fonction de la table de routage et de ladresse de destination, il dtermine linterface que le datagramme doit emprunter pour continuer sa route vers sa destination.

    @ Michel Carpentier - Alain Gofflot

  • Routage : table de routageLa table de routage est une liste contenant un certain nombre de combinaisons :Adresse IP (rseau, 0 ou rseau, hte)Masque de sous rseauInterface de sortieCette liste permet de dterminer quelle interface de sortie doit emprunter un datagramme qui arrive au routeur.Nous allons montrer comment le routage fonctionne au travers dun exemple :

    @ Michel Carpentier - Alain Gofflot

  • Routage : exempleSoit 3 universits qui demandent un accs lInternet :Cambridge demande 2000 adresses IP et reoit le bloc dadresses de 194.24.0.0 194.24.7.255 avec le masque 255.255.248.0Oxford demande 4000 adresses IP et reoit le bloc dadresses de 194.24.16.0 194.24.31.255 avec le masque 255.255.240.0 Un bloc de 4096 adresses doit tre align sur la valeur 4096.

    @ Michel Carpentier - Alain Gofflot

  • Routage : exempleEdimbourg demande 1000 adresses IP et reoit le bloc dadresses de 194.24.8.0 194.24.11.255 avec le masque 255.255.252.0Dans le tableau suivant, on constate donc quun ensemble dadresse IP sont disponibles de 194.24.12.0 194.24.15.255

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exemple

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExempleLes tables de routage des routeurs sont mises jour avec ces informations. Dans chaque routeur on trouvera ladresse rseau et le masque de sous rseau :

    Y associer le port de sortie

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExempleVoyons ce qui se passe lorsquun routeur reoit un paquet dont ladresse de destination est 194.24.17.4 En binaire, cette adresse est : 11000010 00011000 00010001 00000100Le routeur va effectuer un ET logique avec les masques de chaque ligne de la table de routage.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExemplePour la premire ligne (Cambridge) : 11000010 00011000 00010001 00000100 11111111 11111111 11111000 00000000 -------------------------------------------------------- 11000010 00011000 00010000 00000000Cette adresse ne correspond pas ladresse IP du rseau de Cambridge.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExemplePour la seconde ligne (Edimbourg) : 11000010 00011000 00010001 00000100 11111111 11111111 11111100 00000000 -------------------------------------------------------- 11000010 00011000 00010000 00000000Cette adresse ne correspond pas ladresse IP du rseau de Edimbourg.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExemplePour la troisime ligne (Oxford) : 11000010 00011000 00010001 00000100 11111111 11111111 11110000 00000000 -------------------------------------------------------- 11000010 00011000 00010000 00000000Le rsultat correspond ladresse du rseau de Oxford.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExempleSi aucune correspondance plus longue nest trouve, le datagramme est envoy par linterface correspondante pour la ligne trouve dans la table de routage.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExemplePrenons ensuite le cas dun routeur situ Omaha, au Nebraska. Ce routeur ne dispose que de 4 interfaces vers :MinneapolisNew YorkDallasDenver

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExempleLorsque ce routeur prend connaissance des 3 nouvelles lignes insrer dans sa table de routage, il constate quil peut les combiner en une seule rgle : 194.24.0.0 / 19 vers linterface New York. Ladresse : 11000010 00011000 00000000 00000000 Le masque de sous rseau : 11111111 11111111 11100000 00000000

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExempleCette entre dit denvoyer tous les paquets destins nimporte quelle des 3 universits New YorkEn combinant ces entres, le routeur de Omaha simplifie sa table de routage et donc amliore ses performances.On appelle cette technique lagrgation de routes.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExempleLentre agrge du routeur de Omaha dirige aussi vers New York les datagrammes destins aux adresses non assignes.Si ces adresses taient attribues luniversit de Californie, il faudrait ajouter une entre supplmentaire : Exemple : 194.24.12.0 / 22 vers Dallas

    @ Michel Carpentier - Alain Gofflot

  • Routage : LAN ou WAN ?Le mme principe du ET logique est utilis par les stations dun LAN pour dterminer si le datagramme quelles envoient doit tre dlivr sur le LAN ou envoy un routeur pour une expdition sur un WAN.

    @ Michel Carpentier - Alain Gofflot

  • Routage : LAN ou WAN ?Exemple : voici la configuration dune machine.IP : 192.168.0.15Netmask : 255.255.255.0Gateway : 192.168.0.1

    @ Michel Carpentier - Alain Gofflot

  • Routage : LAN ou WAN ?Cette machine envoie un datagramme vers 192.168.0.33.On effectue un ET logique entre ladresse de destination et le masque de sous rseau.11000000 01000100 00000000 00100001 11111111 11111111 11111111 00000000 -------------------------------------------------------- 11000000 01000100 00000000 00000000Cette adresse correspond ladresse rseau calcule partir de ladresse IP de la machine.Le datagramme doit donc tre dlivr sur le LAN.

    @ Michel Carpentier - Alain Gofflot

  • Routage : LAN ou WAN ?Cette machine envoie un datagramme vers 192.168.100.33.On effectue un ET logique entre ladresse de destination et le masque de sous rseau.11000000 01000100 01100100 00100001 11111111 11111111 11111111 00000000 -------------------------------------------------------- 11000000 01000100 01100100 00000000Cette adresse ne correspond pas ladresse rseau calcule partir de ladresse IP de la machine.Le datagramme doit donc tre dlivr au routeur

    @ Michel Carpentier - Alain Gofflot

  • Routage : la gatewayLa default gateway note dans la configuration de la machine exemple est en fait la destination par dfaut pour tous les datagrammes ne trouvant pas une ligne qui leur correspond. On peut assimiler cela au panneau Toutes directions. Il sagit dune entre de la table de routage

    @ Michel Carpentier - Alain Gofflot

  • Routage : les outilsConsultation de la table de routage sous Windows :Route printNetstat -nrConsultation de la table de routage sous Unix :Netstat nrRoute (ncessite les droits root)

    @ Michel Carpentier - Alain Gofflot

  • Routage : les outils

    @ Michel Carpentier - Alain Gofflot

  • Routage : les outils

    @ Michel Carpentier - Alain Gofflot

  • Routage : ModificationsAu niveau de la configuration dune machine, il ny a quune seule route par dfault (default gateway).

    @ Michel Carpentier - Alain Gofflot

  • Routage : ModificationsDans certains cas, cela peut poser des problmes. Exemple :

    Tous les datagrammes destination de 10.0.0.0 seront envoys au routeur par dfaut.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ModificationsPour modifier la table de routage dun PC Windows :Ajout dune route : route add 192.168.76.0 mask 255.255.255.0 192.168.0.4

    Suppression dune route : route delete 192.168.76.0 mask 255.255.255.0 192.168.0.4

    Plus dinfos : route /?

    @ Michel Carpentier - Alain Gofflot

  • Routage : ModificationsPour modifier la table de routage dune machine Unix :Ajout dune route : route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0

    Suppression dune route : route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0

    Plus dinfos : man route

    @ Michel Carpentier - Alain Gofflot

  • Routage : ModificationsEn modifiant la table de routage du PC, on peut router directement les datagrammes vers le routeur du rseau 10.0.0.0route add 10.0.0.0 mask 255.255.0.0 192.223.35.2192.223.35.2

    @ Michel Carpentier - Alain Gofflot

  • Routage : ModificationsDans les deux cas (Windows et Unix), les modifications apportes 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 dmarrage de la machine.

    @ Michel Carpentier - Alain Gofflot

  • Liaison couche 2 & 3Nous avons vu prcdemment que la couche 2 utilise des adresses MAC pour transmettre des informations dune station une autre.Avec larrive de la couche 3, nous avons introduit les adresses IP pour assurer lacheminement mondial des datagrammes.Comment effectuer le lien entre adresse MAC et adresse IP ?

    @ Michel Carpentier - Alain Gofflot

  • ARPCe 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 ladresse MAC source, ladresse IP source et ladresse IP destination.

    @ Michel Carpentier - Alain Gofflot

  • ARPChaque machine connecte au rseau local reoit ce paquet, mais seule la machine dont ladresse IP est spcifie correspond ladresse IP destination du paquet rpond. Cette machine envoie alors ladresse MAC source trouve dans le paquet, linformation demande : son adresse MAC.

    @ Michel Carpentier - Alain Gofflot

  • ARPQui est 192.168.0.4 ?Je suis 192.168.0.4 !

    @ Michel Carpentier - Alain Gofflot

  • ARPLes informations ainsi obtenues sont stockes dans une mmoire temporaireOn peut consulter ces informations laide de la commande : arp -a

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceDonnez, pour chaque segment impliqula valeur des adresses ethernet source et destinationla valeur des adresses IP source et destinationutilises pour une communication entre PC1 et PC2, puis PC1 et PC3, PC1 et PC4.Vous utiliserez la notation suivante :

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceLe tableau suivant reprend les adresses des machines :

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceLes tableaux suivants reprennent les tables de routage

    PC2Adresse & MasqueInterfaceGateway0.0.0.0 / 0Eth0199.27.35.250199.27.35.0 / 24Eth0

    PC3Adresse & MasqueInterfaceGateway0.0.0.0 / 0Eth0200.25.148.250200.25.148.0 / 24Eth0

    PC4Adresse & MasqueInterfaceGateway0.0.0.0 / 0Eth0129.46.12.250129.46.0.0 / 16Eth0

    R1Adresse & MasqueInterfaceGateway199.27.35.0 / 242129.46.0.0 / 1630.0.0.0 / 01198.28.25.251

    R2Adresse & MasqueInterfaceGateway200.25.148.0 / 2420.0.0.0 / 01198.28.25.250

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercice

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceTransmission de datagramme de PC1 PC2.On effectue un ET logique entre ladresse IP de destination et le masque du sous rseau de la premire entre de la table de routage de PC1 : 199.27.35.2 ET 0.0.0.0 = 0.0.0.0 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 : 199.27.35.2 ET 255.255.255.0 = 199.27.35.0 La route convient galement. De plus, la correspondance est plus longue (plus de bits correspondants), elle est donc privilgie.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceOn recherche donc ladresse MAC de PC2 en envoyant un paquet ARP en broadcast sur le LAN.La station PC2 rpond en donnant son adresse MAC @PC2.Le paquet peut donc circuler sur le LAN avec les informations suivantes :

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceTransmission dun datagramme de PC1 PC3.Parcours de la table de routage de PC1 : 200.25.148.3 ET 0.0.0.0 = 0.0.0.0 La route convient. On continue200.25.148.3 ET 255.255.255.0 = 200.25.148.0 La route ne convient pas, car ladresse trouve ne correspond pas lentre.La premire ligne est donc utilise. Elle renseigne quil faut envoyer le datagramme la gateway 199.27.35.250On recherche donc ladresse MAC de ce routeur via ARP. Ladresse nous est fournie : @R1-2

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceOn obtient donc :Le datagramme arrive donc dans R1 par linterface 2.Le routeur consulte sa table de routage pour dterminer le traitement apporter ce datagramme.200.25.148.3 ET 255.255.255.0 = 200.25.148.0 La route ne convient pas.200.25.148.3 ET 255.255.0.0 = 200.25.0.0 La route ne convient pas.

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercice200.25.148.3 ET 0.0.0.0 = 0.0.0.0 La route convient et on est arriv au bout de la table de routage.La ligne en question indique quil faut transmettre le datagramme la gateway 198.28.25.251 via linterface 1 du routeurEn utilisant ARP, on dtermine ladresse MAC correspondant cette adresse IP : @R2-1Le datagramme est donc transmis :

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceLe datagramme arrive dans R2 par linterface 1Le routeur consulte sa table de routage pour dterminer le traitement apporter ce datagramme.200.25.148.3 ET 255.255.255.0 = 200.25.148.0 La route convient. 200.25.148.3 ET 0.0.0.0 = 0.0.0.0 La route convient, mais la correspondance est plus courte, on conserve donc la premire ligne comme route utiliser.Cette ligne nous indique dutiliser linterface 2 pour transmettre le datagrammeEn utilisant ARP, on dtermine ladresse MAC correspondant cette adresse IP : @PC3

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceLe datagramme est donc transmis :Le datagramme est arriv destination.

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceTransmission dun datagramme de PC1 PC4.Parcours de la table de routage de PC1 : 129.46.12.15 ET 0.0.0.0 = 0.0.0.0 La route convient. On continue129.46.12.15 ET 255.255.255.0 = 129.46.12.0 La route ne convient pas, car ladresse trouve ne correspond pas lentre.La premire ligne est donc utilise. Elle renseigne quil faut envoyer le datagramme la gateway 199.27.35.250On recherche donc ladresse MAC de ce routeur via ARP. Ladresse nous est fournie : @R1-2

    @ Michel Carpentier - Alain Gofflot

  • Routage : ExerciceOn obtient donc :Le datagramme arrive donc dans R1 par linterface 2.Le routeur consulte sa table de routage pour dterminer le traitement apporter ce datagramme.129.46.12.15 ET 255.255.255.0 = 129.46.12.0 La route ne convient pas.129.46.12.15 ET 255.255.0.0 = 129.46.0.0 La route convient. On continue

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercice129.46.12.15 ET 0.0.0.0 = 0.0.0.0 La route convient et on est arriv au bout de la table de routage. Cependant, la prcdente solution est plus longue, donc utilise.La ligne en question indique quil faut utiliser linterface 3 pour dlivrer le datagramme sur le LAN.En utilisant ARP, on dtermine ladresse MAC correspondant cette ladresse IP de PC4 : @PC4Le datagramme est donc transmis :

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercices Conseils pour la ralisation :Attention aux tables de routage !Ne pas se focaliser sur le schma du rseauTravailler de manire mthodique en suivant lalgorithme de routage.

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercice 2Dans la ralit, le travail de ladministrateur rseau est de trouver la bonne configuration pour chaque routeur. Lexercice suivant colle cette ralit.Trouvez une proposition dadressage pour les stations et les routeurs, puis donnez les tables de routage de chacun dentre eux.

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercice 2192.168.0.0 / 16193.79.56.0 / 24172.15.14.0 / 2411232PC1PC2PC3PC4R1R2

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercices 2Attribution des adresses IP chaque interface de station / routeur. Placez les adresses IP sur le schmaDterminer le routage pour chaque routeur. A remplir dans les tables suivantes.

    @ Michel Carpentier - Alain Gofflot

  • Routage : Exercice 2

    PC1Adresse & MasqueInterfaceGateway

    PC2Adresse & MasqueInterfaceGateway

    PC3Adresse & MasqueInterfaceGateway

    PC4Adresse & MasqueInterfaceGateway

    R1Adresse & MasqueInterfaceGateway

    R2Adresse & MasqueInterfaceGateway

    @ Michel Carpentier - Alain Gofflot

  • NATLes adresses IP sont devenues une denre rare de nos joursUne solution consiste allouer des adresses de manire temporaire aux personnes qui se connectent lInternet par une ligne tlphonique. Cette solution nest malheureusement pas miraculeuse car les entreprises veulent une connexion permanente, de mme que les clients au service ADSL.

    @ Michel Carpentier - Alain Gofflot

  • NATCest pour cela quest ne la technique de traduction dadresses de rseau (Network Address Translation - NAT)On assigne chaque organisation une seule adresse IP (ou un petit groupe).Tous les ordinateurs reoivent une adresse unique interne. Lorsquun datagramme doit tre envoy sur le rseau externe, la traduction dadresse intervient.

    @ Michel Carpentier - Alain Gofflot

  • NATPour raliser cela, 3 plages dadresses IP ont t rserves :10.0.0.0 / 8 16 777 216 htes172.16.0.0 / 121 048 576 htes192.168.0.0 / 1665 536 htesCes adresses peuvent tre utilises librement la condition quaucune delle ne doit tre transmise sur Internet.

    @ Michel Carpentier - Alain Gofflot

  • NATPaquet avant la traductionPaquet aprs la traductionRouteur de lentrepriseRouteur de lISPNAT

    @ Michel Carpentier - Alain Gofflot

  • NATPaquet rponse Routeur de lentrepriseRouteur de lISP???????Que faire dun paquet entrant dans le rseau de lentreprise ?

    @ Michel Carpentier - Alain Gofflot

  • NATOn ne peut modifier lentte IP pour y ajouter une information pour NAT, et il ne reste plus quun 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

  • NATNous verrons plus tard (cours 1081) que TCP et UDP utilise un numro de port source et un numro de port destination pour orienter les paquets vers les bons processus (tant chez lmetteur que le rcepteur).Les numros de 0 1023 sont rservs des services identifis. Exemple : le port http est 80.Ces numros de port sont cods sur 16 bits.

    @ Michel Carpentier - Alain Gofflot

  • NATPar analogie, on pourrait comparer ces numros de ports aux extensions tlphoniques dune entreprise. Le numro de la centrale serait ladresse IP, tandis que les extensions des employs seraient les numros de ports.

    @ Michel Carpentier - Alain Gofflot

  • NATLorsquun paquet est envoy lextrieur, il traverse le dispositif NAT :Ladresse IP interne (10.0.0.1) est remplace par ladresse publique de la socit (198.2.4.7)Le champ port source TCP (ou UDP) est remplac par une rfrence une entre dans une table de traduction de 65 536 adresses du dispositif NAT.

    @ Michel Carpentier - Alain Gofflot

  • NATCette table contient :Le numro IP de la machine sourceLe numro de port de la machine sourceLes sommes de contrle sont recalcules et le paquet est transmis.Il est impratif de remplacer le port source par un port choisi, car au sein du rseau, deux machines pourraient tablir une communication vers lextrieur avec le port 5000 comme source au mme moment.

    @ Michel Carpentier - Alain Gofflot

  • NATLorsque la rponse arrive au dispositif NAT de lextrieur, le port TCP (ou UDP) est extrait du paquet et utilis pour retrouver dans la table de correspondance du dispositif NAT, le numro de port et ladresse IP de la machine destinatrice.Une fois lentre localise, le paquet reconstitu (avec recalcul des sommes de contrle), il peut tre envoy au destinataire.

    @ Michel Carpentier - Alain Gofflot

  • NAT (exemple sans NAT)Sans Dispositif NAT10.10.10.2158.64.1.2510.10.10.1158.64.77.2Packet TCP mis IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80Packet TCP reu IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80Packet TCP rponse IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842Packet TCP rponse reue IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842

    @ Michel Carpentier - Alain Gofflot

  • NAT (exemple avec NAT)Dispositif NAT10.10.10.2158.64.1.2510.10.10.1158.64.77.2Packet TCP mis IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80Packet TCP reu IP Src : 158.64.76.2Port Src : 5689IP Dest : 158.64.1.25Port Dest : 80Packet TCP rponse IP Src : 158.64.1.25Port Src : 80IP Dest : 158.64.77.2Port Dest : 5689Packet TCP rponse reue IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842Packet TCP reu IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80Packet TCP NAT IP Src : 158.64.77.2Port Src : 5689IP Dest : 158.64.1.25Port Dest : 80Table NATPacket TCP reu IP Src : 158.64.1.25Port Src : 80IP Dest : 158.64.77.2Port Dest : 5689Packet TCP d-NAT IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842Insert lineConsultline

    @ Michel Carpentier - Alain Gofflot

  • NATCette technique a cependant ses problmes :NAT ne respecte pas le modle architectural qui dit que chaque machine est identifie par son adresse IPNAT altre le rseau en faisant dun rseau sans connexion une sorte de rseau avec connexions. En cas de plantage du routeur toutes les connexions en cours sont perdues.

    @ Michel Carpentier - Alain Gofflot

  • NATNAT enfreint la rgle la plus essentielle de lorganisation en couches : la couche k nest absolument pas concerne par ce que la couche k+1 place dans son champ de donnes. La version 2 de TCP risque de poser beaucoup de problmes.Les processus de lInternet ne sont pas strictement obligs dutiliser TCP ou UDP. Avec NAT, ils perdent cette libert.

    @ Michel Carpentier - Alain Gofflot

  • NATCertaine application insrent des adresses IP dans le corps des donnes transmises. Le rcepteur peut ensuite les extraire pour sen servir. Exemple : FTP, H323.tant donn que le champ port source est cod sur 16 bits, un maximum de 65 536 machines peuvent tre associes. Ceci peut tre contourn en ralisant le NAT avec plusieurs adresses externes.

    @ Michel Carpentier - Alain Gofflot

  • Les protocoles de contrleOutre IP qui sert la transmission de donnes, lInternet dispose dun certain nombre de protocoles destins au contrle du rseau :ICMP Internet Control Message ProtocolARP Address Resolution ProtocolRARP Reverse Address Resolution ProtocolBOOTP - BootstrapDHCP Dynamic Host Configuration Protocol

    @ Michel Carpentier - Alain Gofflot

  • ICMPICMP (Internet Control Message Protocol) sert :Signaler des vnement inattendus sur le rseauTester le fonctionnement du rseauUne dizaine de messages ICMP ont t dfinis et peuvent tre transmis au sein dun paquet IP.

    @ Michel Carpentier - Alain Gofflot

  • ICMP

    @ Michel Carpentier - Alain Gofflot

  • ICMPDestination inaccessible est utilis lorsque le sous rseau, ou un routeur ne parvient pas localiser la destination. Ce paquet peut galement tre envoy par un routeur qui ne peut transmettre une donne pour laquelle le champ DF de lentte est positionn 1.

    @ Michel Carpentier - Alain Gofflot

  • ICMPDlai expir est mis lorsquun paquet est limin car son compteur de dure de vie a atteint la valeur 0.TTL=4TTL=3TTL=2TTL=1TTL=0Le paquet est dtruitICMPICMPICMPICMPICMPMon paquet a t perdu

    @ Michel Carpentier - Alain Gofflot

  • ICMPProblme de paramtre indique quune valeur illgale a t dtecte dans un champ dentte. Il signifie un bug dans un logiciel IP.Ralentissement de source tait destin initialement ralentir lmetteur trop rapide. Il nest plus utilis car le contrle de flux est maintenant assur en couche 4. (Cours 1081)

    @ Michel Carpentier - Alain Gofflot

  • ICMPRedirection est mis par un routeur lorsquil lui semble quun paquet nest pas correctement rout. Il signale lhte metteur la probabilit dune erreur.Les messages demande dcho et envoi dcho permettent de dterminer si une destination donne est accessible et active.

    @ Michel Carpentier - Alain Gofflot

  • PingPing permet dutiliser ces paquet ICMP demande dcho et envoi dcho.

    @ Michel Carpentier - Alain Gofflot

  • Ping

    @ Michel Carpentier - Alain Gofflot

  • PingPing possde quelques options interessantes

    @ Michel Carpentier - Alain Gofflot

  • ICMPDautres messages on t dfinis. Leur liste se trouve maintenue ladresse http://www.iana.org/assignments/icmp-parameters

    @ Michel Carpentier - Alain Gofflot

  • ICMP & ARP : ExerciceComment dterminer ladresse MAC dune station distante ? Solution en 2 tapes :Effectuer un PING vers la stationConsulter la table dadresses MAC via ARP.

    @ Michel Carpentier - Alain Gofflot

  • ICMP & ARP : ExerciceQuelle est ladresse MAC de la station 192.168.100.164 ? Cette adresse nest pas en mmoire :

    @ Michel Carpentier - Alain Gofflot

  • ICMP & ARP : ExerciceOn effectue un PING vers cette station :

    @ Michel Carpentier - Alain Gofflot

  • ICMP & ARP : ExerciceOn regarde le contenu de la table ARP :

    @ Michel Carpentier - Alain Gofflot

  • RARPNous avons vu que ARP permet de dcouvrir ladresse MAC dune station dont on connat ladresse IPDans certains cas, linverse est galement intressant : certaines stations disk-less doivent demander au rseau lattribution dune adresse IP, connaissant leur adresse MAC.

    @ Michel Carpentier - Alain Gofflot

  • RARPRARP (Reverse Address Resolution Protocol) assure cette fonction.RFC 903Une station effectue une requte RARP en broadcast avec sa propre adresse MAC.Le serveur RARP rpond en donnant ladresse IP quil souhaite attribuer cette station

    @ Michel Carpentier - Alain Gofflot

  • RARPJe suis 00-0D-56-E9-14-0F. Quelle IP dois-je utiliser ?Votre IP est 192.168.100.162 !

    @ Michel Carpentier - Alain Gofflot

  • RARPInconvnient :Le broadcast est effectu en plaant tous les bits de ladresse de destination 1. Une telle frame ne traverse pas le routeur qui dlimite le segment de la station mettrice.En consquence, il faut un serveur RARP par segment de rseau.

    @ Michel Carpentier - Alain Gofflot

  • BOOTPBOOTP (Bootstrap) contourne linconvnient de RARP en utilisant des messages UDP pour effectuer les requtes.Ds lors, les routeurs peuvent tre franchis.RFC 951, 1048, 1084

    @ Michel Carpentier - Alain Gofflot

  • BOOTPInconvnient :Sur le serveur BOOTP, chaque station doit tre dcrite sous la forme :Adresse ethernet -> Adresse IPLa gestion dune telle table est source de lourdeur et de risque potentiels de mauvaise configuration.

    @ Michel Carpentier - Alain Gofflot

  • DHCPEn rpondant ce dernier inconvnient, le protocole BOOTP a chang de nom : DHCP (Dynamic Host Configuration Protocol).Bas sur RFC 2131 et RFC 2132Le fonctionnement est bas sur le mode client serveur.

    @ Michel Carpentier - Alain Gofflot

  • DHCPServeur DHCPClient DHCPClient DHCPDonne moi une adresse IPVoici ton adresse IP

    @ Michel Carpentier - Alain Gofflot

  • DHCPUn serveur DHCP peut envoyer des informations diverses :adresse IPmasque de sous-rseauvaleurs optionelles :routeur par dfautserveur(s) DNSoptions spcifiques au client.

    @ Michel Carpentier - Alain Gofflot

  • DHCPLorsque lattribution dadresses se fait automatiquement, il faut sassurer que les adresses qui ne sont plus utilises sont restitues au serveur.Pour assurer cela, on utilise le mcanisme du bail (leasing)Chaque adresse est prette pour une certaine priode. A la fin de cette priode, elle peut tre renouvele ou remise disposition.

    @ Michel Carpentier - Alain Gofflot

  • DHCPIl existe plusieurs formes de requtes DHCP :DHCPDISCOVER (pour localiser les serveurs DHCP disponibles) DHCPOFFER (rponse du serveur un paquet DHCPDISCOVER, qui contient les premiers paramtres) DHCPREQUEST (requte diverse du client pour par exemple prolonger son bail) DHCPACK (rponse du serveur qui contient des paramtres et l'adresse IP du client) DHCPNAK (rponse du serveur pour signaler au client que son bail est chu ou si le client annonce une mauvaise configuration rseau) DHCPDECLINE (le client annonce au serveur que l'adresse est dj utilise) DHCPRELEASE (le client libre son adresse IP) DHCPINFORM (le client demande des paramtres locaux, il a dj son adresse IP)

    @ Michel Carpentier - Alain Gofflot

  • DHCPServeur DHCPClient DHCPClient DHCPDHCPDISCOVER Source : 0.0.0.0 Destin. : FF.FF.FF.FFDHCPOFFERIP : 158.64.76.4 Mask : 255.255.255.0Lease : 48hMac client : 00-10-C6-2A-C8-ACIP Server : 158.64.76.1Le poste client demande une adresse IP au(x) serveur(s) DHCPLe serveur envoie une proposition au client

    @ Michel Carpentier - Alain Gofflot

  • DHCPServeur DHCPClient DHCPClient DHCPDHCPREQUEST Source : 0.0.0.0 Destin. : FF.FF.FF.FF IP : 158.64.76.4DHCPACKIP : 158.64.76.4 Mask : 255.255.255.0Lease : 48hMac client : 00-10-C6-2A-C8-ACIP Server : 158.64.76.1Le poste client accepte la premire proposition quil a reue en informant tous les serveurs.Le serveur confirme lattribution de ladresse

    @ Michel Carpentier - Alain Gofflot

  • DHCPServeur DHCP1Client DHCPdu serveur 2Client DHCPdu serveur 1Serveur DHCP2131.25.27.150131.25.27.200131.25.27.175131.25.27.225131.25.27.180131.25.27.180ERREUR

    @ Michel Carpentier - Alain Gofflot

  • Le routage dans lInternetNous avons vu jusqu prsent un certain nombre de protocoles de contrle dInternet :ICMPARP, RARPDHCPVoyons prsent les protocoles de routage de ce rseau fdrateur

    @ Michel Carpentier - Alain Gofflot

  • Le routage dans lInternetPar rseau fdrateur il faut comprendre dInternet est compos dun trs grand nombre de systmes autonomes (SA) grs par des acteurs (socits, ) indpendants :un SA est ensemble de rseaux qui sont sous un mme contrle administratif :ex : RESTENA, BELNET, UUNET, chacun de ces acteurs a la libert du choix, dans son systme (en interne) de son protocole de routageun nombre potentiellement lev de protocoles diffrents

    @ Michel Carpentier - Alain Gofflot

  • Le routage dans lInternetLes diffrents SA sont interconnects entre euxen ce qui concerne BELNET :connexion directe avec plusieurs AS belges via BNIX :http://www.bnix.netconnexion directe avec plusieurs AS hollandais via AMSIX :http://www.ams-ix.netconnexion directe avec plusieurs rseaux de la recherche :SURFNET (NL), TEN-155 (Europe)connexion directe avec des ISPs internationaux

    @ Michel Carpentier - Alain Gofflot

  • Le routage dans lInternetQuid de linterconnexion :la dfinition de normes facilite grandement le travail de tousen effet, si certaines rgles sont respectes, limplmentation de linterfaage frontire entre ces diffrents SA est considrablement facilite :standardisation des rgles de communicationrutilisation du code

    @ Michel Carpentier - Alain Gofflot

  • Le routage dans lInternetLe routage dans lInternet commence donc par le routage dans un systme autonome :nous parlerons des protocoles de routage interne

    Nous verrons ensuite le routage entre systmes autonomes :nous parlerons des protocoles de routage externe

    @ Michel Carpentier - Alain Gofflot

  • Le routage dans lInternetExterior Gateway Protocol :Distribue les routes globalement en considrent chaque SA comme une bote noirInterior Gateway Protocol :Topologie interne de lAS et des liens externes

    @ Michel Carpentier - Alain Gofflot

  • Les protocoles de routage interneOu routage intradomaine :Diffrents types de routage :statique : cfr. 1080-1081dynamique :avec vecteur de distance : RIPavec tats de liaison : OSPF, IS-ISAbordons ces deux dernires catgories

    @ Michel Carpentier - Alain Gofflot

  • Routage : pourquoi ?Lobjectif principal de la couche 3 est, comme nous lavons dj vu, dacheminer des paquets de la source vers la destinationDans un rseau, comment trouver le chemin dun point A un point B ?cest le travail des algorithmes de routageen gnral, chaque routeur se base sur sa table de routage pour dterminer le port quil va attribuer pour vhiculer le paquet

    @ Michel Carpentier - Alain Gofflot

  • Routage : exemple

    @ Michel Carpentier - Alain Gofflot

  • Dtermination de la routePrincipe doptimalitsi le routeur J se trouve sur le meilleur chemin de I K, alors le meilleur chemin de J K suit la mme route que le meilleur chemin de I Kon peut donc trouver le meilleur chemin de faon incrmentaleDans un rseau, lensemble des meilleurs chemins partants dun routeur est un arbre dont la racine est ce routeur

    @ Michel Carpentier - Alain Gofflot

  • Algorithmes de routageMeilleur chemin dans un rseau ?plus court chemin [le moins de lignes traverser]chemin avec le dlai le plus courtchemin avec le dbit le plus leven gnral, on caractrise chaque ligne par un nombre [mtrique]

    Comment construire les tables de routage ?Routage statiqueRoutage dynamique

    @ Michel Carpentier - Alain Gofflot

  • Routage statiquePrincipeun ordinateur spcialis calcule les tables des routage pour tous les routeurs du rseau

    Calcule des tables de routagealgorithme pour trouver le chemin le plus courtalgorithmes plus complexes pour optimiser lutilisation du rseau en fonction du trafic

    @ Michel Carpentier - Alain Gofflot

  • Routage statiqueAvantages du routage statique :facile utiliser dans un petit rseauoptimisation possible des tables de routages

    Dsavantagespas dadaptation dynamique lvolution du traficcomment faire quand en cas de en panne ?

    @ Michel Carpentier - Alain Gofflot

  • Routage dynamiquePrincipe :les routeurs cooprent pour mettre jour leurs tables de routage de faon dynamique avec un algorithme distribuutilis dans quasiment tous les rseaux

    Mthodes :routage avec vecteurs de distanceroutage avec tats de liaison

    @ Michel Carpentier - Alain Gofflot

  • Routage dynamiqueAvantage :adaptabilit

    Dsavantage :beaucoup plus complexe implmenter que routage statique

    @ Michel Carpentier - Alain Gofflot

  • Routage - vecteurs de distancePrincipe :chaque routeur transmet priodiquement un vecteur comprenant pour chaque destination connue du routeur :1. adresse de la destination2. distance depuis le routeur qui transmet le vecteur jusqu la destination

    le vecteur de distance est en fait un rsum de la table de routage du routeur

    @ Michel Carpentier - Alain Gofflot

  • Routage - vecteurs de distanceChaque routeur reoit les vecteurs transmis par ses voisins immdiats et se base sur cette information pour construire sa table de routage

    Lorsquil dmarre, un routeur ne connat que luimme

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 1Exemple :rseau simple avec lignes de distance unitaire

    A = 0A = 0

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 2Initialement, un routeur ne connat que luimme et il peut se joindre avec une distance de 0

    Vecteur de distance de A :A=0envoy sur les port Est et Sud de A (tous)

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 3B et D connaissent maintenant lexistence de ARouting table

    A : 0 local

    Routing table

    C : 0 LocalRouting table

    B : 0 LocalA : 1 Ouest

    Routing table

    D : 0 LocalA : 1 Nord

    Routing table

    E : 0 Local

    ABCDED=0; A=1D=0; A=1

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 4Vecteur de distance pour D :D=0 ; A=1envoy sur les ports Nord et Est de D

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 5E connat maintenant A et DRouting table

    A : 0 localD : 1 SudRouting table

    C : 0 LocalRouting table

    B : 0 LocalA : 1 Ouest

    Routing table

    D : 0 LocalA : 1 Nord

    Routing table

    E : 0 LocalD : 1 OuestA : 2 Ouest

    ABCDEC=0C=0

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 6Supposons que C dcide denvoyer son vecteur :vecteur de distance pour C ce moment :C=0envoy sur les ports Ouest et SudOuest

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 7B et E connaissent lexistence de CRouting table

    A : 0 localD : 1 SudRouting table

    C : 0 LocalRouting table

    B : 0 LocalA : 1 OuestC : 1 Est

    Routing table

    D : 0 LocalA : 1 Nord

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-Est

    ABCDEE=0;D=1;A=2;C=1E=0;D=1;A=2;C=1E=0;D=1;A=2;C=1

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 8Nouveau vecteur de distance pour E :E=0 ; D=1 ; A=2 ; C= 1envoy sur tous les ports de E

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 9B reoit le vecteur de E :nouvelle route pour E et Droute plus mauvaise pour A et C

    Routing table

    A : 0 localD : 1 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestRouting table

    B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 Est

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-Est

    ABCDEB=0;A=1;C=1;D=2;E=1B=0;A=1;C=1;D=2;E=1B=0;A=1;C=1;D=2;E=1

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 10Nouveau vecteur de distance de B :B=0 ; A=1 ; C=1; E = 1 ; D=2

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 11Nouveau vecteur de distance de A :A=0 ; D=1 ; B=1 ; C=2 ; E=2envoy sur tous les ports de A Routing table

    A : 0 localD : 1 SudB : 1 EstC : 2 EstE : 2 EstRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 Est

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEA=0;B=1;C=2;D=1;E=2

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 12Routing table

    A : 0 localD : 1 SudB : 1 EstC : 2 EstE : 2 EstRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 NordRouting table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDE

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : exemple 13A cet instant, tous les routeurs savent comment joindre nimporte quel autre routeur du rseau

    Les tables de routage sont stables :la rmission dun vecteur de distance ne provoquera pas de changement dans une table de routage

    @ Michel Carpentier - Alain Gofflot

  • Routage avec VdD : problmeQue faire en cas de panne dune ligne ?

    Supprimer dans la table de routage de A et B les destinations que lon pouvait joindre via la ligne en panne :cela ne suffit pas, il faut galement propager dans le rseau linformation concernant la panne de la ligne

    @ Michel Carpentier - Alain Gofflot

  • Routage avec VdD : problmeIde :une ligne en panne = ligne avec distance infinieenvoyer un nouveau vecteur de distance indiquant une distance infinie pour les destinations que lon pouvait joindre via la ligne qui est tombe en panne

    @ Michel Carpentier - Alain Gofflot

  • Vecteurs de distance : situation stableRouting table

    A : 0 localD : 1 SudB : 1 EstC : 2 EstE : 2 EstRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 NordRouting table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEApparitiondune panne

    @ Michel Carpentier - Alain Gofflot

  • VdD : raction aux pannes (1)Nouveau vecteur de distance de A :A=0 ; D=1 ; B= ; C= ; E=envoy sur le port Sud de ARouting table

    A : 0 localD : 1 SudB : C : E : Routing table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : C : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Nord

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEA=0;B=;C=;D=1;E=

    @ Michel Carpentier - Alain Gofflot

  • VdD : raction aux pannes (2)D apprend la panne. Il ragit en ajustant ses tables de routage :D passait par A pour aller BA annonce maintenant une distance infinie pour BD 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

  • VdD : raction aux pannes (3)Routing table

    A : 0 localD : 1 SudB : C : E : Routing table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : C : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB :

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDED=0;B=;A=1;C=2;E=1

    @ Michel Carpentier - Alain Gofflot

  • VdD : raction aux pannes (4)Chaque routeur doit rapprendre la topologie :A dcouvre une route vers C et vers E via DA et D ne peuvent toujours pas joindre BC 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

  • VdD : raction aux pannes (5)Routing table

    A : 0 localD : 1 SudB : C : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : C : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB :

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEB=0;A=;C=1;E=1;D=2

    @ Michel Carpentier - Alain Gofflot

  • VdD : raction aux pannes (6)C apprend, son tour, quil 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=1ce dernier est envoy sur tous ses ports

    @ Michel Carpentier - Alain Gofflot

  • VdD : raction aux pannes (7)Routing table

    A : 0 localD : 1 SudB : C : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : B : 1 OuestRouting table

    B : 0 LocalA : C : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB :

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEE=0;D=1;A=2;C=1;B=1E=0;D=1;A=2;C=1;B=1

    @ Michel Carpentier - Alain Gofflot

  • VdD : raction aux pannes (8)D apprend de E une route vers BB apprend de E une route vers AC apprend de E une route vers Aleurs 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

  • VdD : raction aux pannes (9)D enverra son vecteur de distance et annoncera A la route permettant de joindre B via DRouting table

    A : 0 localD : 1 SudB : C : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Est

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDE

    @ Michel Carpentier - Alain Gofflot

  • VdD : situation stable aprs une panneRouting table

    A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Est

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDE

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panneUne nouvelle panne survient sur la ligne entre D et E :quid de la raction dajustement des tables par propagation de nouveaux vecteurs ?

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne

    D dcouvre lexistence de la panne :D sait maintenant que la distance vers E, C et B est infiniesi cest D qui envoie son vecteur de distance, tout se passe bien. Aucun problmeLe problme vient quand A transmet en premier un vecteur de distance

    @ Michel Carpentier - Alain Gofflot

  • VdD : Nouvelle panneRouting table

    A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Est

    Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDE

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (1)Vecteur de distance de A :A=0 ; D=1 ; B=3 ; C=3 ; E=2envoy sur tous les ports de ARouting table

    A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : C : B : Routing table

    E : 0 LocalD : A : C : 1 Nord-EstB : 1 Nord

    ABCDEA=0;D=1;B=3;C=3;E=2

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (2)Le vecteur de distance de A permet D davoir 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=4il est envoy sur tous les ports de D

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (3)Routing table

    A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 3 NordC : 4 NordB : 4 NordRouting table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDED=0;A=1;E=3;C=4;B=4

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (4)Mauvaise nouvelle pour A :sa route vers B, C et E est plus longue dune unitmise 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=3envoy sur tous les ports

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (5)Routing table

    A : 0 localD : 1 SudB : 4 SudC : 4 SudE : 3 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 3 NordC : 4 NordB : 4 NordRouting table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEA=0;D=1;B=4;C=4;E=3

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (6)Mauvaise nouvelle pour D :sa route vers B, C et E est plus longue dune unit quavant

    Le nouveau vecteur de distance pour D est :A=1 ; D=0 ; B=5 ; C=5 ; E=4envoy sur tous les ports

    Problme : il y a une boucle

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (7)Routing table

    A : 0 localD : 1 SudB : 4 SudC : 4 SudE : 3 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : 4 NordC : 5 NordB : 5 NordRouting table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEA=1;D=0;B=5;C=5;E=4

    @ Michel Carpentier - Alain Gofflot

  • VdD : nouvelle panne (8)Origine du problme :comptage linfini car un routeur annonce sur une ligne des routes quil a appris via cette mme ligne

    Comment viter ?horizon partag (split horizon)principe :construire un vecteur de distance pour chaque lignesur une ligne, ne pas annoncer les destinations que lon ne parvient pas joindre via cette ligne

    @ Michel Carpentier - Alain Gofflot

  • VdD : horizon partagRouting table

    A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : C : B :

    Routing table

    E : 0 LocalD : A : C : 1 Nord-EstB : 1 Nord

    ABCDED=0;B=;E=A=0

    @ Michel Carpentier - Alain Gofflot

  • Horizon partagLe 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

  • Horizon partagA apprend de D la mauvaise nouvelle :le problme du comptage infini est rsolu

    Routing table

    A : 0 localD : 1 SudB : C : E : Routing table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : C : B : Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDE

    @ Michel Carpentier - Alain Gofflot

  • Horizon partag avec empoisonnementAmlioration horizon partag :horizon partag avec empoisonnementprincipeconstruire un vecteur de distance pour chaque ligne sur une ligne donneannoncer les destinations que lon parvient atteindre via dautres lignes normalementannoncer les destinations que lon parvient atteindre via cette ligne en indiquant une distance infinieAvantage :permet dannoncer plus rapidement les mauvaises nouvelles que split horizon simple

    @ Michel Carpentier - Alain Gofflot

  • Horizon partag avec empoisonnement (1)Retour lexemple prcdent :

    Vecteur envoy par A : A=0 ; D= ; B= ; C= ; E=Routing table

    A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 SudRouting table

    C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 OuestRouting table

    B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud

    Routing table

    D : 0 LocalA : 1 NordE : C : B : Routing table

    E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCDEA=0;D=;B=;C=;E=

    @ Michel Carpentier - Alain Gofflot

  • Limitation horizon partag (avec ou sans empoisonnement)Routing table

    A : 0 localB : C : E : Routing table

    C : 0 LocalE : 1 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : C : 1 EstE : 1 Sud

    Routing table

    E : 0 LocalA : 2 NordC : 1 Nord-EstB : 1 NordABCEA=2;B=1;C=0;E=A=;B=0;C=1;E=1

    @ Michel Carpentier - Alain Gofflot

  • Limitation horizon partag (avec ou sans empoisonnement)B envoie ses vecteurs de distance :le vecteur arrive en E

    Avant que le vecteur de B narrive en C, C envoie son vecteur E

    @ Michel Carpentier - Alain Gofflot

  • Limitation horizon partag (avec ou sans empoisonnement)Routing table

    A : 0 localB : C : E : Routing table

    C : 0 LocalE : 1 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : C : 1 EstE : 1 Sud

    Routing table

    E : 0 LocalA : 2 OuestC : 1 Nord-EstB : 1 Nord

    ABCEA=2;B=1;C=0;E=A=;B=0;C=1;E=

    @ Michel Carpentier - Alain Gofflot

  • Limitation horizon partag (avec ou sans empoisonnement)Routing table

    A : 0 localB : C : E : Routing table

    C : 0 LocalE : 1 Sud-OuestA : 2 OuestB : 1 OuestRouting table

    B : 0 LocalA : 1 OuestC : 1 EstE : 1 Sud

    Routing table (E)

    Routing table aprs vecteur de B :E : 0 LocalA : C : 1 Nord-EstB : 1 Nord

    Routing table aprs vecteur de C :E : 0 LocalA : 3 Nord-EstC : 1 Nord-EstB : 1 Nord

    ABCEA=2;B=1;C=0;E=A=;B=0;C=1;E= E enverra son vecteur de distance :B dcouvrira une route vers A via E et lannoncera C Nouveau problme de comptage l

    @ Michel Carpentier - Alain Gofflot

  • Routage avec tat de liaisonIde :plutt que denvoyer uniquement la distance vers chaque destination, diffuser sur tous les routeurs une carte complte du rseau

    Comment construire cette carte ?chaque routeur doit dcouvrir ses voisins chaque routeur doit mesurer le dlai de la ligne vers chacun de ces voisinschaque routeur envoie un paquet indiquant ses proches voisins tous les routeurs du rseaules routeurs assemblent les paquets reus et utilisent Dijkstra pour calculer le chemin +court

    @ Michel Carpentier - Alain Gofflot

  • Dcouverte des voisinsComment un routeur peut-il dcouvrir ses voisins ?Message HELLO :envoyer priodiquement un paquet spcial HELLO qui indique ladresse du routeur sur chaque ligneles voisins rpondent en envoyant leur adresselenvoi priodique permet de vrifier que la ligne reste active

    BEA: HELLOB: HELLOE: HELLO

    @ Michel Carpentier - Alain Gofflot

  • Mesure du dlaiComment mesurer le dlai des lignes ?via le mcanisme HELLO permet de mesurer le dlai allerretouren divisant par 2 on obtient le dlai de la lignele dlai doitil tenir compte de la charge actuelle de la ligne ? :si oui, le routage pourra prendre la charge indirectement en compte, mais le routage risque dtre instablesi non, le routage sera plus stable, mais certaines lignes risquent dtre mal utilises

    @ Michel Carpentier - Alain Gofflot

  • Mesure du dlaiComment tenir compte de la charge de la ligne dans la mesure du dlai ?

    Buffer de sortie du routeur

    contient des paquets en attente de transmissionSi la charge est leve, le buffer contiendrabeaucoup de paquets en attente en moyenneSi la charge est faible, le buffer contiendrapeu de paquets en moyenne

    Placement du paquet Hello la tte du buffer : dlai mesur par Hello sera indpendant de la charge de la ligne la queue du buffer :(comme sil sagissait dun paquet normal) : dlai par Hello mesur sera fonction de la charge de la ligne

    @ Michel Carpentier - Alain Gofflot

  • Dtermination de la topologieComment dterminer la topologie du rseau ?en dcouvrant ses voisins, chaque routeur dcouvre une petite partie de la topologie

    en assemblant ces petites parties, on peut construire la topologie complte

    chaque routeur rsume sa topologie locale en un link state packet (LSP) contenant :identification du routeurcouples (voisin,dlai pour atteindre ce voisin)

    @ Michel Carpentier - Alain Gofflot

  • Dtermination de la topologieQuand construire les LSPs ?priodiquementen cas de problmes (ligne devenant active ou en panne ou dlai changeant fortement)

    Comment distribuer la topologie ? en sappuyant sur les tables de routage :impossible car ces tables nexistent pas ou risquent dtre incohrentes lorsque lon commence diffuser la topologie

    @ Michel Carpentier - Alain Gofflot

  • Dtermination de la topologieSans tenir compte de la table de routagela topologie doit tre reue par chaque routeur du rseau

    premire solution :Chaque routeur place sa topologie locale dans un paquet spcial (LSP) et envoie ce paquet sur toutes ses lignes de sortietout routeur qui reoit un LSP dun autre routeur stocke le contenu en mmoire et diffuse ce LSP sur ses lignes de sortie (sauf celle do le LSP provient videmment)

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsE diffuse le premier son LSP sur ses ports :format : metteur [topologie locale] : E[D:1];[B:1];[C:1]Liaisons

    A-B : 1A-D : 1Liaisons

    B-C : 1C-E : 1Liaisons

    A-B : 1B-E : 1B-C : 1

    Liaisons

    E-D : 1E-B : 1E-C : 1

    ABCELiaisons

    A-D : 1D-E : 1

    DLSP : E[D:1];[B:1];[C:1]LSP : E[D:1];[B:1];[C:1]LSP : E[D:1];[B:1];[C:1]

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsChaque routeur rediffuse le LSP reu sur toutes ses lignes sauf celles do le LSP provientComment viter quun LSP ne boucle en permanence ?Liaisons

    A-B : 1A-D : 1Liaisons

    B-C : 1C-E : 1B-E : 1D-E : 1Liaisons

    A-B : 1B-E : 1B-C : 1E-D : 1E-C : 1

    Liaisons

    E-D : 1E-B : 1E-C : 1

    ABCELiaisons

    A-D : 1D-E : 1B-E : 1E-C : 1

    DLSP : E[D:1];[B:1];[C:1]LSP : E[D:1];[B:1];[C:1]

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsComment rsoudre le problme du bouclage ?il faut quun routeur vite de rediffuser un LSP quil a dj reu prcdemment sur une autre ligne :pour cela, un routeur doit conserver le dernier LSP mis par chaque routeur du rseauprincipe :chaque LSP contient :un numro de squence incrment par lmetteur chaque nouveau LSPune identification de lmetteur du LSPles couples [routeur:distance] pour tous les routeurs voisins du routeur qui met le LSP

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPschaque routeur stocke le LSP le plus rcent reu de chaque routeur du rseauun LSP est trait et rediffus uniquement si il est plus rcent que le LSP qui tait dans la mmoire du routeur

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsInitialement la table des LSPs est videE envoie son LSP sur tous ses portsLiaisons

    A-B : 1A-D : 1---------LSPsLiaisons

    B-C : 1C-E : 1---------LSPsLiaisons

    A-B : 1B-E : 1B-C : 1---------LSPsLiaisons

    E-D : 1E-B : 1E-C : 1---------E-0[D:1];[B:1];[C:1]

    ABCELiaisons

    A-D : 1D-E : 1---------LSPsDLSP : E-0[D:1];[B:1];[C:1]LSP : E-0[D:1];[B:1];[C:1]LSP : E-0[D:1];[B:1];[C:1]

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsLiaisons

    A-B : 1A-D : 1---------LSPsLiaisons

    B-C : 1C-E : 1B-E : 1D-E : 1---------E-0[D:1];[B:1];[C:1]Liaisons

    A-B : 1B-E : 1B-C : 1E-D : 1E-C : 1---------E-0[D:1];[B:1];[C:1]

    Liaisons

    E-D : 1E-B : 1E-C : 1---------E-0[D:1];[B:1];[C:1]

    ABCELiaisons

    A-D : 1D-E : 1B-E : 1E-C : 1---------E-0[D:1];[B:1];[C:1]DLSP : E-0[D:1];[B:1];[C:1]LSP : E-0[D:1];[B:1];[C:1]

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsGrce la table des LSPs :A peut dtecter quil reoit le mme LSP via D et via BB peut dtecter quil reoit un ancien LSP via CC peut dtecter quil reoit me mme LSP de E et via B

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsProblme :un routeur se plante puis redmarreil envoie son LSP avec numro de squence = 0si un ancien LSP de ce routeur existait dans le rseau, les autres routeurs ne propageront pas le nouveau LSP

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsSolution :ajouter un champ "age" dans les LSPsle champ age est dcrment toutes les N secondes mme lintrieur des tables de LSPs des routeursun LSP avec age=0 est trop vieux et supprimchaque routeur envoie priodiquement un nouveau LSP age>0 pour garantir la prsence du LSP dans le rseau

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsAmliorations :viter quun LSP passe deux fois sur une ligne :lorsquun LSP est reu, le routeur attend quelques secondes avant de le rediffuser :si le mme LSP arrive dune autre ligne, on a vit une diffusionsi aprs ce temps le LSP nest pas arriv, on le diffuse

    un routeur qui dmarre peut demander un voisin de recevoir les LSPs stocks par ce voisin

    @ Michel Carpentier - Alain Gofflot

  • Diffusion des LSPsgarantir la transmission correcte des LSPs :CRC dans chaque LSP pour dtecter les erreurs de transmissionla rception de chaque LSP est acquitte par le routeur qui le reoit sur la ligne o il la reu :si lacquit narrive pas, le LSP est rmis

    @ Michel Carpentier - Alain Gofflot

  • Construction de la table de routagePrincipe :sur base des LSPs reus, chaque routeur calcule un arbre de recouvrement minimum en se considrant comme la racine de larbre

    partir de larbre de recouvrement minimum, il est trs facile de dduire la table de routage

    @ Michel Carpentier - Alain Gofflot

  • Construction de la table de routageTable de routage

    R1 : OuestR2 : NordR4 : EstR4 : EstR5 : EstR6 : EstR1R2R3R4R4R5R6D = 3D = 2D = 10D = 5D = 1D = 6D = 3D = 3

    @ Michel Carpentier - Alain Gofflot

  • Algorithme de DijkstraConstruction de larbre de recouvrement minimum :initialement, larbre comprend uniquement la racineles routeurs adjacents sont placs avec les cots de leur ligne dans une liste de candidatsle routeur candidat avec le cot le plus faible est ajout larbre

    @ Michel Carpentier - Alain Gofflot

  • Algorithme de Dijkstraon 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 candidatsun des voisins est un routeur de la mise des candidats, mais avec un chemin plus court que celui qui est dans la liste actuellelalgorithme se poursuit avec la nouvelle liste des candidats et sarrte avec tous les routeurs dans larbre

    @ Michel Carpentier - Alain Gofflot

  • Algorithme de Dijkstra1) Routeurs : [R1, R2, R4, R5,R6] ; Candidats : [ ] ; Arbre : R32) Routeurs : [R5, R6] ; Candidats : [R1(5) ; R2(3) ; R4 (1) ]-> candidat choisi : R4 Nouvel Arbre : R3 R4 Nouveaux Candidats ? [R1(5) ; R2 (3) ; R5(R44) ; R6(R47) ]3) Routeurs [ ] Candidat choisi : R2 ; Nouvel Arbre : R2 R3 R4 Nouveaux Candidats ? [R1(5) ; R5(R44) ; R6 (R47) ]4) Candidat choisi : R5 ; Nouvel Arbre : R2 R3 R4 R5 Nouveaux candidats ? [R1(5) ; R6(R47) ]R1R2R3R4R4R5R6D = 3D = 2D = 10D = 5D = 1D = 6D = 3D = 3

    @ Michel Carpentier - Alain Gofflot

  • Routage hirarchiqueDans un gros rseau, la table de routage peut devenir trs grande et la distribution des LSPs consommer beaucoup de dbitIl faut donc une alternative visant rduire cette complexit/masse de donnes : routage hirarchique

    @ Michel Carpentier - Alain Gofflot

  • Routage hirarchiquePrincipe :diviser le rseau en rgion lintrieur dune rgion tous les routeurs connaissent la topologie complteles routeurs ne connaissent quun rsum de la topologie lextrieur de leur rgionrduit un petit peu lefficacit du routage, mais facilite grandement la diffusion des LSPs :utilis dans quasiment tous les grands rseaux

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPFRIP ft le premier protocole de routage interne de lInternet.bas sur les vecteurs de distanceOK pour les systmes de taille modesteKO pour des systmes plus tendus :problme de la valeur infinieproblme dune convergence lenteRemplac ds 1979 par un protocole tat de lien

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPFEn 1988, lIETF introduisit OSPF (Open Shortest Path First).En 1990, OSPF ft normalis :ds ce moment, OSPF devint le protocole de routage intra AS dominantRFC 2328

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPFOSPF est conu pour rpondre une longue liste dexigences :protocole ouvert. Il appartient au domaine public. le O de son nomsupport dune grande varit de mtrique :distance physiquedlai transmissiondynamique sadapter automatiquement et rapidement aux changements de topologie

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPFroutage en fonction du type de service demand :exigence nouvelle une partie du trafic rout en temps relest-ce possible sur IP, comment ? reste du traficgestion de lquilibrage des charges :plus efficace en rpartissant le trafic sur plusieurs liaisonssupport des systmes hirarchiques :ncessaire car le dveloppement dInternet ds 1988 est tel quaucun routeur ne peut connatre la topologie toute entire

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPFprise en charge dun minimum de scurit :pour viter que des pirates ne trompent des routeurs en leur envoyant des informations de routage errones

    OSFP supporte trois types de connexions et de rseaux :liaisons point--point entre deux routeursrseaux accs multiple avec diffusion broadcastex. la plupart des LANrseaux accs multiple sans diffusion broadcastex. la plupart des WAN : commutation de paquets

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : dtailsUn des objectifs est le support des grands rseaux :viter des grosses tables de routageSolution :division du rseau en rgions (areas)rgion backbone : cur du rseautous les routeurs connects deux areas ou plus en font partietoutes les autres areas doivent se connecter au backbone

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : dtailsLe routage doit permettre de nimporte quelle area vers une autre travers le backbone

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : fonctionnementOSPF = protocole avec tats de liaisondmarrage dun routeurenvoi de messages HELLO pour dcouvrir ses voisins et construire la topologiemise jour des tables de routages :envoi de LSPs :acquits, numros de squence et geenvoi priodique et lorsque une ligne change fortementdatabase description :indique les numros de squence des diffrents LSP stocks par le routeurutile lorsquune ligne ou un routeur deviennent actifs

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : fonctionnementlink state request :utilis par un routeur pour demander un routeur adjacent un LSP particulier

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : fonctionnementProblme :comment reprsenter un rseau local sous la forme dun graphe ?

    R1 : 192.168.4.1R1 : 192.168.4.31R1 : 192.168.4.21R1 : 192.168.4.11

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : fonctionnementInconvnients :beaucoup de lignes inclure dans le graphebeaucoup de message HELLO :topologie complexene reprsente pas vraiment la ralit :si le LAN tombe en panne :toutes les lignes entre routeurs tombent en panne galement

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : fonctionnementComment rduire la taille du graphe ?reprsenter le rseau local comme un nud virtuel autour auquel tous les routeurs sont connects :routeur dsign :il y a toujours un et un seul routeur dsign par LAN (dialogue avec lextrieur)routeur adjacent

    @ Michel Carpentier - Alain Gofflot

  • Protocole OSPF : fonctionnementAREA 1R7R8R10DR9AREA 2RBRCAREA 0Intrieur dune area : distribution de la topologie de larea les routeurs ne connaissent rien de la topologie des autres areaschaque routeur sait commentrejoindre le backboneIntrieur du backbone : distribution de la topologie du backbone chaque routeur sait joindre les areaspropagation des routes inter-areas

    @ Michel Carpentier - Alain Gofflot

  • BGP : routage interdomaineBGP : Border Gateway ProtocolObjectif :dterminer les routes entre AS, tout en permettant de spcifier des politiques de routage :exemples :Belgacom refuse de faire transiter du trafic destin France Telecom mais accepte le trafic destin WINle trafic entre deux btiments de Microsoft ne doit jamais passer par un btiment dIBMles politiques de routage sont aujourdhui spcifies manuellement dans chaque routeur :politique routage = choix stratgiqueElles ne font par partie du protocole BGP

    @ Michel Carpentier - Alain Gofflot

  • BGP : routage interdomaineRoutage hirarchiquePour BGP, lInternet se rsume aux diffrents AS et aux routeurs se trouvant au bord de ces AS :BGP ne connat pas le dtail interne de la topologie de chaque ASDeux routeurs BGP directement connects schangent les informations de routage de faon fiable (protocole TCP)

    @ Michel Carpentier - Alain Gofflot

  • Types de rseauxIX1IX2AS100 : Rseau de transitaccepte les paquets de et vers nimporte quelle destinationAS9 : Rseau stubrseau connect un seul ASAS4 : Rseau multi-homedrseau connect plusieurs AS mais ne permet pas le transit. Seuls les paquets de ou vers des adresses IP de ce rseau sont accepts

    @ Michel Carpentier - Alain Gofflot

  • BGPPrincipe de fonctionnement :routage avec vecteurs de distance :chaque vecteur contient le chemin complet (liste dAS) et pas seulement ladresse de la destinationchaque AS choisit lui-mme la route quil utilise sur base des vecteurs de distance reus :la route choisie nest pas ncessairement la plus courte

    @ Michel Carpentier - Alain Gofflot

  • BGPAvantage :permet dviter les problmes du vecteur de distance :possible de dtecter les boucles lorsque lon connat le chemin completpermet de connatre les AS par lesquels un paquet passera avant darriver la destination :ncessaire pour supporter du routage politique

    @ Michel Carpentier - Alain Gofflot

  • BGP : exempleRouting table

    AS3 : SudAS2 : EstAS5 : Est [AS2-AS5]AS4 : Est [AS2-AS4]Routing table

    AS1 : Ouest [AS2-AS1]AS2 : OuestAS3 : Est [AS2-AS4-AS3]AS4 : Sud-OuestRouting table

    AS3 : Sud [AS4-AS3]AS1 : OuestAS5 : EstAS4 : SudRouting table

    AS3 : OuestAS2 : NordAS5 : Nord-EstAS1 : Nord [AS2-AS1]AS1AS2AS5Routing table

    AS4 : EstAS1 : NordAS5 : Nord [AS1-AS2-AS5]AS2 : Nord [AS1-AS2]

    DAS3AS4AS2 : AS2AS1 : AS2-AS1AS5 : As2-AS5AS3 : AS2-AS1-AS3AS5 : AS5AS2 : As5-AS2AS1 : AS5-AS2-AS1AS4 : Sud-OuestAS3 : AS3AS1 : As3-AS1AS5 : AS3-AS1-AS2-AS5AS2 : AS3-AS2-AS1

    @ Michel Carpentier - Alain Gofflot

  • BGP : exemple Un routeur BGP annonce aux routeurs extrieurs les sous-rseaux qui peuvent tre atteints via lui :199.19.0.0/24192.168.0.0/16194.100.0.0/23AS30AS20AS10

    @ Michel Carpentier