Chapitre 18. Bases de la mise en réseau

Table des matières

18.1. Adresses IP et routage
18.2. IPv6 : Internet nouvelle génération
18.3. Résolution de noms
18.4. Configuration d'une connexion réseau avec YaST
18.5. Gestion des connexions réseau avec NetworkManager
18.6. Configuration manuelle d'une connexion réseau
18.7. smpppd comme assistant de connexion

Résumé

Linux offre les outils et fonctionnalités réseau nécessaires pour une intégration dans tout type de structure réseau. Le protocole Linux standard, TCP/IP, propose différents services et des fonctionnalités spéciales, présentés ici. Vous pouvez utiliser YaST pour configurer l'accès réseau via une carte réseau, un modem ou un autre périphérique. Vous pouvez également effectuer une configuration manuelle. Ce chapitre ne présente que les mécanismes fondamentaux et les fichiers de configuration associés.

Linux et les autres systèmes d'exploitation Unix utilisent tous le protocole TCP/IP. Il ne s'agit pas d'un protocole réseau unique mais d'un ensemble de protocoles réseau qui offre différents services. Les protocoles répertoriés dans le Tableau 18.1, « Différents protocoles de la famille TCP/IP » permettent l'échange de données entre deux ordinateurs via TCP/IP. Le terme « Internet » désigne l'ensemble des réseaux reliés par TCP/IP, qui constituent un véritable réseau mondial.

RFC signifie Request for Comments (demandes de commentaires). Les fichiers RFC sont des documents qui décrivent différents protocoles Internet et diverses procédures d'implémentation pour le système d'exploitation et ses applications. Les documents RFC décrivent la configuration des protocoles Internet. Pour en savoir plus sur un protocole, reportez-vous aux documents RFC correspondants. Ils sont accessibles en ligne, à l'adresse http://www.ietf.org/rfc.html.

Tableau 18.1. Différents protocoles de la famille TCP/IP

Protocole

Description

TCP

Signifie « Transmission Control Protocol » (protocole de contrôle de transmission) : protocole sécurisé orienté connexion. Les données à transmettre sont d'abord envoyées par l'application sous forme de flux de données, puis converties au format approprié par le système d'exploitation. Les données parviennent à l'application voulue sur l'hôte cible, dans le format de flux de données dans lequel elles ont initialement été envoyées. TCP détermine si des données ont été perdues au cours de la transmission et sont arrivées dans le désordre. TCP est implémenté chaque fois que l'ordre des données est important.

UDP

Signifie « User Datagram Protocol » (protocole de diagramme utilisateur) : protocole non sécurisé sans connexion. Les données à transmettre sont envoyées sous forme de paquets générés par l'application. L'ordre dans lequel les données arrivent à destination n'est pas garanti et des pertes de données peuvent se produire. L'UDP convient aux applications orientées enregistrement. Il présente une période de latence plus courte que celle du protocole TCP.

ICMP

Signifie « Internet Control Message Protocol » (protocole de messages de contrôle Internet) : ce protocole n'est en général pas destiné à l'utilisateur final. Il s'agit d'un protocole de contrôle spécial qui génère des rapports d'erreurs et peut contrôler le comportement des ordinateurs impliqués dans le transfert de données TCP/IP. En outre, il offre un mode « echo » spécial qui peut être affiché à l'aide de la commande de programme Ping.

IGMP

Signifie « Internet Group Management Protocol » (protocole de gestion de groupe Internet) : ce protocole contrôle le comportement des ordi­nateurs lors de l'implémentation de la multidiffusion IP.

Comme l'illustre la Figure 18.1, « Modèle en couches TCP/IP simplifié », l'échange de données se déroule dans différentes couches. La couche réseau réelle correspond au transfert de données non sécurisé via IP (Internet protocol - protocole Internet). Par-dessus IP, TCP garantit, dans une certaine mesure, la sécurité du transfert des données. La couche IP est prise en charge par le protocole sous-jacent dépendant du matériel (Ethernet, par exemple).

Figure 18.1. Modèle en couches TCP/IP simplifié

Modèle en couches TCP/IP simplifié

Le schéma ci-dessus fournit un ou deux exemples pour chaque couche. Les couches sont classées par degré d'abstraction. La couche inférieure est très proche des composants matériels. La couche supérieure, par contre, est presque entièrement abstraite et ne dépend pas du matériel. Chaque couche remplit une fonction bien précise. Les fonctions spéciales de chaque couche sont exprimées de manière relativement implicite dans leur description. La couche physique et celle de liaison de données représentent le réseau physique utilisé (Ethernet, par exemple).

