4. Informations générales sur le réseau sous Linux.

Contenu de cette section

4.1 Brève histoire du développement du noyau du réseau Linux.

Développer une nouvelle implémentation noyau de l'ensemble du protocole tcp/ip, de qualité, et qui marcherait aussi bien que les produits existants, n'était pas une tâche facile. La décision de ne pas partir d'une implémentation existante fut prise à un moment où il y avait un doute quant à d'éventuelles restrictions sur les droits de copie, en raison de décisions de justice U.S., et à un moment où il y avait beaucoup d'enthousiasme pour faire différemment et peut-être même mieux que ce qui avait été fait auparavant.

Le premier volontaire pour diriger le développement fut Ross Biro <biro@yggdrasil.com>. Ross produisit une implémentation de routines simple, incomplète, mais parfaitement utilisable, à laquelle fut ajouté un pilote Ethernet pour la carte interface réseau WD-8003. Cela fut suffisant pour que beaucoup de personnes essayent le logiciel et même certains s'arrangèrent pour se connecter, avec cette configuration, sur le réseau Internet en direct. La pression, dans la communauté Linux qui s'occupait du développement du support réseau, augmenta, et pour finir la convergence de cette pression injuste et de ses propres obligations l'emportèrent sur les avantages que Ross en tirait et il arrêta sa tâche de coordinateur de développement. Les efforts de Ross pour faire démarrer le projet, son acceptation de la responsabilité de faire vraiment quelque chose d'utile dans de telles circonstances mouvementées, furent le point de départ de tout le travail ultérieur et donc un élément essentiel du succès du produit actuel.

Orest Zborowski <obz@Kodak.COM> produisit la première interface socket BSD pour le noyau Linux. Ce fut un grand pas en avant et permit à beaucoup d'applications réseau existantes d'être portées sous Linux sans grandes modifications.

A peu près à cette époque Laurence Culhane <loz@holmes.demon.co.uk> développa les premiers pilotes Linux pour supporter le protocole SLIP. Ceci permit à beaucoup de gens qui n'avaient pas accès à un réseau Ethernet d'essayer le logiciel réseau. Puis certains utilisèrent ce pilote pour se connecter sur l'Internet. Cela donna à encore plus de personnes un aperçu de ce qui serait possible si Linux avait un support complet pour le réseau et augmenta le nombre d'utilisateurs utilisant et expérimentant ce logiciel réseau.

