Summary

Ce document est une présentation sur la couche réseau, les protocoles, le routage et les concepts associés. Il couvre divers sujets, incluant les fonctionnalités, les services, les modèles, l'adressage IPv4 et le fonctionnement du NAT. La présentation est basée sur un livre de Kurose et Ross.

Full Transcript

Chapitre 4 La couche réseau Programmation et Réseautique en génie des TI (GTI/LOG100 )  Le contenu de cette présentation est basé sur le livre de Kurose et Ross et de la documentation y jointe : Computer Networking: A Top Down Approach, 6ème édition. Jim Kurose, Keith Ross Addison-Wesl...

Chapitre 4 La couche réseau Programmation et Réseautique en génie des TI (GTI/LOG100 )  Le contenu de cette présentation est basé sur le livre de Kurose et Ross et de la documentation y jointe : Computer Networking: A Top Down Approach, 6ème édition. Jim Kurose, Keith Ross Addison-Wesley, Mars 2012, ISBN-13: 978-0132856201 Chapitre 4 : la couche réseau objectifs:  comprendre les principes des services offerts par la couche réseau:  Modèles de services  Routage vs Commutation  Fonctionnement d’un routeur  Algorithme de routage (sélection du parcours)  Fonctionnement du NAT Couche réseau 4-2 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme IP  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-3 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-4 Fonctionnalités de la couche réseau  transporte les paquets de l’émetteur application transport jusqu’au récepteur network data link  Les protocoles de la couche réseaux physical sont installés dans tous les hôtes et network data link network data link les routeurs. network data link physical physical physical network network Trois fonctions principales: data link data link physical physical  détermination du chemin : itinéraire emprunté par les paquets de la source network data link network data link à la dest: algorithme de routage physical network physical data link  Commutation (switching) : déplacer le physical paquet reçu du port d’entrée vers le network application transport port de sortie approprié. data link network network data link network physical data link  Établissement de la connexion : data link physical physical physical certaines architectures réseau nécessitent l'établissement d’une connexion au niveau de tous les routeurs dans le chemin (de la source à la destination) avant la transmission des données. Couche réseau 4-5 Routage versus commutation alg. de routage L’algorithme de routage determine le chemin de bout-en-bout à travers le réseau table de routage local Adresse Dest. sortie La table de routage determine 0100 3 la commutation local au niveau de 0101 2 ce routeur 0111 2 1001 1 L’adresse destination indiquée dans l’entête du paquet entrant 0111 1 3 2 Couche réseau 4-6 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-7 Services de la couche réseau Q: quel modèle de service pour “le canal” transportant des datagrammes entre transmetteur et récepteur? L’abstraction la plus importante offerte  Garantir la bande passante par la couche réseau: ? ?  Fixer la variation du délai de livraison des paquets (gigue)  Garantir la livraison sans perte Circuit virtuel ?  Livrer les datagrammes dans l’ordre ou datagramme? Services de la couche réseau vs couche transport: Couche réseau : entre deux hôtes Couche transport : entre deux processus Couche réseau 4-8 Circuits Virtuels (CV) “le transfert entre la source et la destination se comporte comme un circuit téléphonique”  En termes de performance  En termes d’actions tout au long du parcours  Établissement et fermeture de connexion avant le transfert des données  Chaque paquet porte un identifiant du circuit virtuel (CV) (pas l’adresse de la destination)  Chaque routeur au long du parcours maintient “l’état” de chaque connexion  Les ressources des routeurs et des liens (bande passante, mémoires) peuvent être allouées (ressources allouées = service avec performance prédictible) Couche réseau 4-9 Circuits virtuels  Protocoles de signalisation:  Utilisés pour établir, maintenir et fermer un CV  Utilisés en ATM, frame-relay, X.25  Ne sont pas utilisés dans l’internet d’aujourd’hui 6. Reception des données 5. Début du flux de données application 3. Accepter un appel application 4. Connexion établie transport 1. Initialiser un appel 2. Appel entrant transport réseau réseau liaison #CV=10 30 liaison physique 20 10 physique Table de commutation : (Interface d’entrée, #CV d’entrée, Interface de sortie, #CV de sortie) Couche réseau 4-10 Réseaux à datagrammes  Pas d’établissement de connexion au niveau réseau  Routeurs : pas d’état sur les connexions  pas de concept de “connexion” au niveau réseau  Les paquets sont transférés en utilisant l’adresse de la destination  Les paquets entre la même source et la même dest. peuvent suivre des parcours différents application application transport 1. Émission des données transport réseau 2. Réception des données réseau liaison liaison physique physique Couche réseau 4-11 Réseaux à datagrammes ou à circuit virtuel ? Internet (datagrammes) ATM (circuit virtuel)  échange de données entre  évolution de la téléphonie ordinateurs  conversation humaine:  service “élastique”, pas  exigences strictes de délai d’exigences en termes de et de fiabilité délai  besoins de services  terminaux “intelligents” garantis (ordinateurs)  terminaux “stupides”  peut adapter la connexion, réaliser du contrôle, recouvrir  téléphones les erreurs  la complexité est dans le  réseau simple, complexité sur réseau le “bord”  plusieurs types de liens  caractéristiques différentes  difficile de fournir un service uniforme Couche réseau 4-12 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-13 La couche réseau de l’Internet Fonctions de la couche réseau dans les hôtes/routeurs couche transport: TCP, UDP protocole IP protocoles de routage conventions d’adressage sélection de parcours format de datagramme RIP, OSPF, BGP La couche règles de traitement des paquets réseau table de protocole ICMP routage rapports d’erreurs “signalisation” de routeur Couche liaison de données Couche physique Couche réseau 4-14 format d’un datagramme IP version du protocole IP 32 bits taille totale de taille de l’entête type of datagramme ver head. length (octets) (octets) len service pour “type” de données fragment fragmentation/ 16-bit identifier flgs offset réassemblage nombre de sauts restants time to upper header (décrémenté à live layer checksum chaque routeur) 32 bit source IP address 32 bit destination IP address le protocole des couches supérieures Options (if any) Par ex. timestamp, Taille de l’entête data enregistrer la avec le TCP? (taille variable, Route (spécifier  20 octets de TCP Typiquement un segment TCP la liste des ou UDP) routeurs à  20 octets de IP visiter) = 40 octets + entête app Couche réseau 4-15 IP Fragmentation & Réassemblage  Un lien réseau a un MTU (maximal transfer size) – taille maximale du datagramme.  différents types de liens, fragmentation: différents MTUs in: un grand datagramme  Un datagramme IP large est out: 3 petits datagrammes divisé (“fragmenté”) dans le réseau  le datagramme est divisé en plusieurs datagrammes réassemblage  “réassemblage” à la dest. finale seulement  les bits d’entête IP sont utilisés pour identifier les fragments Attention : dans d’autres cours , MTU représente la taille maximale de la trame Couche réseau 4-16 IP Fragmentation & Réassemblage length ID MoreFrag offset Exemple =4000 =x =0 =0  datagramme de Un grand datagramme devient plusieurs 4000 octets petits datagrammes  MTU = 1500 octets length ID MoreFrag offset 1480 octets dans le champ =1500 =x =1 =0 des données length ID MoreFrag offset =1500 =x =1 =185 offset = 1480/8 length ID MoreFrag offset =1040 =x =0 =370 MoreFrag : est mis à 1 s’il y a des fragments qui suivent. Donc, ce drapeau est mis à 1 pour tous les fragments à l’exception du dernier Couche réseau 4-17 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à état de liens  Routage à vecteur de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-18 Adressage IP : introduction  adresse IP : identifiant de 223.1.1.1 32-bit pour les hôtes (plus 223.1.2.1 précisément interfaces) et les interfaces routeurs 223.1.1.2 223.1.1.4 223.1.2.9  Interface : connexion entre hôte/routeur et un lien 223.1.1.3 223.1.3.27 223.1.2.2 physique  Généralement, un routeur a plusieurs interfaces  Il y a combien d’interfaces 223.1.3.1 223.1.3.2 dans un hôte ?  une adresse IP est associée à chaque interface 11011111 00000001 00000001 00000001 =223.1.1.1 223 1 1 1 Couche réseau 4-19 Sous-réseaux 223.1.1.1  adresse IP : 223.1.1.2 223.1.2.1  Une partie sous-réseau (les 223.1.1.4 223.1.2.9 bits à gauche) (Subnet ID) 223.1.2.2  Une partie hôte (les bits à 223.1.1.3 223.1.3.27 droite) (host ID)  qu’est qu’un sous-réseau ? subnet  Un ensemble d’interfaces qui ont la même partie sous- 223.1.3.1 223.1.3.2 réseau dans leurs adresses IP  peuvent physiquement communiquer sans Réseau composé de 3 sous-réseaux l’intervention d’un routeur  Exemple : 200.23.16.0/23 SubNet host ID ID 11001000 00010111 00010000 00000000 Couche réseau 4-20 Masque réseau (NetMask)  32 bits indiquant quels bits sont utilisés pour décrire la partie s- réseau (subNet ID) :  les bits du subnet ID sont mis à 1  les bits du host ID sont mis à 0  Plusieurs représentations :  nombre de bits à 1 : /16  binaire: 11111111 11111111 00000000 00000000  notation décimale à point : 255.255.0.0  Toutes les interfaces qui se trouvent dans le même s-réseau doivent avoir le même masque  L’opération binaire Et de l’adresse IP 32 bits avec le netmask donne la partie s-réseau de l’adresse (Subnet ID) 21 Masque réseau (NetMask)  Permet à une machine 1) de connaître son s-réseau 2) de déterminer si une machine destination appartient au même s- réseau  Exemple:  IP de la machine M : 192.44.77.79  Masque réseau de la machine M : 255.255.255.192 (/26) 11000000.00101100.01001101.01001111 Et 11111111.11111111.11111111.11000000  S-Réseau : 11000000.00101100.01001101.01000000 192.44.77.64  Machine : la 15ème : 1111 22 http://www.subnet-calculator.com/ Sous-réseaux 223.1.1.0 223.1.2.0 Comment retrouver les sous- 223.1.1.1 réseaux?  il faut détacher chaque 223.1.1.2 223.1.2.1 interface de son routeur ou 223.1.1.4 223.1.2.9 hôte 223.1.2.2 223.1.1.3 223.1.3.27  grouper les interfaces en subnet créant des îlots de réseaux isolés. 223.1.3.1 223.1.3.2  Chaque réseau isolé est appelé un sous réseau (subnet). 223.1.3.0 subnet mask: /24 Couche réseau 4-23 Sous-réseaux 223.1.1.2 223.1.1.1 223.1.1.4  Combien de sous- réseaux y-a-t il dans 223.1.1.3 ce réseau? 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2 Couche réseau 4-24 Adressage IP : avec classes Classe NetId et HostID Plage d’adresses 1.0.0.0 à Classe A 127.255.255.255 27 = 128 réseaux 224 – 2 =16 777 214 machines Masque : 255.0.0.0 (/8) 128.0.0.0 à Classe B 191.255.255.255 214 = 16 384 réseaux 216 – 2 = 65 534 machines Masque : 255.255.0.0 (/16) 192.0.0.0 à Classe C 223.255.255.255 221 = 2 097 152 réseaux 28 -2= 254 machines Masque : 255.255.255.0 (/24) 224.0.0.0 à Classe D 239.255.255.255 Adressage IP : Sans classes CIDR: Classless InterDomain Routing  La partie d’adressage sous réseau est de taille arbitraire (Variable-length subnet masking - VLSM)  Le format de l’adresse : a.b.c.d/x, où x est le nombre de bits dans la partie sous réseau de l’adresse SubNet host ID ID 11001000 00010111 00010000 00000000 200.23.16.0/23 Couche réseau 4-26 Adresses publiques – Adresses privées  Dans chaque classe, une plage d’adresses est réservée à des fins privées, et ne sont donc ni « visibles » ni routable dans l’internet : Classe A : de 10.0.0.0 à 10.255.255.255 Classe B : de 172.16.0.0 à 172.31.255.255 Classe C : de 192.168.0.0 à 192.168.255.255  Adresses réservées aux réseaux locaux (entreprises, etc.)  Si une machine avec une adresse privée a besoin d’accéder à un réseau public, que peut on faire ?  Redonner des adresses publiques à toutes les stations  Utiliser une conversion d’adresse (Network Address Translator - NAT) au niveau de la passerelle d’accès 27 Adresses particulières  Le réseau 127.0.0.0  127.0.0.1 : adresse de boucle (interface de loopback)  Réservé pour des fonctions de bouclage et de diagnostic (tester le fonctionnement de la pile TCP/IP).   L’adresse 0.0.0.0 est celle d’une machine qui ne connaît pas son adresse. 28 Adresses particulières  Adresse du réseau : l’adresse où les bits du Host ID sont tous à 0 (les bits du SubNetID restent inchangés) : c’est l’adresse du réseau lui-même  192.168.1.0  193.56.58.0/24 -> adresse du réseau : 193.56.58.0  80.248.72.128/25 -> adresse du réseau : 80.248.72.128  L’adresse de diffusion (broadcast) : l’adresse où les bits du Host ID sont tous à 1 (les bits du SubNetID restent inchangés).  Par ex., l’adresse de diffusion dans le réseau d’adresse 192.168.1.0/24 est l’adresse 192.168.1.255  Exemple : 80.248.72.129/25 Adresse : 01010000 11111000 01001000 10000001  80.248.72.129 Masque : 11111111 11111111 11111111 10000000  255.255.255.128 Adresse réseau : 01010000 11111000 01001000 10000000  80.248.72.128 Adresse de : 01010000 11111000 01001000 11111111  80.248.72.255 diffusion Toutes les adresses à partir de 80.248.72.129 jusqu’à 80.248.72.254 sont des adresses qui peuvent être attribuées à des machines (27 - 2 machines) 29 Exercice Les adresses suivantes peuvent-elles être attribuées à un hôte (Addressage IP avec classes)? 131.107.256.80 NON 256 > 255 222.222.255.222 OUI (classe C) 231.200.1.1 NON (classe D) 172.16.0.0 NON adresse réseau (classe B) 190.7.2.0 OUI (classe B) 198.121.254.255 NON adresse de diffusion (Classe C) 30 Comment interpréter une adresse ( IP avec classes)? 0.0.0.0 Un hôte inconnu 255.255.255.255 Tous les hôtes (destination) 193.75.199.3 Hôte 3 du réseau 193.75.199 (classe C) 193.75.199.0 c’est le réseau 193.75.199 (classe C) 193.75.199.255 Tous les hôtes du réseau 193.75.199 (classe C) 127.0.0.1 Cet hôte (adresse de boucle) 172.130.120.255 @ d’un hôte non pas de diffusion (classe B) 80.255.255.255 @ de diffusion (classe A) 194.255.255.10 @ d’un hôte (classe C) 31 Comment interpréter une adresse (CIDR) ? 193.75.199.127/25 @ de diffusion 193.75.199.0/8 @ d’un hôte 193.75.199.255/8 @ d’un hôte 10.255.254.255/24 @ de diffusion 172.130.120.255/24 @ de diffusion 130.255.255.255/8 @ de diffusion 194.254.255.128/25 C’est une adresse d’un réseau 32 Adresses IP : comment en obtenir? Q : comment un hôte fait pour obtenir une adresse?  L’adresse peut être codée par l’administrateur dans un fichier  Windows: control-panel->network->configuration->tcp/ip- >properties  UNIX: /etc/rc.config  DHCP : Dynamic Host Configuration Protocol: obtenir dynamiquement une adresse à partir d’un serveur DHCP  “plug-and-play” Couche réseau 4-33 Adresse IP : comment en obtenir? Q: comment le réseau obtient la partie sous-réseau d’adresse IP? A: son FAI (ISP) lui alloue un espace d’adresse ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organisation 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organisation 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organisation 2 11001000 00010111 00010100 00000000 200.23.20.0/23... ….. …. …. Organisation 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Couche réseau 4-34 Adressage IP Q : comment le FAI (ISP) obtient des blocs d’adresses ? R : ICANN : Internet Corporation for Assigned Names and Numbers  alloue les adresses IP  gère les serveurs DNS de niveau supérieur (Top- Level Domain TLD)  attribue les noms de domaines Couche réseau 4-35 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-36 Représentation sous forme de graphe 5 3 v w 5 2 u 2 1 z 3 1 2 x 1 y Graphe : G = (N,E) N = ensemble de routeurs = { u, v, w, x, y, z } E = ensemble de liens = { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z), (u,w) } Remarque : la représentation sous forme de graphe est aussi utile dans d’autres contextes Exemple : P2P, où N est l’ensemble des clients et E est l’ensemble des connexions TCP Couche réseau 4-37 Représentation sous forme de graphe : coût 5 c(x,y) = coût du lien (x,y) 3 v w 5 e.g., c(w,z) = 5 2 u 2 1 z le coût peut être : 3 1  toujours égal à 1 2 x 1 y  ou inversement proportionnel à la bande passante,  ou proportionnel à la congestion coût du parcours (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Question : quel est le parcours le moins coûteux entre u et z ? Algorithme de routage : un algorithme qui vise à trouver le parcours le moins coûteux Couche réseau 4-38 Classification des algorithmes de routage Global ou décentralisé ? Global :  tous les routeurs connaissent la Statique ou dynamique? topologie et les coûts des liens Statique :  algorithmes par “états de liens”  les routes changent lentement (Link State – LS) Dynamique : Décentralisé :  les routes changent plus  un routeur connait ses voisins rapidement physiques et les coûts des liens avec ses voisins  mise à jour périodique  processus itératif de calcul,  en réponse aux échange des informations avec les changements des coûts voisins des liens  algorithmes à “vecteurs de distances” (Distance Vector – DV) Couche réseau 4-39 Algorithmes de routage à états de liens Algorithme de Dijkstra  La topologie et les coûts sont connus par tous les nœuds  via“diffusion de l’état du lien”  tous les nœuds ont la même information  Chaque routeur calcule les parcours les moins coûteux de la source (lui) vers les autres  Crée la table de routage de ce nœud  itératif : après k itérations, il connait le parcours le moins couteux vers k dest. Routage à état de lien : Link State (LS) routing Couche réseau 4-40 Algorithme de routage à vecteurs de distance Algorithme Bellman-Ford  Chaque nœud communique uniquement avec ses voisins  Chaque nœud maintient un vecteur de distance vers chaque destination : Dx(Y): estimation du plus court chemin de x à Y  Idée :  Chaque nœuds informe ses voisins de son estimation du plus court chemin (vecteurs de distance)  Chaque nœud va maintenir le coût d’atteindre toutes les destinations à travers chaque voisin  Dans des conditions normales, l’estimation du coût Dx(Y) converge vers le coût le plus faible. Routage à vecteur de distance : Distance Vector (DV) routing Couche réseau 4-41 Comparaison des algorithmes LS et DV Complexité en termes de Robustesse : et si un routeur messages échangés tombe en panne ?  LS : avec n nœuds et E liens, il y LS : a O(nE) msgs envoyés  DV : échange entre les voisins  le nœud peut diffuser un seulement coût incorrect Vitesse de convergence  chaque nœud recalcule sa  LS : O(n2) algorithme a besoin de propre table O(nE) msgs DV :  peut avoir des oscillations  le nœud DV peut annoncer un  DV : le temps de convergence varie coût erroné  Il peut y avoir des boucles  la table de chaque nœud est de routage utilisée par les autres L’erreur se propage dans le réseau Couche réseau 4-42 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-43 Routage hiérarchique Dans ce qui précède, on a considéré des cas simples:  tous les routeurs sont identiques  le réseau est “plat” … ce n’est pas vrai en pratique Échelle : avec 200 millions de Autonomie administrative destinations :  Internet = réseau de réseaux  Pas possible de stocker toutes les dest. dans les tables de routage!  chaque administrateur veut contrôler le routage dans son propre réseau  l’échange des tables de routage va surcharger les liens! Couche réseau 4-44 Routage hiérarchique  Organiser les routeurs en régions appelées “systèmes autonomes” (Autonomous System - AS) SA3 3c SA2 3a 2c 3b 2a 2b 1c SA1 1a 1b 1d Routeurs de frontière  Les routeurs d’un même SA utilisent le même protocole de routage  Un protocole de routage interne “intra-SA”  les routeurs dans différents SA peuvent utiliser différents protocoles de routage intra-SA  Les routeurs de frontière (Gateway Routers)  Ils relient un SA à un autre  Appelés aussi routeurs inter-systèmes autonomes “inter-SA” Couche réseau 4-45 Interconnecter les SAs 3c 3a 2c 3b 2a SA3 2b 1c SA2 1a 1b 1d SA1  La table de routage est configurée par les algorithmes de routage intra- et inter-SA algorithme algorithme intra-SA décide des entrées de routage de routage  Inter-SA Intra-SA pour les destinations internes table de  inter-SA & intra-SA décident routage des entrées pour les dest. externes Couche réseau 4-46 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-47 Routage Intra-SA  Appelé aussi : Interior Gateway Protocols (IGP)  Les protocoles de routage Intra-SA les plus connus :  RIP : Routing Information Protocol  OSPF : Open Shortest Path First Couche réseau 4-48 RIP ( Routing Information Protocol)  RIP a été inclus dans la distribution BSD-UNIX in 1982  Protocole ouvert (RFC 1058)  un algorithme de routage à vecteurs de distance  Métrique de distance (coût) : nombre de sauts (hop) (max = 15 sauts)  Vecteurs de distance échangés entre les voisins chaque 30 sec (appelé annonce)  Chaque annonce liste 25 s-réseaux destination (RIP utilise UDP) Du routeur A vers les s-réseaux : u destination sauts v u 1 A B w v 2 w 2 x 3 x y 3 z C D z 2 y Couche réseau 4-49 RIP : exemple Annonce de A à D dest suivant saut w - 1 x - 1 z C 4 …. …... z w x y A D B C Table de routage de D Réseau Routeur # de sauts destination suivant à la dest w A 2 y B 2 A 5 z B 7 x -- 1 …. …..... OSPF (Open Shortest Path First)  “open” : ouvert au public (RFC 1247)  Utilise un algorithme par états de lien  propagation de paquets (Link State - LS)  chaque nœud connait la topologie  calcule la route avec l’algorithme Dijkstra  Les annonces OSPF portent une entrée pour chaque routeur voisin  Les annonces sont propagées dans tout le AS via inondation (flooding)  Les annonces sont portées dans des messages OSPF directement sur IP (ni sur TCP ni sur UDP) 51 OSPF options “avancées” (pas dans RIP)  Sécurité : tous les messages OSPF sont authentifiés (pour prévenir les intrusions)  Multipath : plusieurs parcours ayant le même coût peuvent être utilisés (juste un seul parcours est utilisé avec RIP)  Pour chaque lien, plusieurs métriques de coût pour différents types de service  Supporte uni- et multicast  OSPF hiérarchique dans les grands domaines Couche réseau 4-52 Routage d’Internet inter-AS : BGP  BGP (Border Gateway Protocol) : le standard de facto  BGP permet à chaque AS de : 1. obtenir l’info d’accessibilité aux sous-réseaux à partir des ASs voisins. 2. propage l’info d’accessibilité à tous les routeurs internes du AS. 3. détermine les “bonnes” routes vers les sous réseaux en se basant sur l’info d’accessibilité.  Il permet aussi au sous-réseau d’annoncer son existence au reste de l’internet : “coucou” Couche réseau 4-53 Pourquoi différents routages Intra- et Inter-AS ? Politique :  Inter-AS : l’administrateur veut contrôler comment son trafic est routé et identifier qui traverse son réseau.  Intra-AS : un seul administrateur, alors pas de décision politique Mise à l’échelle (scalability) :  Le routage hiérarchique réduit la taille des tables de routage ainsi que le trafic de contrôle (par ex., message pour la mise à jour des tables) Performance :  Intra-AS : peut se concentrer sur la performance  Inter-AS : la politique est plus importante! Couche réseau 4-54 Chapitre 4 : la couche réseau  Fonctionnalités de la couche réseau  Services de la couche réseau  Protocole Internet (IP)  Format d’un datagramme  Adressage IPv4  Principes de routage  Routage à états de liens  Routage à vecteurs de distance  Routage hiérarchique  Routage au sein de l’Internet (RIP, OSPF, BGP)  Fonctionnement du NAT Couche réseau 4-55 NAT : Network Address Translation reste de Réseau local L’Internet (utilisant des adresses privées) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 tous les datagrammes quittant le réseau les datagrammes circulant dans ce local doivent avoir une adresse publique. réseau ont une adresse source ou C’est le NAT qui va remplacer l’adresse destination dans 10.0.0/24 privée par une adresse publique (ou le contraire). Par exemple, par l’adresse publique 138.76.29.7 avec différents # port source Couche réseau 4-56 NAT : Network Address Translation Table de traduction NAT 2: le routeur NAT 1: l’hôte 10.0.0.1 @ côté WAN @ côté LAN change l’@ source du envoie datagrammes à 138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80 datagramme de …… …… 10.0.0.1, 3345 à 138.76.29.7, 5001, S: 10.0.0.1, 3345 actualise la table D: 128.119.40.186, 80 10.0.0.1 1 S: 138.76.29.7, 5001 2 D: 128.119.40.186, 80 10.0.0.4 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 10.0.0.3 4: le routeur NAT 3: la réponse arrive change l’@ dest. @ dest.: et port dest. du datagramme de 138.76.29.7, 5001 138.76.29.7, 5001 à 10.0.0.1, 3345 Couche réseau 4-57 NAT : Network Address Translation Implémentation : le routeur NAT doit :  Pour les datagrammes sortants : remplacer (@ IP source, # port) de chaque datagramme sortant par (@ NAT IP, nouveau # port). Les clients/serveurs distant vont répondre à (@ NAT IP, nouveau # port) comme adresse de destination.  Mémoriser (dans la table de traduction NAT) la correspondance entre (@ IP source, # port) et (@ NAT IP, nouveau # port)  Datagrammes entrants : remplacer (@ NAT IP, nouveau # port) dans les champs de destination de chaque datagramme entrant avec la correspondance (@ IP source, # port) stockée dans la table NAT Pour connaitre votre adresse publique : http://www.whatismyip.com/ Couche réseau 4-58 Problème de traversée du NAT  Le client veut se connecter avec un serveur à l’adresse 10.0.0.1 serveur écoute  L’@ serveur 10.0.0.1 est local dans le sur le port 2500 LAN (le client ne peut pas l’utiliser 10.0.0.1 comme une @ dest.) Client  Donc le client ne peut pas initier la ? connexion 10.0.0.4  L’@ visible est 138.76.29.7 138.76.29.7 NAT Problème : le NAT ne sait pas que les routeur paquets reçus doivent être transféré à 10.0.0.1 !  Solution 1 : configurer le NAT statiquement pour transférer les requêtes de connexion à un port donné au serveur  Par ex., le trafic destiné à (138.76.29.7, port 2500) doit être toujours transféré à 10.0.0.1 port 2500 Couche réseau 4-59 Problème de traversée du NAT Solution 2  Configurer le mappage du port NAT automatiquement 10.0.0.1 IGD  Internet Gateway Device (IGD) Protocol implémenté à travers Universal Plug and 10.0.0.4 Play (UPnP) : Protocole qui permet de découvrir et configurer le NAT 138.76.29.7 NAT router  Permet à un hôte derrière un NAT de :  apprendre l’adresse IP publique (138.76.29.7)  ajouter et enlever le mappage du port plus rapidement Couche réseau 4-60 Problème de traversée du NAT  Solution 3 : relayage (utilisé par Skype)  le client NATé se connecte avec un relais  le client externe se connecte avec le relais  le relais fait le pont entre les paquets 2. connexion avec un relais 1. Connexion initialisée par un avec un relais client initialisée par 10.0.0.1 l’hôte NATé Client 3. Relayage établi 138.76.29.7 NAT router Couche réseau 4-61 NAT : Network Address Translation  Avantages du NAT :  Un réseau local peut utiliser une seule adresse IP pour se connecter avec le monde externe 60,000 connexions simultanées avec une seule adresse côté WAN (# port de 16 bits) Cela résout le problème de pénurie d’adresse IPv4  On peut modifier les adresses à l’intérieur d’un réseau local sans en informer le monde externe  On peut changer le FAI sans modifier les adresses dans le réseau local  Les équipements dans le réseau local ne sont pas adressable de l’extérieur (plus de sécurité). Couche réseau 4-62 NAT : Network Address Translation  Le NAT est un sujet de controverse :  Les routeurs doivent accéder seulement à la couche 3  Le NAT viole le paradigme de bout-en-bout  Le manque d’adresses doit être résolu par IPv6 Couche réseau 4-63

Use Quizgecko on...
Browser
Browser