home *** CD-ROM | disk | FTP | other *** search
-
-
-
- A Low-Cost Unix/DOS Network Solution for Software Engineering
-
- By Richard Braun
-
- Copyright (C) 1991
- Kronos, Inc. / Waltham, MA
-
- 11 April 1991
- DRAFT
-
-
- 1. Introduction
-
- As Unix operating systems are increasingly ported to low-cost hardware
- platforms, including PC-compatibles and Risc architectures, demand is
- rising for ports of existing DOS applications to Unix. At the same
- time, demand is also increasing for the centralization of many corporate
- functions over a diverse spectrum of networking protocols and hardware.
-
- Traditionally, the integration of DOS-based systems into a corporate
- network has been viewed as a problem of grafting them into an existing
- network based on other systems, typically Unix and TCP/IP. With the
- widespread acceptance of Novell NetWare and other PC-based protocols,
- large numbers of companies will soon run into the opposite problem:
- that of grafting TCP/IP into an existing network of DOS-based systems.
-
- This paper discusses a low-cost method of building an environment for
- software engineering under Unix and DOS, combining the features of
- Novell NetWare and Unix TCP/IP on a single local area network.
-
-
- 2. Goals
-
- The goals of this project were as follows:
-
- - To minimize the impact of new software, hardware, or
- procedures on people currently using a NetWare-based LAN;
-
- - To bring up several low-cost Unix systems and workstations
- for software development;
-
- - To provide widely-expected facilities to users of these
- Unix systems, including backups, dialup modems, printing,
- and electronic mail;
-
- - To centralize a base of existing source code, allowing
- the direct use of a widely-accepted source code control
- system (RCS) by both Unix and DOS users;
-
- - To create system-independent procedures for compiling and
- building binaries from source code libraries;
-
- Page 2
-
-
- - To provide full access to all files residing on a series
- of Novell servers to Unix users; and
-
- - To allow Unix and DOS users alike to continue using their
- native systems without the need for switching between
- two systems regularly (which eliminates the two-tube desktop
- syndrome and provides user convenience).
-
- At the time these goals were established (December 1990), no combination
- of commercial product offerings could meet them. Even today, no single
- vendor can meet these challenges.
-
- A NetWare-based solution is presently under development at Novell, and
- should be widely available within the next several months. For several
- reasons, the combined TCP/IP-NetWare solution presented herein was
- selected for use at Kronos, and may be desirable at any number of other
- locations.
-
-
- 3. Hardware requirements
-
- The existing network consisted of several thin-wire Ethernet subnets,
- each connected to a Novell server which in turn was connected (through
- a second LAN interface card) to an Ethernet "backbone" consisting of
- two or three fan-out units. Each DOS user was connected to one of
- the thin-wire subnets using a LAN card from one of several vendors.
-
- This solution poses no additional hardware requirements for DOS users,
- as it employs a dual-stack packet driver capable of running NetWare
- and TCP/IP on an existing LAN card. Unix workstation users are somewhat
- more constrained, as they must install a LAN card supported by their
- Unix system's TCP/IP device driver. For SCO Unix on a 386-based PC-
- compatible, this means installing a LAN card from 3-Com or Western
- Digital; Racal-Interlan also claims to provide a driver for SCO Unix.
-
- DOS LAN cards supported by the Clarkson drivers are:
-
- 3Com 501, 503, 505, 523; ARCNET; AT&T StarLAN series
- BICC Isolan 4110; IBM token ring; NetBIOS; Novell NE1000,
- NE2000; Racal/Interlan NI5010, NI5210, NI6510, NI9210;
- SLIP8250; Tiara LANCARD/E; and Western Digital WD8003.
-
- For backups, at least two tape drives are required: one for backing
- up the Novell servers, and one for backing up Unix filesystems.
- Software could conceivably be written to access a single, common tape
- drive, but backups take long enough in the Kronos environment that a
- multiple-drive approach was preferred.
-
- The server used to export Novell files via NFS consists of a dedicated
- 386-based PC configured with 640K or more of ram, a small hard disk,
- and any Ethernet card supported by the packet drivers.
-
- The Proteon cc:Mail gateway currently requires two dedicated PCs,
- though this requirement may be changed if some of this code is ported
- to run under Unix, accessing cc:Mail directories via NFS.
-
- Page 3
-
-
-
- Sharing printers between Unix and DOS was most easily implemented
- using one of many available multiplexing print buffer units, sold
- for about $200. Other solutions will present themselves over time;
- this solution is not ideal, because print jobs cannot be cancelled
- once they are sent to the buffer (which holds many minutes' worth of
- output), and the user cannot query whether a job is finished.
-
-
- 4. Software requirements
-
- Most of the software is available free of charge from Clarkson Univer-
- sity and other places via the Internet. The following components are used:
-
- - Packet drivers version 7 from Brigham-Young University
- and Clarkson
-
- - CUTCP version 2.2D, a DOS TCP/IP package from Clarkson
- derived from NCSA Telnet
-
- - PC/IP, a DOS TCP package from Carnegie-Mellon University
- and MIT
-
- - IPXPDI version 2.01, a packet-driver interface for NetWare
- from BYU (now included with the SOSS package)
-
- - SOSS version 3.1, a DOS NFS server derived from source
- code originally developed at Lawrence Berkeley Laboratory
- by See-mong Tan
-
- - RCS version 5.5, a widely used Revision Control System
- originally developed by Walter Tichy and now distributed
- by the Free Software Foundation
-
- - Gnu diff version 1.15, a file-comparison utility used by
- RCS and distributed by the Free Software Foundation
-
- - A public-domain cc:Mail gateway distributed by Proteon
-
- - d2x and x2d, DOS/Unix conversion programs written at Kronos
-
- - dmake version 3.6, a Unix-compatible Make facility for DOS
-
- Not all features of PC/IP are used; the Clarkson Telnet program provides
- a much broader set of features, for example, than PC/IP Telnet.
-
- Source code to two of these items (SOSS and RCS) was modified at Kronos
- to support this engineering environment. These modifications are
- relatively minor (less than one man-month of work) and are made
- available via the Internet.
-
- Page 4
-
-
- 5. Documentation
-
- Documentation for each of these packages is provided in the form of
- text files included with each distribution. A synopsis of what is
- provided is as follows:
-
- - Packet drivers: an 11-page manual plus a 3-page
- description. A separate summary is also provided for
- each supported LAN card.
- - CUTCP: an 80-page manual.
- - PC/IP: a 60-page manual.
- - SOSS: a 5-page user guide plus a 5-page description.
- - RCS: a "man page" for each of the 8 utilies, plus a
- short introduction guide.
- - The Proteon e-mail gateway: an 8-page description
- plus a 4-page installation guide.
- - dmake: a 44-page manual.
-
-
- 6. Putting it all together
-
- The first step is to retrieve the distribution kits for each software
- package. You will then need to map out your Novell network and determine
- which DOS users need to have access to the TCP/IP subnet. (Or, of course,
- do the opposite if you're adding Novell systems to an existing TCP/IP
- network.) Most of these packages are for DOS; you should place DOS
- executables on a Novell server accessible by all systems.
-
-
- 6.1 Mountable filesystems
-
- One or more dedicated DOS systems need to be configured to run SOSS
- (you will want more than one system only if the single unit becomes
- a performance bottleneck), and the e-mail gateway currently requires
- at least one system. Set up the appropriate packet driver on these
- systems, configure NETDEV.SYS and add a device line to CONFIG.SYS.
- Create an AUTOEXEC.BAT file on the SOSS server system which does the
- following:
-
- - Run the packet driver
- - Load IPXPDI
- - Load NET3 or NET4 (the NetWare shell)
- - Log into the NetWare server (you will need to use KEY-FAKE,
- a small DOS utility provided with SOSS, to type in any
- required password.)
- - Map the desired filesystems to a DOS drive letter
- - Castoff broadcast messages from Novell servers
- - Invoke SETCLOCK to synchronize with the time server
- - Run SOSS
-
- A minor inconvenience exists for users attempting to edit or print text
- files across machine architectures. The line separator for Unix text
- files is linefeed only, whereas DOS uses carriage-return/line-feed. A
- conversion utility (d2x and x2d, now provided with SOSS) must be run
- when such files are referenced across the great Unix/DOS divide.
-
- Page 5
-
-
-
-
- 6.2 Remote TCP/IP login
-
- On each user's DOS system, create a CONFIG.TEL file to define its IP
- address and the addresses of your site's gateways, name servers, and
- so on. Make sure each DOS system has access to TELBIN.EXE, and an
- environment variable CONFIGTEL defined as the location of its CONFIG.TEL
- file.
-
-
- 6.3 Source code development
-
- To use the RCS source code control system, you must locate source code
- directories on filesystems accessible to everyone. Using the public-
- domain approach described herein, you would place them on a Novell
- server, because DOS users cannot mount Unix filesystems directly;
- alternatively, you can buy Portable NetWare for one or more of your
- Unix systems and store RCS files there, or buy PC-NFS for each of your
- DOS systems.
-
- The dmake utility has proven extremely helpful in creating platform-
- independent "make" files, which can be run under both Unix and DOS.
- Many of the make utilities sold with DOS-based compilers lack the more
- advanced features which Unix make utilities provide.
-
-
- 6.4 Electronic mail
-
- The e-mail gateway for cc:Mail requires considerable configuration
- information, which is beyond the scope of this paper. cc:Mail sells
- an SMTP gateway product at a considerable price; a public-domain
- offering from Proteon may prove adequate for your needs.
-
-
- 6.5 Backups
-
- At the time of this writing, a typical 330-Mb fixed disk drive sells
- for about $1000; tape drives actually cost about the same, per megabyte.
- This has made it economical to set up a system whereby daily incremental
- backups are placed on a fixed disk by a 'cron' script performed by each
- Unix system. Full backups are performed to tape, on a schedule which is
- determined by amount of space available on the fixed drive and by the
- number of modifications made within each filesystem.
-
- SCO Unix is shipped with a shell script called 'cbackup' (in directory
- /usr/lib/sysadmin), which uses 'cpio' to create the backup image. Some
- fairly minor modifications can be made to this script in order to allow
- for unattended disk-to-disk backups. Users of 'cpio' should be aware
- that the ASCII header information option, '-c', must be used for
- compatibility of backup images across different machine architectures.
-
- Page 6
-
-
- 6.6 Modems
-
- Two modem pools were created: one group on a Unix system, and another
- on the Novell network using an asynchronous communications server. If
- a single pool is desired, there are two possible options: add a port
- selecter between the modems and the computers, or add software to the
- Unix systems which would allow transmission of IPX datagrams via the
- modem lines. The latter is much more complex than simply creating a
- second modem pool, so it was not done in our case.
-
-
- 6.7 Printer service
-
- A similar problem presents itself here: the Unix and Novell network
- print services are incompatible, and a fair amount of coding would be
- required to create a bidirectional network interface. Low-cost hardware
- products are available, however, which allow more than one computer to
- access a single printer. This approach was taken at Kronos.
-
-
- 7. Some suggestions and/or open issues
-
- CUTCP supports the use of the bootp protocol to configure IP addresses
- and other information for each DOS user. By bringing up a bootp server
- somewhere on the network, the network administrator can escape the task
- of updating TCP configuration files on each PC.
-
- A means of synchronizing time between Novell servers and TCP/IP-based
- Unix systems should be implemented; this may be resolved in future
- releases of Novell's server software. PC/IP provides a SETCLOCK program
- for setting a PC's date and time from a TCP/IP time server, and Novell's
- login program automatically sets the time from a Novell server.
-
- The cc:Mail gateway has not yet been installed and tested; this procedure
- is quite complex.
-
- Ideally, an engineer running a compiler on any system could build
- binaries for any other system on the LAN. This requires cross-compiler
- products which do not exist today, though this may happen at some time
- in the future. The Gnu C compiler can be configured for cross-compilation
- on most Unix platforms, but it cannot create DOS binaries at this time.
- A recently-developed DOS extender for Gnu C is incompatible with Windows
- and other DOS software, and no company produces a Unix-based product for
- producing binaries executable under a DOS extender.
-
-
- 8. Reliability
-
- A popular perception is that "you get what you pay for", and that free
- software is buggy and unsupported. This environment contains hundreds
- of thousands of lines of free software, so an administrator is wise to
- question its ease of use, maintainability, and reliability.
-
- An argument in favor of free software, mainly developed in university
- environments, is that it provides a large base of support tools which
-
- Page 7
-
-
- allow companies to get on with the business of designing applications,
- rather than developing basic tools. Universities also provide a
- harsher field-test environment for security problems, as some of their
- users are more likely to spend time looking for holes. (The Clarkson
- TCP product provides an example of this: NCSA Telnet, as distributed,
- will allow any user on the network to view, modify, or delete files
- via a terminate-and-stay-resident FTP server, unless the PC user
- explicitly creates a password file. Clarkson's modification plugs
- this hole.)
-
- This environment is just now entering daily use at Kronos; as time goes
- by its reliability will be tested and improved.
-
-
- 9. Where to get it
-
- A centralized place for obtaining the software described herein may be
- established in the future. In the meantime, it may be retrieved from
- Internet sites as follows:
-
- Product System Directory Contact
- --------- ----------- ----------- ----------------------
- PC/IP husc6.harvard.edu pub/pcip
- CUTCP omnigate. pub/cutcp/ cutcp@omnigate.
- clarkson.edu v2.2-D clarkson.edu
- Packet sun.soe.clarkson. pub/ka9q nelson@clutx.clarkson.
- drivers edu edu
- RCS(unix) prep.ai.mit.edu pub/gnu
- RCS(DOS) spdcc.com pub/sos few@gupta.com,
- rbraun@spdcc.com
- diff(unix) prep.ai.mit.edu pub/gnu
- diff(DOS) vulcan.phyast. pub/msdos
- pitt.edu
- dmake watmsg.waterloo. pub/src dennis@watmsg.
- edu waterloo.edu
- SOSS spdcc.com pub/sos rbraun@spdcc.com
- d2x spdcc.com pub/sos rbraun@spdcc.com
- Gateway monk.proteon.com pub/novell acm@relay.proteon.com
-
- The procedure for retrieving files on the Internet is:
-
- ftp <system>
- (user) anonymous
- (password) <myname@myhost>
- binary
- cd <directory>
- get <files>
-
- Page 8
-
-
- 10. Security issues
-
- The SOSS server contains no security features; any file accessible to the
- server can be read or written by any remote NFS user. Several man-weeks
- of effort would be required to add user ID, group ID, and file-mode
- checking to SOSS. Alternatively, one could purchase Novell's just-announced
- NFS server product, which contains these features.
-
- RCS allows users to specify a user-name different from their own when
- performing update operations. If this presents a security problem, you
- may wish to modify RCS source to eliminate the "-w" command line option.
-
- When retrieving software from the Internet, one must be aware of potential
- "trojan horse" or "virus" security problems. The most important precaution
- is to retrieve software from trustworthy archive sites, such as those
- recommended here.
-
-
- 11. Caveat
-
- This information is subject to change without notice. It may or may not
- be helpful for your own purposes.
-