http://gillot55.free.fr

27-01-2017

Adresses IPv4, réseaux informatiques et Internet


Adresse IP

Une adresse IP (Internet Protocol) est un numéro d’identification binaire qui est attribué à un ordinateur connecté à un réseau informatique, afin de l’identifier de façon unique. L’adresse IP est à la base du système d’acheminement (le routage) des messages sur Internet.


Il existe des adresses IP de version 4 (numéro binaire sur 4 octets) et de version 6 (numéro binaire sur 16 octets).

La version 4 (IPv4) est actuellement la plus utilisée. Comme il est long d’écrire un numéro binaire, on choisit d’écrire l’adresse IP en notation décimale à l’aide de quatre nombres compris entre 0 et 255, séparés par des points, ce qui donne par exemple : 172.16.254.1. Comme une adresse IP comporte 32 bits (4 octets x 8 bits) alors il existe au total : 2^32 = 4 294 967 296 soit environ 4 milliards d’adresses IPv4 possibles.

En 2011, toutes les plages d’adresses IPv4 ont été attribuées. IPv4 étant saturé, les opérateurs incitent à la transition d’IPv4 vers IPv6 qui permet un plus grand nombre d’adresses, mais pour le moment il reste peu utilisé. D’autres moyens sont utilisés pour contourner la difficulté en attendant.




Classe d’adresses IP

Peu après la création d’IPv4 en 1981, on décide de découper les 4 milliards d’adresses en cinq classes, en fonction des premiers bits du premier octet de l’adresse. Chaque classe est identifiée par une lettre de A à E.




Classe

Nombre de possibilités pour le 1er octet

Nombre d’adresses IPv4 possibles (calcul décimal)

Nombre d’adresses IPv4 possibles (calcul binaire)

Classe A

128 (=128-0 =2^7)

2 147 483 648

(=128 x256x256x256)

2 147 483 648

(=2^31)

Classe B

64 (=191-127 =2^6)

1 073 741 824

(=64 x256x256x256)

1 073 741 824

(=2^30)

Classe C

32 (=223-191 =2^5)

536 870 912

(=32 x256x256x256)

536 870 912

(=2^29)

Classe D

16 (=239-223 =2^4)

268 435 456

(=16 x256x256x256)

268 435 456

(=2^28)

Classe E

16 (=255-239 =2^4)

268 435 456

(=16 x256x256x256)

268 435 456

(=2^28)

Total


4 294 967 296

4 294 967 296



Masque de sous-réseau

Ce premier découpage en classes n’est pas suffisant. Si chaque machine connectée à Internet est obligée de connaître l’ensemble des millions d’autres machines (et notamment leurs adresses) et de savoir comment y accéder, cela obligerait nos ordinateurs à avoir des tables énormes contenant l’ensemble de ces informations. Cela induirait aussi des temps de réponses très grands pour parcourir cette table.

Pour répondre à ce problème, on a segmenté chaque classe précédente en différents sous-réseaux. Et c’est au sein de ces sous-réseaux que l’on donne des adresses aux machines pour leur envoyer l’information.

Ainsi, il suffit de connaître l’adresse du sous-réseau pour envoyer l’information à une machine de celui-ci, et c’est à l’intérieur du sous-réseau que l’information est redirigée vers la bonne machine. C’est exactement comme lors d’un envoi par la poste, on indique le nom de la ville, le paquet arrive à la poste de la ville, puis c’est elle qui distribue le paquet à la bonne adresse.


Au final, il faut deux adresses pour identifier une machine, une pour le sous-réseau et une pour la machine elle-même. Cependant, on a vu que l’adresse IP est unique. La solution est de segmenter cette adresse en deux parties distinctes, l’une pour le sous-réseau, et l’autre pour la machine. C’est la définition du masque de sous-réseau.

Le masque de sous-réseau joue le rôle de séparateur entre la partie sous-réseau et la partie machine d’une adresse IP.


Un masque a été défini dans chaque classe d’adresse :


Classe

masque de sous-réseau

Nombre de sous-réseaux possibles

Nombre d’ordinateurs possibles dans 1 sous-réseau

Nombre d’adresses IPv4 possibles

Classe A

255.0.0.0

128

(=128)

16 777 216

(=256x256x256)

2 147 483 648

(=128x16 777 216)

Classe B

255.255.0.0

16 384

(=64 x256)

65 536

(=256x256)

1 073 741 824

(=16 384x65 536)

Classe C

255.255.255.0