Pratiquement tous les protocoles matériels reposent sur la notion de paquets. Les données à transmettre sont regroupées en paquets, car il est impossible de les envoyer en une seule fois. La taille maximum d'un paquet TCP/IP est d'environ 64 Ko. Les paquets sont généralement bien plus petits, en raison des limites imposées par le matériel réseau. La taille maximum d'un paquet de données sur un réseau Ethernet avoisine les 1,5 Ko. La taille d'un paquet TCP/IP est limitée à cette valeur lorsque les données sont envoyées sur un réseau Ethernet. Si la quantité de données transférées augmente, le système d'exploitation doit envoyer davantage de paquets de données.

Pour que les couches puissent exécuter les tâches qui leur reviennent, des informations supplémentaires concernant chaque couche doivent être enregistrées dans le paquet de données. Cette opération est réalisée dans l'en-tête du paquet. Chaque couche joint un petit bloc de données, appelé en-tête de protocole, à chaque paquet généré. La Figure 18.2, « Paquet TCP/IP sur Ethernet » illustre le déplacement d'un paquet de données TCP/IP sur un câble Ethernet. La somme de contrôle est située à la fin du paquet et non au début. Cela simplifie la tâche du matériel réseau.

Figure 18.2. Paquet TCP/IP sur Ethernet

Paquet TCP/IP sur Ethernet

Lorsqu'une application envoie des données sur le réseau, ces données passent par toutes les couches, qui sont toutes implémentées dans le kernel Linux, à l'exception de la couche physique. Chaque couche est chargée de préparer les données de manière à les transmettre à la couche suivante. La couche inférieure assure ensuite l'envoi des données. Pour la réception de données, la procédure est identique mais dans l'ordre inverse. Un peu comme les pelures d'un oignon, les en-têtes de protocoles sont supprimés, couche après couche, des données transmises. Enfin, la couche de transport se charge de mettre les données à disposition des applications cible. Ainsi, chaque couche communique uniquement avec la couche située directement au-dessus ou au-dessous d'elle. Pour les applications, le mode de transmission des données n'a aucune importance (via un réseau FDDI 100 Mbits/s ou une ligne modem 56 Kbits/s, par exemple). De même, pour la ligne de données, peu importe le type des données transmises, tant que le format des paquets est correct.


18.1. Adresses IP et routage

Les informations de cette section concernent uniquement les réseaux IPv4. Pour obtenir des informations sur le protocole IPv6, successeur d'IPv4, reportez-vous à la Section 18.2, « IPv6 : Internet nouvelle génération ».

18.1.1. Adresses IP

Chaque ordinateur connecté à Internet dispose d'une adresse 32 bits unique. Ces 32 bits (4 octets) sont généralement écrits comme l'illustre la deuxième ligne de l'Exemple 18.1, « Écriture d'adresses IP ».

Exemple 18.1. Écriture d'adresses IP

Adresse IP (format binaire) :  11000000 10101000 00000000 00010100 
Adresse IP (format décimal) :      192.     168.       0.      20

Sous forme décimale, les quatre octets sont écrits dans le système numérique décimal et sont séparés par un point. L'adresse IP est affectée à un hôte ou à une interface réseau. Elle ne peut être utilisée par aucun autre système dans le monde. Il y a des exceptions à cette règle, mais cela ne s'applique pas ici.

Les points figurant dans les adresses IP indiquent un système hiérarchique. Jusqu'aux années 1990, les adresses IP étaient réparties en classes bien distinctes. Toutefois, ce système, trop peu flexible, a été abandonné. Il est désormais remplacé par le routage CIDR (Classless InterDomain Routing - routage sans classes).

18.1.2. Masques réseau et routage

Les masques réseau permettent de définir la plage d'adresses d'un sous-réseau. Si deux hôtes figurent sur le même sous-réseau, ils peuvent se contacter directement ; s'ils se trouvent sur des sous-réseaux différents, ils ont besoin de l'adresse d'une passerelle, qui gère tout le trafic entre le sous-réseau et le reste du monde. Pour vérifier si deux adresses IP appartiennent au même sous-réseau, il vous suffit de les comparer au masque réseau à l'aide de l'opérateur « ET ». Si les résultats obtenus sont identiques, les deux adresses IP se trouvent sur le même réseau local. S'il existe des différences, l'adresse IP distante (et, par conséquent, l'interface distante) ne peut être atteinte que par le biais d'une passerelle.

Pour comprendre le fonctionnement du masque réseau, reportez-vous à l'Exemple 18.2, « Association d'adresses IP au masque réseau ». Codé sur 32 bits, le masque réseau identifie le degré d'appartenance d'une adresse IP au réseau. Tous les bits à 1 indiquent que le bit correspondant dans l'adresse IP appartient au réseau. Les bits à 0 indiquent les bits membres du sous-réseau. Ainsi, plus le nombre de bits à 1 est important, plus le sous-réseau est restreint. Comme le masque réseau comporte toujours plusieurs bits à 1 successifs, il est également possible de compter simplement le nombre de bits de ce masque. Dans l'Exemple 18.2, « Association d'adresses IP au masque réseau », le premier réseau de 24 bits peut également être désigné de la manière suivante : 192.168.0.0/24.

Exemple 18.2. Association d'adresses IP au masque réseau

 Adresse IP (192.168.0.20) : 11000000 10101000 00000000 00010100 
Masque réseau      (255.255.255.0) : 11111111 11111111 11111111 00000000
---------------------------------------------------------------
Résultat de la liaison :             11000000 10101000 00000000 00000000
En notation décimale :                    192.     168.       0.       0

Adresse IP (213.95.15.200) :         11010101 10111111 00001111 11001000
Masque réseau    (255.255.255.0 ):   11111111 11111111 11111111 00000000 
---------------------------------------------------------------
Résultat de la liaison :              11010101 10111111 00001111 00000000
En notation décimale :                     213.      95.      15.       0

Prenons un autre exemple : tous les ordinateurs connectés avec le même câble Ethernet se trouvent généralement sur le même sous-réseau et sont donc accessibles directement. Même si le sous-réseau est physiquement divisé par des commutateurs ou des ponts, il est toujours possible d'accéder directement à ces hôtes.

Les adresses IP situées hors du sous-réseau local ne sont accessibles que si une passerelle est configurée pour le réseau cible. Le plus souvent, une seule passerelle gère l'ensemble du trafic externe. Il est toutefois possible de configurer plusieurs passerelles pour les différents sous-réseaux.

Si une passerelle a été configurée, tous les paquets IP externes sont envoyés à la passerelle indiquée. Cette passerelle tente alors de transmettre les paquets de la même manière (d'hôte à hôte) jusqu'à ce qu'ils atteignent l'hôte cible ou que leur durée TTL (Time To Live - durée de vie) arrive à expiration.

Tableau 18.2. Adresses particulières

Type d'adresse

Description

Adresse réseau de base

Il s'agit du masque réseau associé (par ET) à une adresse quelconque du réseau (reportez-vous à l'Exemple 18.2, « Association d'adresses IP au masque réseau », sous Résultat). Cette adresse ne peut être assignée à aucun hôte.

Adresse de diffusion

Cette adresse correspond plus ou moins à l'instruction « accéder à tous les hôtes de ce sous-réseau ». Pour la générer, le masque réseau est inversé (au format binaire), puis associé à l'adresse réseau de base à l'aide de l'opérateur logique OU. L'exemple ci-dessus donne donc le résultat suivant : 192.168.0.255. Cette adresse ne peut être assignée à aucun hôte.

Hôte local

L'adresse 127.0.0.1 est affectée au « périphérique de bouclage (loopback) » de chaque hôte. Cette adresse permet de configurer une connexion avec votre propre ordinateur.

Les adresses IP devant être uniques au monde, vous ne pouvez pas simplement choisir des adresses aléatoires. Pour configurer un réseau IP privé, vous disposez de trois domaines d'adresses. Ces domaines ne pouvant pas être transmis sur Internet, ils ne permettent pas d'établir de connexion à partir des autres réseaux d'Internet. Ces domaines d'adresses (répertoriés dans le Tableau 18.3, « Domaines d'adresses IP privées ») sont définis dans le document RFC 1597.

Tableau 18.3. Domaines d'adresses IP privées

Réseau/Masque réseau

Domaine

10.0.0.0/255.0.0.0

10.x.x.x

172.16.0.0/255.240.0.0

172.16.x.x – 172.31.x.x

192.168.0.0/255.255.0.0

192.168.x.x