Présentation Pascal PETIT tel.: Non mèl: pascal.petit@univ-evry.fr WeB: http://www.ibisc.univ-evry.fr/~petit
programme de l'enseignement adressage et routage IP architecture en couche, notion fondamentales sur les réseaux protocole IP dhcp : attribution automatique d'adresses IP dns : domain name system couche liaison, sous couche MAC couche transport, tcp/udp VLAN traduction d'adresses (NAT)
Réseau ensemble de machines interconnectées échangeant de données peut être représenté par des nœuds : les hôtes : ordinateurs, routeurs, ... des liens : relient certains noeuds
réseau: complexité des contraintes relier des machines avec des liaisons physiques variées fournir des services variés: transfert de données, WeB, voix, video, temps réel, ... qualité de service, sécurité, …
Réseaux Métropolitains d’interconnexion et PAN UNIVERSITE D’EVRY VAL D’ESSONNE Catégories de Réseaux WAN Réseaux étendus MAN Réseaux Métropolitains LAN Réseaux Locaux Structures d’interconnexion et PAN Bus Catégories de réseaux informatiques BUS Processeurs, mémoires, entrées sorties d’un calculateur. STRUCTURES D’INTERCONNEXION Plusieurs calculateurs dans une même pièce ou petite distance. Plusieurs centaines de Mbps. PAN (Personal Area Network) Entre GSM et PDA sur quelques mètres. LAN De quelques Mbps à quelques centaines de Mbps. MAN Plusieurs sites d’une même ville. WAN Liens terrestres, sous marins, satellitaires 1m 10 m 100 m 1 km 10 km 100 km > Copyright Michel BESSON
avec ou sans connexion Orientations protocolaires et Choix de liens UNIVERSITE D’EVRY VAL D’ESSONNE avec ou sans connexion Hello Are You ready ? Yes ! Orientations protocolaires et Choix de liens Modes Connecté / Non Connecté Connecté Connecté = CV mis en place 3 phases Établissement de la connexion Transfert des données dans l’ordre Fermeture de connexion Non connecté Pas de CV Envoi direct des paquets Routage individuel des paquets Broacasting et Multicasting possibles Ré-ordonnancement indispensable Permanent ou Partagé Les liens Bye ! Copyright Michel BESSON
1à1 ou 1 à N Orientations protocolaires et Choix de liens UNIVERSITE D’EVRY VAL D’ESSONNE 1à1 ou 1 à N Orientations protocolaires et Choix de liens Modes Connecté / Non Connecté Connecté Connecté = CV mis en place 3 phases Établissement de la connexion Transfert des données dans l’ordre Fermeture de connexion Non connecté Pas de CV Envoi direct des paquets Routage individuel des paquets Broacasting et Multicasting possibles Ré-ordonnancement indispensable Permanent ou Partagé Les liens Copyright Michel BESSON
commutation de circuits/ de paquets telecom anciens : commutation de circuit : « pas suite d'encombrement ... » : réservation d'un circuit de la source à la destination commutation de paquets : découpage des données en paquets
solution : diviser pour mieux regner garantir des interfaces claires entre couches/modules
Architecture OSI Application Application Présentation Présentation Session Session Transport Transport Réseau Routage Réseau Liaison Commutation Liaison Physique Transmission Physique
Architecture tcp/ip améliorée :-) Le cours se limitera aux réseaux TCP/IP Application Application Transport Transport Réseau Routage Réseau Liaison Commutation Liaison Physique Transmission Physique
Architecture tcp/ip améliorée :-) Application Transport Numéro de port : identifie un programme communiquant sur un hôte Réseau Adresse IP Liaison Adresse MAC (ou adresse physique, matérielle) Physique
couche physique/couche liaison liaison: ethernet, adresse ethernet: permet la communication entre deux machines directement reliées (sur le même lien physique) exemple: les machines de la salle et une partie des machines de l'étages sont directement reliées elles peuvent directement communiquer votre poste et www.google.fr ne sont pas directement reliés
couche réseau: IP apport de la couche réseau: permettre la communication entre deux machines non directement reliées via un chemin constitué de de machine directement reliées s'appuie sur la couche liaison pour chaque « saut de puce » Adresse IP : identifie l'interface réseau d'une machine un adresse ip correspond à une seule machine par contre, une machine peut avoir plusieurs adresses IP adresse IP: faire le parallèle avec les boîtes aux lettres postales (interface ethernet = bal) une adresse désigne une unique boîte aux lettres un endroit donné peut avoir plusieurs boîte aux lettres une boîte aux lettres peut avoir plusieurs noms
lien entre liaison et IP: ARP 1-ARP requète: Qui a l'IP 192.168.10.2 ? 2-ARP répnse: 192.168.10.2 c'est moi MAC: 00:50:56:c0:00:08 adresse resolution protocol obtenir l'adresse ethernet (MAC) connaissant l'adresse IP la machine demandeuse diffuse un message sur le réseau auquel la machine concernée répond
lien entre liaison et IP: ARP Répond au problème suivant La couche réseu connaît l'adresse ip de la destination (next-hop) La couche liaison a besoin de son adresse MAC ARP permet à la couche réseau d'avoir l'adresse MAC d'un hôte directement joignable à partir de son IP ARP : adress resolution protocol la machine demandeuse diffuse un message sur le réseau auquel la machine concernée répond
couche réseau: IP Routage IP Adresse IP IP Liaison Liaison Liaison apport principal de la couche réseau: permettre la communication entre deux machines non directement reliées via un chemin constitué de de machine directement reliées s'appuie sur la couche liaison pour chaque « saut de puce » Adresse IP : associée à l'interface réseau d'une machine un adresse ip correspond à une seule machine par contre, une machine peut avoir plusieurs adresses IP IP destination IP source IP
Adresse IP/ Adresse postale boîte aux lettres : interface réseau maison : machine une adresse IP identifie une carte réseau deux machines différentes ne doivent pas avoir la même adresse deux cartes différentes ne doivent pas avoir la même adresse une machine peut avoir plusieurs adresses une machine peur avoir plusieurs cartes
Adresse IP/Adresse Postale identifie l'inface réseau d'une machine constituée de deux parties : une partie qui identifie le réseau où se trouve la machine une partie qui identifie la machine sur ce réseau toutes les machines situées sur le même réseau ont la même partie réseau deux machines différentes ne doivent pas avoir la même adresse une machine peut avoir plusieurs adresses Adresse IP/Adresse Postale une adresse postale identifie une boîte aux lettres deux maisons différentes ne doivent pas avoir la même adresse deux boîtes aux lettres différentes ne doivent pas avoir la même adresse une boîtes aux lettre peut avoir plusieurs noms une maison peur avoir plusieurs boîtes aux lettres adresse IP: adresse postale maison : machine une adresse IP identifie une carte réseau deux machines différentes ne doivent pas avoir la même adresse deux cartes différentes ne doivent pas avoir la même adresse une machine peut avoir plusieurs adresses une machine peur avoir plusieurs cartes
Adresse IP v4 32 Bits IDENTIFICATEUR DE RESEAU IDENTIFICATEUR D’HÔTE W . X . Y . Z L’adresse est sur 32 bits Répartis en 4 séries de 8 bits appelés octets Les octets sont séparés par des points (notation décimale pointée. Format décimal 131.107.3.24 Format binaire 10000011 01101011 00000011 00011000 Les bits de gauches identifient le réseau où est l'hôte Les bits de droite identifient l'hôte sur son réseau A l'origine, on autorisait une partie réseau : De 8 bits (ou 1 octets) : classe A De 16 bits (ou 2 octets) : classe B De 24 bits (ou 3 octets) : classe C De nos jours, on autorise des parties réseaux au bit près. Dans la suite, nous allons présenter d'abord le système des classes A, B, ... puis généraliser. 132.109.4.20
Rappels: Calcul en base 2 8 Bits 1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1 Base 10: n=n2*102+n1*101+n0*100 base 2: n=b7*27+b6*26++b5*25+b4*24+b3*23+b2*22+b1*21+b0*20 Exemple: 135=ràf Valeur décimale 255
Classes d'adresses (la préhistoire) IDENTIFICATEUR DE RESEAU IDENTIFICATEUR D’HÔTE IDENTIFICATEUR DE RESEAU IDENTIFICATEUR D’HÔTE B 1 0 Adresses de classe A Réseaux comportant de très nombreux hôtes, le bit de poids fort est toujours défini à 0 en classe A, les 7 bits suivants définissent l’identificateur de réseau, les 24 autres (3 derniers octets) définissent les hôtes. 126 réseaux et 17 millions d’hôtes par réseau Adresses de classe B Réseaux de taille moyenne ou grande, les deux bits de poids fort sont toujours définis à 1 0 en classe B, les 14 bits suivants définissent l’identificateur de réseau, les 16 autres (2 derniers octets) définissent les hôtes. 16384 réseaux et 65000 hôtes par réseau Adresses de classe C Réseaux comportant très peu d’hôtes, les trois bits de poids fort sont toujours définis à 1 1 0 en classe C, les 21 bits suivants définissent l’identificateur de réseau, les 8 autres (dernier octet) définissent les hôtes. 2 millions de réseaux et 254 hôtes par réseau C IDENTIFICATEUR D’HÔTE IDENTIFICATEUR DE RESEAU 1 1 0
Classes d'adresses D E Multicast : 29 bits 1 1 1 0 Réservé : 28 bits 1 1 1 1 0 Adresses de classe A Réseaux comportant de très nombreux hôtes, le bit de poids fort est toujours défini à 0 en classe A, les 7 bits suivants définissent l’identificateur de réseau, les 24 autres (3 derniers octets) définissent les hôtes. 126 réseaux et 17 millions d’hôtes par réseau Adresses de classe B Réseaux de taille moyenne ou grande, les deux bits de poids fort sont toujours définis à 1 0 en classe B, les 14 bits suivants définissent l’identificateur de réseau, les 16 autres (2 derniers octets) définissent les hôtes. 16384 réseaux et 65000 hôtes par réseau Adresses de classe C Réseaux comportant très peu d’hôtes, les trois bits de poids fort sont toujours définis à 1 1 0 en classe C, les 21 bits suivants définissent l’identificateur de réseau, les 8 autres (dernier octet) définissent les hôtes. 2 millions de réseaux et 254 hôtes par réseau
Classes d'adresses A B C Nombre de Réseaux de cette classe Nombre d’Hôtes par réseaux Plage du 1er Quad Nombre de bits de la partie réseau A 126 16 777 214 1-126 8 B 16 383 65 534 128-191 16 C 2 097 151 254 192-223 24
Classes d'adresses D E IDENTIFICATEUR DE GROUPE D’HÔTES 1 1 1 0 classe D : Multicast E ADRESSES EXPERIMENTALES 1 1 1 1 Adresses de classe D Réseaux utilisés par des groupes multicast. Un groupe multicast peut contenir un ou plusieurs hôtes. Le bits de poids fort sont toujours définis à 1 1 1 0 en classe D, les bits suivants définissent l’identificateur du groupe auquel le client participe. Les opérations en multicast ne comportent pas de bits de réseau ou d’hôtes. Les paquets sont transmis à un sous ensemble d’hôtes sélectionné du sous-réseau. Les hôtes enregistrés pour l’adresse de groupe recevront seuls le paquet. WINS et NetShow utilisent des adresses multicast. Adresses de classe E Réseaux expérimentaux (réservé à des usages ultérieurs), les quatre bits de poids fort sont toujours définis à 1 1 1 1.
ICANN Internet Corporation for Assigned Names and Numbers gère, entre autre, l'attribution des adresses ipv4 et v6 délègue par zone géographique aux registres internet régionaux (RIR, rfc2050) qui délèguent aux LIR (registre locaux)
adresse ip PI et PA PA : provider agregable fournie par votre fournisseur de connexion IP quand on change de fournisseur, on change d'ip le cas général PI : provider independant peut être utilisée chez le fournisseur de son choix tolérance de panne via plusieurs fournisseurs
Adresses réservées définies dans le rfc 5735 Réseau: 127.0.0.0/8 (loopback) Adresse de bouclage (loopback) : 127.0.0.1 Adresse du réseau: partie hôte à 0 ex : 194.199.90.0 Adresses de diffusion: 255.255.255.255 : diffusion générale Partie hôte à 255: ce réseau (destination). ex.: 194.199.90.255 (classe C) Adresse de boucle 127 est réservé aux fonctions de Loopback (127.0.0.1) Identificateur 255.255.255.255 Si les bits de l’identificateur de réseau et d’hôte sont à 1, l’adresse est interprétée comme adresse de diffusion. 255.255.255.255: ce réseau (adresse destination) A.255.255.255, B.B.255.255, C.255.255.255: Adresses de diffusion vers tous les hôtes des réseaux en question (dangereux donc souvent désactivé de nos jours) Prévoir une adresse pour le routeur par défaut des postes du réseau. Cette adresse doti respecter une convention de site. Par ex.: Partie hôte à 1 (1921.68.2.1) Partie hôte à 249 (194.199.90.249) : université d'Evry Partie hôte à 254 (192.168.0.254) : Freebox ...
Adresses réservées Adresse de réseau à zéro (adresse source) : 0.0.0.0: ce réseau (source) 0.x.y.z : l'hôte x.y.z sur ce réseau 169.254.0.0/16 : utilisé en cas d'autoconfiguration d'un hote (rfc 3927) 192.0.0.0/24,198.51.100.0/24, 203.0.113.0 : réservé pour utilisation dans la documentation (rfc 5737) 192.88.99.0/24 : relay ipv6ipv4 100.64.0.0/10 : réservée pour « carrier grade nat » (rfc 6598) Quand le numéro de réseau est inconnu, on peut le remplacer par 0. Ca peut être le cas d'un hôte en cours d'initialisation. Soit totalement: 0.0.0.0 Soit partiellement : 0.x.y.z sur une classe A Adresses non routables sur internet (adresses privées, RFC 1918) classe A : 10.x.y.z, classe B : 172.16.y.z à 172.31.y.z classe C : 192.168.y.z où x,y,z représentent un nombre compris entre 0 et 254 Ces classes sont conçues pour un usage interne et ne doivent pas circuler sur internet. Ces adresses sont routables au sein d'un site mais pas vers internet Elles sont très utilisées : Pour des machines internes sans accès internet En liaison avec le mécanisme de traduction d'adresses
Adresses réservées réseaux privés (rfc 1918) : adresse utilisable sur un réseau interne mais pas sur internet 192.168.x.0/24 : 256 réseaux de classe C 172.16.0.0/16 → 172.31.0.0/16 : 16 réseaux de classe B 10.0.0.0/8 : réseau de classe A Quand le numéro de réseau est inconnu, on peut le remplacer par 0. Ca peut être le cas d'un hôte en cours d'initialisation. Soit totalement: 0.0.0.0 Soit partiellement : 0.x.y.z sur une classe A Adresses non routables sur internet (adresses privées, RFC 1918) classe A : 10.x.y.z, classe B : 172.16.y.z à 172.31.y.z classe C : 192.168.y.z où x,y,z représentent un nombre compris entre 0 et 254 Ces classes sont conçues pour un usage interne et ne doivent pas circuler sur internet. Ces adresses sont routables au sein d'un site mais pas vers internet Elles sont très utilisées : Pour des machines internes sans accès internet En liaison avec le mécanisme de traduction d'adresses
Masque Permet De distinguer la partie réseau de la partie hôte d'une adresse De déterminer si deux hôtes sont sur le même réseau 194.199. 90.1 194.199. 90.20 255.255.255.0 255.255.255.0 ------------- ------------- 194.199. 90.0 194.199. 90.0 en fait, on exprime le tout en base 2 et on fait un ET logique entre adresse et masque Le Masque de Sous-Réseau Une adresse spéciale sur 32 bits, utilisée pour : Cacher une partie de l’adresse IP, ce qui distinguera l’adresse du réseau de l’adresse de l’hôte. Permettre de distinguer si l’adresse de l’hôte destinataire est ou non sur le réseau physique de l’émetteur. Chaque hôte doit disposer d'un masque Pour trouver l'adresse du réseau, on fait un ET binaire entre l'adresse et le masque. Table du ET: 1 ET 1 = 1, 0 ET 1 = 1 ET 0 = 0 ET 0 = 0 Traduit en base 10, cela donne : X ET 0 = 0 X ET 255 = 255
Masque en base 2 : on fait un ET logique : 11000010.11000111.01011010.00000001 11111111.11111111.11111111.00000000 ----------------------------------- 11000010.11000111.01011010.00000000 résultat en base 10 : 194 . 199 . 90 .0 Le Masque de Sous-Réseau Une adresse spéciale sur 32 bits, utilisée pour : Cacher une partie de l’adresse IP, ce qui distinguera l’adresse du réseau de l’adresse de l’hôte. Permettre de distinguer si l’adresse de l’hôte destinataire est ou non sur le réseau physique de l’émetteur. Chaque hôte doit disposer d'un masque Pour trouver l'adresse du réseau, on fait un ET binaire entre l'adresse et le masque. Table du ET: 1 ET 1 = 1, 0 ET 1 = 1 ET 0 = 0 ET 0 = 0 Traduit en base 10, cela donne : X ET 0 = 0 X ET 255 = 255
inadaptation des classes quel classe choisir pour un réseau de 1500 hôtes ? une classe B qui peut en contenir plus de 65000 ? les classes B sont rares on utilise plusieurs classe C chaque classe C attribuée correspond à une entrée dans les tables des routeurs d'internet trop d'entrées => saturation de la mémoire des routeurs salution : CIDR/VLSM (1993) VLSM: on s'autorise à découper au milieu des octets. Correspondance: Classe A : 255..0.0.0 ou /8 Classe B: 255.255.0.0 ou /16 Classe C: 255.255.255.0 ou /24 Faute d'avoir assez de classe B, on a distribué plusieurs classes C aux entités qui en besoin de quelques milliers d'adresses. Problème: chacune de ces classes C devait avoir une entrée dans les tables de routages des routeurs. La taille de ces tables de routage menaçaient les performances des routeurs. Solution: regrouper des réseaux de classe dans des réseaux plus gros. Exemple: 4 classes C = un /22 et une entrée dans les tables de routage au lieu de 4. 16 classes C = un /20 et une entrée dans les tables de routage au lieu de 16. Conséquence sur le routage: les routeurs et les algorithmes de routage doivent tenir compte (et donc transmettre) de la taille du masque et pas seulement du premier octet de l'adresse. Les classes A, B et C deviennent des notions obsolètes
CIDR/VLSM VLSM (Variable Length Subnet Mask, rfc 1878) : le masque est défini au bit près Permet : Un découpage précis des sous-réseaux d'un site Permet de regrouper des réseaux contigus de classe C en un seul « sur-réseau » : CIDR (Classless Inter Domain Routing) Diminue le nombre d'entrée dans les tables de routage Notation /nn avec nn: nombres de bits de la partie réseau du masque CIDR : rfc 1519 (1993) remplacée par rfc 4632
CIDR/VLSM: masque Classe d’adresse Notation Décimale Bits utilisés pour le masque de Sous-Réseau Classe A /8 11111111 00000000 00000000 00000000 255.0.0.0 Classe B /16 11111111 11111111 00000000 00000000 255.255.0.0 Classe C /24 11111111 11111111 11111111 00000000 255.255.255.0 /23 11111111 11111111 11111110 00000000 255.255.254.0 /18 11111111 11111111 11000000 00000000 255.255.192.0 /15 11111111 11111110 00000000 00000000 255.254.0.0 /9 11111111 100000000 00000000 00000000 255.128.0.0 Les RFC CIDR: 1517 Applicability Statement for the Implementation of Classless Inter-Domain Routing (CIDR). Internet Engineering Steering Group, R. Hinden. September 1993. (Status: HISTORIC) 1518 An Architecture for IP Address Allocation with CIDR. Y. Rekhter, T. Li. September 1993. (Status: HISTORIC) 1519 Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy. V. Fuller, T. Li, J. Yu, K. Varadhan. September 1993. (Obsoletes RFC1338) (Obsoleted by RFC4632) (Status: PROPOSED STANDARD) 1520 Exchanging Routing Information Across Provider Boundaries in the CIDR Environment. Y. Rekhter, C. Topolcic. September 1993. (Status: HISTORIC) 4632 Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. V. Fuller, T. Li. August 2006. (Obsoletes RFC1519) (Also BCP0122) (Status: BEST CURRENT PRACTICE) Bits 1 à 8 bits 9 à 16 bits 17 à 24 bits 25 à 32
adresses utilisées par un réseau première adresse : adresse du réseau : se calcule en passant la partie hôte à 0 première adresse utilisable pour un hôte : adresse du réseau + 1 dernière adresse : adresse de diffusion : se calcule en passant la partie hôte à 1 (255 en base 10) dernière adresse utilisable : adresse de diffusion -1 le nombre de chiffres de la partie hôtes (= 32 – masque) détermine le nombre d'adresses du réseau
Exemples hote/masque adresse de diffusion masque décimal réseau première adresse hôtes dernière adresse hôtes 194.199.165.165/24 194.199.165.255 255.255.255.0 194.199.165.0 194.199.165.1 194.199.165.254 194.199.165.165/21 194.199.167.255 255.255.248.0 194.199.160.0 194.199.160.1 194.199.167.254 21=2*8+5. la partie réseau contient donc les 2 premiers nombres et 5 chiffres du 3e. La partie hôte contient 3 (=8-5) chiffres du 3e et le dernier nombre. 165=10100101. On passe la partie hôte à 0 et on obtient : 10100000=160 et 0 pour le dernier nombre donc le réseau est : 194.199.160.0. on passe la partie hôte de 165 à 1 et on obtient : 10100111=167 et 255 (=11111111) pour le dernier nombre donc l'adresse de diffusion est 194.199.167.255.
tailles de réseau quelle masque pour un réseau de : 13 hôtes ? il faut 13+2=15 adresses. 2^3=8< 15 < 2^4=16 donc 4 bits minimum pour la partie hôte donc masque /28 (= 32 -4) 95 hôtes ? 64=2^6<95+2=97 < 128=2^7 7 chiffres pour hôtes donc /25 (= 32 -7) 357 hôtes ? /23
un cas particuler /31 (rfc 3021) /31 : il reste 1 bit pour les adresses donc 2 adresses possible affectées à des hôtes sur un lien point à point il n'y a pas d'adresse de diffusion il n'y a pas d'adresse de réseau sert en général pour relier des routeurs C'est un cas particulier où on a décidé de ne pas suivre la règles générale
agréger des réseaux (1) objectif : pouvoir considérer l'union de plusieurs réseaux comme un unique réseau plus gros exemple : un découpage : 192.168.64.0/22 : de 192.168.64.0 à 192.168.67.255 peut-être vu comme l'union de 192.168.64.0/24 : de 192.168.64.0 à 192.168.64.255 192.168.65.0/24 : de 192.168.65.0 à 192.168.65.255 192.168.66.0/24 : de 192.168.66.0 à 192.168.66.255 192.168.67.0/24 : de 192.168.67.0 à 192.168.67.255
agréger des réseaux (2) une entreprise a 2 classes C : 192.168.10.0/24 et 194.199.90.0/24 peut-elle les agréger en un seul réseau ? de quelle taille ? taille : classe C : 256 adresses 2 classes C : 512 adresses partie hôtes à 9 chiffres en base 2 (512=2^9) partie réseau de 32-9=23 chiffres : réseau /23 agrégation : non car réseaux non contigus
agréger des réseaux (3) une entreprise a 2 classes C contiguës 192.168.9.0/24 192.168.10.0/24 peut-elle les agréger en un seul réseau ? réponse : non car ces 2 classes C ne font pas partie du même /23 : 192.168.9.x/23 a comme adresse réseau 192.168.8.0/23 car 9=00001001 192.168.10.x/23 a comme adresse réseau 192.168.10.0/23 car 10=00001011
agréger des réseaux (4) une entreprise a 2 classes C contiguës 192.168.8.0/24 192.168.9.0/24 peut-elle les agréger en un seul réseau ? Oui, 192.168.8.0/23 dont les adresses vont de : 192.168.8.0 à 192.167.9.255
Routage IP: problématique 152.81.37.18 152.81.144.15 152.81.7.163 152.81.1.10 152.81.37.18 152.81.144.15 152.81.7.163 152.81.1.10 Destination 152.81.1.1 152.81.1.1 152.81.1.1 152.81.1.1 152.81.1.1 Routeur (ou, par abus de langage, passerelle) : Une machine qui sait gérer et retransmettre des paquets qui ne lui sont pas destinés. Le trajet complet est une suite de saut de puce entre machines directement connectées. La machine source ne détermine pas le chemin. Son rôle est de déterminer la prochaine étape (next hop). C'est aussi le rôle de chaque machine intermédiaire. A chaque étape, il y a détermination de la prochaine machine intermédiaire. C'est l'algorithme de routage qui détermine le « next hop ». Il le détermine en fonction: D'informations locales présentes sur la machine: la table de routage; Des informations (adresse ip destination) présente dans le paquet à transmettre. La table de routage peut être construite : Par l'administrateur système: on parle de routage statique Par des programmes qui échangent automatiquement des informations avec les autres routeurs : on parle de routage dynamique. 152.81.37.18 152.81.144.15 152.81.7.163 152.81.1.10 Source
Routage IP: problématique chaque hôte a pour mission de déterminer le 'next hop » : à qui envoyer un paquet en fonction de la destination du paquet fait en fonction : de la destination du paquet d'information locales contenues dans la table de routage aucune machine ne connaît le trajet complet jusqu'à la destination la sortie du réseau local se fait en passant par un routeur : machine reliée à plusieurs réseaux 152.81.1.10 Routeur (ou, par abus de langage, passerelle) : Une machine qui sait gérer et retransmettre des paquets qui ne lui sont pas destinés. Le trajet complet est une suite de saut de puce entre machines directement connectées. La machine source ne détermine pas le chemin. Son rôle est de déterminer la prochaine étape (next hop). C'est aussi le rôle de chaque machine intermédiaire. A chaque étape, il y a détermination de la prochaine machine intermédiaire. C'est l'algorithme de routage qui détermine le « next hop ». Il le détermine en fonction: D'informations locales présentes sur la machine: la table de routage; Des informations (adresse ip destination) présente dans le paquet à transmettre. La table de routage peut être construite : Par l'administrateur système: on parle de routage statique Par des programmes qui échangent automatiquement des informations avec les autres routeurs : on parle de routage dynamique. Source
Routage IP: problématique Une machine sait transmettre les paquets sur les sous-réseaux de ses interfaces (réseaux locaux) Les autres paquets sont envoyés à un routeur directement joignable (situé sur un réseau local) 152.81.37.18 152.81.144.15 152.81.7.163 152.81.1.10 152.81.37.18 152.81.144.15 152.81.7.163 152.81.1.10 Destination 152.81.1.1 Routeur (ou, par abus de langage, passerelle) : Une machine qui sait gérer et retransmettre des paquets qui ne lui sont pas destinés. Le trajet complet est une suite de saut de puce entre machines directement connectées. La machine source ne détermine pas le chemin. Son rôle est de déterminer la prochaine étape (next hop). C'est aussi le rôle de chaque machine intermédiaire. A chaque étape, il y a détermination de la prochaine machine intermédiaire. C'est l'algorithme de routage qui détermine le « next hop ». Il le détermine en fonction: D'informations locales présentes sur la machine: la table de routage; Des informations (adresse ip destination) présente dans le paquet à transmettre. La table de routage peut être construite : Par l'administrateur système: on parle de routage statique Par des programmes qui échangent automatiquement des informations avec les autres routeurs : on parle de routage dynamique. 152.81.1.1 152.81.1.1 152.81.1.1 152.81.1.1 152.81.37.18 152.81.144.15 152.81.7.163 152.81.1.10 Source
Routage: routeur par défaut, routes statique Table de routage : Une entrée pour chaque réseau directement connecté Routeur par défaut: pour les destinations non traités par les autres entrées Routes statiques: pour les destinations pour lesquelles le routeur par défaut ne convient pas Le parcours de la table est récursif Les cas d'arrêt sont les réseaux directement connectés à l'hôte. Chaque machine s'appuie sur sa table de routage pour savoir que faire d'un paquet à émettre. La décision se fait en fonction de l'adresse destination du paquet. La table de routage contient une entrée pour chaque réseau auquel la machine est directement connecté. En principe, les paquets à destination de ces réseaux sont directement transmis à la destination Elle contient une entrée par défaut qui fait office de règle balai : les paquets dont la destination n'a pas été traitée par les autres règles sont transmises au routeur par défaut. Elle contient d'autres régles pour les cas où le routeur par défaut n'est pas la bonne solution. Les règles/entrées ont grosso-modo la forme suivante : Destination (adresse, masque), adresse du routeur à utiliser si la destination est un hôte, le masque est 255.255.255.255 sinon, c'est le masque du réseau destination. Les réseaux directement connecté à la machine ont 0.0.0.0 comme routeur destination Exemple d'entrée: destination: 192.168.10.0, 255.255.255.0, routeur: 0.0.0.0 destination: 192.168.20.0, 255.255.255.0, routeur: 192.168.10.1
Routage : algo de routage (faux) quand une machine M a un paquet à transmettre, elle applique l'algorithme suivant : D: si le paquet est pour une machine située sur l'un des sous-réseaux d'une de ses cartes réseau, il est envoyé directement à la destination RS: si le paquet est pour une destination pour laquelle M a une route définie, => envoyé au routeur défini dans la route DGW: sinon, le paquet est envoyé au routeur par défaut de M L'algorithme ci-dessus correspond globalement au comportement de la majeure partie des tables de routage. Il peut cependant être factuellement faux car les entrées sont traitées dans l'ordre des maques croissants. Ainsi, une route vers un hôtes (masque 255.255.255.255) sera prioritaire par rapport à une route vers un réseau directement connecté. Un poste de travail a en général une table de routage très simple : Une entrée vers le sous réseau auquel est relié le poste Un routeur par défaut Il est déconseillé que des postes de travail aient des tables de routage complexes. Ca rend le réseau difficile à gérer et son fonctionnement difficile à prédire. En général, ce sont les routeurs centraux qui ont des tables de routage plus complexes.
réseau 1: P2 P1 R1 R4 R2 P4 P3 Indiquez le trajet et la décision de routage à chaque étape pour les sources et destinations suivantes : P1 → 192.168.10.2 P1 → 192.168.20.2 P1-> 192.168.30.3 P1-> 192.168.50.5 P5 → 192.168.30.3 P5 → 192.168.20.3 Notation : l'adresse 192.168.x0.y représente l'adresse de la machine y sur le réseau x. Exemple: 192.168.20.3 : adresse de P3 sur R2. Décisions de routage : D : direct: la destination est sur un réseau de la source RSH: route statique d'hôte RSR: route statique de réseau RPD: routeur par défaut R3 R5 les flèches indiquent les routeurs par défaut. Ainsi, B est DGW de A; C DGW de B; D DGW de C et de E et A DGW de D. P5 Couleurs: vert: routage activé - bleu: hôtes non routeur
réseau 1: P2 P1 R1 R4 R2 P4 P3 Indiquez le trajet et la décision de routage à chaque étape pour les sources et destinations suivantes : P1 D→ 192.168.10.2 P1 RPD→ 192.168.10.2 (P2 reconnaît un paquet pour lui) P1 RPD→ 192.168.10.2 RPD → 192.168.20.3 (P3 reconnaître un paquet pour lui) P1-> 192.168.50.5 P5 → 192.168.30.3 P5 → 192.168.20.3 R3 R5 les flèches indiquent les routeurs par défaut. Ainsi, B est DGW de A; C DGW de B; D DGW de C et de E et A DGW de D. P5 Couleurs: vert: routage activé - bleu: hôtes non routeur
Routage P2 P1 R1 R4 R2 P4 P3 R3 R5 P5 P6 R6
Routage sur P4: - pour aller en R6, passer par P5 P2 P1 R1 R4 R2 P4 P3
Routage routeur vers internet R0 P2 P1 R1 R4 R2 P4 P3 R3 R5 P5 P6 R6
Routage routeur vers internet R0 P2 P1 R1 R4 R2 P4 P3 R3 R5 P5 P6 R6
Routage sur P1: - pour aller en R2, passer par P2/R1 routeur vers internet R0 sur P1: - pour aller en R2, passer par P2/R1 - pour aller en R3, passer par P2/R2 - pour aller en R5, passer par P4/R4 - pour aller en R6, passer par P4/R4 P2 P1 R1 R4 R2 sur P4: - pour aller en R6, passer par P5 P4 P3 R3 R5 P5 P6 R6
Routage : méthodologie sauf cas particulier, un routeur (par défaut ou de route statique), sera directement joignable un routeur sert à joindre des réseau auxquels le poste n'est pas connecté directement on commence par choisir les routeurs par défaut des postes qui n'ont qu'un seul routeur par défaut possible : cas de P1, P2, P4 et P5 dans l'exemple suivant le routeur par défaut d'un poste est celui qui doit permettre de joindre internet quand le routeur par défaut ne convient pas, on ajoute une route statique.
Exemple RI P6 P5 P4 R4: 192.168.40.0/24 R1: 192.168.10.0/24 R2: 192.168.20.0/24 P1 R3: 192.168.30.0/24 P2 P3 Routeur par défaut
Exemple routes statiques : sur P6 : (obligatoire) RI P6 P5 P4 R4: 192.168.40.0/24 R1: 192.168.10.0/24 R2: 192.168.20.0/24 P1 R3: 192.168.30.0/24 P2 P3 Routeur par défaut routes statiques : sur P6 : (obligatoire) pour aller à R1, passer par P4/R2 sur P3 : (pour optimiser le trajet de P3 à R1)
Routage: algo de routage (juste) Tri des lignes par taille de masque décroissante On prend la première entrée qui convient Fonctionnement récursif Table de routage IP du noyau Destination Passerelle Genmask Indic Iface 195.221.162.0 0.0.0.0 255.255.255.0 U eth0 172.18.0.0 192.168.120.102 255.255.0.0 UG eth1 172.17.0.0 0.0.0.0 255.255.0.0 U eth2 192.168.0.0 0.0.0.0 255.255.0.0 U eth1 172.20.0.0 0.0.0.0 255.255.0.0 U eth3 0.0.0.0 195.221.162.249 0.0.0.0 UG eth0 On considère l'adresse de destination du paquet à traiter. Parmi les règles correspondant à cette destination, on utilise celle qui le masque le plus long. Ainsi, si on a une règle avec un masque /20, une avec un masque /24 et une avec un masque /0 (routeur par défaut), on utilise celle avec le masque /24. Cette méthode fait que les routes vers des hôtes sont prioritaires par rapport aux routes vers les réseaux, y compris les réseaux directement connectés.
Routage: algo de routage (juste) Destination Passerelle Genmask Indic Iface 195.221.162.0 0.0.0.0 255.255.255.0 U eth0 172.18.0.0 192.168.120.102 255.255.0.0 UG eth1 172.17.0.0 0.0.0.0 255.255.0.0 U eth2 192.168.0.0 0.0.0.0 255.255.0.0 U eth1 172.20.0.0 0.0.0.0 255.255.0.0 U eth3 0.0.0.0 195.221.162.249 0.0.0.0 UG eth0 la destination est identifiée par les colonnes : Destination et masque le routeur permettant de joindre une destination est identifié par la colonne « Passrelle » la table précise aussi l'interface réseau sur laquelle envoyer le paquet : colonne Iface dans notre exemple. On considère l'adresse de destination du paquet à traiter. Parmi les règles correspondant à cette destination, on utilise celle qui le masque le plus long. Ainsi, si on a une règle avec un masque /20, une avec un masque /24 et une avec un masque /0 (routeur par défaut), on utilise celle avec le masque /24. Cette méthode fait que les routes vers des hôtes sont prioritaires par rapport aux routes vers les réseaux, y compris les réseaux directement connectés.
Routage : exemples
Routage: algo de routage (juste) Destination Passerelle Genmask Indic Iface 195.221.162.0 0.0.0.0 255.255.255.0 U eth0 192.168.10.0 195.221.162.249 255.255.255.0 UG eth0 172.18.0.0 192.168.120.102 255.255.0.0 UG eth1 172.17.0.0 0.0.0.0 255.255.0.0 U eth2 192.168.0.0 0.0.0.0 255.255.0.0 U eth1 172.20.0.0 0.0.0.0 255.255.0.0 U eth3 0.0.0.0 195.221.162.249 0.0.0.0 UG eth0 On considère l'adresse de destination du paquet à traiter. Parmi les règles correspondant à cette destination, on utilise celle qui le masque le plus long. Ainsi, si on a une règle avec un masque /20, une avec un masque /24 et une avec un masque /0 (routeur par défaut), on utilise celle avec le masque /24. Cette méthode fait que les routes vers des hôtes sont prioritaires par rapport aux routes vers les réseaux, y compris les réseaux directement connectés.
Sous-réseaux IP découper un réseau en sous-réseaux Exemple : 194.199.90.0/24 peut se découper en 194.199.90.0/26 de 194.199.90.0 à 194.199.90.63 194.199.90.64/26 de 194.199.90.64 à 194.199.90.127 194.199.90.128/26 de 194.199.90.128 à 194.199.90.191 194.199.90.192/26 de 194.199.90.192 à 194.199.90.255
Sous-réseaux IP préfixe : 194.199.90 subnet : 2 bits source du schéma : wikimedia préfixe : 194.199.90 subnet : 2 bits Host : 6 bits (/26) 194.199.90.00000000/26=194.199.90.0/26 194.199.90.01000000/26=194.199.90.64/26 194.199.90.10000000/26=194.199.90.128/26 194.199.90.11000000/26=194.199.90.192/26
Sous-réseaux IP : motivations Eviter un trafic de paquets diffusé (broadcast) trop important d'imposer le passage par un routeur Exemple : 194.199.90.0/24 peut se découper en 194.199.90.0/26 de 194.199.90.0 à 194.199.90.63 194.199.90.64/26 de 194.199.90.64 à 194.199.90.127 194.199.90.128/26 de 194.199.90.128 à 194.199.90.191 194.199.90.192/26 de 194.199.90.192 à 194.199.90.255
Sous-réseaux IP : motivations Filtrer le trafic pour des raisons de sécurité à l'intérieur d'un même réseau : connexion directe entre hôtes entre 2 hôtes de 2 réseaux différents : passage par un routeur interdire certains trafic journaliser certains trafic segmenter le réseau interne par type de fonctionnalités : poste, invités, serveurs, … sécurité en profondeur : un intrus n'a pas un accès libre à tout le réseau. juxtaposition de plusieurs lignes de défense.
Sous-réseaux IP : motivations Structurer le réseau de l'entreprise pour l'adapter à sa structure physique : plusieurs sites distants un sous-réseau par site
exemple concret 1 Une entreprise E comprend 5 services comportant chacun 23 postes son réseau est 194.199.90.0/24 Objectif : créer un réseau par service 16 < 23+2=25 ≤ 32 = 2⁵ un réseau de service devra être au moins un /27 (32- 5=27) donc /27, /26, /25, … et compatible avec le fait qu'on veut faire tenir 5 sous-réseaux dans 194.199.90.0/24
exemple concret 1 Service 1 : 194.199.90.0/27 → 194.199.90.31 194.199.90.32/27 → 194.199.90.63 Service 3 : 194.199.90.64/27 → 194.199.90.95 Service 4 : 194.199.90.96/27 → 194.199.90.127 Service 5 : 194.199.90.128/27 → 194.199.90.159
exemple concret 1 quelques remarques : on utilise les compétences que l'on a sur les calcul d'adresse de diffusion & Co chaque /27 a la même taille donc une fois qu'on connaît la taille du premier, les suivants se déduisent facilement (+32 pour passer du service 1 au service 2, …) il reste de la place pour plusieurs autres services : puisqu'on n'utilise pas les adresses de 160 à 256 on peut ajouter 3 services (160, 192 et 224)
exemple concret 1 194.199.90.00000000/27 194.199.90.00100000/27 194.199.90.01000000/27 194.199.90.01100000/27 194.199.90.10000000/27 à noter qu'on a 3 réseaux sup. disponibles (101, 110 et 111).
VLSM VLSM : masques de sous-réseaux de taille variable (rfc 1878) les sous-réseaux n'ont pas forcément la même taille exemple : son réseau est 194.199.90.0/24 3 services service 1 (S1) et service 2 (S2) : 50 hôtes service 3 (S3) :80 hôtes Objectif : créer un réseau par service 32 < 50+2 ≤ 64=2⁶ : donc S1 et S2 seront des /26 64 < 80+2 ≤ 128=2⁷ donc S3 sera un /25
VLSM S1 : 194.199.90.0/26 → 194.199.90.63 S2 : 194.199.90.64/26 → 194.199.90.127 S3 : 194.199.90.128/25 → 194.199.90.255 on peut voir sur S3 est deux fois plus gros que S1 et que S2 aucune adresse sup. n'est disponble
exemple concret 3 Une entreprise E comprend 3 sites : Si1, Si2 et Si3 5 services par site : Si1s1, ...Si1s5 Si2s1, ...Si2s5 Si3s1, ...Si3s5 comportant chacun 4 hôtes son réseau est 194.199.90.0/24 Objectif : créer un réseau par service
exemple 3 : solution 1 4 hôtes par service 4 < 4+2=6 ≤ 8=2³ donc chaque réseau de service sera un /29 (32-3=29) on obtient : Si1s1 : 194.199.90.0/29 → 194.199.90.7 Si1s1 : 194.199.90.8/29 → 194.199.90.15 Si1s1 : 194.199.90.16/29 → 194.199.90.23 Si1s1 : 194.199.90.24/29 → 194.199.90.31 Si1s1 : 194.199.90.32/29 → 194.199.90.39 Si2s1 : 194.199.90.40/29 → 194.199.90.47 ...
exemple 3 : solution 1 Si2s2 : 194.199.90.48/29 → 194.199.90.55
exemple 3 : solution 2 4 hôtes par service 4 < 4+2=6 ≤ 8=2³ donc chaque réseau de service sera un /29 (32-3=29) on optimise le routage on impose un réseau global par site on obtient : Si1s1 : 194.199.90.0/29 → 194.199.90.7 Si1s1 : 194.199.90.8/29 → 194.199.90.15 Si1s1 : 194.199.90.16/29 → 194.199.90.23 Si1s1 : 194.199.90.24/29 → 194.199.90.31 Si1s1 : 194.199.90.32/29 → 194.199.90.39 Si2s1 : 194.199.90.40/29 → 194.199.90.47 ...
exemple 3 : solution 1 on peut noter qu'il reste beaucoup d'adresse disponibles on peut encore créer si nécessaire de 120 à 255 : soit 17 sous réseaux de 8 adresses (/29) donc 17 services supplémentaires soit 3 sites par contre, si on suppose un routeur central et un routeur par site : une route statique par service sur le routeur central ! Si1 s1 E s2 s3 s4 s5 Si2 s1 s2 Si3 s1 s3 s2 s4 s3 s5 s4 s5
exemple 3 : solution 2 4 hôtes par service 4 < 4+2=6 ≤ 8=2³ donc chaque réseau de service sera un /29 (32-3=29) on optimise le routage on impose un réseau global par site
exemple 3 : solution 2 on obtient : Si1s1 : 194.199.90.0/29 → 194.199.90.7 Si1s2 : 194.199.90.8/29 → 194.199.90.15 Si1s3 : 194.199.90.16/29 → 194.199.90.23 Si1s4 : 194.199.90.24/29 → 194.199.90.31 Si1s5 : 194.199.90.32/29 → 194.199.90.39 un réseau contenant Si1s1 … Si1s5 contient les adresses de 194.199.90.0 à 194.199.90.39 au moins 194.199.90.0/27 est trop petit (de 0 à 32) 194.199.90.0/26 est de la bonne taille (adresses de 0 à 63)
exemple 3 : solution 2 194.199.90.0/26 est de la bonne taille (adresses de 0 à 63) mais Si2s1 ne peut démarrer qu'après donc en 64 on obtient : Si2s1 : 194.199.90.64/29 → 194.199.90.71 Si2s2 : 194.199.90.72/29 → 194.199.90.79 Si2s3 : 194.199.90.80/29 → 194.199.90.87 Si2s4 : 194.199.90.88/29 → 194.199.90.95 Si2s5 : 194.199.90.96/29 → 194.199.90.103 Si2 est le réseau 194.199.90.64/26 → 194.199.90.127
exemple 3 : solution 2 Si2 : 194.199.90.64/26 → 194.199.90.127 mais Si3s1 ne peut démarrer qu'après 128 on obtient : Si3s1 : 194.199.90.128/29 → 194.199.90.135 Si3s2 : 194.199.90.136/29 → 194.199.90.143 Si3s3 : 194.199.90.144/29 → 194.199.90.151 Si3s4 : 194.199.90.152/29 → 194.199.90.159 Si3s5 : 194.199.90.160/29 → 194.199.90.167 Si3 est le réseau 194.199.90.128/26 → 194.199.90.191
exemple 3 : solution 2 cette solution laisse autant de sous-réseaux /29 disponibles que l'autre MAIS certains sont des services sup. dans les sites existants seulement un site supplémentaires : Si4 serait le réseau 194.199.90.192/26 → 194.199.90.255
exemple 3 : solution 2 Analyse : 3 bits pour les hôtes (/29) 3 bits pour énumérer les services (5 services donc 3 bits donc au plus 8 services par site) 2 bis pour énumérer les sites (3 sites dont 2 bits et au plus 4 sites) 194.199.90.00000000 Site service Hôte
sous-réseau : méthode avec VLSM, le découpage en bits en partant du haut n'est pas efficace partir du bas : nombre d'hôtes permet de déterminer la taille des réseaux services dans notre exemple le regrouper pour déterminer la taille du réseau qui les contient sites dans notre cas … placer les réseaux les plus gros d'abord
on vous caches des choses ! Si1 s1 E s2 s3 s4 s5 Si2 s1 s2 Si3 s1 s3 s2 s4 s3 s5 s4 s5 On peut noter qu'avec notre solution : les 3 interfaces de 3 n'ont pas d'adresses l'interface de Si1 côté E non plus idem pour Si2 et Si3 pour de telles liaisons point à point, on prévoit en général un /31 sur des adresses privées rfc1918 donc on n'en tient pas compte