-
L’adressage IP
(Internet Protocol)
-
-
-
-
A.
Qu’est-ce qu’ IP et une adresse IP ?
- A chaque fois que l’on se connecte sur
l’Internet, ou sur un réseau local utilisant TCP/IP, il nous est attribué une
adresse IP. Cette adresse sera unique sur le réseau considéré : il ne peut y
avoir deux mêmes adresses sur un réseau. L’adresse IP va donc être l’adresse
logique (elle franchit les routeurs) de notre machine sur le réseau. C’est par
cette adresse que n’importe qui connecté à notre réseau peut nous contacter.
Le protocole IP, lui va servir à relier tous les ordinateurs du réseau entre
eux. C’est grâce à lui que la communication entre machine est possible.
-
-
B.
L’adressage IP
- Lorsque l’on veut joindre quelqu’un sur le réseau, il faut
logiquement trois informations :
-
Ø
Le nom du réseau où elle
se trouve,
-
Ø
Son nom de machine,
-
Ø
La route à suivre pour y
parvenir.
- Le protocole IP, va lui se charger du « routage », alors
que l’adresse IP va nous renseigner sur le nom du réseau et de la machine.
Cette adresse IP est standardisée, sous forme d’un mot de 32 bits, soit quatre
mots de 8 bits (4 octets). Ce qui signifie en base décimale : quatre mots de
trois chiffres, où chaque mot est limité à 255, séparés par des points :
XXX.XXX.XXX.XXX .
- Pour faciliter le routage, les chiffres composant une
adresse ne sont pas choisis au hasard. Dans cette adresse, nous allons donc
avoir l’adresse du réseau, et l’adresse de la machine sur le réseau. Les deux
combinées vont alors désigner une machine et une seule sur le réseau.
-
- Personne ne peut décider de l’adresse de son réseau : cette
adresse est délivrée par une organisation internationale : le NIC (Network
Information Center), ou par une délégation locale du NIC : en France, l’AFNIC ;
ou en Europe : le RIPE. De nos jours, avec l’énorme croissance de l’Internet,
le NIC n’est plus voué qu’à coordonner ses différentes délégations à travers
le monde.
- Il est bien évident que pour un réseau qui n’est pas voué à
se connecter à l’Internet, une adresse arbitraire peut être choisie. Il est
prévu, conformément à la norme de standardisation des adresses IP, de réserver
une plage d’adresses particulières pour ces réseaux :
-
Ø
De 10.0.0.0 à
10.255.255.255 (ancien ARPANET)
-
Ø
De 172.16.0.0 à
172.31.255.255
-
Ø
De 192.168.0.0 à
192.168.255.255
-
- Ces classes réservées peuvent nous permettre de faire
quelques constats sur les adresses IP en général :
-
Ø
La partie du début (bits
de poids fort en binaire) est l’adresse du réseau (10 - 172.16 – 192.168 –
etc.),
-
Ø
La partie finale (bits de
poids faible en binaire) va donc désigner l’adresse de la machine hôte,
-
Ø
Le nombre de bits
désignant le réseau n’est pas fixe : pour la plage 10.XXX.XXX.XXX, nous avons
un octet pour désigner le réseau, et trois octets pour la machine ; alors que
pour la plage 192.168.XXX.XXX, nous en avons deux pour le réseau et deux pour
la machine.
-
- Ainsi, pour s’adapter aux besoins des différents réseaux
d’aujourd’hui, on a crée cinq classes sur lesquels ils doivent se mouler :
-
-
-
-
- Attention : Certaines adresses
IP ont une signification particulière, ou ne sont pas toujours faciles à
comprendre :
-
Ø
Par convention, une
adresse qui a un nom de machine à 0 désigne le réseau : l’adresse 192.168.0.0
désigne le réseau tout entier (la machine 1 de ce réseau aura l’adresse
192.168.0.1).
-
Ø
Par convention, une
adresse dont les bits désignant la machine sont tous à 1, désigne l’adresse de
broadcast du réseau : cet à dire toutes les machines connectées au réseau
(l’adresse 192.168.255.255 désigne toutes les machines de ce réseau). Pour des
raisons de sécurité, ces adresses sont souvent interdites.
-
Ø
L’adresse 0.0.0.0 désigne
une machine inconnue sur le réseau où l’on se trouve (souvent utilisée lors du
boot sur le réseau de machines sans disque).
-
Ø
L’adresse 0.0.0.X désigne
la machine X sur le réseau où l’on se trouve.
-
Ø
L’adresse 255.255.255.255
désigne l’adresse de broadcast du réseau local.
-
Ø
L’adresse réseau 127.0.0.0
désigne l’adresse réservée au loopback (la machine elle-même, avec les outils
réseaux, mais sans la connection au réseau : utilisée par exemple pour des
jeux qui ont besoin des outils réseaux).
-
Ø
L’adresse 127.0.0.1 est
l’adresse de loopback couramment utilisée.
-
-
C.
Les sous-réseaux
- En 1984, est mise en place le concept de sous-réseaux (subnet),
pour permettre aux administrateurs de créer des réseaux à l’intérieur de leur
réseau. Le principe est d’utiliser les bits de poids fort de l’adresse de
l’hôte, dans l’adresse IP. Les choix du nombre de bits et de leurs valeurs
sont laissés à l’administrateur du réseau. Voyons cette mise en place sur
l’adresse 192.168.51.87 :
-
-
-
-
-
-
- Ainsi, l’adresse réseau reste toujours la même : à savoir
162.168.51.0. Seulement ce réseau sera divisé en quatre sous-réseaux : nous
avons ici décidés d’attribuer deux bits dans l’adresse de l’hôte pour gérer
les sous réseaux. Les possibilités seront donc 00, 01, 10, 11. Les adresses
des sous réseaux correspondant seront composées de l’adresse réseau +
l’adresse du sous réseau (les bits de l’adresse de l’hôte restant comme
précédemment à 0). Les possibilités seront alors dans notre exemple :
-
Ø
192.168.51.0 (192.168.51.(0*2^7
+ 0*2^6))
-
Ø
192.168.51.64
(192.168.51.(0*2^7 + 1*2^6))
-
Ø
192.168.51.128
(192.168.51.(1*2^7 + 0*2^6))
-
Ø
192.168.51.192
(192.168.51.(1*2^7 + 1*2^6))
-
- Dans notre exemple, l’adresse 192.168.51.87 correspondra au
2ème sous-réseau (01). Dans ce 2ème sous-réseau dont l’adresse est d’après ce
que nous venons de dire : 192.168.51.64, l’adresse de broadcast sera :
192.168.51.127 : on positionne les bits de sous-réseau à 01 et tous les autres
bits de l’adresse à 1 :
- 192.168.51.(0*2^7 +
1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1
+ 1*2^0) = 192.168.51.127
- De la même manière, nous pouvons ainsi déduire les adresses
de broadcast de nos quatre sous-réseaux :
-
Ø
192.168.51.63
-
Ø
192.168.51.127
-
Ø
192.168.51.191
-
Ø
192.168.51.255
-
- Et les hôtes sur ces sous-réseaux auront sur chacun les
possibilités d’adresses :
-
Ø
De 192.168.51.1 à
192.168.51.62
-
Ø
De 192.168.51.65 à
192.168.51.126
-
Ø
De 192.168.51.129 à
192.168.51.190
-
Ø
De 192.168.51.193 à
192.168.51.254
- Nous voyons donc qu’il est possible d’adresser jusqu’à 62
machines par réseau, soit 62*4 = 248 hôtes. Ce réseau fait partie de la classe
C : cette classe permet jusqu’à 254 hôtes. Même si nous perdons la possibilité
d’adresser 6 machines, nous avons la possibilité de les diviser en quatre
sous-réseaux : l’intérêt est de regrouper les centres d’intérêt pour plus de
sécurité : par exemple dans un lycée il peut être utile de séparer les postes
utilisés par les élèves de ceux utilisés par l’administration… !!!
-
- Les sous-réseaux nous permettent d’aborder une nouvelle
notion : le masque de sous-réseau (netmask). Le masque de sous réseau
est formé de la même manière qu’une adresse IP (un mot de 32 bits, de la forme
XXX.XXX.XXX.XXX en décimal), et permet de caractériser un réseau. Grâce au
masque de sous-réseau, nous pouvons connaître le type de réseau et les
sous-réseaux qui le composent.
- Nous allons dans le masque mettre tous les bits adressant
le réseau à 1, et ceux concernant le sous-réseau également à 1. Les bits
restant pour adresser la machine restent à 0. Dans notre exemple, nous avons
les 24 premiers bits qui adressent le réseau, suivi des 2 bits du sous-réseau.
Ce qui fait un total de 26 premiers bits à 1 : soit un masque de sous-réseau
ayant pour valeur :
- 255.255.255.(1*2^7 +
1*2^6) = 255.255.255.192
- Si pour cet exemple, nous n’avions choisis aucun sous
réseau, le masque serait de :
- 255.255.255.0
-
- Remarque : Si nous connaissons
un réseau ayant un masque de 255.255.224.0, nous pouvons en déduire qu’il
s’agit d’un réseau de classe B, ayant 3 bits réservés dans l’adresse de l’hôte
nous permettant d’adresser 2^3 = 8 sous réseaux.
-
- Ce qui se passe réellement :
Les masques de sous-réseau sont utilisés par les routeurs en interne des
grands réseaux ou par les passerelles, pour savoir où router un paquet.
Lorsque l’on fournit à un routeur une adresse 34.56.123.12 avec un masque de
sous-réseau de 255.192.0.0, le routeur va travailler en langage machine
(assembleur). En binaire, ces adresses en binaires vont être :
-
Ø
Adresse binaire : 00100010 00111000 01111011 00001100
-
Ø
Masque binaire : 11111111 11000000 00000000 00000000
- Le routeur va effectuer un ET logique entre ces deux
adresses, ce qui va donner :
-
Ø
Adresse & Masque : 00100010 00000000 00000000 00000000
- Ce qui correspond à l’adresse réseau : 34.0.0.0. Le réseau
est alors un réseau de classe A dont l’adresse du sous-réseau est 00, d’après
le masque (deux bits réservés au sous-réseau).
-
- Maintenant, prenons l’adresse 34.162.123.12 et appliquons
lui le même masque :
-
Ø
Adresse binaire : 00100010 10100010 01111011 00001100
-
Ø
Masque binaire : 11111111 11000000 00000000 00000000
- Effectuons le ET logique :
-
Ø
Adresse & Masque : 00100010 10000000 00000000 00000000
- Cela correspondra donc à une adresse réseau de :
34.128.0.0. Le réseau est alors un réseau de classe A dont l’adresse de sous
réseau est 10.
-
- Nous pouvons alors voir qu’un masque est d’une très grande
utilité pour un routeur : grâce à lui, il sait vers quel sous-réseau router le
paquet.
-
-
D.
Le CIDR
- Avec la croissance rapide de l’Internet,
en 1992, la moitié des adresses de classe B étaient allouées. Si rien n’avait
changé, il n’y aurait plus eu de Classes B disponibles depuis 1994 ! S’il est
courrant de voire des réseaux de plusieurs centaines de machines, il est
extrêmement rare d’en rencontrer de plusieurs milliers ! Internet était alors
en train de ne plus avoir de plages d’adresses réseau de libre alors que
seulement 5% des adresses étaient utilisées. De même, les routeurs étaient
complètement saturés puisqu’ils devaient connaître toutes les routes possibles
sur le réseau.
-
- Il a donc été décidé de créer le « Classless Interdomain
Routing » (CIDR) ou encore ‘routage Internet sans classe’. Son but est de
délivrer à chaque région ou continent un bloc d’adresses continues (range),
sans tenir compte des classes auxquelles ces adresses faisaient référence. Ces
régions, à leur tour vont pouvoir attribuer à leurs clients des plages
d’adresses continues, correspondant à leur besoin. L’avantage est qu’en
attribuant une plage d’adresses de classe C (aujourd’hui, l’organisme
attribuant les adresses IP : l’InterNIC, n’attribue quasiment plus que des
Classes C : les adresses de classe A sont épuisées et celles de classe B se
font très rares…), l’Administrateur réseau à qui a été attribuée une plage
d’adresses peut subdiviser, et organiser son réseau comme il l’entend, tout en
économisant des possibilités d’adressage (la gestion des sous-réseaux est un
avantage dont l’administrateur peut profiter). A partir de ce moment, pour
router des datagrammes en fonction de plages d’adresses, il faut construire un
nouvel outil : le masque de super-réseau. Ce masque sera en quelque sorte
l’inverse du masque de sous-réseau. Il consistera à prendre les bits de poids
fort des adresses réseau ne changeant pas, et de les mettre à 1 (contrairement
au masque de sous réseau qui prend des bits dans la partie host). Les bits de
l’adresse réseau changeant, ainsi que ceux désignant l’host, seront à 0.
-
- Voici le l’organisation par continent des adresses :
-
Ø
Multirégionales :
192.0.0.0 193.255.255.255
-
Ø
Europe :
194.0.0.0
195.255.255.255
-
Ø
Autres :
196.0.0.0
197.255.255.255
-
Ø
Amérique du Nord :
198.0.0.0 199.255.255.255
-
Ø
Amérique du Sud et
Amérique centrale : 200.0.0.0 201.255.255.255
-
Ø
Zone Pacifique :
202.0.0.0 203.255.255.255
-
Ø
Autres :
204.0.0.0
205.255.255.255
-
Ø
Autres :
206.0.0.0
207.255.255.255
-
- Pour bien comprendre, prenons l’exemple d’une entreprise
désirant adresser 2000 postes : il y a quelques années, nous lui aurions
attribué une adresse réseau de classe B : ayant une capacité de 65536
machines, alors que seulement 2000 adresses sont nécessaires !!!
- Aujourd’hui, un organise d’attribution des adresses IP (NIC
ou InterNIC, AFNIC…) va attribuer à cette entreprise 8 adresses continues de
classe C. Par exemple elle se verra attribuer les adresses de 220.78.168.0 à
220.78.175.0.
- Comparons ces adresses (le tableau suivant compare les deux
adresses les plus éloignées) :
-
-
-
-
-
-
- Nous pouvons voir que les 21 premiers bits sont constants
dans le Net ID (adresse réseau). Le masque de super-réseau sera alors :
255.255.248.0. Il faut ajouter qu’il est possible d’écrire un masque de
super-réseau sous la forme /X ou « slash X ». Cette solution est plus courte
pour exprimer le masque (on compte en base 10 les bits constants désignant
l’adresse réseau). Ici nous avons 21 bits constants, nous pouvons alors
exprimer le masque sous la forme /21. D’après le masque et l’adresse, il est
alors possible de voir le nombre d’adresses consécutives que compte le
réseau : dans le Net ID, 3 bits peuvent varier, soit 2^3 = 8 adresses réseaux
consécutives. Lors d’une communication, nous fournirons alors l’adresse de ce
réseau sous la forme : 220.178.168.0 /21.
-
- L’intérêt est que les tables de routage des routeurs vont
être grandement allégées puisqu’il n’est plus nécessaire de connaître toutes
les routes : à partir de l’adresse et du masque, la route est obtenue
automatiquement. Il faut tout de même ajouter que le masque de super-réseau
n’est utile que pour les routeurs.
-
- Seulement, pour que ce procédé soit applicable, il faut
réunir les conditions suivantes :
-
Ø
Pour pouvoir facilement
être routées, les adresses d’une même région doivent être constituées des
mêmes bits de poids fort (ceci permet d’alléger les tables de routage et donc
d’augmenter les performances des routeurs).
-
Ø
Les routeurs doivent être
capables de prendre en compte un masque de super-réseau de 32 bits à appliquer
à l’adresse (permettant d’identifier le réseau, et donc la route par laquelle
l’information doit passer).
-
Ø
Les protocoles de routage
doivent être capables d’ajouter ces masques aux adresses.
-
-
E.
Précisions
-
- Pour être vraiment complet sur cette
section dédiée à l’adressage IP, il faut préciser quelques points. Nous avons
dit précédemment qu’une machine avait une adresse IP. En fait cela n’est pas
tout à fait exact. Certaines machines reliant plusieurs réseaux (Passerelles,
routeurs, …) peuvent en avoir plusieurs. En effet, prenons l’exemple d’un
routeur reliant un réseau local à l’Internet. Du fait que les adresses privées
du réseau local ne vont pas être reconnues sur l’Internet, le routeur doit
avoir une adresse dite publique, ayant un adressage compatible avec Internet,
et un adressage privé, compatible avec le réseau local. Dans ce cas, le
routeur possède plusieurs adresses IP. Nous dirons que de telles machines sont
« Multi-homed ». Il se peut même dans certains cas qu’une machine
(serveur…) ait plusieurs adresses IP pour une interface (carte réseau…). La
machine fera donc de l’IP aliasing. Ce type de machine crée donc des « réseaux
virtuels », puisque une même interface sépare d’une manière logique par IP
(et non d’une manière physique comme ça peut être le cas pour une machine a
plusieurs interfaces séparées) ses réseaux.
-
Menu