Dans la mesure où Internet est un réseau de réseaux, ce n'est pas un réseau d'ordinateurs. Ses nœuds ne sont pas, à proprement parler, des ordinateurs mais des réseaux d'ordinateurs. La liaison entre les ordinateurs et Internet est assurée par un système complexe de routeurs. Chaque routeur [router], est une sorte de centre de tri postal chargé de faire transiter les paquets qui lui sont confiés vers leur(s) destinataire(s). Si cette transmission est filtrée, le routeur est appelé pare-feu [firewall] (orthographe nouvelle : parefeu, pl. parefeux).
Le principe du protocole Internet (IP : Internet protocol) est de router les paquets grâce à une sorte de bordereau placé sur chacun, appelé en-tête IP, précisant (notamment) une adresse d'origine et une adresse de destination. L'en-tête est suivi des données proprement dites, qui, elles-mêmes peuvent être des “paquets” d'un autre protocole (d'une couche supérieure).
Les paquets sont routés grâce aux adresses indiquées. Pour cela, les adresses ne peuvent être réparties au hasard. Prenons l'exemple des “adresses” téléphoniques internationales pour la France métropolitaine (exemple fictif) :
+33 - pays
+33 5 - région
+33 5 49 38 - “central” local
+33 5 49 38 46 20 à ...46 90 - commutateur IUFM
+33 5 49 38 46 20 - poste particulier (en l'occurrence : l'accueil)
Elles sont composées (au moins superficiellement) de quatre parties qui, en s'emboîtant, forment successivement : un code de pays, un code de région, l'adresse d'un “central”, d'un commutateur local (le “standard”) puis l'adresse d'une ligne. Seul un tel système permet de router efficacement des connexion. Sans une telle organisation géographique des adresses, il serait nécessaire de conserver des tables de routages pharaoniques pour chaque destination possible. L'adressage IP reprend ce principe.
Actuellement, l'IP en vigueur est l'IP version 4, ou IPv4 ; il est en cours de remplacement progressif par la version 6 (IPv6 ou IPng - new generation), qui en corrige les principaux défauts. Le plus handicapant de ces défauts est la pénurie d'adresses IP possibles, qui va de paire avec une structuration géographique insuffisante. Qui imaginait à l'époque que l'on épuiserait un système autorisant (à l'idéal) de l'ordre de quatre milliards d'adresses ?
Les adresses IP ressemblent à des “adresses” téléphoniques. Dans la version 4, une adresse IP est constituée de quatre octets, quatre nombres compris entre 0 et 255, tels que (ici, il s'agit du serveur web de l'IUFM de Poitou-Charentes) :
195.83.251.* - réseau de l'IUFM
195.83.251.181 - serveur web de
l'IUFM
Ces nombres se décomposent en deux parties : une première partie constitue l'adresse d'un réseau (dont une partie désigne le fournisseur d'accès) et l'ensemble constitue l'adresse d'une machine. Le nombre de “chiffres” dévolus à chaque partie dépend de la taille du réseau :
Tableau 3.3. classes d'adresse Internet, version 4
| classe | type d'adresses | nombre maximum d'adresses |
|---|---|---|
| classe A | nnn.*.*.* (1 nombre) | de l'ordre de 16 millions |
| classe B | nnn.nnn.*.* (2 nombres) | de l'ordre de 65 mille |
| classe C | nnn.nnn.nnn.* (3 nombres) | environ 250 |
| classe D | nnn.nnn.nnn.nnn (4 nombres) | une seule adresse |
Contrairement aux adresses postales ou téléphoniques, la presque totalité des numéros de réseau est aujourd'hui affectée. En revanche, à l'intérieur de la plupart de ces réseaux, la plupart des numéros de machines ne sont pas attribués. Nous sommes depuis quelques années en situation de pénurie. Cette pénurie ne cessera qu'avec la généralisation d'IPv6, mais aujourd'hui les fournisseurs ne sont pas tous prêts. IPv6 offre plus d'adresses puisqu'elles sont composées de 8*4 chiffres hexadécimaux. De plus, en IPv6, la hiérarchisation géographique n'est plus seulement possible mais devient systématique, pour se rapprocher de l'exemple téléphonique ci-dessus. Enfin, le protocole intègre des moyens de rendre des paquets plus ou moins prioritaires, donc de rationaliser leur aiguillage.
Les adresses IP désignent des machines. Or, de même qu'au sein d'un bâtiment, il peut avoir plusieurs habitants ou services, permanents ou provisoires, de même sur une machine donnée peuvent coexister plusieurs logiciels, les uns serveurs, les autres clients. Pour pouvoir dire quel serveur doit traiter la requête émise par quel client, on utilise, en plus de l'adresse, un numéro de port attribué à chaque service et rendu public par les instances d'Internet : 23 pour le service Telnet, 21 pour FTP, 80 pour le web etc. Ce numéro, dans l'analogie postale, est un numéro de bureau, de chambre ou d'appartement. Pour chaque client sur une machine donnée, le système fournit une adresse temporaire unique (une sorte de boîte postale, si l'on veut).
Le bordereau d'un paquet (son en-tête) est donc caractérisé, notamment, par l'adresse IP du client, le numéro de port (unique) du client, l'adresse IP du serveur, le numéro de port du serveur. Par exemple (cas d'une requète web) :
(193.251.25.236 : 62092, 195.83.251.181 : 80)
On retrouve ces numéros de ports sur le web dans certaines URL, derrière le nom de machine et précédé par deux points, par exemple :
http://www.truc.fr:8080/chemin/document.html