L'une des personnes qui a aussi activement travaillé sur la construction du support réseau fut Fred van Kempen <waltje@uwalt.nl.mugnet.org>. Après la période d'incertitude qui suivit le retrait de Ross, Fred offrit son temps et accepta le rôle de conducteur du développement sans rencontrer d'opposition. Fred avait quelques projets ambitieux quant à la direction vers laquelle il voulait porter le logiciel réseau Linux, et il se mit à progresser dans ces directions. Fred produisit une série de code réseau appelée le code noyau `NET-2' (le code `NET' étant celui de Ross), qui permit à beaucoup de personnes de l'utiliser avec intérêt. Ensuite Fred mit nombre d'innovations dans la poursuite du développement, telle que l'interface de périphérique dynamique, le support du protocole radio-amateur AX-25 et une implémentation réseau conçue de manière plus modulaire. Le code NET-2 de Fred fut utilisé par un grand nombre d'enthousiastes, ce nombre augmentant au fur et à mesure de l'utilisation du logiciel de par le monde. Le logiciel réseau, à ce moment, était encore constitué d'un grand nombre de patches qui devant être appliqués au code noyau et il n'était pas inclus dans la distribution normale. Le document NET-FAQ, puis son successeur NET-2-HOWTO, décrivait la procédure de fonctionnement qui était assez complexe. Fred se concentra sur le développement d'innovations et cela prenait du temps. La communauté des utilisateurs s'impatientait car elle voulait avoir quelque chose fonctionnant correctement et qui satisferait 80% des utilisateurs aussi, tout comme avec Ross, la pression allait en augmentant sur le responsable du développement.

Alan Cox <iialan@www.uk.linux.org> proposa une solution pour améliorer la situation. Il proposa de reprendre le code NET-2 de Fred, de le déboguer, de le rendre fiable et stable afin de satisfaire l'utilisateur de base impatient, et relâchant alors la pression sur Fred qui pourrait continuer son oeuvre. Alan se mit au travail avec un certain succès et sa première version du code réseau Linux fut appelée `Net-2D(ebugged;)'. Ce code fonctionnait de manière fiable avec plusieurs configurations typiques et l'utilisateur de base était content. Alan avait vraiment des idées et une compétence à lui pour contribuer au projet et les nombreuses discussions sur la direction que devait prendre le code NET-2 furent suivies d'effet. Il se développa alors deux écoles distinctes dans la communauté Linux, l'une ayant pour principe `que ça marche d'abord, puis on améliorera ensuite' et l'autre `améliorer d'abord'. Linus arbitra finalement et offrit son aide aux efforts de développement d'Alan et inclut son code dans la distribution standard du noyau. Cela plaçait Fred dans une situation délicate. Tout développement de longue haleine souffrirait de l'absence d'utilisation et d'essais par l'utilisateur de base et cela signifierait que les progrès seraient longs et difficiles. Fred continua à travailler encore quelque temps, puis se retira finalement, et Alan devint le nouveau pilote de développement du code réseau dans le noyau Linux.

Donald Becker <becker@cesdis.gsfc.nasa.gov> révéla rapidement ses talents dans les aspects de bas niveau du réseau et produisit une énorme quantité de pilotes Ethernet, presque tous ceux inclus dans les noyaux actuels sont de lui. Il y a d'autres personnes qui ont apporté une contribution significative, mais le travail de Donald est prolifique et mérite donc une mention spéciale.

Alan continua à affiner le code NET-2-D(ebugged) pendant un certain temps, tout en progressant sur certains des sujets qui restaient en suspens dans la liste des `TODO' (NdT: `A Faire'). Pendant que les sources du noyau Linux 1.3.* faisaient leurs premiers pas, le code réseau migra vers la distribution NET-3, sur laquelle les versions actuelles sont basées. Alan travailla sur de multiples aspects du code réseau et, avec l'assistance d'un grand nombre de personnes talentueuses venant de la communauté Linux, développa le code dans toutes sortes de direction. Alan produisit des pilotes de périphériques réseau, le premier standard AX.25 et les implémentations IPX. Alan continua à rafistoler le code, le restructurant petit à petit et l'amenant à son niveau d'aujourd'hui.

Le support PPP fut ajouté par Michael Callahan <callahan@maths.ox.ac.uk> et Al Longyear <longyear@netcom.com>, ce qui fut important pour accroître le nombre de personnes utilisant Linux désireuses d'aller sur le réseau.

Jonathon Naylor <jsn@cs.nott.ac.uk> apporta sa contribution en améliorant le code AX.25 d'Alan et en y ajoutant les protocoles NetRom et Rose. Le support AX.25/NetRom lui-même est tout à fait significatif, car aucun autre système d'exploitation que Linux ne peut se vanter d'avoir un support natif pour ce protocole.

Il y a eu bien sûr des centaines d'autres personnes qui ont apporté une contribution significative à la couche réseau de Linux. Vous en retrouverez certains plus tard dans les paragraphes traitant de technologies spécifiques, d'autres ont collaboré aux modules, pilotes, corrections de bogues, suggestions, rapports d'essais et support moral. Dans tous les cas chacun peut se prévaloir d'avoir joué un rôle et offert ce qu'il pouvait. Le code réseau Linux est un excellent exemple de ce que l'on peut obtenir avec un style Linux de développement anarchique, si cela ne vous a pas encore surpris, et on le voit encore, le développement ne s'est pas arrêté.

4.2 Où obtenir d'autres informations sur la couche réseau de Linux.

Il y a un grand nombre d'endroits où l'on peut trouver de bonnes informations sur le réseau Linux.

Alan Cox, l'actuel mainteneur du code réseau Linux entretient une page web qui contient les points principaux du réseau actuel et les nouveaux développements à l'adresse: www.uk.linux.org .

Un autre bon endroit est un livre écrit par Olaf Kirch ayant pour titre Network Administrators Guide. C'est une oeuvre du Linux Documentatation Project et vous pouvez le lire de manière interactive sur Network Administrators Guide HTML version ou bien vous pouvez l'obtenir sous différents formats via ftp sur: sunsite.unc.edu LDP ftp archive . Le livre d'Olaf est très compréhensible et fournit un point de vue de haut niveau sur la configuration réseau sous Linux.

(NdT: ce livre a été traduit en français de manière remarquable par le regretté René Cougnenc)

Il existe un groupe de discussion dédié au réseau et, en ce qui le concerne dans la hiérarchie Linux, c'est: comp.os.linux.networking

Il existe une liste de diffusion à laquelle vous pouvez vous inscrire, et où vous pourrez poser des questions ayant trait au réseau Linux. Pour souscrire vous devez envoyer un message par couurier électronique:

To: majordomo@vger.rutgers.edu
Subject: rien du tout
Message:

subscribe linux-net

Sur les différents réseaux IRC il y a souvent des canaux #linux sur lesquels des personnes sont en mesure de répondre à vos questions concernant le réseau Linux.

Rappelez-vous que, lorsque vous faites part d'un problème, il faut y inclure le plus possible de détails nécessaires. Plus spécialement indiquez les versions des logiciels que vous utilisez, en particulier la version du noyau, les versions des outils tels que pppd ou dip et la nature exacte des problèmes que vous rencontrez. Cela veut dire prendre note de la syntaxe exacte des messages d'erreurs que vous recevez, et les commandes que vous avez exécutées.

4.3 Où obtenir des informations sur le réseau, non spécifiques de Linux.

Si vous désirez des informations générales de base sur tcp/ip, alors je vous recommande de regarder les documents suivants:

introduction à tcp/ip

ce document se trouve à la fois sur en version texte et en version postscript .

administration tcp/ip

ce document se trouve à la fois sur en version texte et en version postscript .

Si vous recherchez des informations plus détaillées je vous recommande chaudement:

"Internetworking with TCP/IP"
par Douglas E. Comer

ISBN 0-13-474321-0
Prentice Hall publications.

Si vous voulez apprendre comment écrire des applications réseau dans un environnement compatible Unix, je vous recommande également chaudement:

"Unix Network Programming"
par W. Richard Stevens

ISBN 0-13-949876-1
Prentice Hall publications.

Vous pouvez essayer aussi le groupe de discussions: comp.protocols.tcp-ip .

Une importante source d'informations techniques concernant l'Internet et la suite des protocoles tcp/ip sont les RFC. RFC est l'acronyme de `Request For Comment' et c'est le moyen habituel de soumettre et de s'informer des normes de protocole Internet. Il y a beauccoup d'endroits où sont stockées ces RFC. Beaucoup de ceux-ci sont des sites ftp, d'autres fournissent des accès WWW avec un moteur de recherche qui cherche les bases de données RFC avec des mots clé particuliers.

Une source possible de RFC est: Nexor RFC database .


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre