4.1 KiB
IP
Généralités
IP (Internet Protocol) est le protocole principal de communication sur l'internet, actuellement deux versions sont en cours d'utilisation : IPv4 et IPv6.
IP permet de transmettre des datagrammes d'un point à un autre.
Adressage
Les adresses IP sont alloués avec la méthode du CIDR (Classless Inter-Domain
Routing). Cette méthode consiste à noter une adresse au format
adresse/longueur_préfixe
, elle induit une attribution des IP par blocs.
Les n
bits (où n
est la longueur du préfixe) les plus significatifs
servent à identifier le réseau auquel l'adresse appartient.
IPv4
Une adresse IPv4 s'écrit sur 32 bits et utilise une notation décimale
pointée (4 entiers séparés par des .
), par exemple 192.168.0.1
est une
adresse IPv4.
De même 192.168.0.0/24
est un exemple de notation CIDR pour un sous-réseau
IPv4.
Dans un réseau local les adresses IPv4 peuvent être attribuées par le protocole DHCP ou configurées statiquement.
À noter que dans un sous-réseau IPv4 la première et la dernière sont
réservées respectivement pour identifier le réseau et effectuer du broadcast
par exemple pour le bloc 192.168.0.0/24
, l'adresse 192.168.0.0
est
réservée et l'adresse 192.168.0.255
est l'adresse de broadcast.
Cette restriction peut être contournée sous Linux, par exemple sous Debian on peut modifier l'interface comme ceci :
iface eth0 inet static
broadcast -
Ceci permet d'utiliser des blocs d'adresses IPv4 d'une taille de préfixe égale à 31 afin d'interconnecter deux machines.
IPv4 privées
Certains blocs d'adresses IPv4 sont réservés à des utilisations privées, celà signifie qu'ils ne sont pas annoncés sur l'internet. Ils sont spécifiés par la RFC 1918 et sont les suivants :
-
10.0.0.0/8
-
172.16.0.0/12
-
192.168.0.0/16
IPv4 de lien local
Un bloc d'IPv4 est réservé pour utilisation sur le réseau local, c'est à
dire que ce bloc n'est normalement jamais routé, il s'agit du bloc
169.254.0.0/16
.
IPv4 multicast
un bloc d'IPv4 est réservé pour du multicast, il s'agit du bloc 224.0.0.0/4
.
IPv6
Une adresse IPv6 s'écrit sur 128 bits et utilise une notation hexadécimale
séparée par des :
(deux-points), par exemple
2001:0db8:0000:0000:0000:0000:0000:0000
(on regroupe les octets par groupe de
2).
Il existe également une notation compacte pour les adresses IPv6 : on peut
omettre les 0 en début de bloc et remplacer la plus longue suite de blocs nuls
par ::
, par exemple l'adresse précédente peut s'écrire 2001:db8::
.
Ainsi 2001:db8::/32
est un exemple de notation CIDR pour un sous-réseau IPv6.
Dans un réseau local les adresses IPv6 peuvent être attribuées par le protocole NDP, par le protocole DHCPv6 ou configurées statiquement.
La liste des IPv6 attribuées est disponible ici et là.
Il n'y a pas de broadcast en IPv6 et la première adresse du bloc peut être
utilisée sans risque. Le broadcast est remplacé par du multicast : tous les
nœuds sur le réseau local répondent sur l'adresse ff02::1
.
IPv6 uniques locales
Un bloc d'adresses IPv6 est réservé pour des utilisations privées, c'est
l'équivalent des blocs d'IPv4 privées. Il s'agit du bloc fc00::/7
.
IPv6 de lien local
Un bloc d'IPv6 est réservé pour utilisation sur le réseau local, il s'agit
du bloc fe80::/10
.
IPv6 multicast
Un bloc d'IPv6 est réservé pour du multicast, il s'agit du bloc ff00::/8
.
ip
Sous Linux la commande privilégiée pour consulter l'état de la configuration
réseau est ip
(fournie par la suite iproute2
) voici quelques exemples de
commandes :
Afficher l'état des interfaces de la machine (adresses IP attribuées et leur sous-réseau) :
ip address
Afficher l'état des routes IPv4 de la machine :
ip route
Afficher l'état des routes IPv6 de la machine :
ip -6 route