FLASH INFORMATIQUE FI



Des logiciels libres pour les services IP ?


Que sont les services réseau (IP) et pourquoi des logiciels libres ?



What are network IP services and why free software ?


Richard TIMSIT


Introduction

Quand j’ai proposé cette suite d’articles pour la rubrique Logiciel libre du FI, je n’avais pas pensé à la façon dont cette question s’était posée à l’équipe réseau naissante au sein du Service Informatique Central EPFL... Il me faut donc faire un brin d’histoire pour vous faire partager ce qui est devenu, je l’espère, une évidence.

Des services réseau ?

Il fallait déjà avoir un réseau. Au cours de la décennie 1980, les mini-ordinateurs du campus EPFL et ce que l’on devait appeler des stations de travail commençaient à être reliés entre eux... Les VAX grâce à un réseau DECnet (point à point), les machines Apollo grâce au réseau DOMAIN, les Macintosh grâce au réseau AppleTalk, etc. Difficile de faire communiquer les ordinateurs d’un réseau à ceux de la concurrence sans passer par des passerelles... Pourtant, le besoin de communication se faisait d’autant plus sentir que des réseaux de campus commençaient à s’établir plus seulement aux États-Unis, mais aussi en Europe et que les applications de messagerie électronique prenaient tout leur essor.
L’idée d’interconnecter ces réseaux éparpillés pour disposer d’un réseau de réseaux afin de partager informations et ressources dans le monde académique et scientifique faisait son chemin... De nombreux réseaux se sont développés aux États-Unis et en Europe avec chacun un protocole spécifique. Pour les fédérer, il fallait qu’un standard s’impose. En janvier 1983, ARPANET (le premier d’entre eux) récoltait le fruit de ses efforts, TCP/IP devenait officiellement le seul protocole admis. Voir la cartographie du test du réseau TCP/IP de 1982.


Pendant ce temps-là, le Service Informatique Central de l’école construisait son épine dorsale Ethernet et commençait à constituer l’équipe réseau qui allait devoir jouer un grand rôle dans les années à venir... Ethernet (4Mbs puis 10Mbs) sous forme d’un gros câble coaxial est venu traverser le site pour supporter le protocole DECNet interconnectant des VAX ainsi que XeroxNetworkSystem reliant les serveurs de terminaux de Ungermann-Bass.
C’est sur ce câble Ethernet qu’ont été raccordées les premières stations de travail UNIX (APOLLO, SUN, HP, SGI, DECStation). Un article de cette rubrique viendra traiter prochainement de l’évolution du câblage à partir de 1992 et du rôle des logiciels libres dans sa gestion ;-)
En novembre 1986, la demande de deux classes d’adresses B et de quelques classes C était réalisée... et servie gracieusement par le Network Information Center du Stanford Research Institute....


La fondation Switch créée en 1987 prendra désormais en charge ces contacts au niveau international et aidera au déploiement rapide d’un réseau universitaire suisse connecté à ce que l’on allait bien vite appeler Internet.
Pour déployer TCP/IP, il fallait offrir des services et le premier qui s’imposait techniquement était le serveur de noms.
Les trames circulant sur le réseau physique ont une adresse (MAC) traduite en adresse IP. Les applications utilisent les services d’un serveur de noms (protocole DNS) pour disposer d’une adresse IP à partir d’un nom de machine et réciproquement (128.178.15.8 <—> stisun1.epfl.ch). Tous les protocoles de TCP/IP sont le fruit d’un processus de publications de demandes de commentaires (Request For Comments) à partir d’une spécification. (cf RFC 2555 intitulée 30 years of RFCs).
Choisir une machine UNIX pour abriter le serveur de noms n’était pas difficile, car il n’y avait aucune distribution de cet OS qui n’offrait pas un stack TCP/IP complet. SunOS n’échappait pas à la règle (on pourrait même dire qu’en matière de réseau, il la définissait – The Network is the computer était le slogan de la jeune firme fondée à Santa Clara en 1982). Pas étonnant que les deux serveurs de noms de l’école aient pour nom stisun1 et stisun2.

Unix et TCP/IP

