TCP/IP
08/02/2005
 Christian CALECA 
Liste des cours

L'adresse IP

Accueil ] [ Les protocoles ] [ L'adresse IP ] [ Les sockets ] [ Mode connecté ] [ Mode non connecté ]


Avant de commencer

Il est bon de savoir qu'il existe une adresse "MAC" (Media Access Control), écrite normalement en "dur" dans la ROM de l'interface réseau et donc théoriquement ineffaçable  et infalsifiable (mais ce n'est que la théorie, tous les pirates vous le diront). Cette adresse est réputée unique et décidée par le constructeur de la carte. Elle est la seule adresse exploitée au niveau 2 pour l'identification des hôtes qui dialoguent. Cette méthode ne permettant pas l'interconnexion de réseaux, il va être nécessaire d'ajouter dans la couche supérieure (niveau 3), une adresse logique qui sera attribuée par l'administrateur du réseau, en coordination avec les organismes chargés de gérer l'attribution de ces adresses. Dans le cas qui nous intéresse ici, il s'agit de la fameuse adresse IP.

Définition d'une adresse IP

Internet Protocol

Il existe déjà sur le Net une multitude de pages qui traitent du sujet, ça ne fait rien, on va en mettre une de plus...

Dans sa version 4, IP définit une adresse sur 4 octets. Une partie définit l'adresse du réseau (NetID ou SubnetID suivant le cas), l'autre partie définit l'adresse de l'hôte dans le réseau (HostID). La taille relative de chaque partie varie suivant la classe choisie.

Les classes d'adresses

Topologie

Hormis la classe D multicast, destinée à faire de la diffusion d'information pour plusieurs hôtes simultanément, il existe trois classes d'adresses IP:

classes

Comme vous le voyez, la classe A permet de créer peu de réseaux, mais avec beaucoup d'hôtes dans chaque réseau, La classe C faisant l'inverse.

Etendue de chaque classe

Comment fait-on pour savoir à quelle classe appartient une adresse? Il y a deux méthodes pour le savoir:

Voici donc la règle:

classes

Il existe même une classe E, dont les bits les plus lourds sont 11110, qui est "réservée à un usage ultérieur".

Si l'on arrive à retenir la définition ou son image, ça devient facile de retrouver l'étendue de chaque classe:

Classe Première adresse Dernière adresse
A  0.0.0.1 127.255.255.254
B 128.0.0.1 191.255.255.254
C 192.0.0.1 223.255.255.254
D 224.0.0.1 239.255.255.254

A ce stade, nous pourrions penser qu'il peut y avoir, par exemple,  128 réseaux de classe A, avec la possibilité d'avoir 16 777 216 hôtes dans chaque réseau. C'est bien entendu, un peu plus compliqué que çà.

Il y a déjà quelques adresses que l'on ne peut pas attribuer à un hôte:

Les réseaux privés

Et ce n'est pas tout. Nous savons qu'une adresse Internet doit être unique dans un inter réseau. Cette considération, qui ne posait pas trop de problèmes pour des réseaux d'entreprise coupés du reste du monde, devient très restrictive à l'échelle de l'Internet où chaque adresse IP doit être unique à l'échelle planétaire. Ceci représente une contrainte énorme, et qui fait que la pénurie d'adresses IP est une catastrophe annoncée bien plus certaine que celle du bug de l'an 2000. (Rassurez-vous, le prochain protocole IP v6 prévoit de la marge, il faudra juste tout ré apprendre).

Pour permettre aux entreprises de construire leur réseau privé, il a donc été réservé dans chaque classe A, B et C des adresses de réseaux qui ne sont jamais attribuées sur l'Internet (RFC 1918). Tout paquet de données contenant une adresse appartenant à ces réseaux doit être éliminé par le premier routeur établissant une connexion avec l'Internet.

Ces réseaux privés sont:

Classe Réseaux privés Identification
A 10.0.0.0 Pour les réseaux privés
127.0.0.0 Pour l'interface de boucle locale (*)
B 172.16.0.0 à 172.31.0.0 Pour les réseaux privés
C 192.168.0.0 à 192.168.255.0 Pour les réseaux privés
(*) L'adresse qui correspond à "localhost". Cette adresse locale est nécessaire au fonctionnement de la pile IP.

Le masque de sous réseau

Le masque de sous-réseau a une importance que peu d'utilisateurs connaissent, elle est pourtant fondamentale. C'est un ensemble de 4 octets destiné à isoler:

Les masques de sous-réseau par défaut sont, suivant les classes d'adresses:

Classe Masque par défaut Nbe d'octets pour l'hôte
A  255.0.0.0 3
B 255.255.0.0 2
C 255.255.255.0 1

Par défaut, un masque de sous réseau englobe donc la totalité de la classe.

Mais pourquoi "sous réseau"?

Le principe en est simple: Imaginons que nous disposions d'une classe B. Nous disposons donc de deux octets pour les adresses d'hôtes, soit 65 534 hôtes possibles (les adresses x.x.0.0 et x.x.255.255 sont réservées). Ca ferait tout de même beaucoup de machines sur le même réseau. En pareil cas, il est bien préférable d'organiser son réseau logique en plusieurs sous réseaux, connectés entre eux par des routeurs.

Si par exemple, bien qu'étant en classe B, on choisit comme masque de sous réseau 255.255.255.0, nous obtiendrons 256 sous réseaux de 254 hôtes chacun dans le même réseau. Mais il est possible de définir des masques plus subtils.

Deux hôtes, bien qu'appartenant au même réseau logique, s'ils sont placés dans des sous réseaux logiques différents, ne pourront communiquer entre eux que par l'intermédiaire d'un routeur. Cette solution est très commode pour des réseaux d'entreprise constitués de réseaux locaux distants et même pour des réseaux locaux comportant plusieurs centaines d'hôtes.

Les sur-réseaux

IPv4 est au bout du rouleau... Les adresses sont rares, les classes A ne sont plus disponibles, en classe B, pas grand chose de libre et les classes C sont exiguës. Que faire alors ? Par exemple créer un seul réseau logique avec plusieurs classes C contiguës. Dans ce cas, le masque de "sous réseau" sera un masque de "sur réseau" et définira un réseau avec plus d'hôtes qu'une classe C ne le permet.

Sur un réseau privé par exemple, nous pourrions prendre les deux classes C 192.168.0.0 et 192.168.1.0. En utilisant un masque de type 255.255.254.0, ceci nous permettra de réunir les deux classes C au sein d'un même réseau logique. 

Bidouillage ? Probablement, mais ça fonctionne... Avec quelques restrictions cependant. Certaines piles IP n'accepteront pas les adresses 192.168.0.255 et 192.168.1.0 comme adresses d'hôtes valides (elles devraient être réservées dans un réseau "normal", nous l'avons vu, mais dans le cas d'un "sur réseau" constitué comme celui de l'exemple, il est logiquement possible de les utiliser).

Un exemple  de configuration chez FTC:

Cet exemple appartient désormais au passé, du temps où le Câble Wanadoo utilisait encore DHCP. Il reste cependant intéressant, comme cas d'école.

Un client Wanadoo Câble à Marseille se connecte et récupère l'adresse 62.161.99.115. C'est une adresse de classe A. Nous allons essayer de voir toutes les informations que l'on peut en tirer, au niveau du réseau. La base RIPE nous dit:

whois -h whois.geektools.com 62.161.99.115 ...
Query: 62.161.99.115
Registry: whois.ripe.net
Results:

% Rights restricted by copyright. See http://www.ripe.net/ripencc/pub-services/db/copyright.html

inetnum: 62.161.96.0 - 62.161.120.255
netname: FR-FTCI-3
descr: FTCI
descr: 40, rue Gabriel Crie
descr: 92240 Malakoff
country: FR
...
mnt-by: OLEANE-NOC
...

Cette adresse appartient donc au bloc 62.161.96.0 - 62.161.120.255, qui est une portion du réseau de classe A 62.0.0.0.

Ce bloc est géré par Oleane et est utilisé par FTCI. 

Voyons maintenant les informations données par le DHCP. (sous Linux avec PUMP, mais possible aussi sous Windows avec winipcfg. Cependant, vous aurez moins d'informations)

Device eth0
	IP: 62.161.99.115
	Netmask: 255.255.248.0
	Broadcast: 62.161.103.255
	Network: 62.161.96.0
	Boot server 62.161.120.11
	Next server 62.161.120.11
	Gateway: 62.161.96.1
	Domain: wanadoo.fr
	Nameservers: 62.161.120.11
	Renewal time: Thu Feb  1 10:17:57 2001
	Expiration time: Thu Feb  1 10:25:27 2001

Le masque de sous réseau est inhabituel, mais techniquement tout à fait acceptable. 

En binaire il s'écrit:
1111 1111 . 1111 1111 . 1111 1000 . 0000 0000
Son complément vaut:
0000 0000 . 0000 0000 . 0000 0111 . 1111 1111

Le nombre d'adresses du sous réseau est égal au complément du masque, soit 2 047 moins les adresses de sous réseau et de broadcast du sous réseau.

Exercice:

L'opération est une somme binaire. Le résultat était prévisible, une fois encore, en regardant les informations du client DHCP. En effet; l'adresse de broadcast pour le sous réseau étudié est 62.161.103.255 (HostID avec tous les bits à 1).

C'est bien, n'est-ce pas, de pouvoir donner une explication rationnelle à tous ces paramètres IP plus ou moins obscurs à première vue...


Précédente ] [ Accueil ] [ Suivante ]