# Classe d'adresse IP

La notion de Classe d'adresse IP a été utilisée sur Internet pour distribuer des plages d'adresses IPv4 à des utilisateurs finaux. Avec cette méthode, le masque de réseau pouvait être déduit de l'adresse IP et les protocoles de routage comme Border Gateway Protocol (jusqu'à la version 3), RIPv1 et IGRP sont dits classful car ils font usage d'un masque réseau implicite lié à l'adresse.
La notion de classe est obsolète depuis le milieu des années 1990. Les assignations d'adresses du protocole IPv4 (et de son successeur IPv6) ne tiennent plus compte de la classe d'adresse, et les protocoles de routage modernes indiquent explicitement le masque réseau de chaque préfixe routé.

## Adressage en classe

Dans les premières années d'Internet, l'assignation des adresses aux réseaux finaux consistait à octroyer le premier octet de l'adresse au réseau, c'est-à-dire que 256 réseaux de 16 millions d'adresses étaient possibles. Devant la limitation qu'impose ce modèle, le document IEN 46 propose de modifier la façon dont les adresses sont assignées.
En 1981, la RFC 790 (Assigned numbers) prévoit qu'une adresse IP est divisée en deux parties : une partie servant à identifier le réseau (net id) et une partie servant à identifier un poste sur ce réseau (host id).
Il existe cinq classes d'adresses IP. Chaque classe est identifiée par une lettre allant de A à E.
Ces différentes classes ont chacune leurs spécificités quant à la répartition du nombre d'octets servant à identifier le réseau ou les ordinateurs connectés à ce réseau :
* Une adresse IP de classe A dispose d'une partie net id comportant uniquement un seul octet.
* Une adresse IP de classe B dispose d'une partie net id comportant deux octets.
* Une adresse IP de classe C dispose d'une partie net id comportant trois octets.
* Les adresses IP de classes D et E correspondent à des adresses IP particulières.
Afin d'identifier à quelle classe appartient une adresse IP, il faut examiner les premiers bits de l'adresse

### Classe A

    Une adresse IP de classe A dispose d'un seul octet pour identifier le réseau et de trois octets pour identifier les machines sur ce réseau. Un réseau de classe A peut comporter jusqu'à 2$^{3×8}$-2 postes, soit 2$^{24}$-2, soit 16 777 214 terminaux. Le premier octet d'une adresse IP de classe A commence toujours par le bit 0. La plage d'adresse en binaire s'étend de 0000 0000 à 0111 1111, soit de 0.0.0.0 à 127.255.255.255. Certaines valeurs étant réservées à des usages particuliers. Un exemple d'adresse IP de classe A est : 10.50.49.13.

### Classe B

    Une adresse IP de classe B dispose de deux octets pour identifier le réseau et de deux octets pour identifier les machines sur ce réseau. Un réseau de classe B peut comporter jusqu'à 2$^{2×8}$-2 postes, soit 2$^{16}$-2, soit 65 534 terminaux. Le premier octet d'une adresse IP de classe B commence toujours par la séquence de bits 10, il est donc compris entre 128 et 191. Un exemple d'adresse IP de classe B est : 172.16.1.23.

### Classe C

    Une adresse IP de classe C dispose de trois octets pour identifier le réseau et d'un seul octet pour identifier les machines sur ce réseau. Un réseau de classe C peut comporter jusqu'à 2$^8$-2 postes, soit 254 terminaux. Le premier octet d'une adresse IP de classe C commence toujours par la séquence de bits 110, il est donc compris entre 192 et 223. Un exemple d'adresse IP de classe C est : 192.168.1.34.

### Classe D

    Les adresses de classe D sont utilisées pour les communications multicast. Le premier octet d'une adresse IP de classe D commence toujours par la séquence de bits 1110, il est donc compris entre 224 et 239. Un exemple d'adresse IP de classe D est : 224.0.0.1.

### Classe E

    Les adresses de classe E sont réservées par IANA à un usage non déterminé. Les adresses de classe E commencent toujours par la séquence de bits 1111, ils débutent donc en 240.0.0.0 et se terminent en 255.255.255.255.

