Vous êtes ici : Accueil Fondamentaux Adressage IPv4 Classless (2/2)

Adressage IPv4 Classless (2/2)

CIDR. L'adressage Unicast se passe des classes d'adresse pour distinguer les domaines de routage. C'est le masque qui détermine les domaines IP. Ce principe est toujours valable en IPv4 comme en IPv6. Il s'agit de se doter d'un critère explicite qui taille les blocs d'adresses afin de planifier finement son adressage et simplifier les routes transmises. Pour assurer l'exploitation de cette information, les protocoles de routage doivent supporter le routage sans classe (classless).

En espérant que les calculs binaires et le nombre magique deviennent concrets, cet article fait suite à la publication "Adressage IPv4 classful (1/2)".

V. Le routage sans classe (CIDR)

Les RFC 1518 (historique) et RFC 4632 (technique) consacrent la méthode CIDR, routage sans classe interdomaine, comme méthode de gestion et d'organisation plus efficace des adresses Internet. Concrètement cela signifie que :

  1. Une adresse est toujours accompagnée de son masque identifiant son appartenance à un réseau (domaine de broadcast)
  2. La notion de classe d'adresse IPv4 disparaît dans la pratique.
  3. La notion de blocs identifiant des domaines de routage remplace la notion de classe d'adresse IPv4, rendant l'usage d'un masque indispensable.
  4. Pour simplifier la notation, on préfère représenter un slash / + le nombre de bits à 1 dans le masque : /26 au lieu de 255.255.255.192.
  5. Les blocs sont variables, peuvent être agrégés ou découpés dans les informations de routage ou dans les plans d'adressage.
  6. Ces blocs sont des ensembles homogènes (les adresses se suivent) d'adresses en base 2 : 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, ..., 65536, ... adresses.
  7. Le RFC 950 reste une référence en matière de calculs (numéro de réseau, broadcast, plage d'adresses).
  8. Les protocoles de routage doivent supporter le masque comme information supplémentaire. On parle de protocoles de routage classless rendant RIPv1 et IGRP obsolètes.
  9. Toute une série de questions peuvent être posées dans la maîtrise de l'adressage IPv4 et peuvent être résolues soi-même ou avec un logiciel pour automatiser des tâches.

Ces sujets sont détaillés dans la suite de cet article.

VI. Notation CIDR

Au lieu de représenter le masque d'une adresse en notation décimale pointée, le CIDR propose de noter une adresse suivi de /"nombre de bits à 1", le nombre de de bits à zéro qui restent représente la taille du bloc. Soit, par exemple :

255.255.255.192 => 26 bits à 1 => /26

Il est utile de connaître les masques par défaut :

  • 255.0.0.0 : /8
  • 255.255.0.0 : /16
  • 255.255.255.0 : /24

Le masque donne aussi le nombre de bits à zéro (32 - le masque). Par exemple, un /20 fournit un bloc de 2 EXP 12 adresses = 2048. Par exemple, un /24 fournit un bloc de 2 EXP 8 adresses = 256. Par exemple, un /30 fournit un bloc de 2 EXP 2 adresses = 4. Les bits à zéro dans le masque indiquent l'étendue du réseau.

VI. Masques à longueurs variables (VLSM)

Dans l'ancienne méthode, les masques de découpage devaient être identiques parce qu'ils n'étaient pas transportés dans les informations de routage.

Rappels

Il est utile de rappeler que dans un masque, les bits à 1 correspondent à la partie fixe qui identifie le réseau et les bits à zéro correspondent à la partie variable qui identifie précisément une interface (un hôte, un noeud) dans ce domaine.

La première adresse est réservée et identifie le réseau en général. Elle n'est pas utilisable sur une interface mais identifie les réseau dans les tables de routage.

La dernière ne peut pas se configurer sur une interface et est utilisée comme adresse de destination pour la diffusion (broadcast)

Pour bien comprendre le mécanisme, il est plus intéressant de se représenter une topologie censée être fixée. Dans la réalité, il faudra tenir compte de l'évolutivité des besoins en adresses étant donné qu'un réseau que l'on planifie ne décroît jamais par définition.  Le quotidien de l'administration des réseaux consiste en la gestion des adressages privés (cachés par du NAT). Pourquoi se passer d'un bloc 192.168.0.0/16, 17.16.0.0/12 ou 10.0.0.0/8 que l'on découpera aisément ?

Premier cas d'école.

On peut partir d'un ancien cas d'école considérant qu'il faille adresser un inter-réseau avec des adresses globales (publiques). On vous octroie un bloc d'adresses IPv4 195.167.46.0/24. Selon les contraintes représentées d'un internet maillés de trois routeurs ayant chacun un réseau local :

  • Lan de R1 100 PCs,
  • LAN de R2 50 PCs,
  • LAN de R3 25 PCs.

On a donc un bloc de 256 adresses (/24). On propose ici de le découper de la manière suivante :

  • un bloc /25 de 128 adresses pour le LAN de R1,
  • un bloc /26 de 64 adresses pour le LAN de R2,
  • un bloc /27 de 32 adresses pour le LAN de R3.
  • Dans le reste, on prendra trois blocs /30 de 4 adresses pour adresser les connexions point-à-point.

 

 

  1. La première adresse du bloc est attribuée comme numéro de réseau au réseau LAN de R1 car il a les plus gros besoins : 195.167.46.0. Pour trouver la plage du réseau LAN de R1 (100 adresses), on fixe les bits à zéro dans le masque : 7 bits à zéro (2 EXP 7 = 128 adresses) soit de 195.167.46.0/25 à 195.167.46.127/25.
  2. La prochaine adresse est 195.167.46.128. Elle est le numéro de réseau du prochain réseau ayant les plus gros besoins en adresses : le LAN de R2. Le masque a besoin de 6 bits à zéro (2 EXP 6 = 64) pour le LAN de R2 (50 adresses adresses), soit de 195.167.46.128/26 à 195.167.46.191/26
  3. 64 adresses plus loin, 195.167.46.192 est la première adresse (le numéro de réseau) du LAN de R3. Le LAN de R3 a besoin de 25 adresses en offrant un masque avec 5 bits à zéro (2 EXP 5 = 32 adresses) : de 195.167.46.192/27 à 195.167.46.223/27.
  4. 195.167.46.224 est la prochaine adresse disponible. Il reste un bloc de 32 adresses, jusqu'à 195.167.46.255. Les connexions point à point prennent un masque /30 comprenant 4 adresses dont 2 utiles : l'une pour le numéro de réseau, deux utiles, la dernière pour la diffusion.

Le plan d'adressage proposé est représenté en tableau.

AttributionContrainteRéseauPlage adressableDiffusion
LAN R1 100 adresses 195.167.46.0/25 195.167.46.1/25 à 195.167.46.126/25 195.167.46.127/25
LAN R2 50 adresses 195.167.46.128/26 195.167.46.129/26 à 195.167.46.190/26 195.167.46.191/26
LAN R3 25 adresses 195.167.46.192/27 195.167.46.193/27 à 195.167.46.222/27 195.167.46.223/27
R2-R3 4 adresses 195.167.46.224/30 195.167.46.225/30 à 195.167.46.226/30 195.167.46.227/30
R1-R2 4 adresses 195.167.46.228/30 195.167.46.229/30 à 195.167.46.230/30 195.167.46.231/30
R1-R3 4 adresses 195.167.46.232/30 195.167.46.233/30 à 195.167.46.234/30 195.167.46.235/30

Cette perspective restrictive correspond aux principes de conservation des adresse IPv4 publiques.

VII. Super-réseaux

Ce qu'on appelle communément le super-netting consiste à regrouper des blocs contigus pour créer un seul bloc plus large.

Par exemple, pour adresser un réseau de 500 machines on peut prendre deux /24, soit 2 X 256. Le masque devient /23. En effet, /23 nous offre 9 bits à 0, soit 2 EXP 9 = 512 adresses. Le CIDR a permit d'octroyer des blocs larges aux derniers FAI IPv4 indépendamment des classes d'adresses C.

 

VII. Agrégation de routes

Afin de diminuer la taille des tables de routage, alors que le comportement courant est de trouver une entrée pour chaque réseau, on peut "résumer" les routes à condition d'avoir un plan d'adressage qui regroupe les réseaux géographiquement. Considérons par exemple la topologie d'un réseau privé entre Paris et six sites distants : plusieurs réseaux concentrés sur Lille et sur Lyon. Les réseaux d'extrémité contiennent deux VLANs : l'un pour les données et l'autre pour la voix.

Le routeur à Paris devrait voir deux routes dans sa table de routage l'une annonçant 192.168.0.0/22 passant par Lille et une autre annonçant 192.168.4.0/22 passant par Lyon.

VIII. Protocoles de routage sans classe (Classless)

Le CIDR doit être supporté par les protocoles de routage :

  • RIPv2
  • OSPFv2 et OSPFv3
  • EIGRP
  • BGPv4

IX. Exercices IPv4

On peut calculer les plans d'adressage et répondre à plusieurs questions :

  • Déterminer la plage IP à partir d'une adresse et de son masque
  • Comparer deux adresses IP afin de déterminer si elles sont dans la même plage
  • Choisir un masque adapté aux contraintes en nombre d'hôtes, avec une marge de croissance
  • Choisir un masque adapté aux contraintes en nombre  de réseaux, avec une marge de croissance
  • Planifier un adressage avec masques fixes
  • Planifier un adressage avec masques à longueurs variables
  • Calculer une summarization de route

La libraire Python netaddr est intéressante à cet égard : https://netaddr.readthedocs.org/en/latest/ .

Mots-clés associés : , , , ,