Mise en réseau de FreeDOS - Historique de la mise en réseau de DOS
Pourquoi DOS était livré sans connectivité réseau
L'IBM Personal Computer (PC) a été mis sur le marché le 12 août 1981
en tant que réponse à l'Apple II qui menaçait le marché d'IBM avec
des logiciels bureatiques comme VisiCalc et WordStar. Le système
d'exploitation (SE) pour le PC a dû être fait dans un laps de temps
extrêmement court, après que Digital Research (DR) ait raté l'occasion
d'accorder une licence de leur "Control Program for Micros" ou
"Programme de contrôle pour micros" (CP/M) à IBM. La jeune compagnie
de logiciels Microsoft, à l'origine seulement censée fournir les
interpréteurs et compilateurs de langage tels que BASIC et Fortran,
est intervenue. Microsoft a accepté de proposer un prototype de système
d'exploitation similaire à CP/M, en seulement trois mois. Ils ont
acheté et adapté le "Quick and Dirty OS" (QDOS) de Seattle Computer
pour répondre aux attentes d'IBM. La version 1.0 du "Microsoft Disk
Operating System" (MS DOS, aussi vendu en tant que "PC DOS" par IBM)
avait 4000 lignes de code. La mise en réseau ne faisait pas partie de
ses fonctionnalités et d'autres tâches ont pu être bien plus
importantes :
Le premier DOS ne savait même pas comment gérer les disques durs.
Microsoft était aussi occupée à travailler sur les applications qui
devaient devenir la pierre angulaire de son succès : "Multiplan"/
"Excel" et "Word". Les fonctionnalités réseau semblent avoir été
reportées au successeur de DOS, soit OS/2, qui a été officiellement
annoncé par Microsoft et IBM en 1985 (et lancé en 1987). En attendant,
Microsoft a fourni XENIX, une variante UNIX qui était disponible pour
l'IBM PC depuis 1983. Cela a laissé du temps à d'autres. Il y avait
deux approches pour la mise en réseau de DOS, qui peuvent être
appelées les approches "centrée sur le PC" et "centrée sur UNIX"
(http://www.sju.edu/~jhodgson/netw/kw_hwk4.html (*01)).
* L'approche "centrée sur le PC" veut dire une façon de mettre en
réseau un groupe de PC pour partager des fichiers et des
ressources (par exemple des imprimantes).
* L'approche "centrée sur UNIX" consiste à développer des versions
DOS de programmes réseau standards UNIX et à les utiliser pour
accéder à ou fournir des services similaires à UNIX sur des
réseaux locaux ou sur Internet (ce qui, au bout du compte,
revenait aussi à partager des fichiers et des ressources).
L'approche "centrée sur le PC"
Novell NetWare
En 1985 Novell, un ancien
fabriquant de systèmes CP/M, a lancé son produit "NetWare 86" (v 1.5)
pour le PC. Une version pour AT a suivi avec "NetWare 286" (v 2.0)
en 1986.
Novell a mis en réseau les ordinateurs selon le modèle client/serveur:
Les clients exécutant MS DOS et certains logiciels résidents en
mémoire (TSR) Novell étaient en mesure "d'ouvrir une session" sur un
serveur qui exécutait "Novell NetWare Server" (serveur Netware).
Ce serveur était une machine conçue pour gérer le réseau et contrôler
l'accès aux périphériques partagés, tels que les lecteurs de disques
et les imprimantes. Une fois connectés, les clients pouvaient "mapper"
un volume sur le serveur à une lettre de lecteur sous DOS et l'utiliser
comme un lecteur local. Ils étaient aussi capables d'utiliser les
imprimantes connectées au serveur.
Le client et le serveur communiquaient sur le protocle "Internetwork
Packet Exchange/Sequenced Packet Exchange" de Novell (protocole IPX/SPX)
L'architecture du pilote était appelé "Open Datalink Interface" (ODI).
NetWare a établi une position dominante sur le marché jusqu'au milieu
des années quatre-vingt-dix.
GESTIONNAIRE LAN
(Image du gestionnaire LAN)
En 1983, indépendamment de Novell, IBM et la compagnie californienne
Sytek Inc. (rachetée par Hughes http://www.hughes.com/ (*02) en 1989)
ont développé le protocole de mise en réseau NetBIOS.
Il était conçu pour des petites installations LAN de 72 à 80 machines.
En 1985 IBM a produit un émulateur de NetBIOS, appelé NetBEUI (NetBIOS
Extended User Interface) qui prenaient en charge jusqu'à 260 machines.
En 1985 Microsoft a lancé sa propre implémentation de NetBIOS, appelée
MS-Net. Elle n'a pas été utilisée à grande échelle. En 1987
l'entreprise a lancé "Microsoft LAN Manager" 1.0 - sa première
compétition sérieuse contre Novell Netware. Tout comme Novell Netware,
le gestionnaire LAN de Microsoft implémentait une architecture
client/serveur :
* Le serveur exécutait le système d'exploitation OS/2 et le
gestionnaire LAN en tant que logiciel serveur.
* Le client exécutait DOS, OS/2 ou Macintosh en tant que SE et
utilisait un logiciel client comme "LAN Manager client" or
"Client MS" pour la connexion au serveur.
Avec l'ajout du protocole "Server Message Block" (SMB) au gestionnaire
LAN depuis 1991, les réseaux Microsoft sont également devenus capables
d'échanges pair à pair. Cela était utilisé par Windows for Workgroups
3.11, lancé en 1993. Le mécanisme est connu des utilisateurs Windows
en tant que "Partage Windows", "voisinage réseau" ou "Workgroup"
(groupe de travail).
(Image de l'extension groupe de travail pour MS-DOS)
En octobre 1993 Microsoft a lancé un outil appelé "Extension groupe de
travail Microsoft pour MS-DOS" qui a permis d'avoir les mêmes
possibilités de mise en réseau pair à pair sous DOS. Bien que l'outil
ne soit plus en vente, la plupart de ses fonctionnalités sont toujours
disponibles avec l'utilisation du "client MS" et une mise à jour
spéciale appelée "WG1049" (voyez : Client MS).
Les logiciels de mise en réseau de Microsoft étaient livrés avec son
propre modèle de pilote réseau appelé "Network Driver Interface
Specification" (NDIS) que l'entreprise avait développé avec 3Com.
Le gestionnaire LAN n'a pas battu son compétiteur Novell Netware.
En plus d'être second sur le marché, un autre inconvénient peut-être
été causé par fait que vous deviez installer le système d'exploitation
OS/2 sur le serveur. OS/2 n'était pas populaire chez les consommateurs.
Depuis 1993, "Microsoft Windows NT Advanced Server (v3.1)" était
utilisé à sa place du côté serveur. En août 1995, le lancement (et la
réception positive) de "Windows 95" a mis fin aux activités réseau
sous DOS. Cette version Windows avait sa propre pile TCP/IP déjà
intégrée et était livré avec le réseau SMB pair à pair donc de
nombreuses solutions tierces parties n'étaient plus nécessaires.
L'approche "centrée sur Unix"
Les expériences pour faire fonctionner TCP/IP sur PC ont commencé peu
de temps après son lancement par IBM. Les premiers à travailler sur
le sujet étaient Dave Clark, Jerry Saltzer et l'étudiant de première
année John Romkey (http://www.romkey.com/ (*03)) au laboratoire
d'informatique du Massachusetts Institute of Technology (MIT). En 1981
ils ont commencé un projet de recherche dont le but était "de voir
si TCP/IP pouvait fonctionner sur quelque chose d'aussi petit que
l'IBM PC" comme s'en souvient Romkey
(http://www.drizzle.com/~aboba/internaut/pc-ip.html (*04)).
PC-IP (PC/IP)
Le résultat était appelé "PC-IP", une implémentation TCP/IP légère
qui était liée à quelques applications comme finger, whois et netwatch.
PC-IP a été publié avec son code source dans le domaine public. Drew
Perkins de l'Université Carnegie Mellon (CMU) et Dan Lanciani de
l'Université Harvard ont encore amélioré le code. PC-IP peut encore
être trouvé sur Internet (http://members.aol.com/Karima4483/pcip/
(*05)) ou
(ftp://ftp.kuzbass.ru/pub/networks/tcpip/tool/pcip.zip (*06)).
PC-TCP (PC/TCP)
(Icônes des applications PC/TCP)
Le succès de PC-IP a inspiré Romkey et ses amis à prendre la version
CMU du code et à le développer en un produit propriétaire : "PC/TCP",
qu'ils ont vendu à travers leur entreprise "FTP Software, Inc.",
fondée en 1986 (http://en.wikipedia.org/wiki/FTP_Software (*07)).
Le nom avait été choisi d'après le populaire protocole de transfert de
fichiers : PC/TCP comprenait l'une des premières applications pour les
services FTP sur le PC.
Les pilotes de paquets
Avec PC/TCP, FTP Software Inc. a développé "la spécification de pilote
de paquets", (http://www.crynwr.com/packet_driver.html (*08))
la première spécification multiprotocole pour les cartes d'interface
réseau pour PC. Le 12 décembre 1988, cette spécification a été
publiée en tant que standard ouvert, pour que tout un chacun puisse
l'implémenter.
Les pilotes de paquets se sont révélés utiles à la fois pour les
fabricants de matériel et les développeurs de logiciels. La plupart
des applications TCP/IP du domaine public ou shareware ont été écrits
pur s'interfacer seulement avec les pilotes de paquets. De nombreux
pilotes de paquets furent écrits ou gérés par Russ Nelson à l'Université
de Clarkson, qui fut connu comme le "roi des pilotes de paquets" - une
histoire qu'il raconte sur son site Internet (http://russnelson.com/
bio.html (*09)). Nelson distribue toujours ces pilotes en tant que
logiciels libres à travers le site de son entreprise "Crynwr"
(http://www.crynwr.com/ (*10)) (qui fut nommé d'après le mot gallois
signifiant "Quaker", sa croyance religieuse). Apprenez-en davantage
sur Crynwr ici.
L'une des raisons du succès de PC/TCP de FTP Software était cette
interface ouverte de pilote de paquets, qui a rendu facile le
développement des pilotes et des applications. Lorsque d'autres
interfaces comme ODI et NDIS sont apparues sur la scène, PC/TCP a
inclus des convertisseurs : avec un outil appelé ODIPKT.COM, les
pilotes ODI sont devenus utilisables en tant que pilotes de paquets,
un outil appelé DIS_PKT.GUP a fait de même pour les pilotes NDIS.
PC/TCP était aussi livré avec un Kernel TCP/IP externe appelé
ETHDRV.EXE qui permettait à d'autres programmeurs d'appeler les
fonctionnalités réseau depuis leurs programmes sans avoir à le
programmer eux-mêmes. Toutes ces fonctionnalités et une suite
d'applications qui a permis aux ordinateurs sous DOS d'accéder à ou
de fournir des services TCP/IP tels que les news, l'e-mail, le ftp,
Telnet ou le stockage réseau (PC/TCP avait même inclus un client
NFS appelé InterDrive) ont fait de FTP Software le leader du marché
des logiciels TCP/IP pour DOS.
PC/TCP a été installé sur plus de 10 millions de machines DOS machines
à travers le monde. Au milieu des années 90, FTP Software Inc. avait
plus de 700 employés (voyez ici pour plus d'informations
http://www.answers.com/topic/ftp-software?cat=biz-fin (*11)).
Logiciels développés par les universités et les passionnés
PC-IP et son successeur PC/TCP ont peut-être été les premiers et les
plus réussis des noyaux TCP/IP pour DOS mais ils n'étaient pas
les seuls.
KA9Q
Deuxième après le premier kernel PC-IP était le "système d'exploitation
réseau KA9Q" (NOS, voyez : http://www.ka9q.net/code/ka9qnos/ (*12)) par
Phil Karn en 1985. Karn, un ingénieur de Baltimore, Maryland l'avait
créé pour CP/M deux ans auparavant puis l'avait porté sous DOS. C'était
aussi l'une des premières applications TCP/IP pour DOS qui utilisaient
la spécification de pilote de paquets de FTP Software. KA9Q agissait
simultanément comme un client Internet, un serveur et un routeur de
paquets IP. Le programme était spécialisé dans la radio par paquets
amateur, mais pouvait aussi être utilisé par exemple comme serveur web
ou ftp. KA9Q a attiré de nombreux contributeurs. Comme le décrit
Karn : "c'était le Linux de son époque" (http://www.ka9q.net/code/
ka9qnos/ (*13)). En 2002 KA9Q est devenu un logiciel libre (GNU GPL).
Ses descendants, JNOS (http://www.langelaar.net/projects/jnos2/ (*14))
et EZ-NOS2 (http://eznos.knevel.info/index.php (*15)) (voyez également
http://www.hippy.freeserve.co.uk/eznos.htm (*16) and
http://www.dossolutions.pwp.blueyonder.co.uk/eznos.htm (*17))
sont toujours activement maintenus.
NCSA Telnet
Sur la base de la spécification des pilotes de paquets, plusieurs
universités ont écrit des applications et utilitaires TCP/IP pour les
PC DOS. En 1986, le "National Center for Supercomputing Applications"
(NCSA) à l'Université d'Illinois a publié "Telnet"
(ftp://ftp.uu.net/.vol/1/applic/NCSA_Telnet/PC/tel2308b.zip (*18))
- un client pour les services Telnet UNIX qui pouvait également
agir en tant que serveur FTP et rcp. Il était accompagné par des
outils TCP/IP comme finger, whois et lpr. NCSA Telnet était livré
avec son propre kernel TCP/IP, qui était déjà intégré aux applications.
Le logiciel a été développé jusqu'en 1995 (v2.308) et publié avec son
code source dans le domaine public.
(ftp://ftp.uu.net/.vol/1/applic/NCSA_Telnet/PC/tel2308s.zip (*19))
CUTCP
L'Université de Clarkson à Potsdam, New York a pris la version 2.2 de
NCSA Telnet et l'a modifié. Ils ont appelé leur version CUTE ou CUTCP.
Par la suite l'Université de Rutgers à New Jersey a repris la
maintenance et a publié la dernière version en juillet 1993
(ftp://ftp.cc.umanitoba.ca/software/pc_network/cutcp-b.zip (*20)).
À la différence de NCSA Telnet, CUTCP prenait en charge
l'émulation IBM-3270 et était techniquement amélioré. Il est aussi
entré dans le domaine public.
Autres
(Image de MINUET Version 1.0 Beta 18A)
D'autres développements par des universités qui devraient être
mentionnés sont "Kermit", (http://www.columbia.edu/kermit/ (*21))
un émulateur de terminal pour DOS écrit à l'Université de Columbia à
New York et "Minnesota InterNet Users Essential Tool" de l'Université
de Minnesota ("MINUET" http://www.fdisk.com/doslynx/minuet/ (*22)),
une suite d'applications TCP/IP fondé sur un pilote de paquets.
Minuet fournissait une interface graphique utilisable à la souris qui
avait des applications clientes comme l'E-mail, le Gopher, Telnet,
Usenet, un navigateur web et FTP. Minuet est un bon exemple de la
malheureuse conception des licences des logiciels DOS durant cette
époque. À la différence de la Licence publique générale GNU (GPL) qui
est devenu le standard dans le monde GNU/Linux, les licences pour les
logiciels DOS écrits par les universités et les passionnés étaient
principalement "fait maison". Par exemple la licence Minuet autorisait
une utilisation libre pour les professeurs, le personnel et les
étudiants de l'Université du Minnesotta. Tous les autres devaient
payer 50$ au bout de 15 jours d'évaluation. La distribution n'était
autorisée que pour des buts non commerciaux.
Alors que ces licences shareware ont peut-être fonctionné il y a
quinze ans, aujourd'hui elles ressemblent plus à un certificat de
décès pour le logiciel :
Celui-ci n'est plus vendu ou distribué officiellement. Alors que vous
pouvez peut-être encore trouver quelqu'un à qui payer les 50$, il est
peu probable qu'il vous fournisse un support ou des mises à jour. Donc
le coût peut dépasser ce que le logiciel vaut aujourd'hui, après que
son marché ait disparu et que les développeurs d'origine ont perdu
l'intérêt qu'ils y portaient. Plus important encore : sans la source,
il n'est pas utile aux autres programmeurs donc le développement
s'arrête à cause de la licence. Et interdire la "distribution
commerciale" a pour effet que les endroits où par exemple Minuet
peut être trouvée sont pour la plupart changeantes et peu stables.
Grâce à certains développeurs, des logiciels essentiels de réseau pour
DOS avec leur code source respectif sont dans le domaine public ou
sont des logiciels libres. Cela permet aux utilisateurs comme aux
développeurs d'écrire encore et d'utiliser des applications TCP/IP
pour DOS.
Ces logiciels importants comprennent :
* Des versions libres des convertisseurs de pilotes de paquets pour
les pilotes ODI et NDIS communs d'aujourd'hui : ODIPKT.COM, écrit
par Dan Lanciani (Université de Harvard) permet d'utiliser les
pilotes ODI comme des pilotes de paquets, DIS_PKT9.DOS par Prof.
Joe R. Doupnik (Université de l'État de l'Utah) et Dan Lanciani
fait de même avec les pilotes NDIS.
* "WatTCP", une librairie de kernel TCP/IP populaire libre écrit
en 1990 par Erick Engelke de l'Université canadienne de Waterloo
et son successeur Watt-32 par Gisle Vanem (Norvège). Ces
librairies permettent aux programmeurs d'intégrer des
fonctionnalités TCP/IP à leurs applications sans avoir à
réinventer la roue.
* "Pilote TCP Trumpet (NTCPDRV)" de 1992, un kernel TCP/IP libre
externe créé par le programmeur australien Peter Tattam (aussi
célèbre pour son Trumpet Winsock).
Nous en apprendrons davantage sur ce logiciel un peu plus loin dans
ce document.
Logiciels propriétaires
À part PC/TCP de FTP Software Inc. beaucoup d'autres applications
commerciales pouvaient être trouvées sur le marché pour la mise en
réseau TCP/IP de DOS il y a dix ou quinze ans. Jusqu'à 30 paquets
TCP/IP (ftp://ftp.cac.psu.edu/pub/dos/info/tcpip.packages (*23))
pour DOS étaient disponibles au milieu des années quatre-vingt-dix, y
compris IBM "TCP/IP pour DOS", NetManage "Chameleon", Sun "PC-NFS",
Novell "LAN WorkPlace", "SuperTCP" de Frontier Technologies ou Artisoft
"LANtastic" - un système de réseau qui était presque aussi populaire
dans la première moitié des années quatre-vingt-dix que le leader du
marché de l'époque, Novell. Une comparaison de leurs fonctionnalités
peut être trouvée ici (http://img.cmpnet.com/nc/820/graphics/tcpip.pdf
(*24)). Lisez également l'article correspondant dans le magazine
"Network Computing"
(http://www.networkcomputing.com/820/820buyers.html (*25)).
La fin de la mise en réseau de DOS
Nous devons garder à l'esprit que tout ce développement des logiciels
TCP/IP pour DOS s'est produit dans une période relativement courte.
Le PC d'IBM n'avait aucune capacité de réseau lorsqu'il a été lancé
en 1981. Ceux qui travaillaient avec des machines UNIX à cette époque
considéraient le comme un jouet. Mais le réseau est devenu une option
sérieuse quand le PC AT (i286) a été lancé en 1984 et en 1986, lorsque
Compaq a lancé le premier PC avec un processeur i386. Cette fenêtre
d'opportunité a commencé à se refermer avec l'introduction de Windows
NT en 1993 et s'est refermée avec Windows 95 en août 1995, qui avait
son propre kernel TCP/IP déjà intégré et comprenait le protocole
Point-to-Point (PPP), un numéroteur ainsi que la prise en charge des
réseaux SMB pair à pair.
Ce fut un coup dur pour les logiciels réseau commerciaux, y compris
Novell NetWare.
FTP Software Inc. a été racheté en 1998 par l'ancien concurrent
NetManage pour un prix à peine supérieur à la somme des fonds dans le
compte bancaire de FTP software (voyez ici pour plus d'informations
http://www.apocalypse.org/pub/ftp-alumni/archives/ftp-alumni.9806
(*26)). Aujourd'hui, il n'existe plus, bien entendu. En 2007 le marché
des logiciels réseau pour DOS est abandonné. La plupart des solutions
commerciales ne sont plus disponibles. Leurs fabricants ont changé de
propriétaires ou de marché, ou ont simplement cessé d'exister. Ceux
qui travaillaient sur l'approche "centrée sur UNIX" il y a 10 ans
travaillent peut-être aujourd'hui sur des solutions GNU/Linux.
Lisez davantage sur l'historique de la mise en réseau TCP/IP sur des
ordinateurs sous DOS dans l'article de Steven Baker "Net Worth -
Desktop TCP/IP At Middle Age"
(http://web.archive.org/web/20070314043508/http://www.ece.ubc.ca/
~gillies/9802net.html (*27)).
Ramasser les morceaux
La mise en réseau de DOS au XXIe siècle signifie essentiellement de
prendre ce qui reste de l'époque du réseau DOS du milieu des années
quatre-vingt jusqu'au milieu des années quatre-vingt-dix. Certains
outils Novell et Microsoft peuvent toujours être légalement téléchargés
et utilisés. Et les solutions TCP/IP des universités et passionnés
qui ont été publiés dans le domaine public, en tant que shareware
voire postcardware, sont toujours là, même si la plupart ne peuvent
plus être trouvées à son emplacement d'origine.
Mais il y a davantage. Certains projets sont toujours vivants : Le
navigateur graphique DOS Arachne est à nouveau développé activement par
un groupe de programmeurs après qu'il a été publié sous GNU GPL.
Également SSH2DOS, Watt-32 et les successeurs de KA9Q EZ-NOS2 et JNOS2
sont toujours maintenus et développés. Un nouveau logiciel DOS TCP/IP
a même été écrit récemment.
(*01) http://people.sju.edu/~jhodgson/netw/kw_hwk4.html
(*02) OK
(*03) OK
(*04) https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=
&cad=rja&uact=8&ved=2ahUKEwjmnqmTiJvqAhVtQUEAHSx2BBYQFjAAegQIB
hAB&url=ftp%3A%2F%2Fnic.funet.fi%2Findex%2Fnetworking%2Fmagazines
%2FInternaut%2Fpc-ip.html&usg=AOvVaw2xp6u7ieLlJMNfvpiqtLq5
(*05) https://web.archive.org/web/20050529012400/http://members.
aol.com/Karima4483/pcip/
(*06) ?
(*07) OK
(*08) https://web.archive.org/web/20120608031912/
http://www.crynwr.com/packet_driver.html
(*09) OK
(*10) https://web.archive.org/web/20200110122004/http://crynwr.com/
(*11) OK
(*12) OK
(*13) OK
(*14) OK
(*15) https://vetusware.com/download/EZ-NOS%202.0%20DOS%20Internet
%20server%20OS%202.0/
(*16) https://web.archive.org/web/20090711165409/http:
//www.hippy.freeserve.co.uk/eznos.htm
(*17) https://web.archive.org/web/20081016111245/http:
//www.dossolutions.pwp.blueyonder.co.uk/eznos.htm
(*18) https://ftp.gwdg.de/pub/msdos/ncsa-telnet/
(*19) https://ftp.gwdg.de/pub/msdos/ncsa-telnet/
(*20) OK
(*21) OK http://www.kermitproject.org/
(*22) OK
(*23) ?
(*24) OK
(*25) https://web.archive.org/web/20090308122027/http://www.
networkcomputing.com/820/820buyers.html
(*26) https://en.wikipedia.org/wiki/FTP_Software
(*27) OK
Copyright © 2007 Ulrich Hansen, Mainz (Allemagne), modifié en 2010
par W. Spiegl.
Traduit en 2020 par Berki Yenigün.
Pour plus d'informations, voyez ici.
La permission est accordée de copier, distribuer et/ou modifier ce
document selon les termes de la licence de documentation libre GNU,
version 1.2 ou toute version ultérieure publiée par la Free Software
Foundation.
Une copie de la licence est incluse dans la section intitulée
"GNU Free Documentation License 1.2".