Utilisateur:Poil/addrIP

Un article de Wikipédia, l'encyclopédie libre.


Pile de protocoles
Application
Présentation
Session
Transport
Réseau
Liaison de données
Physique
Modèle OSI

Un composant supportant les protocoles TCP/IP doit posséder au moins une adresse IP pour être accessible. Il existe deux types d'adresses IP : le format IPv4 (la version 4, historique) et IPv6 (la version 6, récente)).

Sommaire

[modifier] Définitions

[modifier] Adresse IP (version 4)

Une adresse IPv4 est une valeur codée sur 32 bits et typiquement représentée sous la forme de 4 nombres décimaux correspondants aux 4 octets la composant.

Toutes les valeurs possible sont donc légales, mais certaines sont interprétées spécialement, comme adresses de diffusion, locales, etc.

Exemple : 18.233.31.12, 213.44.2.139, ...

[modifier] Adresse IP (version 6)

Une adresse IPv6 est une valeur codée sur 128 bits. Elle est typiquement représentée par 8 nombres hexadécimaux (de 4 chiffres) séparés par des :.

Exemple : 3ffe:ffff:0101:f102:0213:a4ff:fee3:9566

[modifier] Utilisation

Pour chaque trame envoyée sur internet à l'aide du protocole TCP/IP, on spécifie dans son entête le couple (adresse IP du destinataire, adresse IP de l'émetteur), afin de permettre au protocole de routage employé de router la trame correctement, et à la machine destinataire de connaître l'origine des informations qu'elle reçoit, donc d'y répondre, si besoin est.

Une ou plusieurs adresses IP peuvent être assignées à un hôte. Cette assignation pourra se faire soit manuellement, soit automatiquement par le biais d'un protocole adéquat (comme DHCP ou RARP etc.).

L'adresse IP sera principalement utilisée pour acheminer les données jusqu'au réseau où se trouve la machine de destination, ensuite c'est la table ARP de la dernière passerelle qui sera sollicitée pour convertir l'adress IP en adresse MAC.

[modifier] Masque de sous-réseau

Le masque de sous-réseau permet de savoir quelle partie d'une adresse IP correspond à la partie numéro de réseau et laquelle correspond à la partie numéro de l'hôte. Les exemples ci-dessous sont en IP version 4, mais c'est exactement la même chose pour la version 6, seuls les champs sont plus longs, et la notation CIDR systématiquement utilisée.

Un masque à la même longueur qu'une adresse IP Il est constitué d'une suite de 1 terminée par (éventuellement) des 0 :

                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 0 0 0 0 0 0 0| masque 255.255.255.128
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Pour calculer la partie sous-réseau d'une adresse IP, on effectuera une opération ET logique bit à bit entre l'adresse et le masque. Pour calculer l'adresse de l'hôte, on effectuera une opération ET bit à bit entre le complément à un du masque et l'adresse.

Autrement dit : il suffit de conserver les bits de l'adresse là où les bits du masque sont à 1 (un certain nombre de bits en partant de la gauche de l'adresse). La partie numéro d'hôte est contenue dans les bits qui restent (les plus à droite).

Exemples :

  • L'adresse 193.112.2.166 avec le masque 255.255.255.128 désigne la machine numéro 38 du réseau 193.112.2.128 qui s'étend de 193.112.2.128 à 193.112.2.255 (plage de 128 adresses). Les adresses ont été converties en base 2 :
                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 0 0 0 0 0 1|0 1 1 1 0 0 0 0|0 0 0 0 0 0 1 0|1 0 1 0 0 1 1 0| IP 193.112.2.38
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ET
|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 0 0 0 0 0 0 0| masque 255.255.255.128
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ =
|1 1 0 0 0 0 0 1|0 1 1 1 0 0 0 0|0 0 0 0 0 0 1 0|1              | réseau 193.112.2.128
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1| comp.à 1 du masque
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ET
|               |               |                  0 1 0 0 1 1 0| hôte 38
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • L'adresse 19.174.220.3 avec le masque 255.192 désigne la machine 46.220.3 numéro du réseau 19.128 qui s'étend de 19.128.0.0 à 19.191.255.255.
                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1 0 0 1 1|1 0 1 0 1 1 1 0|1 1 0 1 1 1 0 0|1 0 1 0 0 1 1 0| 19.174.220.3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ET
|1 1 1 1 1 1 1 1|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0| masque 255.192
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ =
|0 0 0 1 0 0 1 1|1 0            |               |               | réseau 19.128
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |    1 0 1 1 1 0|1 1 0 1 1 1 0 0|1 0 1 0 0 1 1 0| hôte 46.220.3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


[modifier] Adresses spéciales

  • L'adresse 127.0.0.1 (0:0:0:0:0:0:0:1 ou ::1 en version 6) dénote l'adresse de bouclage (la machine elle-même).
  • L'adresse 0.0.0.0 (0:0:0:0:0:0:0:1 en version 6) est illégale.
  • Les adresses dans le réseau 0.0.0.0 sont considérées comme locales.
  • 255.255.255.255 est une adresse de diffusion.
  • La première adresse d'un réseau spécifie le réseau lui-même, la dernière est une adresse de diffusion (broadcast).

