# Adresse IP

Une adresse IP (Internet Protocol) est un numéro d'identification unique attribué de façon permanente ou provisoire à chaque périphérique faisant partie d'un même réseau informatique utilisant l'Internet Protocol. L'adresse IP est à l'origine du système d'acheminement (le routage) des paquets de données sur Internet.
Il existe deux grandes versions d'adresses IP : la version 4 (IPv4) codée sur 32 bits, et la version 6 (IPv6) codée sur 128 bits. La version 4 est actuellement la plus utilisée : elle est généralement représentée en notation décimale avec quatre nombres compris entre 0 et 255, séparés par des points, ce qui donne par exemple « 181.174.87.53 ».

## Utilisation des adresses IP

L'adresse IP est attribuée à chaque interface avec le réseau de tout matériel informatique (routeur, ordinateur, smartphone, objet connecté, système embarqué, modem (ADSL, wifi, fibre ou câble), imprimante réseau, etc.) connecté à un réseau utilisant l’Internet Protocol comme protocole de communication entre ses nœuds. Cette adresse est assignée soit individuellement (attribution statique) par l'administrateur du réseau local dans le sous-réseau correspondant, soit automatiquement (attribution dynamique) via le protocole DHCP. Si l'ordinateur dispose de plusieurs interfaces réseau, chacune d'entre elles disposera alors d'une adresse IP. Un même équipement peut donc avoir plusieurs adresses IP simultanément. Une interface peut également disposer de plusieurs adresses IP.
Chaque paquet transmis par le protocole IP contient l'adresse IP de l'émetteur ainsi que l'adresse IP du destinataire. Les routeurs IP acheminent les paquets vers la destination de proche en proche. Certaines adresses IP sont utilisées pour la diffusion (multicast ou broadcast) et ne sont pas utilisables pour adresser des ordinateurs individuels. La technique anycast permet de faire correspondre une adresse IP à plusieurs ordinateurs répartis sur Internet.
Les adresses IPv4 sont dites publiques si elles sont enregistrées et routables sur Internet, elles sont donc uniques mondialement. À l'inverse, les adresses privées ne sont utilisables que dans un réseau local, et ne doivent être uniques que dans ce réseau. La traduction d'adresse réseau, réalisée notamment par les box internet, transforme des adresses privées en adresses publiques et permet d’accéder à Internet à partir d'un poste du réseau privé.

## Adresse IP et nom de domaine

Le plus souvent, pour se connecter à un serveur informatique, l'utilisateur ne donne pas l'adresse IP de ce serveur, mais son nom de domaine (par exemple www.wikipedia.org). Ce nom de domaine est ensuite résolu en adresse IP par l'ordinateur de l'utilisateur en faisant appel au système de noms de domaine (DNS). Ce n'est qu'une fois l'adresse IP obtenue qu'il est possible d'initier une connexion.
Les noms de domaine ont plusieurs avantages sur les adresses IP :
* ils sont plus lisibles ;
* ils sont plus facilement mémorisables ;
* ils ne sont pas impliqués dans le routage, donc ils peuvent être conservés même en cas de réorganisation de l'infrastructure réseau ;
* ils ne sont pas limités à quelques milliards comme les adresses IPv4.

## Classe d'adresse IP

Jusqu'aux années 1990, les adresses IP étaient réparties en classes (A, B, C, D et E), qui étaient utilisées pour l'assignation des adresses et par les protocoles de routage. Cette notion est désormais obsolète pour l'attribution et le routage des adresses IP du fait de la pénurie d'adresses (RFC 1517) du début des années 2010. La mise en place très progressive des adresses IPv6 a accéléré l'obsolescence de la notion de classe d'adresse. Attention toutefois : dans la pratique, au début des années 2010, de nombreux matériels et logiciels se basent sur ce système de classe, y compris les algorithmes de routage des protocoles dits classless (cf. Cisco CCNA Exploration - Protocoles et concepts de routage). Malgré tout, il est facile d'émuler une organisation en classe à l'aide du système CIDR.

### 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. Ceci permet par exemple d'utiliser une adresse de Classe B comme 256 sous-réseaux de 256 ordinateurs au lieu d'un seul réseau de 65 536 ordinateurs, sans toutefois remettre en question la notion de classe d'adresse.
Le masque de sous-réseau permet de déterminer les deux parties d'une adresse IP correspondant respectivement au numéro de réseau et au numéro de l'hôte.
Un masque a la même longueur qu'une adresse IP. Il est constitué d'une suite de chiffres 1 (éventuellement) suivie par une suite de chiffres 0.
Pour calculer la partie sous-réseau d'une adresse IP, on effectue une opération ET logique bit à bit entre l'adresse et le masque. Pour calculer l'adresse de l'hôte, on effectue une opération ET logique bit à bit entre le complément à un du masque et l'adresse.
En IPv6, les sous-réseaux ont une taille fixe de /64, c'est-à-dire que 64 des 128 bits de l'adresse IPv6 sont réservés à la numérotation d'un hôte dans le 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'est plus adaptée à la taille d'Internet.
Le Classless Inter-Domain Routing (CIDR), est mis au point en 1993 RFC 1518 afin de diminuer la taille de la table de routage contenue dans les routeurs. Pour cela, on agrège plusieurs entrées de cette table en une seule et unique plage continue.
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 masque de longueur variable (Variable-Length Subnet Mask, VLSM) permet le découpage de l'espace d'adressage en blocs de taille variable, permettant une utilisation plus efficace de l'espace d'adressage.
Le calcul du nombre d'adresses d'un sous-réseau est le suivant, 2$^{tailledel'adresse-masque}$.
Un fournisseur d'accès à Internet peut ainsi se voir allouer un bloc /19 (soit 2$^{32-19}$ = 2$^{13}$ = 8 192 adresses) et créer des sous-réseaux de tailles variables 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.
La notation CIDR a été introduite pour simplifier la notation, avec une barre oblique ("/") suivie du nombre décimal de bits de poids fort identifiant un sous-réseau (les autres bits de poids faible étant alloués uniquement à des hôtes de ce seul sous-réseau, à charge pour lui de découper ensuite plus finement et router différemment lui-même des sous-plages). Pour le routage sur Internet les masques de sous-réseau ont été abandonnés en IPv4 au profit de la notation CIDR, de sorte que toutes les plages d'adresses d'un même sous-réseau sont contiguës, et les anciens sous-réseaux encore en vigueur composés de plusieurs plages discontinues ont été redéclarés en autant de sous-réseaux que nécessaire puis agrégés autant que possible par renumération. Les masques de sous-réseau IPv4 peuvent cependant être encore utilisés dans les tables de routage interne à un même réseau dont les hôtes ne sont pas routés et adressables directement via Internet, la conversion en plages CIDR s'effectuant désormais sur les routeurs en bordure des réseaux privés et seulement pour les adresses IPv4 publiques, mais normalement plus dans les points d'échange inter-réseaux.
En IPv6, la notation CIDR est la seule standardisée (et la plus simple) pour les plages d'adresses (pouvant comporter jusqu'à 128 bits), les sous-réseaux comptant généralement de 16 à 96 bits dans l'espace public adressable sur Internet (les 48 derniers bits étant laissés à disposition de l'adressage local direct sur un même support réseau sans nécessiter aucun routeur ni même souvent aucune préconfiguration de routeurs au sein du réseau local) ; en IPv6, elle se note elle aussi avec un nombre décimal de bits après le "/" qui suit une adresse IPv6 de base (et non en hexadécimal comme pour les adresses de base des plages d'adresses d'un même sous-réseau).

## Base de données des adresses IP

Distribution de l'espace d'adressage IPv4. Le 3 février 2011, il ne reste plus aucun bloc d'adresses libre au niveau de l'IANA.
* Réservé (13,7 %)
* Historique (35,9 %)
* RIPE NCC (13,7 %)
* AfriNIC (1,6 %)
* ARIN (14,1 %)
* APNIC (17,6 %)
* LACNIC (3,5 %)
L'IANA, qui est depuis 2005 une division de l'ICANN, définit l'usage des différentes plages d'adresses IP en segmentant l'espace en 256 blocs de taille /8, numérotés de 0/8 à 255/8.
Les adresses IP unicast sont distribuées par l'IANA aux registres Internet régionaux (RIR). Les RIR gèrent les ressources d'adressage IPv4 et IPv6 dans leur région. L'espace d'adressage unicast IPv4 est composé des blocs d'adresse /8 de 1/8 à 223/8. Chacun de ces blocs est soit réservé, assigné à un réseau final ou à un registre Internet régional (RIR) ou libre : RFC 2373$^,$. En février 2011, il ne reste plus aucun bloc /8 libre.
En IPv6, le bloc 2000::/3 est réservé pour les adresses unicast globales. Des blocs /23 sont assignés aux RIR depuis 1999.
Il est possible d'interroger les bases de données des RIR pour savoir à qui est assignée une adresse IP grâce à la commande whois ou via les sites web des RIR.
Les RIR se sont regroupés pour former la Number Resource Organization (NRO) afin de coordonner leurs activités ou projets communs et mieux défendre leurs intérêts auprès de l'ICANN (l'IANA), mais aussi auprès des organismes de normalisation (notamment l'IETF ou l'ISOC).

### Plages d'adresses IP spéciales
#### IPv4

