Couche IP - Laboratoire d`Informatique de Paris 6
Transcription
Couche IP - Laboratoire d`Informatique de Paris 6
Master MIAGE EC Réseaux La couche Réseau IP EmmanE E Hyon 2007-2008 2 Fonctions de la couche réseau Transport de paquets de l’host émetteur vers le récepteur Les protocoles de couche réseau sont dans chaque host et routeur Trois fonctions importantes : Détermination du chemin : route prise par les paquets de la source au dest. Algorithmes de routage Commutation : aiguiller les paquets de l’entrée du routeur vers la sortie appropriée Établissement d’appel : dans certains réseaux, avant le transfert des données application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 2007-2008 3 abstraction de service Le service réseau : quel modèle ? Modèle de service Les caractéristiques du service fourni par le “canal” qui transporte les paquets de l’émetteur au récepteur Garantie de BP ? Préservation du délai inter-paquet ? Remise de paquets sans perte ? Remise de paquets en séquence ? Informations de congestion pour l’émetteur ? L’abstraction la plus importante fournie par la couche réseau : ? ? ? circuit virtuel ou datagramme ? 2007-2008 4 Circuits virtuels (ex: ATM, X25) “chemin établi dans le réseau entre la source et la destination” Établissement d’appel, pour chaque appel avant que le flux de données commence Chaque paquet porte l’identifiant du CV (et non l’ID de l’host destination) Chaque routeur sur le chemin maintient l’“état” de chaque connexion Les connexions TCP impliquent uniquement les deux systèmes terminaux Des liens, des ressources routeur (BP, buffers) peuvent être alloués au CV 2007-2008 Datagramme : le modèle Internet 5 Pas d’établissement d’appel routeurs: pas d’état sur les connexions Pas de concept de “connexion” au niveau réseau Les paquets sont routés d’après l’ID host destination Les paquets d’une paire identique (source-dest) peuvent emprunter des routes différentes application transport network data link physical 1. Send data application transport 2. Receive data network data link physical 2007-2008 Le modèle de service Internet (IP) Network Architecture Internet Guarantees ? Service Model Bandwidth Loss Order Timing best effort none no no no Extension possibles du modèle Internet no (inferred via loss) Intserv : fournir des garanties de QoS individualisées pour des sessions individuelles d’une application Réservation de ressources, établissement d’appel Garantie de QoS pour des flux individuels Congestion feedback Diffserv : distinguer des classes de service différentes Garantie de QoS pour des catégories de flux (“profils”) 6 2007-2008 7 La couche réseau dans Internet Ensemble de fonctions implantées dans les hosts et les routeurs Couche transport : TCP, UDP Couche réseau Protocole IP •Conventions d’adressage •Format de datagramme •Conventions de manip de paquets Protocoles de routage •Sélection de chemins •RIP, OSPF, BGP table de routage Protocole ICMP •Remontée d’erreur •“signaling” des routeurs Couche liaison Couche physique 2007-2008 8 Routage Protocole de routage But: déterminer le “bon” chemin (suite de routeurs) à travers le réseau de la source à la dest. Utilisation de l’algorithmique de graphes pour définir les algorithmes de routage Les nœuds du graphe sont les routeurs Les arêtes du graphe sont les liens physiques Le coût d’un lien : délai, coût €, ou niveau de congestion 5 2 A 3 2 1 B D C E “bon” chemin : F 1 3 1 5 2 Chemin au coût le moins élevé Mais autres définitions possibles Règles de gestion 2007-2008 9 Routage (2) Table de routage Indique la meilleure liaison à utiliser (le prochain routeur à utiliser), afin de transférer des données vers un noeud. 5 2 A 2 1 Les algorithmes de routages servent à déterminer la table de routage. D Dest B D E C B 3 C 3 1 5 F 1 E 2 prochain noeud B D D D 2007-2008 10 Classification des algo de routage Information globale ou décentralisée ? Globale Tous les routeurs ont une info complète de la topolgie et des coûts des liens Diffusion des info à tous les nœuds Algorithmes “état de lien” Décentralisée Un routeur a les info sur ses voisins (routeurs qui lui sont physiquement rattachés) Processus itératif de calcul, échange d’info entre voisins Algorithmes “vecteur de distance” Statique ou dynamique ? Statique Les routes ne changent pas fréquemment Intervention humaine Dynamique Les routes changent MAJ périodique En réponse aux changements des coûts des liens (fct du trafic ou de la topologie) 2007-2008 Algorithme “état de lien”(link state) Algorithme de Dijkstra Topologie réseau et coûts des liens connus de tous les nœuds “link state broadcast” Tous les nœuds ont la même info Calcule les chemins les moins chers d’un nœud (“source”) à tous les autres Fournit la table de routage de ce nœud Itératif : après k itérations, connaît le chemin de moindre coût vers k destinataires 11 Notation: c(i,j): coût du lien entre nœud i et j. Infini si i et j ne sont pas voisins D(v): coût actuel du chemin de la source à dest. v p(v): nœud prédécesseur de v sur le chemin de la source à v N: ensemble des nœuds pour lesquels le chemin de moindre coûts est connu 2007-2008 12 Exemple de l’algorithme de Dijkstra 5 2 A 2 1 Step 0 1 2 3 4 5 B start N A AD ADE ADEB ADEBC ADEBCF D 3 C 3 1 D(B),p(B) 2,A 2,A 2,A 5 F 1 E 2 D(C),p(C) 5,A 4,D 3,E 3,E Le parcours des prédécesseurs d’un nœud vers la source donne le chemin = TABLE de ROUTAGE de ce nœud D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity infinity 4,E 4,E 4,E 2007-2008 Algorithme “Vecteur de distance” itératif Algorithme de Bellman-Ford continue jusqu’à ce que plus aucun nœud n’échange de l’info. self-terminating: pas de “signal” de fin asynchrone Les nœuds n’ont pas besoin d’échanger des info et d’itérer en étapes verrouillées distribué 13 chaque nœud ne communique qu’avec ses voisins directs (nœuds qui lui sont attachés) Aucun nœud n’a l’information globale Table de Distance Chaque nœud a la sienne Une rangée par destination possible Une colonne pour chaque voisin du nœud Exemple : nœud X, pour dest. Y via voisin Z : D (Y,Z) X distance de X vers Y, = via Z comme prochain saut DX (Y,Z) = c(X,Z) + minw {DZ (Y,w)} Coût minimal de Z à Y 2007-2008 Dans chaque noeud Itératif, asynchrone Chaque itération locale générée par : Le changement de coût d’un lien local La réception d’un message d’un voisin (son chemin de coût minimal a changé) Distribué Chaque nœud notifie ses voisins uniquement quand son chemin de coût minimum vers une destination a changé Les voisins préviendront les voisins si nécessaire Un noeud ne connaît pas les coûts des liens qui ne lui sont pas adjacents, il ne connaît que le coût du chemin 14 Chaque nœud attend (changement de coût local ou msg d’un voisin) recalcule sa table de distance Si le chemin de coût minimum a changé pour une quelconque destination, prévient les voisins 2007-2008 15 Table de Distance : Exemple A 1 C 2 8 1 E 2 D () A B D A 1 14 5 B 7 8 5 C 6 9 4 D 4 11 2 D Distance de E vers C via D DE (C,D) = c(E,D) + minw{DD (C,w)} = 2+2 = 4 Distance de E vers A via D DE (A,D) = c(E,D) + minw {DD (A,w)} = 2+3 = 5 coût de destination via E Boucle par E ! destination 7 B Distances obtenues par voisins DD (x,y) donné par les voisins Le calcul du min est fait de proche en proche Prochain nœud sur le chemin 2007-2008 16 De la table de distance à la table de routage coût de destination via E Lien de sortie, coût A B D D () A 1 14 5 A A,1 B 7 8 5 B D,5 C 6 9 4 C D,4 D 4 11 2 D D,2 Table de Distance de E E destination destination D () Table de Routage de E 2007-2008 17 Comparaison entre LS et DV Complexité en Message On suppose : LS: avec n noeuds, et E liens, O(nE) msg envoyés à chaq. fois DV: échange juste entre voisins Robustesse : Que se passe-t-il en cas de problèmes avec des routeurs ? LS: Vitesse de convergence LS: O(n**2) mais il y a des oscillations DV: temps de convergence varie : en cas de boucles de routage en cas de problèmes de “count-to-infinity” DV: noeuds informent des coûts de liens incorrects chaque noeud calcule slt sa propre table noeuds informent de coûts de path incorrects La table d'un noeud est utilisée par les autres erreur se propage à travers le réseau 2007-2008 Routage hiérarchique Jusqu’ici, étude “théorique” du routage Tous les routeurs sont identiques Le réseau est “plat” … pas vrai en réalité échelle: 50 millions de destinations : Autonomie administrative Impossible de stocker dans les tables de routage ! L’échange des tables de routage inonderait les liens ! internet = réseau de réseaux Chaque admin réseau peut vouloir contrôler le routage dans son propre réseau 18 2007-2008 19 Routage hiérarchique Classer les routeurs en régions, “Autonomous Systems” (AS) Les routeurs d’un même AS ont le même protocole de routage Protocole de routage “intra-AS” Les routeurs de différents AS peuvent utiliser des protocoles de routage intra-AS différents Routeurs passerelles Routeurs spéciaux dans un AS Exécutent le protocole de routage intra-AS comme les autres routeurs de l’AS aussi responsable de router vers des destinations hors AS Exécutent le protocole de routage inter-AS avec d’autres routeurs passerelles 2007-2008 20 Routage Intra-AS and Inter-AS C.b a C Gateways (passerelles) B.a A.a b A.c A d a b c a c B b •Assurent le routage inter-AS entre elles •Assurent le routage intra-AS avec les autres routeurs de leur AS Couche réseau routage inter-AS, intra-AS dans la gateway A.c Couche liaison Couche physique 2007-2008 21 Routage Intra-AS and Inter-AS C.b a Host h1 C A.a b Routage Inter-AS entre A et B A.c d a c b A Routage Intra-AS dans l’AS A B.a a c B Host h2 b Routage Intra-AS dans l’AS B 2007-2008 22 Le routage dans Internet Internet consiste en un ensemble d’Autonomous Systems (AS) interconnectés Deux niveaux de routage Intra-AS: l’administrateur est responsable des choix Inter-AS: standard unique 2007-2008 23 Routage Intra-AS Connu également comme Interior Gateway Protocols (IGP) Quelques IGPs bien connus RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco propr.) 2007-2008 24 RIP ( Routing Information Protocol) Algorithme de vecteur de Distance Inclus dans la distribution BSD-UNIX en 1982 Métrique de Distance : # de sauts (max = 15 sauts) Vecteurs de Distance : échangés toutes les 30 sec via un “Response Message” (ou “advertisement”) Chaque advertisement : route jusqu’à 25 réseaux de destination Utilise UDP (Les messages sont encapsulés dans des segments UDP) 2007-2008 25 RIP (Routing Information Protocol) z w A x D B y C Destination Network w y z x …. Next Router Num. of hops to dest. …. .... A B B -- Table de routage de D 2 2 7 1 2007-2008 26 RIP: résolution des problèmes Si aucun advertisement reçu au bout de 180 sec --> le voisin/lien déclaré HS Les routes via ce voisin sont invalidées De nouveaux advertisements sont envoyés aux voisins Qui a leur tour envoient de nouveaux advertisements (si leur table est affectée) L’info de rupture du lien se propage rapidement à tout le réseau 2007-2008 27 Traitement des tables de routage RIP Les tables de routage RIP sont gérés par un processus de niveau application appelé route-d (daemon) Les advertisements sont envoyés dans des segments UDP, périodiquement 2007-2008 28 OSPF (Open Shortest Path First) Protocole “open”: description est disponible publiquement Utilise un algorithme à état de lien Transmission des paquets décrivant les états des liens. permet à chaque noeud de construire sa carte de la topologie du réseau. Détermination des routes par l'algorithme de Dijkstra’s Les messages (advertisement) OSPF comportent des entrées uniquement pour chaque routeur voisin (et non pour ensemble du réseau) Advertisements sont disseminés à tout l'AS (via flooding : routeur envoie à ces voisins qui retransmettrent à leur voisins etc...) Utilise directement IP (ses msg sont encapsulés dans des datagrammes) 2007-2008 29 OSPF caractéristiques “avancées” (pas dans RIP) Security: all OSPF messages authenticated (to prevent malicious intrusion); Multiple same-cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different TOS (eg, satellite link cost set “low” for best effort; high for real time) Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains. 2007-2008 30 OSPF Hiérarchique 2007-2008 OSPF Hierarchique II 31 Two-level hierarchy: domaine local, backbone (réseau fédérateur). Pour Chaque domaine local Avertissements Link-state seulement dans domaine Chaque noeuds a une vue detaillée de la topologie du domaine; mais connait seulement la direction (shortest path) vers des réseaux d'autres domaines. Routeurs frontalier (Area border routers): appartient à un domaine local et au réseau fédérateur. Routeurs fédérateur (Backbone routers) : Routage OSPF limité au « backbone ». Transmission des infos aux routeurs qui ne sont pas dans reseau fédérateur Boundary routers: connection vers d'autres ASs. 2007-2008 32 IGRP (Interior Gateway Routing Protocol) CISCO proprietary; successor of RIP (mid 80s) Distance Vector, like RIP several cost metrics (delay, bandwidth, reliability, load etc) uses TCP to exchange routing updates Loop-free routing via Distributed Updating Alg. (DUAL) based on diffused computation 2007-2008 33 Routage Inter-AS 2007-2008 34 Routage Internet inter-AS : BGP BGP (Border Gateway Protocol): Le standard de facto Protocole Path Vector : Similaire au protocole Distance Vector, mais propagation de chemin (path) plutôt que de coût Chaque passerelle (Border Gateway) diffuse à ses voisins (ses pairs) le chemin complet (i.e, la séquence d’ASs) jusqu’à une destination Par exemple, la passerelle X diffuse à ses pairs que le chemin de X vers une destination Z est : Path (X,Z) = X,Y1,Y2,Y3,…,Z 2007-2008 35 Routage Internet inter-AS : BGP Hypothèse : la passerelle X envoie son chemin à son pair, la passerelle W W peut sélectionner ou non ce chemin Si Raisons : coût, politique (ne pas router via des AS concurrents), prévention de boucle. W retient le chemin mentionné par X, alors : Path (W,Z) = w, Path (X,Z) Note : X peut contrôler le trafic entrant en contrôlant les annonces de route à ses pairs Ex : X ne veut pas router le trafic via Z => il ne fera aucune annonce de route à destination de Z 2007-2008 Pourquoi un routage différent Intra- et Inter-AS ? Politique Inter-AS: admin veulent contrôler comment leur trafic est routé et qui emprunte les routes de leur réseau Intra-AS: une seule admin, donc pas de décisions “communautaires” à prendre Échelle Le routage hiérarchique permet d’économiser sur la taille des tables et de réduire le trafic de MAJ Performance Intra-AS: peut de focaliser sur les performances Inter-AS: la politique domine sur les performances 36 2007-2008 37 Le protocole internet (IP) Protocole de couche 3 (couche réseau) Implanté dans les hosts et les routeurs Service de transfert de datagramme sans connexion Pas de route unique pour tous les datagrammes d’une même TPDU Non fiable Pas de séquencement => pas de vérification de déséquencement => pas de détection de perte => pas de retransmission sur perte Pas de contrôle de flux Pas de multiplexage (pas de connexions multiples sur une liaison puisque mode non connecté) Service d’acheminement des datagrammes « best effort » 2007-2008 38 Adressage IP : introduction adresse IP : identifiant (sur 32-bits) de l’interface d’un host/routeur Interface : “attache” (ou frontière) entre un host/routeur et le lien physique Les routeurs ont plusieurs interfaces Un host peut avoir plusieurs interfaces Les @ IP sont associées aux interfaces, pas à l’host ni au routeur 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.1 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 223.1.3.1 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 2007-2008 39 Adressage IP @ IP : Une partie id_réseau (bits de poids fort) Une partie id_local (bits de poids faible) Qu’est-ce qu’un réseau? (dans une optique adressage IP) Ensemble des interfaces qui ont leur partie id_réseau de leur @ IP identique Ensemble des interfaces qui peuvent s’atteindre sans passer par un routeur 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.1 223.1.2.9 223.1.3.27 223.1.2.2 LAN 223.1.3.1 223.1.3.2 Réseau formé par l’interconnexion de 3 réseaux IP (la partie id_réseau est formé des 24 premiers bits de l’@IP) 2007-2008 40 Adressage IP Comment identifier les réseaux IP ? Détacher chaque interface de son routeur, host Créer des “îles de réseaux isolés” 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 Sans passage par un routeur 223.1.9.1 Réseau formé par l’interconnexion de 6 réseaux 223.1.2.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 223.1.2.2 223.1.3.1 223.1.3.2 2007-2008 41 Adresses IP classe A 24 bits 8 bits 0Id_réseau 16 bits 16 bits B 10 Id_réseau Id_local 24 bits C 110 D 1110 1.0.0.0 to 127.255.255.255 Id_local Id_réseau multicast address 8 bits Id_local 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 32 bits Par convention, un identificateur local nul n ’est jamais affecté à une machine. Il sert à référencer le réseau lui-même. 120.0.0.0 désigne le réseau de classe A d’adresse 120 193.50.151.0 désigne le réseau de classe C d’adresse 193.50.151 2007-2008 Plages d’adresses IP selon les classes Classe plage d’id_réseau plage d’id_local A 1 à 127 0.0.1 à 255.255.254 B 128.0 à 191.255 0.1 à 255.254 C 192.0.0 à 223.255.255 1 à 254 42 Plages d'adresses spéciales 127.0.0.1 @ de bouclage (localhost) et 127.0.0.0 @ locales 0.0.0.0 illégale en tant qu'adresse de destination @ locale 255.255.255.255 adresse de diffusion. Réservées à un usage local 10.0.0.0 — 10.255.255.255 172.16.0.0 — 172.31.255.255 (172.16/12) 192.168.0.0 — 192.168.255.255 169.254.0.0 — 169.254.255.255 2007-2008 43 Adressage IP : CIDR 4 classes d’adresses : Utilisation inefficace de plages d’adresses Nombre de machines adressables d’une classe B ? D’une classe C ? CIDR: Classless InterDomain Routing L’id_réseau d’une @ est d’une longueur quelconque Format d’adresse: a.b.c.d/x, avec x = nb de bits de l’id_réseau Id_réseau Id_local 11001000 00010111 00010000 00000000 200.23.16.0/23 Très lié au subnetting 2007-2008 44 Adressage de sous-réseaux @IP = id_réseau + id_local id_local L’identificateur d’une machine (193.50.151.30) Dans certaines organisations, utile de découper l’espace d’adresses en plusieurs sous-espaces (hiérarchie d’adresses) Adressage à plat Ex : 132.12.0.0 : classe B => 216-2 adresses possibles en local Adressage hiérarchique : groupe logique de machines (sous-réseau) id_local = id_sous-réseau + id_machine Ex : 132.12.10.0 132.12.20.0 2007-2008 45 Sous-réseaux Faire un sous-réseau (subnetter) : Responsabilité de l’administrateur du site Partitionnement du réseau en espaces d’adressage distincts (réseaux logiques ou sous-réseaux) Limitation des communications à un sous-réseau Routeur pour passer d’un sous-réseau (un espace d’adressage) à un autre sous-réseau (un autre espace d’adressage) Traduction Routage Masque d'adresses de subnetting Permet d’extraire les id. réseau et sous-réseau d’une adresse IP 2007-2008 Extraction id_réseau et sous réseau À 46 une @IP est associé un masque @IP ^ masque = permet de séparer les bits de l’@ qui forment l’id_réseau (et sous réseau) de ceux qui forment l’id_machine Exemples : 192.45.32.10 et 192.45.32.32. Même réseau ? Id_réseau et sous réseau ? Si je ne connais pas le masque, je ne peux pas répondre Opération un ET logique, le 1 est filtrant Pour X € [0, 1], 1 ET x = x Pour X € [0, 1], 1 ET x = x Masque : Sur 32 bits, le nb de bits à 1 dans le masque = le nb de bits qui forment l’id_réseau ds l’@ 2007-2008 Valeurs de masque et opérations 47 Valeurs Classe A, id_réseau : 8 bits => masque = 255.0.0.0 Classe B, id_réseau : 16 bits => masque = 255.255.0.0 Classe C, id_réseau : 24 bits => masque = 255.255.255.0 CIDR /25 : 25 bits => masque = 255.255.255.128 Opérations Effectuer le ET logique entre 192.45.32.10 et masque de classe C (idem avec 192.45.32.32). Sont elles dans le même réseau ? Exercices : : 172.30.19.254 et 172.30.61.4 sont-ils dans même réseau 2007-2008 48 Subnetting : initialisation du masque Un administrateur récupère un id_réseau auprès de l’ICANN (une classe C, ou B, ou A) Il doit organiser l’espace d’adressage de ses machines S’il ne subnette pas, il prend comme valeur de masque la valeur par défaut de sa classe S’il décide de subnetter, il doit calculer la valeur de masque Combien de sous-réseaux ? Soit NR Pour coder NR en binaire, il faut n bits => n bits de poids forts à 1 2007-2008 49 Exemple Soit une classe C d’id_réseau = 192.168.1.0 (=> id_local = 1 octet, le dernier) Deux sous-réseaux => NR = 10 en binaire => n = 2 => 4è octet du masque = 11000000 => masque = 255.255.255.192 On a alors 4 plages d’adresses différentes De 192.168.1.1 à 192.168.1.63 (réseau 192.168.1.0) De 192.168.1.64 à 192.168.1.127 (réseau 192.168.1.64) De 192.168.1.128 à 192.168.1.191 (réseau 192.168.1.128) De 192.168.1.192 à 192.168.1.255 (réseau 192.168.1.192) 2007-2008 50 Exercices Une classe A, id_réseau = 10.0.0.0 Quel est le masque et quelles sont les plages d’@ Pour deux sous-réseaux ? Pour 4 sous-réseaux ? Soient 4 machines d’@ 10.99.43.27, 10.163.12.254, 10.189.12.27, 10.126.43.250 On veut que 10.99.43.27 et 10.163.12.254 soient dans le même espace d’@, distinct de 10.189.12.27, 10.126.43.250 qui seront dans un autre Quelle est la valeur du masque ? Même question si on veut que les machines soient chacune dans des espaces d’@ distincts 2007-2008 Acheminement d’un datagramme Acheminement vs routage Acheminement = prendre un datagramme, regarder son @ de destination, consulter une table de routage et envoyer le datagramme dans la destination déterminée par cette table Routage = procédé par lequel les tables sont construites @IP source @IP dest Table de routage de A Dest. Net. next router Nhops 223.1.1.0 223.1.2.0 223.1.3.0 A B Datagramme IP … 51 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 données Ces champs du datagramme restent inchangés, pendant son parcours de S à D 223.1.1.4 223.1.1.4 1 2 2 223.1.3.1 223.1.2.1 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 E 2007-2008 52 Acheminement d’un datagramme … Dest. Net. next router Nhops 223.1.1.1 223.1.1.3 données 223.1.1.0 223.1.2.0 223.1.3.0 Partant de A, un datagramme est adressé à B : id_réseau de B ? Application du masque Même id_réseau que celui de A, A et B sont sur le même réseau Table de routage : même réseau, 1 saut => direct IP délivre le datagramme à l’interface et la couche liaison l’enverra directement à B B et A sont directement connectés A B 223.1.1.4 223.1.1.4 1 2 2 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.1 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 E 2007-2008 53 Acheminement d’un datagramme … Dest. Net. next router Nhops 223.1.1.1 223.1.2.3 données 223.1.1.0 223.1.2.0 223.1.3.0 Partant de A, dest. E: Chercher l’id_réseau de E E sur un réseau différent A, E pas directement attachés Table de routage : prochain saut vers E : routeur 223.1.1.4 IP délivre le datagramme à l’interface et la couche liaison l’envoie au routeur 223.1.1.4 Le datagramme arrive à 223.1.1.4 Suite … A B 223.1.1.4 223.1.1.4 1 2 2 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.1 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 E 2007-2008 54 Acheminement d’un datagramme … 223.1.1.1 223.1.2.3 données Arrivée à 223.1.1.4, à destination de 223.1.2.2 Chercher l’id_réseau de E E sur le même réseau que l’interface du routeur 223.1.2.9 routeur, E directement attaché IP délivre le datagramme à l’interface 223.1.2.9 et la couche liaison l’enverra directement 223.1.2.2 Le datagramme arrive à 223.1.2.2!!! Dest. next network router Nhops interface 223.1.1.0 223.1.2.0 223.1.3.0 A B - 1 1 1 223.1.1.4 223.1.2.9 223.1.3.27 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.1 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 E 2007-2008 Applications : Table 55 de routage : Sur miage03, commande netstat -r Sur miage03, commande netstat -rn Configuration Adresse Masque Passerelle manuelle d'un réseau. Champs à remplir 2007-2008 56 Obtention d’adresses IP Pour un utilisateur Partie id_local : Codée en dur par l’administrateur système dans un fichier DHCP: Dynamic Host Configuration Protocol: obtention dynamique d’adresses : L’host diffuse un message “DHCP discover” Le serveur DHCP répond par un msg “DHCP offer” L’host demande une @ IP : msg “DHCP request” Le serveur DHCP envoie l’@ : msg “DHCP ack” 2007-2008 Obtention d’adresses IP 57 Pour un ISP Q: où l’ISP se procure-t-il un bloc d’adresses? R: ICANN: Internet Corporation for Assigned Names and Numbers Allocation d’adresses Gestion du DNS Assignation des noms de domaine, résolution des conflits 2007-2008 Obtention d’adresses IP Pour un ISP Id_réseau : Obtenir une portion de l’espace d’adresses alloué aux ISP : ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 ... 11001000 00010111 00010100 00000000 ….. …. 200.23.20.0/23 …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 58 2007-2008 59 Addressage Hierarchique : agrégation de route Adressage hiérarchique permet une utilisation efficace pour le routage, de l'information Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7 . . . . . . Fly-By-Night-ISP “Send me anything with addresses beginning 200.23.16.0/20” Internet 200.23.30.0/23 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16” 2007-2008 60 Hierarchical addressing: more specific routes Le FAI-R-Us alloue une route plus spécifique vers l' Organization 1 Organization 0 200.23.16.0/23 Organization 2 200.23.20.0/23 Organization 7 . . . . . . Fly-By-Night-ISP “Send me anything with addresses beginning 200.23.16.0/20” Internet 200.23.30.0/23 ISPs-R-Us Organization 1 200.23.18.0/23 “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” 2007-2008 Organisation des réseaux et sous réseaux Zone démilitarisée" (DMZ) Serveurs devant être accessibles depuis l'exterieur (internet) et l'interieur (réseau interne). Serveurs de mail, Serveurs web..... DMZ zone grise composée d'un réseau physique avec des serveurs. Zone tampon entre l'exterieur et l'intérieur Cloisonnement à l'intérieur d'un réseau A l'aide de pare-feux Différents niveaux de sécurité Réseaux accessibles à un groupe de personnes particulier Accès à des applications 61 2007-2008 Translation d'adresses NAT (network adress translation) NAT permet à un ou plusieurs hôtes de partager la même adresse IP = partage de connexion Les synonymes sont SNAT ou Masquerade (masquage/usurpation) 62 2007-2008 63 Sécurité et pare feu Pare-feu (firewall) Le pare-feu est un système qui gère l'accès des PDU (le plus souvent de couche 3) échangées avec le réseau (physionomiste). Intermédiaire entre réseau local et réseaux externes. Filtrage selon un certain nombre de règles : rejet, acceptation, blocage, transfert basés sur en-têtes des datagrammes IP (adresses source et destination, TOS/DSCP/ECN, TTL, protocole, etc.). Sous linux : IPtables 2007-2008 Format du datagramme IP Compléments sur IP 0 Entête : minimum 20 octets, maximum 64 octets 8 16 31 Long. Type de service Long. totale (entête + données) Version entête Max : 216 octets, gnlt 576 octets (QoS) Identification (du fragment) Durée de vie (TTL : Time To Live) Protocole Flags Position du fragment Checksum de l'entête Adresse IP de la station source Adresse IP de la station destinataire Options (facultatif, taille variable) Données (TPDU) Bourrage 64 2007-2008 65 IP : Fragmentation/réassemblage Fragmentation : adaptation de la taille d’un datagramme à la taille du champ de données d’une trame Les liens physiques n’ont pas tous la même longueur de champ de données de trame MTU (Maximum Transfert Unit) : taille maximale du champ de données des trames d’un lien Ethernet octets : MTU = 1500 fragmentation: in: un grand datagramme out: 3 petits datagrammes reassemblage 2007-2008 66 Rôle de IP selon l'implantation IP implanté dans les hosts et dans les routeurs Dans un host, IP gère l’envoi/la remise des TPDU Envoi : La couche 4 délivre à IP une TPDU IP construit un datagramme encapsulant la TPDU, calcule le checksum, fragmente si nécessaire et décide de l’acheminement IP délivre le datagramme à l'interface réseau Remise : L’interface remet à IP un datagramme IP vérifie le checksum, s’il est mauvais, IP rejette le datagramme, effectue le réassemblage s'il y a lieu, délivre les données (TPDU) à la couche 4 2007-2008 67 Rôle de IP dans un routeur Dans un routeur, IP effectue l’acheminement du datagramme entre les sous-réseaux Vérification du checksum, si mauvais, jeter le datagramme Vérification de la durée de vie, si expirée, jeter le datagramme Fragmenter le datagramme si nécessaire Décider de l’acheminement Reconstruire un nouvel en-tête Délivrer le datagramme à l'interface réseau (couche 2) 2007-2008 68 Vue générale de l’architecture d’un routeur Routeur : Deux fonctions clés Exécuter les algo/protocoles de routage (RIP, OSPF, BGP) Commuter les datagrammes d’un lien entrant vers un lien sortant 2007-2008 69 ICMP: Internet Control Message Protocol Utilisé par les hosts, routeurs, et passerelles pour communiquer de l’information de couche réseau Protocole “sur” IP : Report d’erreur: host inatteignable, réseau, port, protocole request/reply echo (utilisé par ping) Les msgs ICMP sont acheminés dans des datagrammes IP Message ICMP : type, code plus les 8 premiers octets du datagramme IP cause d’erreur Type 0 3 3 3 3 3 3 4 Code 0 0 1 2 3 6 7 0 8 9 10 11 12 0 0 0 0 0 description echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header 2007-2008 70 IPv6 Motivation initiale: Espace d'adresse 32-bit completement alloué entre 2008 et 2018. Motivations Additionelles : Format header améliorent vitesse processing/forwarding Changements header facilitent QoS Nouvelles adresse “anycast” : route vers “meilleures” des différents serveurs repliqués Format datagramme IPv6 : Header de longueur fixe 40 octets Pas de fragmentation qui soit permise 2007-2008 Adresses IPv6 : Une adresse Ipv6 joue donc le même rôle qu'une adresse IPv4 Format: 71 Fonctionnement Une adresse IPv6 est longue de 16 octets, soit 128 bits (4 octets (32 bits) pour IPv4). Soit environ 10^40 adresses Notation : écriture hexadécimale Séparation en 8 groupes de 16 bits. 4 bits = 1 caractère hexadecimal (2^4=16) Ce qui donne 8 groupes de 4 lettres Groupes sont séparés par un signe « : ». Ex: fe80:0000:0a88:3fff:fe1e:be71:ac1f:8001 2007-2008 Adresses IPv6 Simplification de la notation: Remplacement des groupes de 0000 par 0 ou rien. Ex: fe80:0000:0000:3fff:fe1e:0e71:ac1f:8001 est identique à fe80:0:0:3fff:fe1e:e71:ac1f:8001 est identique à fe80::3fff:fe1e:e71:ac1f:8001 Attention dans les suppressions il ne faut pas qu'il y ait d'ambiguités (notamment sur les longueurs). 72 Adresses IPv6 2007-2008 (masque) Id_local et Id_reseau : 64 bits local et 64 bits réseau Masque Le nombre de bits à 1 que comporte le masque est notée en décimal derrière un slash. Ex : fe88:6b0:1:1a0::/48 correspond à 48 premiers bits à 1. C'est à dire à la plage d'adresse fe88:6b0:0001:0:0:0:0:0 fe88:6b0:0001:ffff:ffff:ffff:ffff:ffff 73 2007-2008 74 En tête IPv6 (Contenu) Priority: identifiant d'une priorité parmi les datagrammes d'un flot Flow Label: identifiant des datagrammes d'un même “flot”. (concept de “flow” pas bien defini). Next header: identifie le protocole de couche supérieure des données 2007-2008 75 Autres changements avec IPv4 Checksum: Suppression complète afin de réduire les temps de traitement (processing time) à chaque « hop » Options: permise, mais à l'extérieur de l'en-tête, indiquée par le champ “Next Header” ICMPv6: nouvelle version de ICMP Message additionel de types, par ex. “Packet Too Big” Functions de management de groupe multicast 2007-2008 76 Transition de IPv4 à IPv6 Not no “flag days” How will the network operatewith mixed IPv4 and IPv6 routers? Two all routers can be upgraded simultaneous proposed approaches: Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats Tunneling: IPv6 carried as payload n IPv4 datagram among IPv4 routers 2007-2008 Approche : Double pile de protocoles 77 2007-2008 78 « Tunneling » IPv6 inside IPv4 where needed 2007-2008 Dans Auto-évaluation 79 un réseau à circuit virtuel, les routeurs sont impliqués dans l’établissement du CV et chaque routeur maintient de l’information sur les Cv qui passent par lui Dans un réseau à datagramme, chaque datagramme transporte l’adresse de l’host destinataire Dans un algorithme distance-vector, chaque nœud a une table du réseau et détermine le plus court chemin vers tous les autres nœuds du réseau Dans l’algorithme BGP, chaque AS prévient ses voisins de son estimation des plus courtes distances de l’AS vers tous les AS destinataires possibles L’id_réseau d’une adresse IP est le même pour tous les hosts sur ce même réseau IP 2007-2008 Les Auto-évaluation (suite) 80 AS doivent tous utiliser le même algorithme de routage intra-AS Votre ordinateur est configuré « en dur » (pas DHCP) avec une adresse IP, et vous le déplacez à l’étage inférieur, qui est sur le même réseau IP. Si vous le connectez, vous n’avez pas besoin de reconfigurer l’adresse IP Les ordinateurs domestiques ont généralement une interface alors que les routeurs en ont généralement plusieurs Un routeur passerelle doit exécuter à la fois un algorithme intra-AS et un algorithme inter-AS Le masque permet de déterminer le nombre de sauts