Le Protocole IP Show Adressage IP Généralités - Adresses spéciales -
Affectation des adresses Cette partie concerne uniquement le format d'adressage de la version 4 du protocole IP : IPv4, prochainement et progressivement va se mettre en place une autre version IP : IPv6 avec un autre système d'adressage. Généralités sur l'adressage L'adressage IP est un adressage logique totalement indépendant des adresses de la couche physique comme les adresses MAC par exemple, cette indépendance permet à un réseau IP d'interconnecter des équipements hétérogènes..Il faudra donc une opération de conversion entre les adresses physiques et les adresses logiques, cette opération est généralement désigné par le terme mapping. Un adresse IP est une séquence de 32 bits, ce qui devrait en principe nous donner 232 connexions possibles c'est à dire un peu plus de 4 milliards (4 294 967 296 pour être exact), en fait, comme on le voit plus loin, le nombre maximal effectif de connexions est moindre . L'adressage IP reflète de par sa structure la distinction entre les différents réseaux logiques, en effet un certain nombre de bits de l'adresse IP identifie le réseau lui même (netid), l'autre partie identifie l'hôte dans ce réseau (hostid). Ce découpage netid - hostid constitue donc un plan d'adressage hiérarchique pour un réseau IP, ce qui permet une meilleure gestion des routeurs qui n'ont besoin que de mémoriser des adresses de réseaux et non des adresses d'hôtes. Il va sans dire que des réseaux interconnectés doivent avoir des netids distincts. De plus cette structuration est différente selon la classe du réseau. On distingue 5 classes de réseaux codée de A à E. La distinction de classe de réseaux se fait sur la valeur des premiers bits. Pour les classes A, B et C, la taille de la partie d'adresse réservée au net-id varie, elle est de 1 octet pour la classe A, 2 pour la classe B et 3 pour la classe C. La classe D est réservée à la multidiffusion (multicast), technique utilisée par des protocoles spéciaux pour transmettre simultanément des messages à un groupe donné de noeuds différents. La classe E est réservé à un usage ultérieur. Exercice 1 : Déduire du tableau précédent, pour chacune des classes A, B et C, le nombre théorique de réseaux possibles et le nombre théorique d'hôtes par réseau. Pour des raisons de commodités, les adresses IP sont rarement exprimée en binaire mais en notation décimale pointée. Chaque octet est traduit en sa valeur décimale et les 4 nombres sont séparés par des points. Exemple : 137.65.4.1. correspond à l'adresse 10001001 01000001 00000100 00000001 Les adresses spéciales Il existe un certain nombre d'adresses IP réservées :
Exercice 2 : Que désigne les adresses suivantes ?
Exercice 3 : Reprendre l'exercice 1 mais en tenant compte de la contrainte liée aux adresses spéciales. Donner pour chaque classe d'adresse l'intervalle des adresses de réseau. Affectation des adresses IP L'affectation d'une adresse IP à un réseau ne peut pas se faire n'importe comment car pour que le système fonctionne il ne faut absolument pas que 2 hôtes puissent avoir une adresse IP identique sinon c'est tout le système d'adressage qui s'écroule. L'attribution d'un netid à un réseau est donc soumis à une autorité centrale. C'est l'Address Supporting Organization (ASO) qui est responsable de l'allocation des adresses IP (et de tous les identifiants uniques) dans l'Internet. Cet organisme a délégué cette responsabilité à des organismes régionaux comme ARIN aux USA, le RIPE NCC en Europe, et l'APNIC en Asie. Ces organismes dél�guent à nouveau à d'autres organismes : les "local registries". Il existe trois types de "local registries" en Europe définis par le RIPE NCC:
Les adresses de classe C ont été divisées en 8 blocs qui correspondent à peu près à des zones géographiques :
Mais on peut être amené à utiliser le protocole TCP/IP sans être connecté à Internet ou en étant connecté à Internet via une passerelle applicative (un serveur Proxy ou un Firewall par exemple), on parle alors de réseaux privés. Pour ces réseaux privés, il est prévu d'utiliser des plages d'adresses spécifiques (qui par ailleurs ne sont jamais affectés par l'ASO) :
Structure de la trame IP Généralités - Datagramme IP - Fragmentation des datagrammes Généralités La couche IP est une couche intermédiaire dans la vision globale d'un réseau. En effet si on se réfère au modèle OSI, la couche IP correspond à la couche "réseau" (couche 3) de la pile de protocoles.Cette position intermédiaire signifie donc que le protocole IP va, à la fois fournir des services aux couches supérieures (TCP et UDP) et utiliser des services des couches inférieures (Ethernet, token Ring, X25...). Le protocole IP est un protocole sans connexion ce qui signifie que chaque datagramme va être étiqueté avec l'adresse de l'expéditeur et du destinataire. Dans ce datagramme on va également trouver un certain nombre d'informations concernant l'acheminement du datagramme comme le nombre de routeurs traversés par exemple. La version 4 de IP prévoit même la possibilité d'insérer dans les datagrammes des informations de "qualité de service" mais elles sont en fait peu utilisés et il faudra attendre la version 6 pour voir cet aspect se développer. Comme la couche IP s'appuie sur une couche basse directement lié aux caractéristiques physiques des réseaux (Ethernet par exemple), comme la taille d'adresse, la taille de l'unité de transmission maximale (MTU : Maximum Transmission Unit), la bande passante, etc... les datagrammes IP seront donc encapsulés dans des trames Ethernet, Token ring ou autre. Le réseau IP est un réseau abstrait qui fait abstraction des problèmes matériels gérés par les couches inférieures, chaque datagramme pourra donc éventuellement être routé par des chemins différents, ce qui ne garanti pas qu'à l'arrivée les datagrammes soient dans le même ordre qu'au départ, c'est pourquoi un mécanisme de numérotation de datagramme est mis en oeuvre. La remise en ordre des différents datagrammes n'incombe pas au protocole IP mais aux protocoles supérieures (TCP, UDP). Le Datagramme IP Le datagramme IP est divisé en 2 parties :
L'entête IP L'entête IP a une longueur minimale de 20 octets mais il peut être plus grand. On va trouver dans cet entête un certain nombre d'informations essentielles (structurées en champ) pour l'acheminement de l'information :
La fragmentation des datagrammes Le protocole IP peut être utilisé en réseau hétérogène, c'est à dire qu'un datagramme peut traverser des réseaux de nature différentes (Ethernet, Token Ring, X25..), or ces réseaux ont des caractéristiques totalement différentes notamment ne ce qui concerne leur MTU, c'est à dire la taille de l'unité de transmission maximale.
Quelques valeurs de MTU de réseaux courants Le problème survient donc si la taille d'un datagramme IP est plus grand que le MTU du réseau emprunté, dans ce cas le datagramme doit être découpé en fragments. C'est le routeur qui va effectuer cette opération et non l'émetteur du datagramme initial puisque ce dernier ignore la structure des réseaux traversés. Chaque fragment va être en fait traité comme un datagramme IP mais à l'arrivée les différents fragments devront être réassemblés. Sous-réseaux et sur-réseaux Généralités - Pourquoi des sous-réseaux - Principe du subnetting - Masques de sous-réseau -Sur-réseaux Généralités Lorsque le protocole IP a été mis au point, les nombres de réseaux et d'hôtes potentiellement adressables par le système d'adressage mis en place semblaient surdimensionnés par rapport aux besoins de l'époque, désormais après le développement fulgurant d'Internet ce système a montré ses limites. En effet le système d'adressage divisé en classes a pour effet de générer un g�chis considérable d'adresses. C'est essentiellement pour remédier à ce gaspillage d'adresses que dès 1985 un mécanisme de sous-réseau est apparu, le principe est de diviser un réseau en plusieurs sous-réseaux interconnectés entre eux. Plus récemment le concept de surréseau que l'on désigne également par CIDR (Classless Internet Domain Routing) a vu le jour. Le principe est de combiner plusieurs numéros de réseaux (généralement de classe C) pour former un réseau plus important. Sous-réseaux
Dans le mécanisme d'adressage IP on distingue principalement 3 classes de réseaux (A,B et C) pour lesquelles chaque réseau disposera d'un nombre maximum d'adresses (cf Adressage IP). Par exemple pour un réseau de classe C, c'est 254 adresses qui seront utilisables puisque l'adresse de l'hôte est codée sur un octet ce qui donne donc 256 adresses possibles auxquelles on soustrait les adresses spéciales (255 et 0) qui ne peuvent être allouées à un hôte. Mais il arrive fréquemment qu'on veuille fragmenter un réseau pour différentes raisons. La première motivation de fragmentation d'un réseau peut être la simplification de l'administration. En effet, l'installation de routeurs et le partitionnement en sous-réseaux d'un réseau va permettre d'administrer les sous-réseaux de façon indépendante. Par exemple, le plan d'adressage de chaque sous-réseau pourra se faire de façon totalement indépendante. Une seconde motivation peut être également de faire une économie d'adresses. Prenons par exemple le cas d'une entreprise qui dispose d'un réseau de classe B, ce qui lui offre un potentiel de 65534 adresses d'hôtes. Il y beaucoup de chances qu'une proportion assez faible de ces adresses soit réellement employée. Si cette même entreprise désire installer un second réseau séparé physiquement du premier par un routeur elle a le choix entre faire l'acquisition d'un nouveau numéro de réseau ce qui est dommage puisqu'il lui reste un potentiel d'adresses non utilisées. Dans ce cas de figure, la solution du partitionnement en sous-réseau est bien meilleure. Enfin, le dernier avantage de la fragmentation en sous-réseaux est l'aspect sécurité. En effet, il sera plus facile d'isoler certains hôtes du réseau s'ils se trouvent dans un sous-réseau relié par un routeur au reste du réseau que si toutes les machines se trouvent sur un même réseau.
Le subnetting est le terme anglo-saxon qui désigne la fragmentation en sous-réseau. Le principe est d'introduire en plus des notions de netid et d'hostid, la notion de sous-réseau. Or une adresse IP a une taille fixe de 32 bits donc la technique consiste à "prendre" les bits nécessaires au codage du sous-réseau sur la partie réservée à l'hostid. Il sera donc possible d'utiliser un nombre variable de bits pour caractériser le sous-réseau. Par exemple pour un réseau de classe C d'adresse 192.47.56.0, on peut décider d'utiliser 3 bits pour caractériser le sous-réseau, ce qui laissera seulement 5 bits pour adresser les hôtes dans chacun des sous-réseaux. En respectant les règles d'adressage vues précédemment cela donne donc 2 5 - 2 = 30 adresses d'hôtes possibles par sous-réseau. Par contre l'utilisation de 3 bits par sous-réseau permet en théorie l'utilisation de 2 3 = 8 sous-réseaux, mais comme pour les netid les numéros de sous-réseau composés uniquement de 1 ou uniquement de 0 ne sont pas autorisés donc cela fait seulement 6 sous-réseaux possibles. Lors de la structuration en sous-réseaux, il faudra donc trouver un équilibre entre un grand nombre de sous-réseaux avec peu d'adresses possibles par sous-réseau d'une part et peu de sous-réseaux et un nombre d'adresses important. Enfin, on peut remarquer que la mise en sous-réseau a pour inconvénient de diminuer l'espace d'adressage d'un réseau puisque dans notre exemple on est passé pour ce réseau de classe C de 254 adresses d'hôtes possibles à seulement 6 x 30 = 180 adresses potentielles.
Dans une adresse IP, la séparation entre netid et hostid est établie par la classe d'appartenance du réseau (cf Adressage IP), par contre pour la séparation entre hostid et sous-réseau la séparation va se faire à l'aide d'un masque de sous-réseau. Un masque de sous-réseau est une suite de 32 bits qui va permettre de déterminer combien de bits sont réellement utilisés pour la partie hostid d'une adresse, connaissant la classe d'adresse du réseau, on en déduit de façon certaine le nombre de bits du netid et celui du sous-réseau. Par convention les zéros dans le masque de sous-réseau déterminent les positions des bits de l'hostid. Exemple : Soit un réseau de classe C d'adresse 192.47.56.0, dans lequel on a décidé de laisser 3 bits pour le sous-réseau, le masque aura la valeur suivante : 11111111 11111111 11111111 11100000 , ce qui donne en notation décimale pointée 255.255.255.224 Remarque : La notion de masque est présente de toutes les configurations de réseau TCP/IP même pour ceux qui ne sont pas subdivisés en sous-réseaux, dans ce cas on utiliser ce qu'on appelle un masque standard, c'est à dire que la partie correspondant au netid est à 1, la partie correspondant à l'hostid est à 0.
Exercice 4 : Une entreprise a obtenu l'adresse de réseau 144.25.0.0, on veut structurer ce réseau en 20 sous-réseaux. Proposer un masque de sous-réseau et indiquer combien d'adresses seront utilisables dans chacun des sous-réseaux. Exercice 5 : Pour les réseaux de classe C, déterminer quels sont les différents masque de sous-réseau possible, préciser le nombre de sous-réseaux ainsi que le nombre d'hôtes maximum par sous-réseau. Exercice 6 : Quel est le nombre maximum d'hôte d'un sous-réseau de classe B ? de classe A ? Sur-réseaux Il y depuis déjà pas mal de temps pénurie de réseaux de classe A et de classe B, par contre il reste encore un grand nombre de réseau de classe C disponibles. Mais l'inconvénient majeur de ces réseaux de classe C est qu'ils ne peuvent prendre en charge que 254 hôtes. Les organisations de grande taille se voient donc obligées d'utiliser plusieurs réseaux de classes C. Le principe du sur-réseau est donc d'utiliser un ensemble d'adresses de réseau de classe C contigu�s au lieu d'un seul réseau de classe B. Par exemple, une entreprise a besoin d'un réseau de 8 000 hôtes, il est est donc possible d'utiliser 32 réseaux de classe C. Ce mécanisme est très utilisé par les fournisseurs d'accès internet qui ont besoin d'un volant important d'adresses IP. Si on voit bien l'avantage d'utiliser plusieurs réseaux de classe C à la place d'un réseau de classe B, un problème va résider au niveau des routeurs. En effet, pour avoir la même capacité d'adressage qu'un réseau de classe B, il faut 256 adresses de réseaux de classe C. La place nécessaire au stockage de ces adresses dans la mémoire d'un routeur se trouve donc multiplié par 256 !. La technique Classless Internet Domain Routing (CIDR) permet de n'utiliser qu'une seule entrée pour un bloc d'adresses de réseau de classe C. Le bloc de classe C sera décrit en donnant la plus basse adresse du bloc suivie d'un masque de sur-réseau. Le masque de sur-réseau est construit en mettant des 1 pour la partie commune à tous les sous-réseau et des 0 pour la partie variable. Exemple : (198.24.32.0, 255.255.224.0) désigne un bloc de sous réseaux de classe C. Afin de déterminer lequel, il faut exprimer ces 2 données en binaire : La partie commune au différents réseaux est indiquée en rouge sur la figure précédente, on peut donc déterminer les adresses de réseaux faisant partie de ce bloc : Première adresse : 11000110 00011000 00100000 00000000 = 198.24.32.0 Dernière adresse : 11000110 00011000 00111111 00000000 = 198.24.63.0 On utilise également une autre notation pour désigner ces blocs CIDR : plus basse adresse du bloc / nombre de bits de préfixe commun ce qui donne pour l'exemple précédent : 198.24.32.0/19 Protocoles de résolution d'adresses Généralités - ARP - RARP Généralités L'adressage IP est un adressage logique qui utilise dans la version 4 de ce protocole une adresse sur 32 bits. Néanmoins la transmission des informations va se faire à l'aide des couches basses, les datagrammes IP seront donc encapsulés dans des trames de la couche 2 du modèle OSI telle que les trames Ethernet, Token ring, etc... Ces réseaux physiques utilisent un système d'adressage physique, il faudra donc faire la correspondance entre les adresses physiques (adresse MAC : Medium Access Control) du protocole IP et les adresses physiques des équipements correspondants, c'est le rôle du protocole ARP. Plus rarement, il sera nécessaire de faire la correspondance entre une adresse physique MAC et une adresse logique IP, le protocole RARP assure ce rôle. Le protocole ARP ARP signifie Adress Resolution Protocol, son rôle est de mettre en place un mécanisme de restitution d'une adresse MAC à partir d'une adresse IP dans le cadre d'un réseau où le support est partagé comme le réseau Ethernet par exemple. Le principe de fonctionnement du protocole ARP est le suivant : Supposons que la machine A de numéro IP 195.24.56.2 et d'adresse MAC 00-A0-C9-4C-F6-E8 désire connaître l'adresse MAC de l'hôte B d'adresse 195.24.56.12 afin de lui envoyer un message.
La table de cache ARP est destinée à conserver un certain temps en mémoire (généralement 15 minutes) les adresses IP résolues en adresse MAC afin d'économiser du temps et du trafic réseau lors des échanges. Table cache ARP dans un système d'exploitation de type Windows Le protocole RARP Généralement une machine peut connaître facilement sa propre adresse IP car elle est stockée dans un endroit de son disque local, mais certains ordinateurs ne disposent pas de disque local ( diskless station), ou tout du moins n'utilisent pas ce disque local pour stocker des paramètres de configuration comme l'adresse IP. Pour obtenir son adresse IP, l'ordinateur en question devra utiliser le protocole RARP (Reverse Adress Resolution Protocol), le principe de ce protocole est le suivant :
IPv6 A faire.... Quel est le protocole d'une adresse ?Lors d'un échange de paquet transmis par le protocole IP, l'adresse IP de l'émetteur et du destinataire sont visibles. Dans la majorité des cas, l'adresse IP est dite dynamique. C'est l'ordinateur qui, lorsqu'il se connecte au réseau, obtient automatiquement cette adresse grâce au protocole DHCP.
Qui donne l'adresse IP ?L'adresse IP locale ou interne est attribuée à votre ordinateur par le routeur, le matériel qui assure la connexion d'un réseau local à Internet. Dans la plupart des cas, cette adresse IP interne est attribuée automatiquement par le routeur (ou le modem câble).
Comment s'appelle le protocole qui permet de connecter le réseau ?TCP/IP, grâce à sa simplicité, va très rapidement s'imposer comme un standard : les différents réseaux (ARPAnet et les autres) vont adopter TCP/IP. Cette adoption va permettre d'interconnecter tous ces réseaux (2 machines appartenant à 2 réseaux différents vont pouvoir communiquer grâce à cette interconnexion).
Comment marche le protocole IP ?Le protocole IP récupère l'adresse à laquelle sont envoyées les données (votre ordinateur possède une adresse IP). Le protocole TCP est responsable de la livraison de ces données une fois cette adresse IP trouvée. Ensemble, ils composent la suite de protocoles appelée TCP/IP.
|