### Résumé

| Classe | Bits de départ | Début | Fin | Notation CIDR par défaut | Masque de sous-réseau par défaut |
| Classe A | 0 | 0.0.0.0 | 126.255.255.255(127 est réservé) | /8 | 255.0.0.0 |
| Classe B | 10 | 128.0.0.0 | 191.255.255.255 | /16 | 255.255.0.0 |
| Classe C | 110 | 192.0.0.0 | 223.255.255.255 | /24 | 255.255.255.0 |
| Classe D (multicast) | 1110 | 224.0.0.0 | 239.255.255.255 | | non défini |
| Classe E (réservée) | 11110 | 240.0.0.0 | 255.255.255.255 | | non défini |

## Sous-réseau

En 1984, devant la limitation du modèle de classes, la RFC 917 (Internet subnets) crée le concept de sous-réseau qui introduit un niveau hiérarchique supplémentaire entre le numéro de réseau et le numéro d'hôte. Ceci permet par exemple d'utiliser une adresse de Classe B comme 256 sous-réseaux de 254 ordinateurs au lieu d'un seul réseau de 65 534 ordinateurs, sans toutefois remettre en question la notion de classe d'adresse. Ceci permet plus de flexibilité et d'efficacité dans l'attribution des adresses.
Exemple de sous-réseau dans un réseau de classe A :
Le masque de sous-réseau permet de déterminer les deux parties d'une adresse IP correspondant respectivement au numéro du réseau et au numéro de l'hôte. Il est obtenu en mettant à 1 les bits du réseau et à 0 les bits de l'hôte. Le masque 255.255.255.0 correspond par exemple à un sous-réseau de 24 bits. Bien que les sous-réseaux soient encore fréquemment définis aux frontières d'octet, les réseaux 24 bits étant les plus courants, d'autres masques sont désormais possibles.
Deux adresses IP appartiennent au même sous-réseau si elles ont en commun les bits du sous-réseau. Pour déterminer si la machine de destination appartient au même sous-réseau, un hôte utilise l'opération ET binaire entre l'adresses IP et le masque de sous-réseau, et fait de même avec l'adresse destination. Si le résultat est identique, alors la destination est dans le même sous-réseau.

## Agrégation des adresses

En 1992, la RFC 1338 (Supernetting: an Address Assignment and Aggregation Strategy) propose d'abolir la notion de classe qui n'était plus adaptée à la taille d'Internet.
Le Classless Inter-Domain Routing (CIDR), est mis au point en 1993, afin de diminuer la taille de la table de routage contenue dans les routeurs. Ce but est atteint en agrégeant plusieurs entrées de cette table en une seule.
La distinction entre les adresses de classe A, B ou C a été ainsi rendue obsolète, de sorte que la totalité de l'espace d'adressage unicast puisse être gérée comme une collection unique de sous-réseaux indépendamment de la notion de classe. Le masque de sous-réseau ne peut plus être déduit de l'adresse IP elle-même, les protocoles de routage compatibles avec CIDR, dits classless, doivent donc accompagner les adresses du masque correspondant. C'est le cas de Border Gateway Protocol dans sa version 4, utilisé sur Internet (RFC 1654 A Border Gateway Protocol 4, 1994), OSPF, EIGRP ou RIPv2. Les registres Internet régionaux (RIR) adaptent leur politique d'attribution des adresses en conséquence de ce changement.
L'utilisation de masques de longueur variable (Variable-Length Subnet Mask, VLSM) découpe l'espace d'adressage en blocs de taille variable, permettant une utilisation plus efficace de l'espace d'adressage.
Un fournisseur d'accès internet peut ainsi se voir allouer un bloc /19 (soit 8192 adresses) et créer des sous-réseaux de taille variable en fonction des besoins à l'intérieur de celui-ci : de /30 pour des liens points-à-point à /24 pour un réseau local de 200 ordinateurs. Seul le bloc /19 sera visible pour les réseaux extérieurs, ce qui réalise l'agrégation et l'efficacité dans l'utilisation des adresses.