Networking FreeDOS - History of DOS networking
Why MS DOS came without a network
The IBM Personal Computer (PC) was introduced on August 12th, 1981 as
an answer to the Apple II, that challenged IBM's market with office
software like VisiCalc and WordStar. The operating system (OS) for
the PC had to be done in an extremely short period of time, after
Digital Research (DR) had blown the opportunity to license their
"Control Program for Micros" (CP/M) to IBM.
The young software company Microsoft, originally only supposed to
provide language interpreters and compilers such as BASIC and Fortran,
stepped in. Microsoft agreed to come up with an OS prototype, similar
to CP/M, in just three months. They bought and adapted Seattle
Computer's "Quick and Dirty OS" (QDOS) to meet IBM's expectations.
Version 1.0 of the "Microsoft Disk Operating System" (MS DOS, also
sold as "PC DOS" by IBM) had 4.000 lines of code. Networking was none
of its capabilities and other tasks may have been far more important:
The first DOS did not even know how to handle hard disks. Microsoft
was also busy working on the applications that should become the
corner stones of its success: "Multiplan"/"Excel" and "Word".
Networking features seemed to have been postponed to the successor of
DOS, OS/2, which was officially announced by Microsoft and IBM in 1985
(and released in 1987). In the meantime Microsoft provided XENIX, a
UNIX variant which was available for the IBM PC since 1983.
This left a time frame for others. There were two approaches for DOS
networking, which can be called the "PC centric" and the "UNIX centric"
approach (http://www.sju.edu/~jhodgson/netw/kw_hwk4.html (*01)).
* The "PC centric" approach means a way to network a group of PCs in
order to share files and resources (f.i. printers).
* The "UNIX centric" approach means to develop DOS versions of the
standard UNIX network programs and to use them to access or to
provide UNIX-like services in LAN or internet (which, in the end,
came down to file and resource sharing as well).
"PC centric" approach
Novell NetWare
In 1985 Novell, a former hardware manufacturer of CP/M systems,
released its product "NetWare 86" (v 1.5) for the PC. A version for
the AT followed with "NetWare 286" (v 2.0) in 1986.
Novell networked computers according to the client/server model:
Clients running MS DOS and some memory resident (TSR) Novell software
were able to "log in" to a server that ran "Novell NetWare Server".
This server was a machine designated to manage the network and
control access to shared devices, such as disk drives and printers.
Once connected the clients could "map" a volume on the server to a
driveletter in DOS and then use it like a local drive. They also were
able to use printers connected to the server.
Client and server communicated over Novell's "Internetwork Packet Ex-
change/Sequenced Packet Exchange" (IPX/SPX protocol)
The driver architecture was called "Open Datalink Interface" (ODI).
NetWare established a dominant position in the market until the middle
of the nineties.
LAN MANAGER
(Picture of the LAN manager)
In 1983, separately from Novell, IBM and the californian company Sytek
Inc. (bought by Hughes http://www.hughes.com/ (*02) in 1989) developed
the networking protocol NetBIOS.
It was designated for small LAN installations of up to 72-80 devices.
In 1985 IBM produced an emulator of NetBIOS, called NetBEUI (NetBIOS
Extended User Interface) which supported up to 260 devices.
In 1985 Microsoft introduced its own implementation of NetBIOS, called
MS-Net. It was not widely used. In 1987 the company released "Microsoft
LAN Manager" 1.0 - its first serious competition for Novell Netware.
Just like Novell Netware Microsoft's LAN Manager implemented a client/
server architecture:
* The server ran OS/2 as operating system and LAN Manager as server
software.
* The client ran DOS, OS/2 or Macintosh as OS and used a client
software like "LAN Manager client" or "MS client" for the
connection to the server.
With the "Server Message Block" (SMB) protocol merged into LAN Manager
since 1991, Microsoft networks became able to do peer-to-peer-
networking as well. This was used by Windows for Workgroups 3.11,
released in 1993. The mechanism is known to Windows users as "Windows
share", "network neighbourhood" or "Workgroup".
(Picture of Workgroup Add-on for MS-DOS)
In October 1993 Microsoft released a tool called "Microsoft Workgroup
Add-On for MS-DOS" which allowed to have the same peer-to-peer
networking possibilities in DOS. While the tool itself is not sold
any longer, most of its functionality is still available by usage of
"MS client" and a special update called "WG1049" (see: MS client).
Microsoft's networking software came with an own network driver model
called "Network Driver Interface Specification" (NDIS) that the company
had developed with 3Com.
LAN Manager didn't beat its competitor Novell Netware. Beneath the
disadvantage of being second in the market, this may also have been
caused by the fact that you had to install the OS/2 operating system
on the server. OS/2 was unpopular among customers. Since 1993
"Microsoft Windows NT Advanced Server (v3.1)" was used instead on the
server side. In August 1995 the introduction (and positive reception)
of "Windows 95" put an end to DOS networking activities. This Windows
version had an own TCP/IP stack already built-in and came with SMB
peer-to-peer networking - so many third-party solutions were
unnecessary.
"Unix centric" approach
Experiments to get TCP/IP running on the PC began shortly after
IBM introduced it. The first people who worked on it were Dave Clark,
Jerry Saltzer and freshman student John Romkey (http://www.romkey.com/
(*03)) at the Lab for Computer Science of the Massachusetts Institute
of Technology (MIT). In 1981 they started a research project with the
purpose "to see if TCP/IP could run on something as small as an
IBM PC", as Romkey recalls (http://www.drizzle.com/~aboba/internaut/
pc-ip.html (*04)).
PC-IP (PC/IP)
The outcome was named "PC-IP", a small TCP/IP implementation that was
linked into a few applications like finger, whois and netwatch. PC-IP
was released with its source into the public domain. Drew Perkins from
Carnegie Mellon University (CMU) and Dan Lanciani from Harvard Uni-
versity improved the code further. PC-IP still can be found in the web
(http://members.aol.com/Karima4483/pcip/ (*05)) or
(ftp://ftp.kuzbass.ru/pub/networks/tcpip/tool/pcip.zip (*06)).
PC-TCP (PC/TCP)
(Icons of PC/TCP applications)
The success of PC-IP inspired Romkey and friends to take the CMU version
of the code and develop it into a proprietary product: "PC/TCP", which
they sold through their company "FTP Software, Inc.", founded in 1986
(http://en.wikipedia.org/wiki/FTP_Software (*07)).
The name was chosen after the popular 'File Transfer Protocol': PC/TCP
included one of the first applications for FTP services on the PC.
Packet Drivers
Along with PC/TCP, FTP Software Inc. developed the "Packet Driver
Specification", (http://www.crynwr.com/packet_driver.html (*08)) the
first multiprotocol driver specification for PC network interface cards.
On 12 Dec 1988 this specification was released as an open standard,
for anyone to implement.
Packet drivers proved useful to hardware vendors and software developers
alike. Most of the public-domain or shareware TCP/IP applications have
been written to interface with packet drivers only.
Many packet drivers were written or managed by Russ Nelson at Clarkson
University, who became known as the "Packet Driver King" - a story, he
describes at his website (http://russnelson.com/bio.html (*09)). Nelson
still distributes these drivers as Free Software through the site of
his company "Crynwr" (http://www.crynwr.com/ (*10)) (which was named
after the welsh word for "Quaker", his religious belief). Learn more
about Crynwr here.
One cause for the success of FTP Software's PC/TCP was this open
packet driver interface, which made it easy to develop drivers and
applications. When other driver interfaces like ODI and NDIS appeared
on the scene, PC/TCP included converters: With a tool called ODIPKT.COM
ODI drivers became usable as packet drivers, a tool called DIS_PKT.GUP
did the same for NDIS drivers.
PC/TCP also came with an external TCP/IP Kernel called ETHDRV.EXE that
allowed other programmers to call network functions within their
applications without programming them themselves. All these features
and an application suite that allowed DOS computers to access or
provide TCP/IP services such as news, e-mail, ftp, Telnet or network
storage (PC/TCP even included a NFS client called InterDrive) made FTP
Software Inc. market leader for DOS TCP/IP software.
PC/TCP was installed on over 10 million DOS machines worldwide. In the
middle of the nineties FTP Software Inc. had more than 700 employees
(see here for more info http://www.answers.com/topic/ftp-software?cat
=biz-fin (*11)).
Software by universities and hobbyists
PC-IP and its successor PC/TCP may have been the first or most
successful TCP/IP Kernels for DOS but they were not the only ones.
KA9Q
Second after the early PC-IP kernel was the "KA9Q Network Operating
System" (NOS, see: http://www.ka9q.net/code/ka9qnos/ (*12)) by Phil Karn
in 1985. Karn, an engineer from Baltimore, Maryland had created it for
CP/M two years before and then ported it to DOS. It also was one of
the first TCP/IP applications for DOS that used FTP Software's packet
driver specification. KA9Q simultaneously acted as an Internet client,
a server and an IP packet router. The program was specialized for
amateur packet radio, but also could be used f.i. as ftp- or webserver.
KA9Q attracted many contributors. As Karn describes: "It was the Linux
of its day" (http://www.ka9q.net/code/ka9qnos/ (*13)).
In 2002 KA9Q became free software (GNU GPL). Its descendants, JNOS
(http://www.langelaar.net/projects/jnos2/ (*14)) and EZ-NOS2
(http://eznos.knevel.info/index.php (*15)) (see also
http://www.hippy.freeserve.co.uk/eznos.htm (*16) and
http://www.dossolutions.pwp.blueyonder.co.uk/eznos.htm (*17))
are still actively maintained.
NCSA Telnet
Based on the Packet Driver Specification several universities wrote
TCP/IP applications and utilities for DOS PCs. In 1986 the "National
Center for Supercomputing Applications" (NCSA) at the University of
Illinois released "Telnet" (ftp://ftp.uu.net/.vol/1/applic/NCSA_Telnet/
PC/tel2308b.zip (*18)) - a client for UNIX Telnet services which could
act as FTP and rcp server as well. It was accompanied by TCP/IP tools
like finger, whois and lpr. NCSA Telnet came with its own TCP/IP Kernel
which was already built-in into the applications. The software was
developed until 1995 (v2.308) and released with source (ftp://ftp.uu.
net/.vol/1/applic/NCSA_Telnet/PC/tel2308s.zip (*19)) into the public
domain.
CUTCP
The Clarkson University in Potsdam, New York took version 2.2 of NCSA
Telnet and modified it. They called their version CUTE or CUTCP.
Eventually Rutgers University, New Jersey took over the maintenance and
published the latest release in July 1993 (ftp://ftp.cc.umanitoba.ca/
software/pc_network/cutcp-b.zip (*20)). In difference to NCSA Telnet,
CUTCP supported the IBM-3270 emulation and was technically improved.
It also became public domain.
Others
(Picture of MINUET Version 1.0 Beta 18A)
Other developments at universities that should be mentioned are
"Kermit", (http://www.columbia.edu/kermit/ (*21)) a terminal emulation
for DOS written at the Columbia University, New York and the University
of Minnesota's "Minnesota InterNet Users Essential Tool" ("MINUET"
http://www.fdisk.com/doslynx/minuet/ (*22)), a packet driver based
suite of TCP/IP applications.
Minuet provided a mouse driven graphical interface that integrated
client applications as E-mail, Gopher, Telnet, Usenet News, a
web browser and FTP. Minuet is a good example for the unfortunate
design of DOS software licenses in this era. In difference to the GNU
General Public License (GPL) that became a standard in the GNU/Linux
world, licenses for DOS software written at Universities and by
hobbyists were mostly homebrewed.
The Minuet license f. i. allowed free usage for the University of
Minnesota faculty, staff and students. All others were expected to pay
50$ after 15 days evaluation. Distribution was allowed for non-
commercial reasons only.
While these shareware licenses may have worked fifteen years ago, today
they are more like a death certificate for the software: The software is
not sold or officially distributed any longer. While you may still find
someone to pay the shareware fee of 50$ to, it is unlikely he will give
you any support or updates. So the cost may exceed what the software is
worth today, after its market disappeared and the original developers
lost interest. More important: Without source it is of no use for other
programmers - so development is put to an end by the license. And to
disallow any "commercial distribution" has the effect, that the places,
where f.i. Minuet can be found, are mostly changing, unreliable and
random. Thanks to some developers, essential networking software for DOS
with their corresponding sourcecode are in the public domain or Free
Software. This enables users and developers alike to still write and
use TCP/IP applications for DOS.
These important pieces of software include:
* Free versions of packet driver converters for today's more common
ODI and NDIS drivers: ODIPKT.COM, written by Dan Lanciani (Harvard
University) allows to use ODI drivers as packet drivers,
DIS_PKT9.DOS by Prof. Joe R. Doupnik (Utah State University) and
Dan Lanciani does the same with NDIS drivers.
* "WatTCP", a popular free TCP/IP Kernel library written 1990 - 1992
by Erick Engelke from Canadian Waterloo University and its
successor Watt-32 by Gisle Vanem (Norway). These libraries enable
programmers to include TCP/IP functions into their applications
without having to reinvent the wheel.
* "Trumpet TCP driver (NTCPDRV)" from 1992, a free external
TCP/IP Kernel created by Australian programmer Peter Tattam (also
well known for his Trumpet Winsock).
We will learn more about this software a bit further in this document.
Proprietary software
Beneath FTP Software Inc.'s PC/TCP a lot of other commercial
applications could be found on the market for DOS TCP/IP networking
software ten or fifteen years ago.
Up to 30 TCP/IP packages (ftp://ftp.cac.psu.edu/pub/dos/info/tcpip.
packages (*23)) for DOS were available in the middle of the nineties,
including IBM "TCP/IP for DOS", NetManage "Chameleon", Sun "PC-NFS",
Novell "LAN WorkPlace", Frontier Technologies "SuperTCP" or Artisoft
"LANtastic" - a networking system that was nearly as popular in the
first half of the nineties as the market leader of the time, Novell.
A comparison of their features can be found here (http://img.cmpnet.
com/nc/820/graphics/tcpip.pdf (*24)). Read also the corresponding
article in the "Network Computing" magazine (http://www.network
computing.com/820/820buyers.html (*25)).
The end of DOS networking
We have to keep in mind, that all this development of TCP/IP software
for DOS happened in a relatively short period of time. The IBM PC
didn't have any networking capabilities when it was released in 1981.
Whoever worked with UNIX machines at this time regarded the PC as toy.
But networking became a serious option, when the stronger PC AT (i286)
came out in 1984 and in 1986, when Compaq released the first PC with
an i386 processor.
This window of opportunity began to close with the introduction of
Windows NT in 1993 and was shut by Windows 95 in August 1995, which
had an own TCP/IP Kernel already built-in and included the Point-
to-Point Protocol (PPP), a dialer and SMB peer-to-peer networking.
This was a blow for commercial networking software, including Novell
NetWare.
FTP Software Inc. was bought out in 1998 by former competitor NetManage
for a price that was only slightly higher than the amount of money
in FTP software's bank account (see here for more info http://www.
apocalypse.org/pub/ftp-alumni/archives/ftp-alumni.9806 (*26)). Today
it's gone, of course. In 2007 the market of DOS networking software is
abandoned. Most commercial solutions are not available any more. Their
manufacturers changed owners or markets or simply ceased to exist. And
whoever worked at the "UNIX centric" approach 10 years ago may today
perhaps be found working on GNU/Linux solutions.
Read more about the history of TCP/IP networking on DOS computers in
Steven Baker's article "Net Worth - Desktop TCP/IP At Middle Age"
(http://web.archive.org/web/20070314043508/http://www.ece.ubc.ca/
~gillies/9802net.html (*27)).
Picking up the pieces
Networking DOS in the 21st century means mostly to take what's left of
the era of DOS networking from the middle of the eighties until the
middle of the nineties. Some Novell and Microsoft tools can still be
legally downloaded and used. And TCP/IP solutions by universities
and hobbyists that were released into the public domain, as shareware
and even as postcardware, are still around, although most of it cannot
be found any more at their original locations.
But it is more than that. A few projects are still alive: The graphical
DOS browser Arachne is actively developed again by a group of program-
mers after it was released under the GNU GPL. Also SSH2DOS, Watt-32
and the KA9Q successors EZ-NOS2 and JNOS2 are still maintained and de-
veloped. Even a new DOS TCP/IP software has been written recently.
(*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 (Germany), modified 2010
and 2020 by W.Spiegl.
For more information see here.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation.
A copy of the license is included in the section entitled
"GNU Free Documentation License 1.2".