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, see:
  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
  drive letter 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, see: 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, see:
  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 for DOS
  were available in the middle of the nineties,
  (see: ftp://ftp.cac.psu.edu/pub/dos/info/tcpip.packages) (*23)
  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.networkcomputing.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", see:
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) Link is no longer available, new link:
        https://archive.ph/7n48h
  (*02) Link is still OK, see also:
https://web.archive.org/web/20220601211228/http://www.hughes.com/
  (*03) Link is no longer available, new link:
        https://romkey.com/
  (*04) Link is no longer available, new link:
https://web.archive.org/web/20091209025049/http://www.drizzle.com/~aboba
/internaut/pc-ip.html
        (everything in ONE LINE, NO free space!)
  (*05) Link is no longer available, new link:
https://web.archive.org/web/20050529012400/http://members.
aol.com/Karima4483/pcip/
        (everything in ONE LINE, NO free space!)
  (*06) Sorry, no new link found.
  (*07) Link is still OK, see also:
https://web.archive.org/web/20220516143843/https://en.wikipedia.org/
wiki/FTP_Software
        (everything in ONE LINE, NO free space!)
  (*08) Link does not work with www, new links:
        http://crynwr.com/packet_driver.html
        OR:
https://web.archive.org/web/20220701190310/http://crynwr.com/drivers/
  (*09) Link is still OK, see also:
https://web.archive.org/web/20220516143744/http://russnelson.com/bio.html
  (*10) Link does not work with www, new links:
        http://crynwr.com/
        OR:
        https://web.archive.org/web/20220701190310/http://crynwr.com/
        OR:
        https://web.archive.org/web/20200110122004/http://crynwr.com/
  (*11) Link exists, but changed, new links:
https://web.archive.org/web/20090309083025/http://www.answers.com/topic/
ftp-software?cat=biz-fin
        (everything in ONE LINE, NO free space!)
        OR:
        https://en.wikipedia.org/wiki/FTP_Software
  (*12) Link is no longer available, new links:
https://web.archive.org/web/20220717093718/http://www.ka9q.net/code/
ka9qnos/
        (everything in ONE LINE, NO free space!)
        OR:
        https://en.wikipedia.org/wiki/KA9Q
  (*13) Link is no longer available, new links:
https://web.archive.org/web/20220717093718/http://www.ka9q.net/code/
ka9qnos/
        (everything in ONE LINE, NO free space!)
        OR:
        https://en.wikipedia.org/wiki/KA9Q
  (*14) Link is still OK, see also:
https://web.archive.org/web/20220614233643/https://www.langelaar.net
/projects/jnos2/
        (everything in ONE LINE, NO free space!)
  (*15) Link is no longer available, new links:
https://web.archive.org/web/20090308021947/http://eznos.knevel.info/
index.php
        (everything in ONE LINE, NO free space!)
        OR:
        https://vetusware.com/tree/
  (*16) Link is no longer available, new link:
https://web.archive.org/web/20090711165409/http://
www.hippy.freeserve.co.uk/eznos.htm
        (everything in ONE LINE, NO free space!)
  (*17) Link is no longer available, new link:
https://web.archive.org/web/20081016111245/http://
www.dossolutions.pwp.blueyonder.co.uk/eznos.htm
        (everything in ONE LINE, NO free space!)
  (*18) Link is no longer available, new links:
        https://ftp.gwdg.de/pub/msdos/ncsa-telnet/
        OR:
https://web.archive.org/web/*/https://ftp.gwdg.de/pub/msdos/ncsa-telnet/*
  (*19) Link is no longer available, new links:
        https://ftp.gwdg.de/pub/msdos/ncsa-telnet/
        OR:
https://web.archive.org/web/*/https://ftp.gwdg.de/pub/msdos/ncsa-telnet/*
  (*20) Link is no longer available, new link:
https://web.archive.org/web/20220516143755/ftp://ftp.cc.umanitoba.ca/
software/pc_network/cutcp-b.zip
        (everything in ONE LINE, NO free space!)
  (*21) Link is no longer available, new links:
        http://www.kermitproject.org/
        OR:
https://web.archive.org/web/20220913212210/http://www.columbia.edu/
kermit/archive.html
        (everything in ONE LINE, NO free space!)
  (*22) Link is still OK, see also:
https://en.wikipedia.org/wiki/Minnesota_Internet_Users_Essential_Tool
        AND:
https://web.archive.org/web/20220330021343/http://www.fdisk.com/
doslynx/minuet/
        (everything in ONE LINE, NO free space!)
  (*23) Sorry, no new link found.
  (*24) Link is still OK, see also:
https://web.archive.org/web/20220515043213/http://i.cmpnet.com/nc/
820/graphics/tcpip.pdf
         (everything in ONE LINE, NO free space!)
  (*25) Link is no longer available, new link:
https://web.archive.org/web/20090308122027/http://www.
networkcomputing.com/820/820buyers.html
        (everything in ONE LINE, NO free space!)
  (*26) Link is no longer available, new links:
        https://en.wikipedia.org/wiki/FTP_Software
        OR:
https://web.archive.org/web/20051030054742/http://www.apocalypse.org/
pub/ftp-alumni/archives/ftp-alumni.9806
        (everything in ONE LINE, NO free space!)
  (*27) Link is still OK, see also:
http://web.archive.org/web/20180717041639/http://www.ece.ubc.ca/
~gillies/9802net.html
         (everything in ONE LINE, NO free space!)

  Copyright © 2007 Ulrich Hansen, Mainz (Germany), updated 2010
  and 2022 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".