Les adresses (version 4) suivantes ne sont pas (ou tout du moins ne devraient pas) être routées sur internet : elles sont réservées à un usage local (au sein d'une organisation, où là elles peuvent être routées).

  • 10.0.0.0 — 10.255.255.255 (10/8)
  • 172.16.0.0 — 172.31.255.255 (172.16/12)
  • 192.168.0.0 — 192.168.255.255 (192.168/16)

[modifier] Classes d'adresse en IPv4

Nota bene : ce concept est ancien et n'est plus utilisé que par abus de langage, il est remplacé par la notion de «sans classe» (CIDR, décrit ci-après).

Les classes sont :

  • Classe A, toute adresse dont l'adresse commence par 0 en binaire.
  • Classe B, toute adresse dont l'adresse commence par 10 en binaire.
  • Classe C, toute adresse dont l'adresse commence par 110 en binaire
  • Classe D, toute adresse dont l'adresse commence par 1110 en binaire
  • Classe E, toute adresse dont l'adresse commence par 1111 en binaire, considéré illégale.

Par exemple l'adresse 18.x.y.z est une adresse de classe A car le premier bit du premier octet (18, soit 00010001 en base 2) est bien zéro. 193.x.y.z est une adresse de classe C car les trois premiers bits (193 se notant 11000001) sont bien 110.

[modifier] Principe du CIDR

Le «Classless Inter-Domain Routing», abrégé CIDR, a été mis au point afin (principalement) de diminuer la taille de la table de routage contenue dans les routeurs, et ce but est atteint en agrégeant plusieurs entrées de cette table en une seule.

Avec l'ancien système, à chaque fois qu'une fournisseur d'accès désirait se voir attribuer plusieurs «classes C», cela créait autant d'entrées dans la table de routage (vers lui) que de réseau alloués.

Le CIDR, au contraire, permet le regroupement de plusieurs «classes C» pour les considérer comme un seul bloc, et donc avec l'effet de bord contraire de ne créer qu'une seule entrée dans la table de routage là où il y en avait plusieurs.

Dans le système CIDR on notera une adresse IP par le couple (IP de base, longueur du masque), noté IP/longueur. Prenons par exemple le réseau 193.48.96.0/20, alloué à l'IN2P3 :

                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 0 0 0 0 0 1|0 0 1 1 0 0 0 0|0 1 1 0 0 0 0 0|0 0 0 0 0 0 0 0| 193.48.96.0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1|       |               | /20
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Cela leur alloue donc un réseau de 4096 adresses, qui peut être découpé à leur guise. Par exemple ils peuvent décider de le considérer comme une agrégation de 16 «classes C», de 193.48.96.0 à 193.48.111.0.

Un fournisseur d'accès peux se voir attribuer des réseaux encore plus grand, comme par exemple 82.64.0.0/14 (256 K adresses).

On constate qu'un réseau /8 à la même taille qu'un «classe A», un /16 correspond à un «classe B» et /24 à un «classe C». Ultimement, un /32 identifie une adresse unique. Il y a une correspondance entre cette notation est les masques de sous réseau. Dans les exemples précédents, 193.48.96.0/20 peut être noté 193.48.96.0 masque 255.255.240.0.

[modifier] Base de données des adresses IP

[modifier] Hiérarchie

Les adresses IP sont distribuées par l'IANA aux Regional Internet Registries (RIRs). À ce jour la liste des RIRs sont :

  • AfriNIC (African NIC)
  • APNIC (Asia Pacific Network Information Centre)
  • ARIN (American Registry for Internet Numbers)
  • LACNIC (Regional Latin-American and Caribbean IP Address Registry)
  • RIPE NCC (Réseaux IP Européens)

À leur tour, ceux ci alloueront des blocs d'adresses à des LIRs (Local Internet Registries) qui les distribueront aux utilisateurs finaux.

Certains de ces LIRs se sont regroupées pour former la NRO (Number Ressource Organization.

Il est possible d'interroger les bases des données de RIRs pour savoir à qui est allouée une adresse IP. Si le serveur interrogé ne contient pas la réponse, il donnera l'adresse du RIR à interroger. Ces requêtes se font grâce à la commande «whois» ou bien via les site Web des LIRs (rubrique «whois»).

[modifier] Références

Les définitions des adresses IP en version 4 ou 6, la notion de classe ainsi que le CIDR sont documentés dans les RFC suivants (en anglais) :

  • RFC 997 - Internet numbers
  • RFC 791 - Internet Protocol
  • RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification
  • RFC 1519 - Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy
  • RFC 1918 - Address Allocation for Private Internets
  • RFC 3330 - Special-Use IPv4 Addresses
  • RFC 903 - Reverse Address Resolution Protocol
  • RFC 1531 - Dynamic Host Configuration Protocol

La liste des RIRs ainsi que la table d'allocation des adresses se trouvent sur le serveur de l'IANA à cette adresse : http://www.iana.org/ipaddress/ip-addresses.htm

[modifier] Liens internes