La première implémentation des protocoles TCP/IP ayant été faite sur UNIX (BSD[Berkeley Software Distribution (here’s the source, you can do whatever you want, just give credit to the original author)]), cette plate-forme est restée garante du projet d’interopérabilité. La recherche d’un standard pour permettre la communication entre les dizaines de milliers de machines du monde académique et de la recherche était un enjeu colossal. Les grands constructeurs, captifs de leur logique commerciale continuaient à vouloir enfermer leurs clients dans leur réseau propriétaire. Autant dire que notre méfiance vis-à-vis d’eux était grande... Pourtant, un réseau garantissant l’interopérabilité entre différents matériels était une chance pour eux, et l’histoire allait vite se charger de le prouver.
En attendant, nous profitions de toutes les leçons que le développement d’UNIX nous offrait et adoptions une nouvelle culture. Le partage des connaissances et des ressources était souhaité et encouragé. Non seulement nous recevions des machines avec un système d’exploitation comportant les couches réseau, l’ensemble des applications permettant de les mettre en oeuvre et de les superviser, mais nous disposions aussi de tous les outils de développement. Compilateurs, éditeurs de textes, langages de scripts, etc. Ceci était une incroyable leçon dans un monde où le mot logiciel libre n’existait pas encore, où le prix d’un compilateur correspondait au prix de la machine... et où disposer du code source des programmes n’avait pas de prix. En effet, disposer du code source des applications représentait pour nous un instrument pédagogique précieux. Au fur et à mesure où les spécifications des RFC étaient codées, elles étaient mises sous licence BSD [1] et à disposition de tous.
Il était exaltant de pouvoir vérifier, en utilisant les applications réseau, à quel point ce que nous faisions était utile. Pouvoir se connecter sur n’importe quel noeud du réseau par un telnet ou un rlogin, disposer des dernières versions des logiciels par des transferts ftp, lancer des applications par du rsh, s’informer et se former dans les forums Usenet News avec nntp, tous ces développements validaient les choix précédents et induisaient par leur usage même la conception de nouveaux protocoles. C’est ainsi qu’en 1992 au CERN, dans cette ambiance d’utilisation planétaire du réseau, une culture de l’hypertexte conjuguée à une bonne connaissance des langages de balisage (markup language SGML) ont fait naître le WEB !
Mais revenons-en à la fin de nos années 1980 à Ecublens. Sorties des emballages, nos deux stations Sun avec SunOS 3.5 disposaient de tout ce qu’il fallait pour instancier nos deux serveurs de noms. Ces services réclamant peu de ressources, les stations du bas de la gamme Sun suffisaient amplement, car ce qu’il fallait, c’était de la fiabilité... Nous sommes restés fidèles à ce constructeur jusqu’à la fin des années 1990, moment où nous pouvions disposer d’un système d’exploitation GNU-Linux facilement installable sur un PC pour y faire tourner le même service.
Ce service étant essentiel pour le fonctionnement du réseau, il devenait primordial d’en assurer la fiabilité. Nous compilions déjà nos applications à partir des sources de l’Internet System Consortium, aussi le changement d’OS nous offrait simplement la possibilité de multiplier à volonté le nombre de serveurs sur du hardware banalisé. Nous disposions de plusieurs machines sur le réseau capables d’assurer la fonction de serveur de nom, il suffisait d’en avoir deux répondant aux adresses de stisun1 et stisun2 pour assurer le service. Nous nous étions construit – toujours avec du logiciel libre - une petite application pour basculer un service d’un serveur à un autre baptisée Caméléon.
Forts de cette expérience, il nous est apparu naturel d’utiliser le DHCP (Dynamic Host Configuration Protocol) d’ISC et de nous tourner vers Freeradius pour offrir un service d’authentification. Ces deux services allaient devenir essentiels pour permettre l’accès WiFi sur le campus.



Le service DHCP permet de donner à une machine tous les paramètres réseau dont elle aura besoin au moment où elle apparaît sur le réseau.
Un service d’authentification RADIUS (Remote Authentication Dial-In Service) permet de réaliser Authentification, Autorisation et Accounting pour la connexion à des équipements réseau.
Unix d’abord, GNU-Linux et les logiciels libres ensuite, la filiation est directe pour garantir l’interopérabilité et fournir à tout moment des services essentiels dont les utilisateurs ont besoin indépendamment de la politique ou des caprices d’un constructeur ! Il a toujours fallu, depuis le RFC 1 (Avril 1969), suivre l’évolution de cette technique qui allait bouleverser nos modes de vie et adapter nos services de RFC en RFC.
Les avantages que nous avions repérés au moment de notre choix de GNU-Linux pour instancier autant de serveurs que nous en avions besoin se sont renforcés. Aujourd’hui nous produisons des appliances que nous faisons tourner dans un contexte de virtualisation. Nous parlerons dans un prochain article d’Appliance-Creator et de cette fabuleuse facilité à produire aujourd’hui des images instanciables n’importe où... sur le réseau.

Sources

Pour les termes utilisés dans cet article, je vous encourage à consulter Wikipédia dans diverses langues. Il est intéressant de voir comme les textes diffèrent de l’une à l’autre.


Article du FI-EPFL 2011 sous licence CC BY-SA 3.0 / R. Timsit



Glossaire

RFC (Request For Comments) :
documents mis au points par des experts techniques et proposés à la révision de toute la communauté des développeurs. Ils font référence pour développer rapidement et dans les meilleures conditions les protocoles à vocation de devenir des standards.
TCP/IP :
suite des protocoles Internet, portant le nom du protocole de transport (TCP) et de celui de la couche réseau (IP) selon le modèle OSI que voici :
7 Application HTTP SMTP FTP NFS...
6 Présentation MIME
5 Session RTSP H323 SIP
4 Transport TCP UDP RTP
3 Réseau IP (Ipv4 ou Ipv6) ICMP X.25
2 Liaison Ethernet WI-FI
1 Physique 10BASE-T 100BASE-TX 1000BASE-T

[1] C’est ainsi que le grand constructeur de Redmond dont nous ne mentionnons même pas le nom dans cet article, tant il est étranger à cette épopée, a pu hériter d’un stack TCP/IP complet...



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.