Page suivante Page précédente Table des matières

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

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 sur 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. Ce 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 de 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; il arrêta donc 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.

À 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 dans le monde. Le logiciel réseau à ce moment était constitué encore d'un grand nombre de patches qui devaient être appliqués au code noyau et n'était pas inclus dans la distribution normale. Le document NET-FAQ et son successeur NET-2-HOWTO décrivait la procédure assez complexe pour que tout cela fonctionne. 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 puis, comme avec Ross, la pression sur le responsable du développement augmentait.

Alan Cox <iialan@www.uk.linux.org> proposa une solution pour améliorer la situation. Il proposa de prendre le code NET-2 de Fred, de le déboguer, de le rendre fiable et stable si bien qu'il satisferait l'utilisateur de base impatient, relâchant ainsi 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;)'. Le 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 de nombreuses discussions concernant 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 étant 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 : `À 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 fondé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 directions. 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 étonné, 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.

Une autre bonne source est un livre écrit par Olaf Kirch ayant pour titre Network Administrators Guide. C'est une oeuvre du Linux Documentation 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 courrier é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 au sujet du réseau Linux.

Souvenez-vous lorsque vous faites part d'un problème d'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, Volume 1 : principes, protocoles et architectures, par Douglas E. Comer,ISBN 0-13-227836-7, Prentice Hall publications, 3ème édition, 1995.
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, 1990.
Une deuxième édition de ce livre va apparaitre sur les rayons : le nouveau livre comporte 3 volumes : voyez le site de Prentice Hall pour en savoir plus.

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 protocoles 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és particuliers.

Une source possible de RFC est : la base de données RFC de Nexor.


Page suivante Page précédente Table des matières