Certaines adresses sont réservées à un usage particulier (RFC 5735) : :
| Bloc (adresse de début et taille CIDR) | (adresse de fin correspondante) | Usage | Référence |
| 0.0.0.0/8 | 0.255.255.255 | Ce réseau | RFC 5735, RFC 1122 |
| 10.0.0.0/8 | 10.255.255.255 | Adresses privées | RFC 1918 |
| 100.64.0.0/10 | 100.127.255.255 | Espace partagé pour Carrier Grade NAT | RFC 6598 |
| 127.0.0.0/8 | 127.255.255.255 | Adresses de bouclage (localhost) | RFC 1122 |
| 169.254.0.0/16 | 169.254.255.255 | Adresses de liaisons locales autoconfigurées (APIPA) | RFC 3927 |
| 172.16.0.0/12 | 172.31.255.255 | Adresses privées | RFC 1918 |
| 192.0.0.0/24 | 192.0.0.255 | Réservé par l'IETF | RFC 5736 |
| 192.0.2.0/24 | 192.0.2.255 | Réseau de test TEST-NET-1 / documentation | RFC 5737 |
| 192.88.99.0/24 | 192.88.99.255 | 6to4 anycast | RFC 3068 |
| 192.168.0.0/16 | 192.168.255.255 | Adresses privées | RFC 1918 |
| 198.18.0.0/15 | 198.19.255.255 | Tests de performance | RFC 2544 |
| 198.51.100.0/24 | 198.51.100.255 | Réseau de test TEST-NET-2 / documentation | RFC 5737 |
| 203.0.113.0/24 | 203.0.113.255 | Réseau de test TEST-NET-3 / documentation | RFC 5737 |
| 224.0.0.0/4 | 239.255.255.255 | Multicast « Multidiffusion » | RFC 5771 |
| 240.0.0.0/4 | 255.255.255.254 (*) | Réservé à un usage ultérieur non précisé (*sauf l'adresse ci-dessous) | RFC 1112 |
| 255.255.255.255/32 | 255.255.255.255 | broadcast limité | RFC 919 |
Adresses privées :
* Ces adresses ne peuvent pas être routées sur Internet. Leur utilisation par un réseau privé est encouragée pour éviter de réutiliser les adresses publiques enregistrées. Il faut toutefois prévoir qu'il n'y ait pas de doublon lors de l'interconnexion de réseaux privés non prévue lors de leurs créations.
Adresses de diffusion :
* L'adresse 255.255.255.255 est une adresse de diffusion (broadcast), limitée au même sous-réseau que la liaison locale utilisée, d'un hôte à tous les hôtes de ce sous-réseau (sans transiter par un routeur spécifique sur ce sous-réseau) ; elle sert notamment à découvrir les routeurs connectés et eux-mêmes adressés dans tout sous-réseau auquel l'hôte source est connecté.
* La première adresse d'un sous-réseau spécifie le réseau lui-même, elle sert pour des messages non nécessairement destinés aux seuls routeurs mais qui ne doivent normalement pas être reroutés vers Internet.
* La dernière adresse est une adresse de diffusion (broadcast) pour des messages normalement destinés aux seuls routeurs d'une liaison spécifique permettant les échanges entre tous les hôtes de ce sous-réseau d'une part et les autres réseaux extérieurs (dont l'Internet global). Cette adresse n'est habituellement pas reroutée vers Internet, sauf en cas d'utilisation de protocoles particuliers dont le routeur est un point de terminaison et de conversion.
Adresses multicast :
* En IPv4, tout détenteur d'un numéro d'AS 16 bit peut utiliser un bloc de 256 adresses IP multicast, en 233.x.y.z où x et y sont les 2 octets du numéro d'AS (RFC 3180).

#### IPv6

Les plages d'adresses IPv6 suivantes sont réservées (RFC 5156) : :
| Bloc | Usage | Référence |
| ::/128 | Adresse non spécifiée | RFC 4291 |
| ::1/128 | Adresse de bouclage | RFC 4291 |
| ::ffff:0:0/96 | Adresse IPv6 mappant IPv4 | RFC 4291 |
| 0100::/64 | sollicitation de trou noir | RFC 6666 |
| 2000::/3 | Adresses unicast routables sur Internet | RFC 3587 |
| 2001::/32 | Teredo | RFC 4380 |
| 2001:2::/48 | Tests de performance | RFC 5180 |
| 2001:10::/28 | Orchid | RFC 4843 |
| 2001:db8::/32 | documentation | RFC 3849 |
| 2002::/16 | 6to4 | RFC 3056 |
| fc00::/7 | Adresses locales uniques | RFC 4193 |
| fe80::/10 | Adresses locales lien | RFC 4291 |
| ff00::/8 | Adresses multicast | RFC 4291 |
Adresses spéciales
* ::/128 indique une adresse non spécifiée. Celle-ci est illégale en tant qu'adresse de destination mais elle peut être utilisée localement dans une application pour indiquer n'importe quelle interface réseau ou sur le réseau dans une phase d'acquisition de l'adresse.
Adresses locales
* En IPv6, les adresses locales de site fec0::/10 étaient réservées par la RFC 3513 pour le même usage privé, mais sont considérées comme obsolètes par la RFC 3879 pour privilégier l'adressage public et décourager le recours aux NAT. Elles sont remplacées par les adresses locales uniques fc00::/7 qui facilitent l'interconnexion de réseaux privés en utilisant un identifiant aléatoire de 40 bits.
En IPv6, les adresses fe80::/64 ne sont uniques que sur un lien. Un hôte peut donc disposer de plusieurs adresses identiques dans ce réseau sur des interfaces différentes. Pour lever une ambiguïté avec ces adresses de scope lien local, on devra donc préciser l'interface sur laquelle l'adresse est configurée. Sous les systèmes de type Unix, on ajoute à l'adresse le signe pour cent suivi du nom de l'interface (par exemple ff02::1%eth0), tandis que sous Windows on utilise le numéro de l'interface (ff02::1%11).
Adresses expérimentales obsolètes
* 3ffe::/16 et 5f00::/8 étaient utilisés par le 6bone entre 1996 et 2006.
* ::a.b.c.d/96 (où a.b.c.d est une adresse IPv4) étaient des adresses compatibles IPv4 définies dans la RFC 1884 mais rendues obsolètes par la RFC 4291 en 2006.

### Épuisement des adresses IPv4

La popularité d'Internet a abouti à l'épuisement en 2011 des blocs d'adresses IPv4 disponibles, ce qui menace le développement du réseau.
Pour remédier à ce problème ou repousser l'échéance, plusieurs techniques existent :
* IPv6, dont la capacité d'adressage est considérable ;
* NAT, qui permet à de nombreux ordinateurs d'un réseau privé de partager une adresse publique, mais qui complique le fonctionnement de certains protocoles ;
* les registres Internet régionaux ont développé des politiques d'affectation d'adresses plus contraignantes, qui tiennent compte des besoins réels à court terme. L'affectation de blocs d'adresses plus petits diminue cependant l'efficacité de l'agrégation des adresses ;
* la récupération des blocs attribués généreusement autrefois, certaines entreprises disposent ainsi d'un bloc /8, soit plus de 16 millions d'adresses publiques.

## Enjeux sociaux

Si l'adresse IP est initialement conçue dans un usage technique, elle pose aussi des questions éthiques, dans la mesure où elle peut dans certains pays servir à agréger un profil très détaillé d'une personne et de ses activités.

### Usages

L'identification par adresse IP se fait dans de multiples contextes très différents :
* à des fins d'identification du titulaire de la ligne, par exemple avec la coopération du fournisseur d'accès à Internet dans le cadre d'une enquête judiciaire ;
* à des fins d'élaborations d'hypothèses sur l'identifiant unique de la carte réseau (il peut transparaître avec IPv6, selon le protocole utilisé pour l'auto-configuration, toutefois ce n'est pas une donnée fiable) ;
* à des fins de sécurisation en complément d'autres moyens d'identification (liste blanche, notifications supplémentaires ou questions de vérification plus poussée en cas d'IP non reconnue) ;
* à des fins d'identification approximative plus ou moins anonyme à des fins publicitaires (par exemple pour ré-envoyer de la publicité à tous les appareils partageant une même connexion Internet) ;
* Wikipédia se sert des adresses IP pour contrôler les utilisateurs non inscrits. Elle a ainsi bloqué en 2016 et pour un an une adresse IP émanant du Ministère de l'Intérieur français pour « trop d'actes de vandalisme ».

### Problématiques

Tenter d'identifier un internaute de façon fiable au travers son adresse IP pose un problème, pour plusieurs raisons :
* une adresse IP publique peut être utilisée par plusieurs personnes simultanément et indépendamment (voir NAT et Carrier Grade NAT) ;
* il est possible d'usurper l'adresse IP d'autrui dans la source d'un paquet IP dans la mesure où les routeurs utilisent normalement l'adresse destination. L'établissement d'une connexion TCP implique cependant un routage bidirectionnel correct.
Le traçage de l'adresse IP est souvent utilisé à des fins de marketing, et soupçonné d'influencer les politiques tarifaires.

## Request for comments

Les définitions des adresses IP versions 4 et 6, la notion de classe et la notation CIDR sont documentées dans les Request for comments suivants (en anglais) :

### Communes

* RFC 997 — Internet numbers, mars 1987
* RFC 791 — Internet Protocol, septembre 1981 (IP).
* RFC 1519 — Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy, septembre 1993
* RFC 1918 — Address Allocation for Private Internets, février 1996
* RFC 1531 — Dynamic Host Configuration Protocol, octobre 1993 (DHCP)

### IPv4

* RFC 3330 — Special-Use IPv4 Addresses, septembre 2002
* RFC 903 — A Reverse Address Resolution Protocol, juin 1984 (RARP)

### IPv6

* RFC 2460 — Internet Protocol, Version 6 (IPv6) Specification, décembre 1998
* RFC 2373 — IP Version 6 Addressing Architecture, juillet 1998
* RFC 2893 — Transition Mechanisms for IPv6 Hosts and Routers, août 2000
La liste des RIR ainsi que la table d'allocation des adresses se trouvent sur la page Number Resources de l'IANA.