Dans l'esprit de l'article sur
Vista 32 bits ou 64 bits, de la même façon que votre PC va tomber à court d'adresses pour accéder aux bits de la mémoire vive, le monde va bientôt tomber à court d'adresse pour accéder aux machines connectées au réseau des réseaux. En 2010 parait-il (ou 2012 pour les optimistes).
IP version 4
Une addresse IP v4 est une suite de 4 octets, ou quatre nombres de 0 à 255, ex 129.168.0.1. C'est à dire un DWORD (double word) d'information, avec 2^32 permutations possibles. Il peut donc y avoir autant de point d'accès sur le web que d'octets directement adressables dans votre OS 32 bits. Un peu plus de quatre milliards.
Quatre milliards ? c'est beaucoup plus que le nombre de personnes connectées ou de serveurs. Oui mais il y a un vaste gâchis sur ces adresses. La possibilité de prendre n'importe quelle adresse est très restreinte, il y a des règles très strictes qui fait que les adresses sont allouées par bloc entier plutôt que une par une. Si il y a bon espoir que certaines de ces allocations seront remplies ce n'est pas le cas de tous. Ainsi si une entité du NET a réservé les adresses 22.x.x.x, il faut qu'ils aient 16 millions de machines connectées et identifiables indépendamment (j'y reviendrai) pour vraiment en tirer partie. Par ailleurs de nombreuses adresses sont "réservées" pour des usages divers et varies et ne peuvent pas être utilisées telle quelle sur Internet.
Outre ces problèmes d'adresses non accessibles parce que réservées, il y a la tendance a vouloir une adresse unique pour son besoin particulier quand une adresse partagée pourrait aussi bien faire l'affaire. Mais comment peut-on partager son adresse ?
Numéro de port
Dans le protocole d'Internet, un service (web, ftp, mail etc) est identifie par le couple IP/port. Bien entendu pour simplifier, de nombreux services ont été alloue a des ports par défaut : 80 pour le web, 21 pour ftp etc. Mais en théorie un service peut résider sur n'importe quel port. Il y en a 65536 par adresse IP. Si l'on spécifiait complètement chaque adresse avec un numéro de port arbitraire, on pourrait multiplier le nombre de "services" résidant sur une adresse IP par le nombre de ports disponibles. Bien entendu personne ne veut faire ça.
De même une machine qui est seulement "consommatrice" d'Internet, c'est a dire n'héberge pas de services, peut se permettre de n'être identifie que par son port de communication, en partageant l'adresse IP avec de nombreuses autres machines consommatrices. Cela impose la présence d'un routeur qui détecte la connexion active et redirige les paquets vers la bonne machine ou qui permet d'ajouter un port d'écoute de manière arbitraire (pour les échanges peer to peer ou non connectes (UDP)).
Cela pose un problème pratique toutefois, c'est que la pratique courante de bannissement a base d'IP pourrait potentiellement bannir un grand nombre d'utilisateurs innocents. Ou que les forces de l'ordre aurait fort a faire a retrouver un pirate uniquement base sur son IP (si elle a été associée a un millier de machines en simultané) mais les logs du routeur devraient aider.
En réalité, c'est déjà le cas de nombreuses machines situes derrière des réseaux d'entreprises, ou des réseaux privés a la maison (partage de connexion internet). En cas de pénurie cela pourrait être généralisé, l'obtention d'une adresse IP unique devenant un privilège payant par exemple.
Certains services malheureusement ont leur numéro de port codé en dur dans le protocole (SMB, partage de fichiers windows) ce qui rend obligatoire la présence d'une IP unique dans les réseaux souhaitant partager des fichiers. Tant que ce protocole n'est utilise que pour les partages locaux (sans communication avec l'extérieur) alors une approche a deux niveaux peut être envisagée. Une adresse unique en local, et un point d'entrée partagé pour la communication avec l'extérieur.
Adresse IP ou URL ?
Certains protocoles (HTTP le plus notable) permettent de spécifier une URL complète pour accéder a une ressource. Même si cela n'est pas l'objectif premier cela permet de démultiplier le nombre de machines/serveurs/sites accessibles via une adresse IP quelconque.
Apache, le serveur web, par exemple, va permettre de rediriger ses requêtes en fonction de l'URL utilisée dans la requête HTTP. Exemple bidon : site web www.mesaffaires.com et le site web www.mybusiness.com. Ce sont deux points d'entrées différents sur le NET avec chacun leurs clients différents mais quand on fait une requête DNS (serveur de nom -> traduit le nom de domaine en adresse IP) on tombe sur la même adresse IP, 80.247.228.103. A cette adresse il y a probablement une machine unique, qui fait tourner un serveur Apache, les règles de redirection d'Apache vont donc d'abord lire l'URL pour savoir vers quel site il faut rediriger la requête du client. A cause de ça, si le serveur de nom est en panne, entrer directement http://80.247.228.103/ dans le navigateur va vous réorienter au mieux vers le mauvais site, au pire ne pas aboutir.
Le nombre d'URL possible est quasi-illimité, n'importe quel assemblage de mots ou de lettres peut faire l'affaire. Donc un hébergeur web lambda pourrait en théorie n'avoir qu'une seule IP publique et faire son business. En pratique il y a souvent plusieurs IPs par hébergeur qui peuvent être partagée ou non pour certains sites (l'hébergeur ayant lui-même acheté ses adresses IP a son fournisseur d'accès qui lui-même a acheté un bloc d'IP). Le gros hic c'est que de nombreuses entreprises hébergées exigent une adresse IP unique (ce qui peut certes être surtaxe par rapport au coût d'hébergement). Si l'IP renvoie sur plusieurs sites par le même hébergeur, rien n'empêche alors www.mesaffaires.com de partager son adresse IP avec www.mesculs.com ou autres, ce que l'entreprise faisant tourner mesaffaires.com pourrait ne pas apprécier.
Internet version 6
Comme ces mesures largement basées sur le volontariat ne feront que retarder l'échéance que temporairement (le temps que 90% de l'humanité se connecte a Internet), on peut espérer qu'avant d'avoir a passer des mesures de conservation plus draconiennes, le monde ait adopte le nouveau protocole IP version 6.
IP version 6 rallonge les adresses IP et en autorise 2^128 differentes. De quoi voir venir encore un peu.
Pourquoi n'est on pas encore passe a IP version 6 ? Parce que le matériel est encore largement incompatible. Les routeurs, les points d'accès, les logiciels, les OS, doivent être mises a jour pour pouvoir accéder au nouvel Internet version 6. Le grand public est encore largement non informé sur ce qu'apporte IP version 6 et donc l'effort doit se faire principalement par des professionnels qui n'ont pas forcement d'avantage financier immédiat a investir dans du nouveau matériel ou a redévelopper les firmwares et applications.
Cela ressemble a la situation de Vista 64 bits dont l'adoption est freinée par le manque apparent de drivers, d'applications ou de demande par les utilisateurs, mais en réalité c'est le même problème puissance 10. Une fois qu'une machine est configurée pour le 64 bits, elle n'a aucun problème a accéder au monde extérieur, les protocoles restant les mêmes. Pour Internet version 6, c'est toute l'infrastructure entre votre machine et le serveur qui doit avoir été mise a jour.
Certes des solutions partielles existent (tunnelling pour traverser des zones incompatibles). Mais pour que le problème d'épuisement des adresses disparaisse, il ne suffira pas que Internet version 6 se développe en parallèle mais aussi que les raisons pour lesquelles il faut conserver une présence dans l'Internet version 4 soit éliminées.
Un site web ne peut pas se couper de x pour cent de sa clientèle potentielle, si ce pourcentage est le nombre de visiteurs depuis une IP version 4 alors il faut qu'il conserve une présence version 4. De l'autre cote une machine consommatrice qui veut visiter tout Internet mais dont un des sites préférés n'a toujours pas migre sur Internet version 6 doit conserver son point d'entrée version 4.
Et il ne s'agit pas seulement de mettre a jour un logiciel de la part de l'utilisateur lambda. S'il a une machine connectée quelconque (set top box pour la tele IP, la téléphonie ou autre) alors cette machine doit être conçue des le départ pour être compatible ou doit pouvoir être mise a jour.
Nul doute que la situation va s'accélérer cependant, les fournisseurs d'accès seront les premiers touches par la rareté des adresses.
Que faire de votre cote
Rien de vraiment constructif pour le moment sauf si vous êtes un professionnel qui fait des choix d'équipement. Jusqu'à ce que le reste du monde (et votre fournisseur d'accès) fasse sa transition vous êtes tranquille (encore quelques années ?).
Si vous avez peur de ne pas être prêts pour la transition, assurez vous que votre OS et votre matériel de routage chez vous soit compatible IPv6 (ou votre set top box si vous en avez une). Si c'est un OS récent (XP/Vista) vous ne devriez pas avoir de problème.