536 870 912

(=32 x256x256x256)

256

(=256)

536 870 912

(=536 870 912x256)

TOTAL


536 887 424




Par exemple pour la classe C, le masque de sous-réseau est fixé à 255.255.255.0 ce qui signifie que les 3 premiers octets servent à définir le sous-réseau (les 255.255.255) et le dernier octet sert à définir chaque ordinateur à l’intérieur du sous-réseau (le 0 final) Avec le dernier octet d’une adresse IP, on peut donc définir seulement 256 ordinateurs dans chaque sous-réseau.


Par exemple pour la classe B, le masque de sous-réseau est fixé à 255.255.0.0. Les deux premiers octets servent à définir le sous-réseau (les 255.255) et les deux derniers octets servent à définir chaque ordinateur à l’intérieur du sous-réseau (le 0.0). Toutefois, il ne faut pas oublier que les premiers bits de l’adresse servent encore à définir la classe. Exemple d’une adresse IP de classe B :


10110110. 11101011. 01001001. 10111101


10 : classe B (deux bits fixes)

110110. 11101011 : un sous-réseau possible

01001001. 10111101 : un ordinateur possible dans le sous-réseau


Dans le système de classes d’adresses, le masque de sous réseau est lié à la classe choisie (A, B ou C). Donc en connaissant l’adresse IP, on connaît sa classe et donc son masque de sous-réseau. On peut donc en déduire la partie identifiant le sous-réseau et celui identifiant l’ordinateur. On verra que ce système n’est plus valable actuellement à cause de CIDR.


Le nombre total de sous-réseaux que l’IANA (Internet Assigned Numbers Authority) peut attribuer aux entreprises est de 536 887 424, ce qui semble considérable. Mais en 1993, il n’y a déjà plus d’adresse de classe B disponible ! En effet, lorsqu’une entreprise souhaite obtenir un sous-réseau :

- une adresse de classe A est trop grande (16 777 216 ordinateurs possibles !)

- une adresse de classe C est trop petite (seulement 256 ordinateurs…)

donc une adresse de classe B est toujours le meilleur choix !


En attendant l’achèvement et le déploiement d’IPv6 avec ses adresses sur 16 octets, il a fallu trouver une solution temporaire : l’adressage hors-classe (CIDR).



Adressage hors-classe et blocs CIDR

Prenons l’exemple d’une entreprise qui désire une adresse de classe B afin de disposer des deux derniers octets pour identifier ses ordinateurs. Comme il n’y a plus d'adresse de classe B disponible, l’IANA peut lui attribuer à la place 256 adresses de classe C, ce qui revient au même (65 536 ordinateurs possibles).

Mais un nouveau problème se pose : ces 256 adresses génèrent 256 entrées dans les tables de routage d'lnternet pour cette seule entreprise, ce qui alourdit la table de routage pour rien.

La solution : lui attribuer l’adresse 193.150.0.0 (de classe C) avec un masque de sous-réseau 255.255.0.0 (de classe B), mais ceci est interdit dans le système original car chaque classe est associée à un masque de sous-réseau unique.


En 1993, on abolit ainsi la notion de classe pour redéfinir le découpage de l’ensemble des adresses IPv4.

Le CIDR (Classless Inter-Domain Routing) permet de définir des masques de sous-réseaux libres, qui ne dépendent plus des anciennes classes A,B ou C.

Chaque nouveau sous-réseau est appelé bloc CIDR. Un bloc est défini par le préfixe (par exemple 193.150.0.0) suivi de / puis du masque CIDR. Par exemple le masque /16 indique que les 16 premiers bits de gauche représentent le sous-réseau, et ceux à droite identifient les ordinateurs dans le sous-réseau.


Certains masques CIDR sont alors identiques aux anciens masques liés aux classes :

masque CIDR

masque décimal

ancien masque de la classe

/8 (=1 octet x8)

255.0.0.0

A

/16 (=2 octets x8)

255.255.0.0

B

/24 (=3 octets x8)

255.255.255.0

C

/32 (=4 octets x8)

255.255.255.255



Avec CIDR, il existe au total 32 masques possibles (de /1 à /32 puisque l’adresse IPv4 est codée sur 32 bits) au lieu des 3 masques antiques liés aux classes. Le nombre de blocs CIDR possibles dépend cette fois des masques choisis par l’IANA.


De façon imaginaire, si l’IANA décide de n’attribuer que des masques /32, le réseau mondial serait constitué de 4 milliards de sous-réseaux, contenant chacun 1 seul ordinateur, ce qui est absurde. A l’inverse, l’utilisation d’un masque unique /0 conduirait à un unique sous-réseau mondial contenant les 4 milliards d’adresses IP, ce qui réduit à néant la notion de sous réseau, puisque celui-ci serait confondu avec le réseau lui-même.


Pour résumer, avec l’ancien système de classes le nombre de sous-réseaux est fixe (536 887 424). Avec le système CIDR, le nombre de sous-réseaux est compris entre 1 et 4 milliards, ce qui laisse une grande souplesse dans l’attribution des sous-réseaux. En contrepartie il faut toujours préciser le masque lors de la description d’une plage d’adresses CIDR, afin de connaître le début (= le préfixe) et la fin de la plage d’adresses IP (= préfixe + masque CIDR).


Pour l’entreprise qui voulait l’adresse 193.150.0.0 (de classe C) avec un masque de sous-réseau 255.255.0.0 (lié à la classe B), il suffit de lui attribuer l’adresse CIDR 193.150.0.0/16



En écriture CIDR, l’adresse unique 50.51.52.53 se note 50.51.52.53/32.

De même, l’adresse 0.0.0.0/0 désigne les 4 milliards d’adresses IPv4 possibles (c’est donc le chemin par défaut des routeurs).

Pour les masques différents de /8 /16 /24 et /32 (cad différents de .0 ou .255 en décimal) il faut alors revenir à la notation en binaire et faire quelques calculs. En général ce n’est pas nécessaire sur des réseaux locaux de particuliers.


Actuellement, l'IANA a choisi de redécouper l'espace d'adressage IPv4 avec le masque /8 soit un total de 256 blocs CIDR (à noter que le masque /8 correspond au masque antique de classe A). Chacun de ces blocs est libre, ou réservé, ou déjà assigné dans le passé, ou alloué à un RIR (Registre Internet Régional). Dorénavant, ce sont les RIR qui attribuent les adresses pour le compte de l’IANA (délégation de pouvoir).


La liste des 256 blocs CIDR mondiaux est consultable ici :

http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml



IP privées et réseau local LAN

Un réseau local (LAN = Local Area Network) est un ensemble d’ordinateurs appartenant à une même organisation et reliés entre eux dans une petite aire géographique au sein d’un réseau. Dans ce cas, les ordinateurs du LAN n’ont pas besoin de disposer d’une adresse IP mondialement unique. On utilise alors des adresses IP privées, qui sont réservées à cet usage. Ces adresses spéciales ne sont pas reconnues sur Internet. De plus, ces adresses ne sont pas uniques, plusieurs réseaux différents utilisent les mêmes adresses au même moment, par opposition aux adresses publiques d’Internet.



Pour les adresses IP privées, on a le choix entre 3 masques selon le nombre d’ordinateurs qui vont constituer le réseau  :

- masque /8 (255.0.0.0) : adresses privées de 10.0.0.0 à 10.255.255.255

- masque /12 (255.240.0.0) : adresses privées de 172.16.0.0 à 172.31.255.255

- masque /16 (255.255.0.0) : adresses privées de 192.168.0.0 à 192.168.255.255


Habituellement dans un réseau de particulier on prend un masque /16 (donc adresses locales 192.168.x.x) car le nombre de machines est souvent inférieur à 65 536 !


Remarque : sur la Freebox v6 (Revolution) on peut choisir l’adresse locale de la freebox, mais pas le masque, qui est fixé à 255.255.255.0 et non modifiable.

Par exemple, si on attribue l’adresse 192.168.0.254 à la freebox, alors la plage d’adresses disponible pour les ordinateurs est 192.168.0.1 à 192.168.0.253

Par exemple, si on attribue l’adresse 192.168.1.254 à la freebox, alors la plage d’adresses disponible pour les ordinateurs est 192.168.1.1 à 192.168.1.253


Attention : il existe deux adresses spécifiques au sein d’un réseau. Prenons l’exemple de la plage d’adresses 192.168.0.0/24 :

- l’adresse 192.168.0.0 représente l’adresse même du réseau. Elle est très importante car permet d’identifier le réseau et router les informations d’un réseau à un autre. On ne peut donc pas s’en servir pour identifier une machine. La première adresse valable pour cela sera 192.168.0.1

- l’adresse 192.168.0.255 est appelée adresse de broadcast. Elle permet de diffuser des informations à toutes les machines du réseau. La dernière adresse valable sera 192.168.0.254. En général, on garde cette adresse pour la passerelle réseau (la box), mais ce n’est pas obligatoire.

Au final, avec le masque /24 il reste 254 adresses valables pour identifier les machines.


Il existe aussi d’autres adresses spéciales. Par exemple 169.254.x.x est une adresse particulière automatique, quand une machine n’obtient pas d’adresse alors qu’elle est configurée pour en recevoir une d’un serveur.



Réseau local LAN et NAT

Afin de relier un réseau local à Internet, il faut utiliser un traducteur d’adresses réseau (NAT = Network Address Translation). Un NAT est un serveur qui remplace les adresses privées par l’adresse publique avant la transmission sur Internet.



Ce procédé est très largement utilisé par les box internet (en mode routeur) pour cacher les ordinateurs domestiques derrière une seule identification publique. Dans ce cas, l’adresse IP locale de la box est appelée la passerelle par défaut. Par conséquent, il faut signifier à chaque ordinateur la passerelle par défaut afin de pouvoir accéder à Internet.


L’inconvénient d’un NAT est qu’il complique le fonctionnement de certains protocoles. Par exemple, le protocole rlogin impose que le port source soit fixé à 512. La traversée d’un NAT empêche alors plus d’une session sortante par adresse publique. Ces protocoles sont dits « passant difficilement les pare-feu », car ils échangent au niveau applicatif (FTP) des informations du niveau IP (échange d’adresses) ou du niveau TCP (échange de ports), ce qui transgresse le principe de la séparation des couches réseaux (voir « Le modèle en couches, le modèle OSI »).



Épuisement des adresses IPv4

En février 2011, un événement majeur a eu lieu : le dernier bloc CIDR IPv4 a été attribué.


Évolution des réserves de chacun des RIR depuis 2011 :

Les 5 RIR mondiaux sont :

- AfriNIC : Afrique

- APNIC : Asie et Pacifique

- ARIN : Amérique du Nord

- LACNIC : Amérique Latine et quelques îles des Caraïbes

- RIPE NCC : Europe, Moyen Orient et Asie Centrale


Pour assurer la continuité de l’accès à Internet en dépit de l’épuisement des adresses IPv4, les opérateurs envisagent différents moyens de contournement.


Le déploiement de traducteurs d’adresse à grande échelle (Large Scale NAT, Carrier-Grade NAT = CGN). Une adresse publique est partagée par de nombreux clients simultanément du même Fournisseur d’Accès à Internet (FAI). Le CGN utilise la traduction de port : un certain nombre de ports TCP et UDP sont réservées pour chacun des clients. Compte tenu du fait qu'il existe 65535 numéros de ports possibles, et en supposant qu'une adresse publique est utilisée par 100 clients, chaque client dispose d'environ 650 numéros de port, c'est-à-dire autant de connexions simultanées possibles.

Le CGN présente toutefois de nombreux inconvénients :

- Les applications qui n'utilisent pas TCP, UDP ou ICMP sont bloquées par ce mécanisme.

- L'enregistrement des adresses IP ne permet plus d'identifier des utilisateurs individuels, les serveurs n'enregistrant généralement pas les numéros de ports utilisés par le client. Une alternative qui consisterait en l'enregistrement par le fournisseur d'accès à Internet de chaque flux représenterait une quantité considérable d'information à enregistrer et conserver. Ceci a des conséquences sur la capacité des services de police à identifier les auteurs de délits sur Internet

- Les plages d'adresses privées ne sont pas illimitées : le réseau 10.0.0.0/8 peut numéroter de 10 à 16 millions de passerelles, en fonction de l'efficacité dans la distribution des adresses, ce qui peut s'avérer insuffisant pour certains opérateurs.

- La géolocalisation des utilisateurs finaux grâce à leur adresse IP est également affectée.


On peut aussi envisager la récupération de certains blocs d’adresses attribués généreusement autrefois. Certaines entreprises disposent ainsi d’un bloc /8, soit plus de 16 millions d’adresses publiques !


Finalement, il ne devrait plus se passer beaucoup de temps avant qu'IPv6 ne remplace définitivement IPv4.



https://fr.wikipedia.org

http://www.commentcamarche.net/contents/1354-le-cidr

http://infodoc.iut.univ-aix.fr/~cpb/enseignement/reseaux/semestre_2/cours/cours_1.pdf

http://www.lalitte.com/index.php/Les_masques_de_sous-réseau