IP est un protocole de niveau 3. A ce titre, une de ses fonctions premières est de permettre le routage dans un réseau. Qui dit réseau, dit ensemble de machines interconnectées entre-elles. Pour identifier une communication au sein de ce réseau, il faut être en mesure d’identifier les entités en communication. Cette identification est réalisée par l’adresse de chaque machine.
Le protocole IP propose donc un format d’adresse standardisé qui permet d’identifier de manière unique une machine au sein d’un réseau. Un datagramme IP véhiculera simultanément deux adresses :
- l’adresse source qui est l’adresse IP de la machine qui a formaté et qui émet le paquet IP
- l’adresse destination, qui est inscrite par la machine émettrice, et qui correspond à l’adresse de la machine pour qui est destiné le paquet IP.
Chacune de ces adresses, nous l’avons vu précédemment, est formatée sur 4 octets.
Adresse machine ou adresse d’interface ?
Une petite subtilité doit être précisée. En fait, IP n’affecte pas une adresse à une machine, mais à l’interface d’une machine. Ainsi une machine qui disposerait de plusieurs interfaces raccordées à un réseau (un routeur par exemple), serait dotée de plusieurs adresses IP, une par interface.
Ce n’est pas le cas d’autres protocoles comme DRP de Decnet Phase IV, par exemple, qui affecte une seule adresse à une machine quel que soit son nombre d’interfaces réseaux.
Retenons donc qu’IP fixe une adresse à une interface réseau et pas à une machine.
Le réseau et la machine dans le réseau
Rappelons qu’IP a été conçu pour interconnecter des réseaux. Il est capable de fonctionner sur des sous-réseaux hétérogénes. Dès le départ, et ses capacités d’adressage le prouvent, il a été pensé pour de très grands réseaux. Si seule l’adresse machine avait été définie comme élément remarquable dans l’adressage, il aurait fallu que les équipements d’interconnexions identifient précisément chaque machine, ce qui aurait rapidement fait « exploser » leurs mémoires (plus de 4 milliards d’adresses).
En conséquence, et à l’instar de beaucoup de protocoles de niveau 3, une hiérarchie est définie dans le format d’adresse IP. Une adresse IP est scindée en deux parties :
- l’adresse réseau : elle identifie un groupe de machine, généralement regroupées sur un même sous réseau physique (Ethernet, Token Ring, X25, etc.)
- l’adresse machine : elle identifie la machine dans le sous-réseau considéré.
Retenons donc deux points :
- une adresse IP possède une partie réseau et une partie machine
- une adresse réseau identifie généralement un sous-réseau physique
Représentation normalisée de l’adresse IP
J’espère ne rien vous apprendre, en vous disant que l’adresse IP est comprise sous forme binaire par les machines ! Par contre, nous, les hommes, avons une convention de représentation de l’adresse IP. En effet, la décliner sous forme binaire reléve plus de la torture que de l’information ! Il y a tout de même 4 octets, soit donc 32 bits !
Nous représentons donc l’adresse IP sous forme décimale. On inscrit chacun des 4 octets sous sa forme décimale et on les sépare par un point. Par exemple :
10.0.1.254 donne en binaire : 00001010.00000000.00000001.11111110
Vous admettrez que notre représentation est plus sympa que le binaire ?
Retenons donc, qu’une adresse IP s’annonce sous la forme X.X.X.X avec X compris entre 0 et 255 (255 étant la valeur décimale maximale pour un octet … Faites le calcul !!).
Les classes d’adresses IP
Nous avons vu précédemment que :
- une adresse IP possède une partie réseau et une partie machine
- une adresse réseau identifie généralement un sous-réseau physique
Il n’est pas surprenant d’imaginer qu’il existe des sous-réseaux physiques de tailles différentes supportant plus ou moins de machines. Si l’adressage IP avait fixé « dans le marbre » la répartition des octets réseaux et machines dans son format d’adresse, nous aurions pu être confronté au problème de ne pas avoir assez d’adresses machines pour un sous-réseau physique donné. Dans un autre cas, on aurait également pu « gaspiller » de l’adresse en utilisant moins d’adresses machines, pour un sous-réseau de peu de machines, que ne l’autorise l’adresse réseau IP. Est-ce clair ?
Supposons que la répartition dans l’adresse impose les deux premiers octets comme réseau, et les deux octets suivants comme machine. Soit R.R.M.M (R = octet réseau ; M = octet machine). Dans ce format il est donc possible d’adresser 65536 réseaux comportant chacun 65536 machines. On voit immédiatement deux problèmes :
- peu de sous-réseaux supportent 65536 machines ! Je dirai même, très, très peu ! Pour chaque adresse de réseau on va donc « gaspiller » des adresses machines qui seront inutilisées.
- si on applique ce format d’adresse au réseau internet, qui interconnecte des millions d’ordinateurs faisant chacun partie d’un sous-réseau physique distinct, nous allons être un peu « juste » avec nos 65536 adresses !
On peut donc résoudre ce problème en changeant la répartition réseau-machine dans l’adresse. Si on utilise un format R.R.R.M, on disposera sans doute d’assez d’octets réseaux (environ 16 millions d’adresses réseaux) mais par réseau on ne pourra mettre en théorie (plus tard, vous verrez pourquoi je dis, en théorie !) qu’au maximum 255 machines par réseau.
La dernière répartition serait éventuellement R.M.M.M (255 sous-réseaux physiques avec 16 millions de machines par réseau !). Vous voyez le problème ? Je n’insiste pas ?
Diantre ! Mais dans ces 3 choix, quelle est la bonne solution ? Aucune particulièrement … Toutes !!
En fait, IP propose les 3 formats d’adresses appelés « Classes d’adresses » :
- la classe A est du format R.M.M.M
- la classe B est du format R.R.M.M
- la classe C est du format R.R.R.M
Vous avez ainsi le choix, en fonction de vos besoins en adresses réseaux et adresses machines ! Beaucoup d’entre-vous doivent avoir les yeux ronds en imaginant des réseaux de 16 millions de machines (classe A). Calmez-vous … Plus tard nous parlerons de découpage d’une adresse réseau en sous-réseaux (subnets), et vous verrez que ce sera logique !
Il existe encore deux autres classes d’adresses :
- la classe D est utilisée pour des formats d’adresses spécifiques appelées « adresses de diffusion ou multicasts »
- la classe E est réservée pour des expérimentations
Conclusion du chapitre
Dans ce chapitre je vous ai présenté les principes généraux de base de l’adressage IP. Vous savez maintenant :
- qu’une adresse IP s’applique à une interface machine
- qu’une adresse est définie sur 4 octets et s’énonce au format décimal pointé
- qu’une adresse présente une partie réseau et une partie machine
- qu’il existe trois classes principales d’adresses IP
Dans le chapitre suivant, nous allons rentrer un peu plus dans le détai ! Sortez vos calculettes scientifique et enclenchez le mode binaire … Si vous n’avez pas de calculette, sortez la boite d’aspirine !