Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Mon livre « Cyberstructure »

Ève

Il n'y a plus de classes d'adresses

Première rédaction de cet article le 20 mai 2008


On voit souvent des administrateurs réseaux parler de « classe B » ou de « classe C » en se référant à un groupe d'adresses IP. Ces termes sont dépassés et reflètent une réalité qui a disparu depuis longtemps. Ils ne devraient plus être employés.

Pour expliquer pourquoi, je dois faire un détour sur la façon dont fonctionne l'adressage IP, normalisé, pour IP version 4, dans le RFC 791. Les adresses IPv4 faisant 32 bits, ce protocole permet 2^32 soit plus de quatre milliards d'adresses. Pas question que les routeurs aient une route vers chacune de ces adresses. Leur mémoire n'y suffirait pas et, surtout, le rythme de changement serait trop élevé. On regroupe donc aujourd'hui les adresses contiguës en préfixes de longueur N où N est le nombre de bits qui servent à identifier le préfixe, les autres bits identifiant la machine. En IPv4 et IPv6, ce nombre de bits n'est pas fixé par le protocole, il est déterminé par l'administrateur système. On note un réseau par son préfixe, suivi d'une barre oblique et de la longueur du préfixe. Par exemple, le préfixe 192.0.2.128/25 a une longueur N de 25 bits, ces 25 bits valant 11000000 00000000 00000010 10000000, laissant 7 bits pour identifier une machine sur ce réseau. Si plusieurs routes sont possibles pour une destination donnée, le routeur prendra la plus spécifique (celle dont N est le plus grand).

A t-on toujours fait comme cela ? Non. Il y a de nombreuses années, les préfixes étaient de taille fixe, on avait uniquement le choix en des préfixes de longueur 8, baptisés « classes A », de longueur 16, les « classes B » et de longueur 24, les « classes C ». Ce système était très rigide et gaspillait considérablement les adresses (si une classe C ne suffisait pas, pas possible de prendre un /23, il fallait sauter directement à une classe B). Il a donc été abandonné au profit de l'adressage actuel, qui avait été baptisé CIDR pour Classless Inter-Domain Routing. Classless donc, « sans classe ». Ce nom dit bien ce qu'il veut dire, les classes ont disparu.

Le premier RFC sur les idées qui mèneront à CIDR a été le RFC 1338 en juin 1992. Le RFC 1467 en août 1993 faisait le point sur le déploiement de CIDR. Les RFC 1518 et RFC 1519 en septembre 1993 sont les premier à décrire CIDR sous sa forme actuelle, pendant que le RFC 1517 décrivait les motivations et les problèmes que CIDR visait à résoudre. C'est donc depuis quinze ans que les classes ont disparu ! Révisée, la norme actuelle est le RFC 4632. Comme on le voit, l'adressage actuel est très ancien. Il est très inquiétant que des enseignants ignorants donnent toujours des cours IP où les classes sont citées, sans préciser qu'elles n'ont qu'un intérêt historique.

Les classes se voient encore un peu dans certaines techniques comme le DNS où les délégations dans in-addr.arpa se font sur des frontières d'octets. Ce problème a été largement réglé par le RFC 2317.

Pendant les quelques années où la communauté Internet testait la nouvelle technique, certains termes avaient été utilisés, qui n'ont plus de raison d'être. C'est ainsi qu'on parlait de supernetting pour désigner l'agrégation de plusieurs classes en un préfixe plus général (cette technique étant la base de CIDR, elle n'a plus besoin d'un nom spécifique, même s'il faut encore apparemment dire à IOS ip classless pour qu'il l'accepte). De même, les VLSM (Variable Length Subnet Mask) ont été oubliés : le masque du réseau est désormais toujours de longueur variable.

Le successeur d'IPv4, IPv6, est, lui, parti proprement en tenant compte de l'expérience de son prédécesseur et a toujours été « sans classe ».

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)