Master 1 SIGLIS Ingénierie des réseaux Stéphane Tallard Chapitre 4 – Couche réseau Master 1 SIGLIS1 Ingénierie des réseaux - Chapitre 4 La couche Réseau
2 Master 1 SIGLIS Chapitre 4 : La couche réseau Objectifs du chapitre Comprendre les principes derrière les services de la couche réseau Modèles de service de la couche réseau acheminement (forwarding) vs routage comment fonctionne un routeur Routage (choix de chemin) IPv6, mobilité Implémentation sur Internet
Ingénierie des réseaux - Chapitre 4 La couche Réseau 3 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 4 Master 1 SIGLIS La couche réseau Transport de segment de l’émetteur au récepteur Du côté de l’émetteur, on encapsule les segments dans des datagrammes Du côté du receveur, délivre les segments à la couche transport Il y a du protocole réseau dans chaque hôte, dans chaque routeur Les routeurs examinent les entête de tous les datagrammes IP qu’ils voient passer
Ingénierie des réseaux - Chapitre 4 La couche Réseau 5 Master 1 SIGLIS Deux fonctions clé de la couche transport Acheminement: déplacer les paquets de l’entrée d’un routeur à la sortie appropriée de la sortie d’un routeur Routage: déterminer la route prise par les paquets de la source à la destination Utilisation d’algorithmes de routage Analogie Routage : planification d’un voyage de la source à la destination Acheminement : rechercher la bonne sortie de l’échangeur
Ingénierie des réseaux - Chapitre 4 La couche Réseau 6 Master 1 SIGLIS Table d’acheminement locale Valeur de l’entêteLien de sortie Algorithme de Routage 0111 Interaction entre le routage et l’acheminement L’algorithme de routage détermine les valeurs contenues dans les tables de routage.
Ingénierie des réseaux - Chapitre 4 La couche Réseau 7 Master 1 SIGLIS Un survol de l’architecture d’un routeur Deux fonctions clé Exécuter des protocoles/algorithmes de routage (RIP/OSPF/BGP) Acheminer les datagrammes d’une lien entrant vers un lien sortant matrice de commutation processeur de routage Port d’entrée Port de sortie
Ingénierie des réseaux - Chapitre 4 La couche Réseau 8 Master 1 SIGLIS Les fonctions du port d’entrée Terminais on de la ligne terminaison de la ligne Implémentation de la couche liaison (gestion du protocole, extraction) Recherche, routage, mise en queue Matrice de commutation Couche Physique: réception bit à bit Aiguillage décentralisé en fonction de la destination du datgramme, rechercher le port de sortie en utilisant la table de routage dans la mémoire du port d’entrée objectif: achever le traitement des données en entrée à « la vitesse de la ligne » mise en queue: si les datagrammes arrivent plus vite qu’ils sont routés dans la matrice de commutation
Ingénierie des réseaux - Chapitre 4 La couche Réseau 9 Master 1 SIGLIS La matrice de commutation La matrice de commutation est un dispositif physique qui réalise l’aiguillage
Ingénierie des réseaux - Chapitre 4 La couche Réseau 10 Master 1 SIGLIS Ports de sortie Terminais on de la ligne terminaison de la ligne Implémentation de la couche liaison (gestion du protocole, extraction) mise en queue: gestion du buffer Matrice de commutation La bufferisation est nécessaire quand les datagrammes arrivent de la fabrique plus vite que le taux de transmission Une discipline d’ordonnancement choisit parmi les datagrammes bufferisés ceux à transmettre
Ingénierie des réseaux - Chapitre 4 La couche Réseau 11 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 12 Master 1 SIGLIS La couche réseau Internet Table d’acheminement Protocoles de routage Selection de chemin RIP, OSPF, BGP Protocol IP Conventions d’adressage Format de datagramme Traitement des paquets Protocole ICMP Erreurs “signalisation” Couche Transport: TCP, UDP Couche liaison Couche physique Couche réseau Les fonctions de la couche réseau pour les hôtes et les routeurs
Ingénierie des réseaux - Chapitre 4 La couche Réseau 13 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 14 Master 1 SIGLIS Format du datagramme IP V4 ver taille 32 bits données (de longueur variable, typiquement un segment TCP ou UDP ) Identifiant sur 16-bits header checksum time to live Addresse IP de la source (32 bits) Version du protocole IP Taille de l’entête (en octets) Nombre maximum de sauts restants (décrémenté à chaque routeur) Pour réassemblage/ fragmentation Longueur totale du datagramme (en octets) Identifie ce qui est transporté (TCP/UDP) Taille entête. type de service “type” de service (Qualité de service) flgs fragment offset upper layer Options (si présentes) Timestamp,route prise, liste des routeurs à visiter Addresse IP de la source (32 bits) Taille des entêtes 20 octets pour TCP (cf ch.3) 20 octets pour IP = 40 octets + les entêtes de la couche application
Ingénierie des réseaux - Chapitre 4 La couche Réseau 15 Master 1 SIGLIS Fragmentation et réassemblage Les liens réseaux ont une MTU (Maximum Transfer Size): taille maximum d’une trame liaison différents types de lien, différentes MTU Un datagramme IP est fragmenté à l’intérieur du réseau un datagramme est fragmenté en plusieurs datagrammes les datagrammes sont réassemblés sur l’hôte destinataire L’entête IP est utilisé pour identifier et ordonner les fragments Fragmentation 1->3 Réassemblage : 3 -> 1
Ingénierie des réseaux - Chapitre 4 La couche Réseau 16 Master 1 SIGLIS Fragmentation et réassemblage - Exemple ID =x offset =0 fragflag =0 Lg =4000 ID =x offset =0 fragflag =1 Lg =1500 ID =x offset =185 fragflag =1 Lg =1500 ID =x offset =370 fragflag =0 Lg =1040 Un “gros” datagramme est fragmenté en plusieurs datagrammes plus petits Example r Un datagramme de 4000 octets r MTU = 1500 octets 1480 octets dans le champ données offset = 1480/8 offset est mesuré en unité de 8 octets Fragflag=1 : il y a d’autres fragments Fragflag = 0 c’est le dernier fragment
Ingénierie des réseaux - Chapitre 4 La couche Réseau 17 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 18 Master 1 SIGLIS Adressage IPv4 :une introduction Adresse IP: un identifiant sur 32 bits pour un hôte et une interface routeur Interface: une connexion entre un hôte ou un routeur et un lien physique les routeurs ont typiquement plusieurs interfaces les hôtes ont typiquement une seule interface on associe à chaque interface une ou plusieurs adresses IP =
Ingénierie des réseaux - Chapitre 4 La couche Réseau 19 Master 1 SIGLIS Sous-réseaux Une adresse IP est composée: une partie sous-réseau (les bits de gauche) une partie nœud (les bits de droite) Qu’est ce qu’un sous-réseau ? des interfaces dont l’adresse IP a la même partie sous-réseau. ces interfaces peuvent communiquer entre elles sans l’aide d’un routeur Un réseau constitué de 3 sous-réseaux: , , sous-réseau
Ingénierie des réseaux - Chapitre 4 La couche Réseau 20 Master 1 SIGLIS Adressage IPv4: CIDR CIDR : Classless Interdomain Routing la partie sous-réseau est de longueur arbitraire le format de l’adresse est a.b.c.d/x où x est le nombre de bits dans la partie sous-réseau de l’adresse Partie sous-réseauPartie hôte /23 Masque de sous-réseau
Ingénierie des réseaux - Chapitre 4 La couche Réseau 21 Master 1 SIGLIS Comment obtenir son adresse IP ? Question: comment obtenir son adresse IP ? codée en dur par l’administrateur du système dans un fichier Windows : en tapant ipconfig dans un fenêtre DOS Unix : /etc/rc.config DHCP : Dynamic Host Configuration Protocol: on obtient un adresse dynamiquement assignée par un serveur
Ingénierie des réseaux - Chapitre 4 La couche Réseau 22 Master 1 SIGLIS DHCP : Dynamic Host Configuration Protocol Objectif: Permettre à un hôte d’obtenir son adresse IP d’un serveur DHCP sur le réseau lorsqu’il rejoint le réseau l’hôte peut renouveler le bail obtenu permet la réutilisation des adresses (on ne possède une adresse que lorsque l’on est connecté et actif) supporte les utilisateurs mobiles
Ingénierie des réseaux - Chapitre 4 La couche Réseau 23 Master 1 SIGLIS Survol de DHCP Survol de DHCP: Le poste diffuse le message “DHCP discover” Le serveur DHCP réponds avec le message “DHCP offer” Le poste demande une adresse IP : message “DHCP request” Le serveur DHCP envoie l’adresse: message « DHCP ACK » Y’a-t-il un serveur DHCP qui peut me proposer une adresse IP ? Oui - Et voilà une adresse IP Ok je choisis cette adresse Je valide l’adresse
Ingénierie des réseaux - Chapitre 4 La couche Réseau 24 Master 1 SIGLIS Un scénario client-serveur DHCP A B E serveur DHCP Un client DHCP arrive et a besoin d’une adresse dans le réseau
Ingénierie des réseaux - Chapitre 4 La couche Réseau 25 Master 1 SIGLIS Un scénario client-serveur DHCP serveur DHCP : Client time DHCP discover src : , 68 dest.: ,67 yiaddr: transaction ID: 654 DHCP offer src: , 67 dest: , 68 yiaddrr: transaction ID: 654 Lifetime: 3600 secs DHCP request src: , 68 dest:: , 67 yiaddrr: transaction ID: 655 Lifetime: 3600 secs DHCP ACK src: , 67 dest: , 68 yiaddrr: transaction ID: 655 Lifetime: 3600 secs : diffusion sur tout le réseau Echanges de messages d’UDP Le serveur propose une adresse IP : Le client demande l’adresse qui lui a été proposée L’adresse est validée
Ingénierie des réseaux - Chapitre 4 La couche Réseau 26 Master 1 SIGLIS Comment obtenir une adresse IP ? Question Comment un réseau obtient la partie sous- réseau de son adresse IP ? Réponse Il obtient une partie de l’espace d’adresse de son fournisseur internet (FAI) Adresse FAI /20 Organisation /23 Organisation /23 Organisation /23... ….. …. …. Organisation /23 FAI Organisation 02023
Ingénierie des réseaux - Chapitre 4 La couche Réseau 27 Master 1 SIGLIS Adressage hiérarchique: agrégation de route Envoyez-moi tout ce qui porte une adresse qui commence par /20” / / /23 FAI A Organisation 0 Organisation 7 Internet Organisation 1 FAI B “Envoyez-moi tout ce qui porte une adresse qui commence par /16” /23 Organisation Une adresse qui commence par /20 Une adresse dont les 20 premiers bits sont Une adresse qui commence par , qui continue par un entier compris entre 16 et 31 Agrégation de route: adresser plusieurs sous-réseaux avec un seul préfixe.
Ingénierie des réseaux - Chapitre 4 La couche Réseau 28 Master 1 SIGLIS Adresse IP: Comment un FAI obtient un bloc d’adresses ? Il s’adresse à l’ICANN : Internet Corporation for Assigned Names and Numbers Allocation d’adresses Gestion du DNS Assigne les noms de domaines, résoud les conflits
Ingénierie des réseaux - Chapitre 4 La couche Réseau 29 Master 1 SIGLIS NAT : Network Address Translation Réseau local (ex /24 Internet Les datagrammes dans ce réseau ont une adresse IP source ou destination /24 Tous les datagrammes sortant du réseau local ont la même adresse source ( ), mais ont des numéros de port source (TCP/UDP) différents
Ingénierie des réseaux - Chapitre 4 La couche Réseau 30 Master 1 SIGLIS NAT (Network Address Translation): motivation Du point de vue de l’extérieur, les réseaux locaux n’utilisent qu’une seule adresse IP Le FAI n’a pas besoin d’assigner une plage d’adresse au client: une seule adresse pour tous les nœuds Il Possible de modifier l’adresse des nœuds sans changement nécessaire sur l’interface externe (Internet) On peut changer de FAI sans modifier les adresses IP du réseau local Les nœuds du réseau local ne sont pas directement visibles de l’extérieur. c’est un plus en terme de sécurité
Ingénierie des réseaux - Chapitre 4 La couche Réseau 31 Master 1 SIGLIS Les fonctions d’une routeur NAT Sur les datagrammes sortants remplacer (adresse IP et numéro de port source) par (adresse IP NAT, nouveau numéro de port) les clients/serveurs distants utiliseront (adresse IP du NAT, nouveau numéro de port) comme adresse de destination pour envoyer une réponse. Mémoriser dans la table de translation NAT la correspondance (adresse IP source, numéro port source) (adresse IP du NAT, nouveau numéro port) Sur les datagrammes entrants : remplacer (adresse IP NAT, numéro de port destination) avec l’information contenue dans la table de translation NAT
Ingénierie des réseaux - Chapitre 4 La couche Réseau 32 Master 1 SIGLIS NAT: Network address translation S: , 3345 D: , : l’hôte envoie un datagramme à , 80 Table de translation NAT Adresse WAN Adresse LAN , , 3345 …… S: , 80 D: , S: , 5001 D: , : Le routeur NAT: remplace l’adresse source du datagramme , 3345 par , 5001, modifie la table de translation S: , 80 D: , : La réponse arrive à l’adresse de destination , : Le routeur NAT remplace l’adresse de destination du datagramme , 5001 par , 3345
Ingénierie des réseaux - Chapitre 4 La couche Réseau 33 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 34 Master 1 SIGLIS ICMP: Internet Control Message Protocol utilisé par les postes et routeurs pour transmettre des informations de la couche réseau erreurs : destination non- joignable : réseau, port, protocole echo request/reply (utilisé par ping) ICMP est dans la couche réseau, mais au-dessus de IP : messages ICMP transportés dans des datagrammes IP message ICMP : type, code, et les 8 premier octets du datagramme ayant causé une erreur Type Code Description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
Ingénierie des réseaux - Chapitre 4 La couche Réseau 35 Master 1 SIGLIS Traceroute et ICMP La source envoie une série de segments UDP au destinataire Le premier a un TTL = 1 Le second a un TTL = 2, etc. Quand le nième datagramme arrive au nième routeur Le routeur jette le datagramme Le routeur envoie un message ICMP (type 11 code 0) Le message inclut le nom du routeur et son adresse IP Quand le message ICMP arrive à la source, la source calcule le RTT Traceroute fait cela 3 fois Critère d’arrêt Le segment UDP arrive éventuellement au destinataire Le destinataire envoie un paquet ICMP « host unreachable » (type 3, code 3) Quand la source reçoit ce paquet ICMP, elle arrête.
Ingénierie des réseaux - Chapitre 4 La couche Réseau 36 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 37 Master 1 SIGLIS Pourquoi IPv6 ? Limitation du nombre d’adresses IPv4. Amélioration d’IPv4 Le Format de l’en-tête est simplifié pour faciliter le traitement Tient compte des fonctions de sécurité et mobilité Format du datagramme IPv6 : Taille fixe : 40 octets Pas de fragmentation par les routeurs Quand le datagramme est trop important on renvoie un message ICMP « packet tooo big »
Ingénierie des réseaux - Chapitre 4 La couche Réseau 38 Master 1 SIGLIS Entête IPv6 Priorité: identifie la priorité parmi les datagrammes du flux Trafic class: Permet de définir des types de service (débit, délai, etc.) Label de flux : permet d’identifier des datagrammes et d’implémenter un service particulier. Next Hdr: identifie le protocole de plus haut niveau utilisé (TCP/UDP). Hop Limit: Limite au nombre de sauts de ce datagramme (TTL dans IPv4) Data Adresse de destination (128 bits) Adresse source (128 bits) Taille de la charge utileNext HdrHop limit Version Trafic class Label de flux 32 bits les adresses passent de 64 à 128 bits
Ingénierie des réseaux - Chapitre 4 La couche Réseau 39 Master 1 SIGLIS Les changements introduits par IPv6 Checksum : Supprimé jugé redondant avec le checksum TCP permet de limiter le temps de traitement à chaque routeur le TTL est décrémenté : on doit recalculer le checksum Options: autorisé mais dans la partie donnée. Le champ Next Header indique le type de l’option. ICMPv6: nouvelle version de ICMP nouveaux types de message fonctions de groupes de diffusion (IGMP)
Ingénierie des réseaux - Chapitre 4 La couche Réseau 40 Master 1 SIGLIS La transition de IPv4 à IPv6 Tous les routeurs ne peuvent être mis à niveau simultanément on ne peut pas prendre un jour pour arrêter tous les routeur du monde Comment les réseaux fonctionneront avec de routeurs IPv4 et des routeurs IPv6 Tunneling: les datagrammes IPv6 sont portés comme charge utiles dans des datagrammes IpV4
Ingénierie des réseaux - Chapitre 4 La couche Réseau 41 Master 1 SIGLIS Tunneling IPv6 tunnel Vue logique: Vue physique: IPv6 IPv4 Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data Src:B Dest: E A vers B: IPv6 E vers F: IPv6 B vers C: IPv6 dans IPv4 B vers C: IPv6 dans IPv4 A B CDEF FEB A Avant d’être envoyés à un routeur IpV6 les datagrammes IpV4 sont encapsulés dans un datagramme Ipv4 Lorsqu’un routeur Ipv6 reçoit un datagramme d’un routeur IPv4 il extrait le datagramme IPv6
Ingénierie des réseaux - Chapitre 4 La couche Réseau 42 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 43 Master 1 SIGLIS Graphe Graphe = { N, E } N = ensemble de routeurs E ensemble de liens N = ensemble de routeurs = { u, v, w, x, y, z } E = ensemble de liens = { (u,v), (u,x), (u,w),(v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } u v x y z
Ingénierie des réseaux - Chapitre 4 La couche Réseau 44 Master 1 SIGLIS Coût des liens c(x,y) = coût du lien(x,y) Ex: c(w,z) = 5 Le coût peut être fixe, ou fonction de la bande passante du lien, type de lien, etc. Coût du chemin(x1, x2, x3, …, xp) = c(x1,x2) + c(x2,x3) + c(xp-1, xp) Question: Quel est le chemin du moindre coût entre u et z ? Algorithme de routage : trouver le chemin du moindre coût. u v w x y z
Ingénierie des réseaux - Chapitre 4 La couche Réseau 45 Master 1 SIGLIS Algorithme à état des liens (Algorithme de Dijkstra) La topologie du réseau et le coût des liens connu de tous les routeurs information diffusée par un “link state broadcast” tous les routeurs ont la même information Calcul du chemin au moindre coût d’un routeur (source) vers tous les autre routeurs Donne la table de routage pour ce noeud Itératif : après k itérations, le chemin au moindre coût est connu pour k destinations c(x,y) : coût du lien du noeud x à y ; = si x et y ne sont pas voisins directs D(v) : valeur courante du coût du chemin de la source vers la destination v. p(v) : nœud prédécesseur sur le chemin de moindre coût de la source vers v N’ : ensemble de nœuds dont le chemin de moindre coût est définitivement connu Algorithme à état des liens Notation
Ingénierie des réseaux - Chapitre 4 La couche Réseau 46 Master 1 SIGLIS Algorithme à état des liens N’ = {u} Pour tous les nœuds v Si v est voisin direct de u D(v) = c(u,v) sinon D(v) = Répéter trouver le nœud n tel que n N’ et D(n) est un minimum ajouter n à N’ Trouver X l’ensemble des nœuds adjacents à n et N’ Pour chaque x de X D(x) = min(D(x), D(n) + c(n,x)) P(x) = n si D(x) a changé Jusqu’à N = N’ Phase 1 : Initialisation Phase 2: Calcul
Ingénierie des réseaux - Chapitre 4 La couche Réseau 47 Master 1 SIGLIS L’ Algorithme à état des liens en action EtapeN’D(v),p(v)D(w),p(w)D(x),p(x)D(y),p(y)D(z),p(z) 0{u}2,u5,u1,u 1{u,x}2,u4,x2,x 2{u,x,y}2,u3,y4,y 3{u,x,y,v}3,y4,y 4{u,x,y,v,w}4,y 5{u,x,y,v,w,z} u v w x y z : minimum
Ingénierie des réseaux - Chapitre 4 La couche Réseau 48 Master 1 SIGLIS L’ Algorithme à état des liens en action u v w x y z arbre du chemin de moindre coût à partir de u Table d’acheminement de u v x y w z (u,v) (u,x) destination lien
Ingénierie des réseaux - Chapitre 4 La couche Réseau 49 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 50 Master 1 SIGLIS Vecteur de distance Équation de Bellman-Ford On définit : d x (y): le coût du chemin au moindre coût de x vers y Alors d x (y) = min n {c(x,n) + d n (y)} où min est évalué sur tous les voisins n de x
Ingénierie des réseaux - Chapitre 4 La couche Réseau 51 Master 1 SIGLIS Application de la formule de Bellman-Ford sur un exemple On voit bien que d v (z) = 5 d x (z) = 3 d w (z)=3 D’après l’équation de B-F : D u (z) = min{ c(u,v) + d v (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2+5,1+3,5+3} = 4 Si le routeur veut envoyer un message sur le chemin de moindre coût : Il doit envoyer le message à celui de ses voisins qui offre le coût minimum Il doit s’appuyer sur les informations contenues dans la table d’acheminement Si le routeur veut envoyer un message sur le chemin de moindre coût : Il doit envoyer le message à celui de ses voisins qui offre le coût minimum Il doit s’appuyer sur les informations contenues dans la table d’acheminement
Ingénierie des réseaux - Chapitre 4 La couche Réseau 52 Master 1 SIGLIS Algorithme du vecteur de distance D x (y) : estimation du moindre coût de x vers y Le nœud x connait le coût du lien vers chacun de ses voisins v : c(x,v) Le nœud x maintient un vecteur de distance D x = [D x (y) : y N] Le nœud x maintient le vecteur de distance de chacun de ses voisins Pour chaque voisin v, x maintient D v = [ D v (y) : y N]
Ingénierie des réseaux - Chapitre 4 La couche Réseau 53 Master 1 SIGLIS Idée de base Régulièrement, chaque nœud envoie son propre vecteur de distance à ses voisins L’algorithme est asynchrone Quand un nœud reçoit un nouveau vecteur de distance de son voisin, il modifie son propre vecteur de distance en utilisant l’équation de B-F En conditions normales, l’estimation D x (y) converge vers le moindre coût réel. Algorithme du vecteur de distance D x (y) = min n {c(x,n) + D n (y)} pour chaque nœud y N
Ingénierie des réseaux - Chapitre 4 La couche Réseau 54 Master 1 SIGLIS Algorithme du vecteur de distance Pour toutes les destinations y de N Si x et y sont voisins D x (y) = c(x,y) Sinon D x (y) = Fin Pour Répéter Attendre jusqu’à ce que le coût d’un lien vers un de mes voisins change ou que je reçoive un vecteur de distance d’un de mes voisins Pour chaque y de N D x (y) = min v {c(x,y) + D v (y)} Fin pour Pour tous les y de N Si D x (y) a changé envoyer le vecteur de distance D x = [D x (y) : y N] à tous mes voisins fin si Fin pour Toujours Phase 1 : Initialisation Phase 2: Calcul Pour chaque nœud x :
Ingénierie des réseaux - Chapitre 4 La couche Réseau 55 Master 1 SIGLIS Itératif, asynchrone Chaque itération locale est causé par: le coût d’un lien local qui change un message de modification de VD d’un de ses voisins Distribué Chaque nœud notifie ses voisins seulement quand son DV change Algorithme du vecteur de distance Attend le changement de coût d’un lien local ou un message d’un de ses voisins Chaque nœud: Recalcule sa propre estimation Si le VD pour une de ses destinations a changé, notifie ses voisins
Ingénierie des réseaux - Chapitre 4 La couche Réseau56Master 1 SIGLIS Algorithme du VD en action XYZ X027 Y Z XYZ X Y201 Z XYZ X Y Z710 XYZ X023 Y201 Z710 XYZ X027 Y201 Z710 XYZ X027 Y201 Z310 XYZ X023 Y201 Z310 XYZ X023 Y201 Z310 XYZ X023 Y201 Z310 z y x Nœud X Nœud Y Nœud Z De Vers D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 temps t0t1t2 t0 - initialisation. Les tables sont initialisées avec les valeurs des coûts vers les nœuds voisins t1 – t2 : les vecteurs calculés sont envoyés aux nœuds voisins chaque nœud recalcule son VD Si un VD est modifié il est envoyé aux nœuds voisins D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3
Ingénierie des réseaux - Chapitre 4 La couche Réseau 57 Master 1 SIGLIS Le coût du lien de y vers x passe de 4 à 1 L’algorithme du VD en action: cas favorable A t0, y détecte le changement de coût du lien, modifie son VD et informe ses voisins A t1, Z reçoit la modification de y et modifie sa table. Il calcule le moindre coût vers x et envoie à ses voisins son VD A t2, y reçoit la modification de z et modifie sa table. Les moindre coûts de y ne changent pas et y n’envoie aucun message vers z. En deux itérations, l’algorithme converge.
Ingénierie des réseaux - Chapitre 4 La couche Réseau 58 Master 1 SIGLIS Le coût du lien y vers x passe de 4 à 60 L’algorithme du VD en action: cas défavorable Avant le changement, on avait : D y (x) = 4, D y (z) = 1, D z (y) = 1, D z (x) = 5 A t0, y recalcule D y (x) D y (x) = min{ c(y,x) + D x (x), c(y,z) + D z (x) } = min { 60+0, 1+5} = 6 On obtient une boucle de routage L’algorithme se poursuit : Il faudra 44 itérations pour qu’il se stabilise ! Boucle de routage Si y doit envoyer un message à x, y va passer par x x va éviter le lien (x,z) de coût 50 et va passer par y on boucle ! On a une boucle de routage Boucle de routage Si y doit envoyer un message à x, y va passer par x x va éviter le lien (x,z) de coût 50 et va passer par y on boucle ! On a une boucle de routage Problème du comptage à l’infini Dans certains le nombre d’itérations peut être beaucoup plus important ! Problème du comptage à l’infini Dans certains le nombre d’itérations peut être beaucoup plus important !
Ingénierie des réseaux - Chapitre 4 La couche Réseau 59 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP 4.7 Diffusion et routage multicast
Ingénierie des réseaux - Chapitre 4 La couche Réseau 60 Master 1 SIGLIS Routage Hiérarchique Chaque routeur ne peut pas connaître tous les routeurs d’Internet ! La table de routage serait énorme Les échanges de messages entre les routeurs pour mettre à jour les tables de routage prendrait toute la bande passante Les organisations ont besoin d’administrer leur réseau avec leurs propres règles Cacher certaines machines (serveurs) Choisir tel ou tel protocole de routage (VD/Etat des liens) … On est conduit à structurer Internet en Systèmes Autonomes
Ingénierie des réseaux - Chapitre 4 La couche Réseau 61 Master 1 SIGLIS Routage hiérarchique On regroupe les routeurs en “système autonome” (AS) Chaque As est géré par une autorité administrative qui décide le politique réseau Les routeurs dans un même AS utilisent le même protocole de routage protocole de routage “intra-AS” les routeurs dans différents AS peuvent utiliser des protocoles différents Les routeurs « gateway » connectent les AS entre eux
Ingénierie des réseaux - Chapitre 4 La couche Réseau 62 Master 1 SIGLIS Routage hiérarchique AS1 AS3 AS2 3b 3c 3a 1b1a 1c 1d 2a 2c 2b Si le paquet est à destination d’une machine de AS1 il doit connaitre la topologie de AS1 Si le paquet est à destination de l’extérieur de AS1: les routeurs qui sont en contact avec l’extérieur et vers quels AS les destinations qui sont accessibles par AS2 et AS3 AS2 reçoit un paquet : de quoi a-t-il besoin pour le router ? Apprendre par le protocole inter-AS que le sous-réseau x est accessible par plusieurs gateway Utiliser les infos. Fournies par le protocoles de routage intra-AS pour déterminer les chemins de moindre coûts vers chacune des gateway Choisir la gateway qui est sur le chemin de moindre coût Déterminer à partir de la table de routage l’interface l qui conduit à la gateway de moindre coût
Ingénierie des réseaux - Chapitre 4 La couche Réseau 63 Master 1 SIGLIS AS interconnecté la table d’acheminement est configurée par les deux algorithmes de routage intra- et inter- AS l’algorithme intra-AS configure les routes internes les algorithmes inter-AS & intra-AS configurent les routes externes AS1 AS3 AS2 Algorithme de routage Intra-AS Algorithme de routage Inter-AS Table d’acheminement 3b 3c 3a 1b1a 1c 1d 2a 2c 2b
Ingénierie des réseaux - Chapitre 4 La couche Réseau 64 Master 1 SIGLIS Tâches inter-AS 3b 3c 3a 1b1a 1c 1d 2a 2c 2b le routeur 2c reçoit un datagramme destiné à l’extérieur de AS1 Le routeur doit transférer le paquet à un routeur gateway mais lequel (2b ou 2a) ? AS1 doit apprendre quelles sont les destinations atteignables à travers AS2, à travers AS3 propager ces informations aux routeurs de AS1 AS3 AS2 AS1 Routage Inter-AS
Ingénierie des réseaux - Chapitre 4 La couche Réseau 65 Master 1 SIGLIS Fonction du protocole inter-AS 3b 3c 3a 1b1a 1c 1d 2a 2c 2b x x AS3 AS2 AS1 AS1 apprend (par le protocole inter-AS) que le sous réseau X est atteignable via AS3 (gateway 2a) le Protocole inter-AS propage l’information à tous les routeurs de AS1 Le routeur 2c détermine du routage inter-AS que son interface I est sur le chemin du moindre coût vers 2a 2c installe l’entrée (x,I) dans sa table de routage
Ingénierie des réseaux - Chapitre 4 La couche Réseau 66 Master 1 SIGLIS Fonction du protocole inter-AS 3b 3c 3a 1b1a 1c 1d 2a 2c 2b x x AS1 apprend (par le protocole inter-AS) que le sous réseau X est atteignable via AS3 et par AS2 Pour configurer la table d’acheminement le routeur 2c doit déterminer par quel gateway il doit transférer les paquets à destination de x. AS3 AS2 AS1
Ingénierie des réseaux - Chapitre 4 La couche Réseau 67 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP 4.7 Diffusion et routage multicast
Ingénierie des réseaux - Chapitre 4 La couche Réseau 68 Master 1 SIGLIS Routage intra-AS Connus sous le nom Interior Gateway Protocols (IGP) Les protocoles les plus connus: RIP : Routing Information Protocol OSPF : Open Shortest Path First IGRP : Interior Gateway Routing Protocol (Cisco)
Ingénierie des réseaux - Chapitre 4 La couche Réseau 69 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP 4.7 Diffusion et routage multicast
Ingénierie des réseaux - Chapitre 4 La couche Réseau 70 Master 1 SIGLIS Routage intra-AS: RIP (Routing Information Protocol) Algorithme Vecteur de distance Inclus dans la distribution BSD-UNIX depuis 1982 métrique de distance : nombre de sauts (maximum 15) destination sauts u 1 v 2 w 2 x 3 y 3 z 2 Du routeur A aux sous-réseaux :
Ingénierie des réseaux - Chapitre 4 La couche Réseau 71 Master 1 SIGLIS Traitement de la table de routage RIP Les tables de routage RIP sont gérées par un processus de la couche application appelé route-d Les annonces sont envoyées sous forme de paquets UDP Physique Liaison Réseau (IP) Transport (UDP) route-d physical Liaison Réseau (IP) Transprt (UDP) route-d Table de routage
Ingénierie des réseaux - Chapitre 4 La couche Réseau 72 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP 4.7 Diffusion et routage multicast
Ingénierie des réseaux - Chapitre 4 La couche Réseau 73 Master 1 SIGLIS Protocole intra-AS: OSPF (Open Shortest Path First) Protocole ouvert: la spécification est publique Utilise l’algorithme à état des liens Chaque nœud possède la topologie complète de l’AS auquel il appartient algorithme de Dijkstra (état des liens) Les annonces sont envoyées au AS complet et pas uniquement aux voisins es messages sont transportés directement sur IP (au lieu de TCP ou UDP)
Ingénierie des réseaux - Chapitre 4 La couche Réseau 74 Master 1 SIGLIS Hiérarchie dans OSPF L’AS est hiérarchisé aire locale aire dorsale (backbone area ) Les annonces sont limitées à l’aire Chaque nœud : détient une topologie de son aire connait seulement la direction vers les réseaux des autres aires. Aire locale Area border routers (ABR) chargés de router les paquets vers les autres AS “résume” les distances aux réseaux de son aire annonce aux autres ABRs. Aire dorsale: chargée de router le trafic entre les zones Backbone routers: routage OSPF limité à la dorsale. Boundary routers: fait le lien avec les autres AS. AS
Ingénierie des réseaux - Chapitre 4 La couche Réseau 75 Master 1 SIGLIS La couche réseau 4.1 Introduction 4.2Circuits virtuels et réseaux de datagrammes 4.4 IP : Internet Protocol Format d’un datagramme Adressage IPv4 ICMP IPv6 4.5 Algorithmes de routage Etat des liens (Link state) Vecteur de distance Routage Hiérarchique 4.6 Routage Internet RIP OSPF BGP
Ingénierie des réseaux - Chapitre 4 La couche Réseau 76 Master 1 SIGLIS Protocole inter-AS: Border Gateway Protocol (BGP) BGP est un standard de fait BGP permet à un sous-réseau d’annoncer son existence au reste d’Internet « Je suis là » BGP fournit à chaque AS la possibilité D’obtenir des ASs voisins les informations d’accessibilité De diffuser les informations d’accessibilité aux routeurs internes des ASs De déterminer les bonnes routes vers les sous-réseaux basées sur les informations d’accessibilité et les politiques d’administration réseau BGP est la glue qui permet de faire communiquer les ASs entre eux.
Ingénierie des réseaux - Chapitre 4 La couche Réseau 77 Master 1 SIGLIS Un texte ici Un texte ici et un autre