Adressage IPv4 Les adresses IPv4 sont les adresses identifiant les hôtes au sein d'un réseau et sont généralement utilisées à titre de destination lors de communication entre deux appareils. Introduction Une adresse IP (Protocole Internet) identifie de façon unique une interface joignable dans un réseau. Elle est composée de 32 bits et est généralement représentée par 4 octets en base décimale pour être plus digeste. ex. 01111111.00000000.00000000.00000001 = 127.0.0.1 Des regroupements de ces adresses contigues peuvent être représentés par un masque de sous-réseau étant lui aussi composé de 32 bits déterminant la taille du regroupement à représenter ainsi que l'adresse indiquant à partir de quelle adresse le regroupement débute. Tous les appareils se situant dans le même groupe nommé un réseau ou un sous-réseau IP peuvent communiquer directement ensemble. Il sera nécessaire de passer par un routeur pour rejoindre des appareils qui ont des adresses à l’extérieur de ce réseau. Ce masque identifie la partie réseau de l’adresse IP (les bits devant être identiques pour qu'une adresse observée appartienne à ce réseau) par ses bits ayant la valeur 1 et la partie hôte (la partie identifiant de façon unique un appareil) par ses bits ayant la valeur 0. Ces bits doivent par conséquent être contigus pour former un masque de sous-réseau valide. ex. 11111111.11111111.11111111.00000000 = 255.255.255.0 Ce masque réservant 24 bits à la partie réseau est un des masques les plus communs. Pour que deux appareils appartiennent au même réseau avec ce masque, les 3 premiers octets de leurs adresses devront être les mêmes. Il englobe donc toutes les adresses ayant de .0 à .255 comme 4e octet.  Prenons le réseau IP le plus commun à titre d’exemple. 192.168.0.0 : 11000000.10101000.00000000 .00000000 255.255.255.0 : 11111111.11111111.11111111 .00000000 Dans cette situation, les bits “actifs” du masque de sous-réseau identifient les bits qui appartiendront à la portion réseau de l’adresse. Les adresses appartenant à ce réseau seront toutes les valeurs possibles des autres bits. Celles-ci seraient donc de 192.168.0.0 à 192.168.0.255. La première adresse d’un réseau IP est réservée à identifier le réseau en question et sa dernière adresse est réservée à la diffusion et représente par conséquent l’adresse de destination qui sert à acheminer des données simultanément à tous les hôtes présents dans le réseau IP.  Ces deux adresses ne peuvent donc pas être utilisées pour représenter un appareil unique dans un réseau. Le masque 255.255.255.0 permet donc en réalité l’utilisation des adresses de .1 à .254 pour ses hôtes. Un masque réservant 24 bits (/24) permet donc l’utilisation de 254 àdresses (incluant 1 et 254). Ces masques sont utilisés pour décrire une étendue ou un groupe d'adresses qui seront utilisés pour définir des règles dans des tables de routage sur tous les appareils possédant une adresse IP et des tables de filtrage de pares-feu. Le réseau 192.168.1.0/24 (255.255.255.0) décrirait donc les adresses IP de 192.168.1.0 jusqu'à 192.168.1.255 pour utilisation dans des règles de routage ou de filtrage de trafic réseau. Un peu d'histoire Historiquement, les adresses IP étaient regroupées et distribuées par classe. Chaque classe était associée à un masque de sous-réseau. Les adresses IP de 0.0.0.0 jusqu’à 127.255.255.255 appartenaient à la classe A et étaient distribuées par des masques /8 (255.0.0.0). On parle ici de blocs de 16.8 millions d’adresses par bloc. Comme indique la capture d’écran ci-dessous, Apple possède cette quantité phénoménale d’adresses entre 17.0.0.0 et 17.255.255.255. Le bloc 10.0.0.0 - 10.255.255.255 est réservé à l’utilisation dans des réseaux locaux, le bloc 127.0.0.0-127.255.255.255 est réservé aux adresses de “loopback” (qu’une machine utilise pour faire référence à elle-même) et toutes les autres sont des adresses publiques (Internet). [arsenaultja ~]$ whois 17.0.0.1 NetRange: 17.0.0.0 - 17.255.255.255 CIDR: 17.0.0.0/8 NetName: APPLE-WWNET La classe B est distribuée par masques de /16 (255.255.0.0) et sont les adresses de 128.0.0.0 à 191.255.255.255. La plage réservée aux réseaux privés dans cette classe est 172.16.0.0/12 donc 172.16.0.0 jusqu’à 172.31.255.255. La classe C est distribuée par masques de /24 (255.255.255.0) et sont les adresses de 192.0.0.0 jusqu’à 223.255.255.255. Les classes D et E sont réservées à certains protocoles qui utilisent des adresses IP spécifiques de diffusion pour que les appareils se détectent automatiquement. En rétrospective, les classes d’adresses IP étaient une très mauvaise idée considérant que toutes les plages d’adresses IPv4 existantes sont allouées. Nous sommes à court d’adresses IPv4 et devons nous tourner vers des solutions telles que des masques de sous-réseau à longueur variable, le NATing et IPv6. Masques de sous-réseau à longueur variable (VLSM) Passons au prochain niveau pour notre maîtrise des masques de sous-réseau. Il n’est pas nécessaire de réserver un octet au complet pour décrire l’étendue d’un réseau IP. Les masques de sous-réseau sont souvent écrits par notation CIDR (Classless Inter-Domain Routing). Cette notation décrit le nombre de bits réservés à la partie réseau de l’adresse. À titre d’exemple, prenons 255.255.255.0. 255.255.255.0 : 11111111.11111111.11111111 .00000000 Dans ce masque, 24 bits sont réservés à la portion réseau de l’adresse et peut donc être notée par /24. 192.168.0.0/24 représenterait donc le réseau 192.168.0.0 portant le masque de sous-réseau 255.255.255.0 et donc les adresses IP de 192.168.0.0 jusqu'à 192.168.0.255. Doublons maintenant le nombre d’adresses disponibles dans notre sous-réseau. En libérant un bit supplémentaire pour les adresses d’hôte, nous pouvons doubler l’étendue de notre réseau IP. 255.255.25 4 .0 : 11111111.11111111.1111111 0.00000000 Prenons encore 192.168.0.0 à titre d’exemple mais cette fois-ci avec /23 comme masque. Le réseau engloberait donc maintenant les adresses de 192.168.0.0 jusqu’à 192.168.1.255 puisque le 24e bit peut être soit 0 ou 1 et quand même être représenté par ce groupe. Faisons maintenant l’inverse et divisons un réseau /24 en deux. 255.255.255. 128 : 11111111.11111111.11111111.1 0000000 Si nous utilisons encore 129.168.0.0 avec un masque /25, le réseau engloberait maintenant seulement les adresses IP de 192.168.0.0 à 192.168.0.127 puisque dorénavant, le 25e bit doit correspondre à celui de l'adresse réseau. Un masque de sous-réseau /0 ne réserverait aucun bit à la portion réseau et engloberait donc toutes les adresses IPv4 existantes. Une table VLSM est un outil indispensable permettant d’identifier les réseaux IP valides en fonction de leurs masques de sous réseau. Elles représentent généralement les masques de sous-réseau de /24 à /30 mais peuvent être transposées d'octet en octet pour représenter les réseaux de /16 à /22, de /8 à /14 ou encore de /0 à /6. Table VLSM Voici aussi un outil excel permettant de visualiser et convertir les valeurs binaires et décimales liées à l'adressage IPv4 Visualisation IP