770 likes | 978 Views
IP : La couche réseau d ’INTERNET. Emmanuel BESSON (FTR&D/DMI/ISE) Octobre – Novembre 2000. Plan du cours. Présentation générale Le protocole IP L ’adressage IP Les sous-réseaux d ’Internet Les protocoles de contrôle d ’Internet (ICMP, ARP) Les protocoles de routage :
E N D
IP : La couche réseau d ’INTERNET Emmanuel BESSON (FTR&D/DMI/ISE) Octobre – Novembre 2000
Plan du cours • Présentation générale • Le protocole IP • L ’adressage IP • Les sous-réseaux d ’Internet • Les protocoles de contrôle d ’Internet (ICMP, ARP) • Les protocoles de routage : • intra-système (OSPF) • inter-système (BGP) • Et demain : IPv6
Présentation générale • Objectif de la couche réseau : • transporter les paquets sur un chemin source destinataire • Outils nécessaires : • connaître la topologie du sous-réseau • choisir le chemin approprié • en assurant une répartition équilibrée de la charge • en optimisant le routage • éventuellement assurer l ’interconnexion de sous-réseaux • Exemple : La couche IP dans l ’INTERNET
Présentation générale • La couche réseau appartient à l ’opérateur. • Elle est l ’interface avec le client, donc ses services doivent : • assurer l ’indépendance du client vis-à-vis des techniques implantées dans les sous-réseaux ; • assurer l ’indépendance du client vis-à-vis de la topologie des sous-réseaux supports ; • utiliser un plan uniforme de numérotation au niveau du globe : L ’adressage IP
Présentation générale Europe US B France A Californie
Présentation générale • … au réseau régional (réseau Renater) … • Du réseau local (réseau Campus Sophia) … • … au réseau dorsal Européen … • … au réseau dorsal US … • … au réseau régional Californien • … au réseau local (campus de Berkeley). • Hiérarchisation cimentée par le protocole IP
Présentation générale • Une communication Internet : • A l ’origine, la couche transport (TCP ou UDP) reçoit un flux de données applicatif (e-mail, web, …) ; • elle le tronçonne en datagrammes IP (taille maximale : 65536 octets en théorie, 1500 octets en pratique) ; • chaque datagramme est transmis sur Internet (éventuellement fragmenté) ; • A destination, la couche IP réassemble les fragments et recompose le datagramme ; • les datagrammes sont transmis à TCP ou UDP qui reconstitue le flux de données applicatif.
Le protocole IP • Deux champs d ’information : • le champ d ’en-tête : 20 octets fixes plus options de longueur variable ; • le champ de données : de longueur variable (à concurrence de la taille maximale admise). • Ordre de transmission des octets • le big endian: transmis et lus de gauche à droite (standard sur les stations de travail SUN par exemple) ; • il existe le little endian : ordre inverse (standard sur les PC Intel par exemple) ; • le big endian prévaut sur Internet.
Le protocole IP 32 bits
Le protocole IP • Premier champ : Version4 bits • version du protocole IP utilisée pour créer le datagramme • permet de vérifier que source, routeurs et destinataires sont en accord de version • actuellement IPv4, et un peu d ’IPv6 : coexistence de plusieurs versions dans le même réseau • Deuxième champ : Lg_ent 4 bits • longueur de l ’en-tête en mots de 32 bits • minimum : 20 octets, donc : Lg_ent = 5 soit 0101 • maximum : Lg_ent = 15 soit 1111 , soit : 60 octets
Le protocole IP • Troisième champ : Type de service 8 bits • Priorité (3 bits) : de 0 (priorité normale) à 7 (supervision du réseau) • Trois indicateurs (31 bit) : • Delay • Throughput • Reliability • 2 bits inutilisés • permettent, en théorie, d ’indiquer aux routeurs le type de service désiré suivant le type de données (voix, données, etc.) • en pratique, pas suffisamment utilisé !
Le protocole IP • Quatrième champ : Longueur totale 16 bits • longueur en octets du datagramme • limite : 65536 octets, soit : • Cinquième champ : Identification 16 bits • permet d ’identifier l ’appartenance d ’un fragment à un datagramme • Sixième champ : Drapeau 3 bits • DF : Don ’t Fragment : tout ordinateur doit pouvoir accepter des fragments de 576 octets au moins ! • MF : More Fragment (activé jusqu ’au dernier fragment !) • 1 bit inutilisé
Le protocole IP • Septième champ : Dép_fragment 13 bits • localisation du fragment dans le datagramme • tout fragment (excepté le dernier) doit avoir une longueur multiple de 8 octets (unité élémentaire) • nombre maximum de fragments : , soit longueur maximale : • Huitième champ : Durée de vie 8 bits • décompte le temps de séjour (en secondes) du datagramme dans le réseau : limite maximale = 255s • décrémenté à chaque saut (et pendant une attente) : à 0, le datagramme est détruit et un avertissement est envoyé
Le protocole IP • Neuvième champ : Protocole 8 bits • numéro de protocole de transport à qui confier le datagramme (TCP ou UDP ou autre) • Dixième champ : Total de contrôle d ’en-tête 16 bits • vérifie la validité de l ’en-tête et permet de détecter les erreurs dans les routeurs • algorithme qui additionne les demi-mots de 16 bits de l ’en-tête et permet le contrôle • Champs d ’adressage 32 bits chacun • réfèrent les adresses Internet de la source et du destinataire (cf. section 3)
Le protocole IP • Champs d ’options variable • 1 octet d ’identification, souvent un champ « longueur d ’option » et des octets de données (le tout multiple de 4 octets) • cinq options définies : • Sécurité : niveau de secret du datagramme (utilisations militaires) • Routage strict défini par la source : précise in extenso le chemin à suivre de la source à la destination par succession d ’adresses IP (utilisation : envoi d ’alarmes pour les administrateurs) • Routage lâche défini par la source : oblige le datagramme à traverser des routeurs-clés identifiés par leur adresse IP (utilisations politico-économiques pour favoriser ou boycotter des pays)
Le protocole IP • Enregistrement de route : enregistre l ’itinéraire, chaque routeur fournissant son adresse IP au datagramme (utilisation : pistage des erreurs de routage) • Horodatage : idem mais en sus, le routeur indique l ’instant de passage du datagramme • en pratique ces options sont peu utilisées et souvent obsolètes • La nouvelle version d ’IPv6 remet en cause bon nombre de ces champs, mais son utilisation est encore peu répandue.
L ’adressage IP • Chaque ordinateur et chaque routeur de l ’Internet possède une adresse IP : • codée sur 32 bits • unique • combinaison d ’un identifiant de réseau et d ’un identifiant de machine • utilisée dans les datagrammes, notamment pour les champs Adresse source et Adresse destination. • Les adresses sont réparties en classe et exprimées en notation décimale pointée, par exemple : 192.144.77.105
L ’adressage IP 32 bits A 0 id_res id_ord B 1 0 id_res id_ord C 1 1 0 id_res id_ord D 1 1 1 0 Adresse multidestinataire E 1 1 1 1 0 Réservé pour un usage ultérieur
L ’adressage IP • Les ordinateurs connectés simultanément sur plusieurs réseaux possèdent une adresse IP différente sur chacun des réseaux. • Cinq classes : • A : 126 très grands réseaux comportant jusqu ’à 224 ordinateurs (>16 millions) • B : 16382 réseaux intermédiairescomptant entre 255 et 65536 ordinateurs • C : environ 2 millions de petitsréseaux (par exemple réseaux locaux) ayant au plus 254 ordinateurs • D : adresses multidestinataires (groupes d ’ordinateurs) • E : réservées pour utilisation future
L ’adressage IP • Plages d ’adresses : • A : de 0.1.0.0 à 126.0.0.0 • B : de 128.0.0.0 à 191.255.0.0 • C : de 192.0.1.0 à 223.255.255.0 • D : de 224.0.0.0 à 239.255.255.255 • E : de 240.0.0.0 à 247.255.255.255 • Certaines valeurs ont des significations précises : • 0.0.0.0 • signifie « cet ordinateur » • utilisé temporairement au moment du démarrage de l ’ordinateur
L ’adressage IP • 255.255.255.255 • diffuse au réseau d ’attachement (ex. : réseau local) • 0.0.y.z • atteint l ’ordinateur id_ord = y.z sur « ce » réseau • permet à des ordinateurs d ’un même réseau de communiquer plus simplement • w.x.255.255 • diffuse vers le réseau id_res = w.x • 127.x.y.z • permettent des communications inter-processus sur un même ordinateur ou de tester TCP/IP • n ’apparaît pas sur le réseau ! • En règle générale, les adresses id « tout à 1 » et « tout à 0 » sont réservées.
L ’adressage IP • Le nombre de réseaux raccordés à Internet double chaque année : les 100000 réseaux ont été atteints en 1996. • Depuis 1998, l’ARIN (American Registry for Internet Numbers) gère l’enregistrement des préfixes réseaux (avant interNIC). • Exemples : (source : http://www.ipindex.net) • 47.0.0.0 Bell-Northern Ressearch, Canada (Net-BNR) • 160.36.0.0 University of Tennessee (NET-HED-NET) • 160.36.0.0 University of Tennessee (NET-LCH-NET) • 193.0.0.0-193.255.255.0 European Network (Feb 2001) • 194.0.0.0-194.255.255.0 European Network (Feb 2001)
L ’adressage IP • Aujourd’hui, classes A et B épuisées. • Possibilité d’obtenir des classes C voisine, ou une fraction d’une classe C via un ISP (Internet Service Provider) / FAI (Fournisseur d’Accés Internet) • Exemples : • 193.104.7.128-193.104.7.143 (16 adresses) • (FR – EU – SOLID) • SOLID INFORMATION TECHNOLOGY (les espaces de Sophia, Imm Delta, 80 rte des Lucioles, 06 901 Sophia-Antipolis) • 194.250.97.10-194.250.97.10 (1 adresse) • (FR – ROHM – ET – MAAS) • ROHM et MAAS (Rue Albert Einstein, Valbonne, FR)
Nom d’hôtes et DNS • Pour un utilisateur, il est plus facile d’utiliser un nom significatif qu’une adresse IP. • Necessité de mécanismes de traduction • Ex : hostname.com vers 172.16.x.x • Indispensable pour les routeurs • La majorité des applications acceptent indifféremment l’adresse IP ou le nom d’hôte comme argument • Ex : telnet hostname.com ou telnet 172.16.31.x • ROHM et MAAS (Rue Albert Einstein, Valbonne, FR)
Nom d’hôtes et DNS • Méthodes de traduction / correspondance (mapping) : • Tables d’hôtes • Fichier ASCII (/etc/hosts) • Liste des machines distantes connues par la machine locale • nom + adresses IP • fréquemment accédées • Adaptées aux réseaux de taille réduite • Tables réseaux • Similaire aux tables d’hôtes (/etc/networks) • Mais ne stocke que les identifiant réseaux • Non adaptées à l’ Internet !
Nom d’hôtes et DNS • DNS (Domain Name System) • Utilisé par Internet • Hiérarchisation de domaines • Ex : mil (military), edu (edication), com (entreprises), gov (organisation gouvernementales), org (organisations diverses), net (passerelles, machines spécifiques). • par pays : fr, de, uk, ter. • nouvelles extension : tv, biz, info, name, aero, coop,museum, pro. • Un serveur de nom par domaine. • bases de données de tous les hôtes de son domaine. • possibilité de requérir un autre server DNS. • interrogé par les routeurs pour les noms absences de leur table d’hôte locale.
Nom d’hôtes et DNS • NIS (Network Information Service) • N’adresse pas Internet • Facilité d’administration • Stockage d’adresse d’un groupe de machines dans une base de données unique. • utilisation de domaines (différent de DNS)
Nom d’hôtes et DNS • Accès à l’ Internet : • Demande d’une classe d’adresse à une autorité de réglementation (Network Information Center NIC). • France AFNIC http://www.nic.fr • Europe RIPE • USA : InterNIC, ICANN (Internet Cooperation for Assigned Names and Numbers : http://www.icann.org • possibilité de passage par un fournisseur d’accès (ISP) • la nature de la classe dépend de la taille du réseau à rattacher. • nombre de system • Nombre d’hôtes • Mise en place d’un CNS. • Enregistrement du nouveau nom de domaine.
Les sous-réseaux dans Internet La gestion des sous-réseaux
La gestion des sous-réseaux • Problème de l ’adressage IP réseau/ordinateur : • augmentation du nombre d ’ordinateurs d ’une entreprise (au-delà de 254 ordinateurs en classe C) autant de nouveaux réseaux locaux management difficile : • demande à l’ARIN • communication du nouvel identifiant à la communauté Internet • déplacement d ’un ordinateur changement d ’adresse IP remise à jour des fichiers de configuration nouvelle communication à la communauté Internet • Solution : • partitionner le réseau de l ’entreprise en plusieurs sous-réseaux • l ’ensemble continue à constituer un seul réseau pour Internet
La gestion des sous-réseaux • Mise en œuvre : • l ’entreprise met en place un réseau de classe B au lieu de C • elle subdivise le champ id_ord (16 bits) en 2 sous-champs, par exemple : • un de 6 bits pour identifier un sous-réseau local • un de 10 bits pour identifier un ordinateur sur ce sous-réseau • 62 réseaux locaux de 1022 ordinateurs ! • à l ’extérieur, la subdivision est transparente • Fonctionnement : • les routeurs d ’un sous-réseau utilisent des masques
Les sous-réseaux dans Internet • Exemple : • on reprend la mise en œuvre précédente : • supposons que la classe B soit définie par : id_res = 130.50 • quelle est la première adresse IP du premier sous-réseau ? • 130.50.4.1 1 0 id_res id_ord 1 0 id_res Sous-réseau Ordinateur
Les sous-réseaux dans Internet • quelle est la première adresse IP du second sous-réseau ? • 130.50.8.1 • De manière générale, les tables de routage : • ne maintiennent pas une liste exhaustive (réseau, ordinateur), mais (réseau, 0) et (« ce réseau », ordinateur) • 3 possibilités pour un datagramme entrant : • il est destiné à un réseau distant il est routé vers le routeur suivant (réseau, 0) • il est destiné au réseau local il est routé directement vers sa destination • il est destiné à un réseau ne figurant pas dans la table il est routé vers un routeur par défaut possédant des tables plus vastes
Les sous-réseaux dans Internet • En utilisant les sous-réseaux, les tables de routage : • comportent 3 niveaux au lieu de 2 : (réseau, sous-réseau, ordinateur) au lieu de (réseau, ordinateur) • utilisent le masque de sous-réseau du réseau concerné : 255.255.252.0 • exécutent une addition (un ET logique) pour obtenir le numéro de l ’ordinateur concerné id_res 1 0 Sous-réseau Ordinateur 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Les sous-réseaux dans Internet • Exemple : • le routeur du sous-réseau 5 reçoit un datagramme adressé à 130.50.15.6 • quel est le routeur suivant du chemin ? 130.50.12.1 • Intérêt : • le routeur évite de traiter des datagrammes qui ne concernent pas son sous-réseau • exemple : le routeur du sous-réseau 5 n ’a pas recherché dans sa table l ’ordinateur d ’adresse IP : 130.50.15.6
Classless Inter Domain Routing • Le modèle rigide en classe A, B, C arrive à épuisement • Les IPS veulent pouvoir donner à leurs clients : • Des fractions de classes C • Des classes C voisines • Extension de la notion du masque : modèle souple CIDR • Permet une gestion transparente de classe C voisins-consultant un réseau unique d’une entrée. • Facilite le travail des routeurs.
Classless Inter Domain Routing • Exemple : • Une entreprise souhaite connecter 800 machines à Internet - Classe C = 256 adresses - Classe B = 65536 adresses • Solution l’ISP fournit 4 classes C voisins (4*256=1024 adresses) - exemple : 195.40.140.0-195.40.141.0-195.40.142.0-195.40.141.0 • Comment gérer ces 4classes C comme s’ils constituaient un seul « super-réseau ». • A priori 4 entrées dans les routeurs pour un seule destinataire
Classless Inter Domain Routing • « Superposition » CIDR : • On utilise des masques de longeurs variables (VLSM = Variable Length Subnet Masking) • Exemple : - on utilise des masques de longueur 22 - 195.40.140.0/22 sera la seule entrée dans les tables de routages. - équivalent masque 255.255.255.0 • Avec CIDR, la notion de classe C est outrepassée • Possibilité pour l’ISP de fournir 2x classes contigus. • On parle de modèle souple au routage sans classe.
Classless Inter Domain Routing • Deuxième exemple : • Une entreprise souhaite connecter 10 machines à l’internet - classe C = 256 adresses - gaspillage de 246 adresses - équivalent masque 255.255.255.0 • Solution : l’ISP fournit une fraction de classe C - exemple : 195.40.140.128-195.40.140.143(16 adresses) • Problèmes : comment gérer individuellement ce « mini-réseau » partie d’un tout (le réseau de l’ISP)?
Classless Inter Domain Routing • « Suppermatting » CIDR : • On utilise des masques de longeurs variables (VLSM = Variable Length Subnet Masking) • Exemple : - on utilise des masques de longueur 28 - 195.40.140.0/28 sera la seule entrée dans les tables de routages. - le routeur ne connaissant que la route menant à l’ISP • En Mars 1998, les tables de routage globales transportant plus de 50 000 adresses. • Sans l’implémentation de CIDR (nécessite BGP 4), ce nombre aurait été au moins double.
Adresses non routables • Il n’est pas toujours nécessaires que tous les ordinateur d’une entreprise soient « directement connectés » à Internet. • Connexion indirectes à la demande - Modem sur RTC - Numéris • Réseaux entièrement privés - Accès sécurisées (Firewalls) - Proxy Internet • On utilise un petit nombre d’adresse publique pour les accès.
Adresses non routables • Dans le cas de réseaux privés, ou de connexion en Dial-Up IP, on utilise pour le plan d’adressage IP interne des adresses réservées non-routables (RFC 1907): • 1 adresse de classe A : 10.0.0.0-10.255.255.255 • 16 adresses de classe B : 172.18.0.0-172.31.255.255 • 255 adresses de classe C : 192.168.0.0-192.168.255.255 • Les adresses non-routables ne peuvent circuler sur l’Internet. • Nécessité d’un mécanisme de traduction avant la sortie. • Implémentation de NAT (Network Address Translation) sur le routeur ou le proxy. NAT Routeur 1= outgoing 2= incomming Réseau privé 1 2 Réseau publique 1 2 Local Area Networkl Internet
Les protocoles de contrôle d ’Internet • Le protocole IP gère le transfert des datagrammes. • Il est nécessaire d ’utiliser des protocoles de contrôle et de gestion de manière à assurer la remontée d ’erreurs, la pertinence des informations de routage, les congestions éventuelles… • Internet met en œuvre plusieurs protocoles de contrôle et de gestion dans sa couche réseau : • ICMP : Internet Control Message Protocol ; • ARP : Address Resolution Protocol ; • RARP : Reverse Address Resolution Protocol ; • etc.
Le protocole ICMP • Le fonctionnement d ’Internet est assuré par les routeurs qui détectent, gèrent les imprévus, et testent le réseau. • ICMP (Internet Control Message Protocol) est capable de rapporter ces différents événements sous forme de messages. • Ces messages sont encapsulés dans un datagramme IP classique adressé à un routeur spécifique ou à l ’ensemble des routeurs ou à un groupe spécifique de routeurs (les proches voisins par exemple). • Il existe une douzaine de messages ICMP répertoriés.
Le protocole ICMP : les messages • Destination inaccessible : • le réseau (ou le routeur atteint) est incapable de localiser ou atteindre la destination • exemple : un datagramme contient le bit DF activé et la route préconisée oblige à l ’utilisation d ’unités de transmission plus faibles • Temps expiré : • un datagramme est détruit car son compteur Durée de vie a atteint 0 • le réseau boucle (trop grand nombre de sauts) ou le compteur est mal initialisé
Le protocole ICMP : les messages • Paramètre incorrect : • valeur erronée dans l ’en-tête • l ’émission est mal réalisée dans l ’une des étapes (source, routeur intermédiaire) • Limitation de production : • une source émet trop de datagrammes : il doit réduire sa production à la réception de ce message • peu utilisé car : • ces messages ICMP ajoutent à la congestion • Internet charge TCP d ’effectuer le contrôle de congestion
Le protocole ICMP : les messages • Reroutage : • un routeur détecte un datagramme mal orienté • Demande/Renvoi d ’écho : • vérifie l ’état d ’activité de la destination • celle-ci doit retourner le message à réception • Demande/Renvoi d ’horodate : • idem mais on ajoute l ’heure d ’arrivée et de retour • utile pour avoir une idée du temps d ’acheminement • 4 autres messages concernant l ’adressage Internet : • détermination d ’appartenance à un réseau • traitement des erreurs dues au partage d ’une adresse IP
Le protocole ARP • Les datagrammes IP sont acheminés par la couche liaison de données qui possède son propre plan d ’adressage ! • Exemple : • dans un réseau local de type Ethernet, chaque ordinateur est connecté à l ’aide d ’une carte identifiée par une adresse Ethernet unique codée sur 48 bits • problème : comment interpréter l ’adressage IP au niveau Ethernet soit : comment atteindre effectivement le bon destinataire quand le réseau physique ne « parle » pas le même langage ? • Solution : le protocole ARP (Adress Resolution Protocol)
Le protocole ARP : exemple FDDI 192.31.60.0 Interconnexion Ethernet 192.31.65.0 Electronique Ethernet 192.31.63.0 Informatique Extérieur 192.31.63.3 192.31.65.7 192.31.65.5 192.31.60.4 192.31.63.8 192.31.60.7 F2 1 2 R R 3 4 F1 F3 192.31.65.1 E1 E2 E3 E4 E5 E6
Le protocole ARP : exemple • Soit une université ayant plusieurs réseaux de classe C : • un département informatique avec un réseau Ethernet (192.31.63.0) ; • un département électronique avec un réseau Ethernet (192.31.65.0) ; • un réseau d ’interconnexion FDDI (192.31.60.0). • Chaque station sur chacun des réseaux possède une adresse Ethernet (sur Ethernet : E1 à E6, sur FDDI : F1 à F3). • Deux cas : • la station 1 veut communiquer avec la station 2 (même réseau) • la station 1 veut communiquer avec la station 4 (réseaux différents)