Libre à vous de partager

Nous allons principalement utiliser l’adressage IPv4 pour le défi. En effet, aujourd’hui la totalité des opérateurs Internet français continuent à le proposer, tandis que l’IPv6 n’est pas disponible chez beaucoup d’opérateurs au niveau des contrats pour particuliers. De plus, IPv6 est plus complexe à appréhender du fait de la différence de notation des adresses et des fonctionnalités beaucoup plus évoluées pour la gestion des flux vidéo, de la téléphonie et de la sécurité.

Rapide historique

IPv4 est le principal protocole de communication d’Internet depuis près de 40 ans. Défini en 1981, par la RFC 791, ce protocole est en cours de remplacement depuis le début des années 2000 par IPv6 défini par la RFC 2460 en 1998. Cependant, IPv6 ne représente pas encore la moitié des adresses sur Internet aujourd’hui.

Notions fondamentales

Définition

Paquets : le paquet est une notion centrale d’Internet. Les données à transmettre sont divisées en petits paquets qui vont être envoyés sur Internet. Chaque paquet a un entête fournissant les informations indispensables pour son traitement.

Architecture en couche : les communications réseaux sont organisées en couches. Chaque couche fournit des services à la couche supérieure et s’appuie sur les services de la couche inférieure.

Encapsulation : chaque paquet venant de la couche supérieure est vu par la couche inférieure comme une donnée. Du coup, elle rajoute son propre entête possédant les informations de la couche, sans pour autant toucher à l’en-tête précédent. Ainsi, une partie du paquet est réservée aux différents entêtes nécessaires pour son traitement à la réception. Sur le récepteur, le paquet fera le chemin inverse. Les entêtes seront traités une à une, chacune par la couche responsable de son traitement, puis envoyé à la couche supérieure.

Principe d'encapsulation

Protocole : il s’agit d’un ensemble de règles permettant l’échange d’informations. Globalement, il y a plusieurs protocoles par couche, répondant ainsi à différents besoins. Les protocoles peuvent être logique comme physique. Plus le protocole est élevé si au niveau des couches, plus les protocoles sont logiques. Les protocoles des couches basses sont généralement des protocoles physiques dépendant du matériel utilisé (câble réseau, Wi-Fi, GSM, fibre optique…).

Schéma IPv4 pour le défi

Si le modèle OSI utilise sept couches, le modèle Internet n’en prévoit que quatre. Le modèle OSI est plus récent que le modèle Internet. On peut globalement estimer que la quatrième couche du protocole IP comprend les trois dernières couches du modèle OSI et que la première couche du modèle Internet comprend les deux premières couches du modèle OSI. Sachez que ce n’est qu’une approximation, dans la réalité, certains protocoles Internet sont à cheval sur plusieurs couches du modèle OSI. Mais nous n’irons pas plus loin dans ce défi.

Ci dessous, un schéma montrant les correspondances entre les deux modèles en couche. Les flèches représentent les communications entre les différentes couches.

La liste des protocoles n’est pas exhaustive. Je n’ai mis que ceux dont nous parlerons au cours du défi et qui s’appuieront sur la configuration IPV4 pour le défi.

Modèle OSI IPV4 pour le défi

Composition d’une adresse IPv4

Une adresse IPv4 est composée de 4 octets allant de 0 à 255. Ces chiffres sont séparés par un point. Sur un même réseau, une adresse IP ne peut être affectée qu’à un seul équipement. Si ce n’est pas le cas, le réseau deviendra instable et les transmissions de données potentiellement perdues. Aujourd’hui, les systèmes détectent cette situation et vous avertissent.

Exemple d’adresse IP :

192.168.1.1

CDIR

Au départ, les adresses IPv4 étaient divisées en quatre classes. Cependant rapidement cette classification a montré ses limites. En 1993, une nouvelle RFC 1518 est sortie mettant en place les masques de sous-réseau. Comme les adresses IP, les masques de sous-réseau sont aussi sur 4 octets.

Il existe deux notations. Celle que l’on continue à trouver dans les fichiers de configuration et qui se compose de quatre chiffres allant de 0 à 255 espacées par un point. Et celle qui se met à la suite de l’adresse IP. Séparé par /, elle utilise un chiffre allant de un à 32. Le tableau ci-dessous vous donne la correspondance entre les deux notations. Vous trouverez la deuxième notation notamment dans les forums. Les classes 23 et 24 sont les plus communes.

Dans notre configuration IPV4 pour le défi, nous utiliserons la classe 24.

Exemple d’adresse IP avec notation CIDR:

192.168.1.1/24

Longueur CIDRMasqueNombre d’hôtes
/1128.0.0.02,147,483,392
/2192.0.0.01,073,741,696
/3224.0.0.0536,870,848
/4240.0.0.0268,435,424
/5248.0.0.0134,217,712
/6252.0.0.067,108,856
/7254.0.0.033,554,428
/8255.0.0.016,777,214
/9255.128.0.08,388,352
/10255.192.0.04,194,176
/11255.224.0.02,097,088
/12255.240.0.01,048,544
/13255.248.0.0524,272
/14255.252.0.0262,136
/15255.254.0.0131,068
/16255.255.0.065,534
/17255.255.128.032,512
/18255.255.192.016,256
/19255.255.224.08,128
/20255.255.240.04,064
/21255.255.248.02,032
/22255.255.252.01,016
/23255.255.254.0508
/24255.255.255.0254
/25255.255.255.128124
/26255.255.255.19262
/27255.255.255.22430
/28255.255.255.24014
/29255.255.255.2486
/30255.255.255.2522
/31255.255.255.254Aucun
/32255.255.255.2551
Tableau CIDR

Application sur Raspberry

Fichier de configuration d’IPv4 pour le défi

La modification se fait dans le fichier /etc/dhcpcd.conf avec la directive inform.

gabriel@raspberrypi:~ $ cat /etc/dhcpcd.conf 
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.
...
interface eth0
noipv6 
inform 192.168.1.1

La modification est déjà effective si vous avez suivi le défi étape par étape. En effet, les modifications effectuées via l’interface graphique sont inscrits dans les mêmes fichiers de configuration que nous pouvons modifier directement en ligne de commande. Ainsi tout problème de configuration aura les mêmes conséquences quelle que soit la méthode utilisée.

Les commandes réseaux

Afficher les interfaces

La commande va afficher toutes les cartes disponibles qu’elles soient actives ou non. Si une connexion est active la configuration IP est fourni en plus de la configuration physique.

gabriel@raspberrypi:~ $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:06:3d:4f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 2001:861:d50:6d90:ba27:ebff:fe06:3d4f/64 scope global dynamic mngtmpaddr 
       valid_lft 86308sec preferred_lft 14308sec
    inet6 fe80::ba27:ebff:fe06:3d4f/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b8:27:eb:53:68:1a brd ff:ff:ff:ff:ff:ff

Afficher les routes

Cette commande va afficher les routes utilisées pour acheminer les paquets internet. Une mauvaise configuration ou une table vide provoquera des problèmes de connexion, voir pas de connexion du tout.

gabriel@raspberrypi:~ $ netstat -er
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
default         bbox.lan        0.0.0.0         UG    202    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0

Petit conseil : Sauvegarder la liste des routes avant de modifier les paramètres IP.

Afficher les statistiques réseaux

Cette commande va afficher les statistiques des paquets émis et reçus par interfaces. Seules les interfaces actives sont affichées.

gabriel@raspberrypi:~ $ netstat -tulip
Table d'interfaces noyau
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500    42855      0      1 0          4593      0      0      0 BMRU
lo       65536       47      0      0 0            47      0      0      0 LRU

Afficher les connexions

Cette commande vous fournit la liste des connexions internet active avec les programmes les utilisant. Seuls les programmes accessibles par l’utilisateur sont listés. Pour voir tous les programmes, il faut passer par la commande sudo.

gabriel@raspberrypi:~ $ netstat -t
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       
tcp        0    164 192.168.1.1:ssh         pegase-001.lan:49784    ESTABLISHED
tcp        0      0 localhost:60574         localhost:37371         ESTABLISHED
tcp        0      0 localhost:37371         localhost:60574         ESTABLISHED

Conclusion

Avec un peu de pratique, la majorité de ces commandes vous deviendront rapidement simples. N’hésitez pas à vous entraîner à toutes ces commandes pour la gestion des adresses IPV4 pour le défi.

Comme pour les fois précédentes, si vous avez des commentaires ou des questions n’hésitaient pas à les mettre sur le site, LinkedIn ou Facebook.

Laisser un commentaire