Science Fair Project Encyclopedia
NetWare is a network operating system and the set of network protocols it uses to talk to client machines on the network. Developed by Novell, the NetWare operating system is a proprietary system using cooperative multitasking to run various services on a PC, and the network protocols were based on the archetypal Xerox XNS stack. Today NetWare supports TCP/IP as well as IPX/SPX. NetWare was one of a series of XNS-based systems, which also included Banyan VINES and Ungerman-Bass Net/One . Unlike these products, and XNS itself, NetWare established a strong presence in the market in the early 1990s, and managed to barely survive the onslaught of Microsoft's Windows NT which killed off the other players.
Netware evolved from a very simple concept : one or more dedicated servers were connected to the network, and shared disk space in the form of volumes. Clients running MS-DOS would run a special Terminate and Stay Resident (TSR) program that allowed them to map a volume as if it were a local hard disk. Clients had to log-in in order to be allowed to map volumes, and access could be restricted according to the log-in name.
Similarly, clients could connect to shared printers on the dedicated server, and print as if the printer was connected locally.
While early Netware systems did entirely trust all modules (any misbehaving module could bring the whole system down), it was very stable. There are reports of Netware servers running for years without any human intervention.
Netware was based on the work of SuperSet (Drew Major, Dale Neibauer, Kyle Powell and Mark Hurst), based on their classwork at Brigham Young University, starting in October 1981. NetWare is based on NCP, or the NetWare Core Protocol, which is a packet-based protocol that enables a client to send requests to and receive replies from a NetWare server. Initially NCP was directly tied to the IPX/SPX protocol, which meant that natively, NetWare could only communicate using IPX/SPX. The embedded database technology used to store authentication information was Btrieve.
The first product to bear the Netware name was released in 1983. It was called Netware 68 (aka S-Net); it ran on the Motorola 68000 processor and used a Star topology. It was replaced in 1985 with Netware 86, which was written for the Intel 8086. After the Intel 80286 processor came out, Novell released Netware 286 in 1986. The same happened with the release of the Intel 80386; Novell released Netware 386 in 1989. Later, Novell consolidated the numbering of their Netware releases, with Netware 286 becoming Netware 2.x, and Netware 386 becoming Netware 3.x
NetWare version 2 was notoriously difficult to configure : any change required a recompilation of the kernel, and a reboot of the system. Recompiling and reinstalling the kernel required about 20 diskette swaps. NetWare was administered using text-based utilities such as SYSCON. The file system used by Netware 2 was Netware File System 286, or NWFS 286.
NetWare version 3 eased things a bit by modularization. Each functionality was controlled by a software module called a NetWare Loadable Module (NLM) loaded either at startup or when it was needed. It was then possible to add functionality such as anti-viruses, backup software, long name support (remember, this was the time where filenames were limited to 8 characters plus a three letter extension) or Macintosh style files. NetWare continued to be administered using text-based utilities. The file system introduced by Netware 3.x and used by default until Netware 5.x was Netware File System 386, or NWFS 386.
Initially, NetWare used Bindery services for authentication. This was a stand-alone system where all user access and security data resided individually on each server. When an infrastructure contained more than one server, users had to log-in to each of them individually, and each server had to be configured with the list of all allowed users.
Version 4 introduced the Novell Directory Services (NDS) where bindery services was replaced by a global directory service where the infrastructure was described and managed in a single place. This allowed a single user authentication to NDS to permit access to any server in the directory tree structure (security permitting). Users could therefore access network resources no matter on which server they resided. Version 4 also introduced a number of useful tools and utilities, including Novell Distributed Print Services (NDPS), JAVA support, and RSA public/private encryption.
NetWare released version 4.11, also called intraNetWare, which included many enhancements that made the operating system easier to install, easier to operate, faster, and more stable. It also included the first fully 32-bit client for Windows-based workstations, and the NetWare Administrator (NWADMIN or NWADMN32), a GUI-based administration tool for NetWare. By this time, Novell was still tied to IPX/SPX by the NCP reliance on that protocol, but they started to acknowledge the demand for TCP/IP with NetWare 4.11 by including tools and utilities that made it easier to create intranets and link networks to the Internet. Novell bundled handy tools, such as the IPX/IP gateway, to ease the connection between IPX workstations and IP networks. And, for the first time, Novell included an application called Webserver, which lets you create and host Web sites on NetWare servers. It also began integrating Internet technologies and support through features such as natively hosted Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS).
During this time Novell also realized the importance of leveraging its directory service, NDS, by tying their other products into the directory. Their e-mail system, GroupWise, was integrated with NDS, and Novell released many other directory-enabled products like ZENworks, BorderManager, Novell Modular Authentication Services, etc.
With the introduction of NetWare 5, Novell finally acknowledged the prominence of the Internet by switching its primary NCP interface from the IPX/SPX network protocol to TCP/IP. IPX/SPX was still supported, but the emphasis shifted to TCP/IP. Most Novell utilities and third party products had to be rewritten to work with TCP/IP instead of IPX/SPX. NetWare 5 also shipped its first java-based GUI administration console, ConsoleOne, in addition to its NWAdmin series of utilities.
NetWare 5 was released during a time when NetWare market share dropped, as it was massively replaced by Windows NT servers. They also released their last upgrade to the NetWare 4 operating system with the release of NetWare 4.2.
The last release of NetWare 5 was version 5.1. The NetWare 5.x product introduced a number of useful tools, including support for Storage Area Networks (SANs) and clustered servers, NSS (Novell Storage Services, a replacement for the traditional NWFS, or Netware File System), Certificate Services, IBM WebSphere, Multimedia Services, Web Search Services, Oracle 8, Novell SQL, and Public Key Infrastructure Services (PKIS), to name a few.
NetWare 6 continued the trend by offering improved Symmetric Multiprocessing (SMP) support (for improved support of multiple processors in a single server), iFolder (to provide web-based, location-independent access to documents), iManager (web-based administration for NetWare), Native File Access System (NFAS, to provide native Windows, Macintosh, and Linux access to files on a NetWare server), NetDrive (allowing a drive letter to be mapped to an FTP site), and a move from the Netscape Enterprise Server to Apache as the default web server. Also, the Btrieve database (used in all previous versions of NetWare) was replaced with Pervasive SQL.
The latest release is version 6.5. Novell has announced an integration of NetWare applications over a Linux kernel from its next release (version 7.0) Also, consequent to Novell's acquisitions of Ximian and SuSE, a German Linux distributor, it is widely observed that Novell may be moving away from NetWare and shifting its focus towards porting applications to Linux. Officially though, Novell denies these claims and says it will focus on both NetWare and Linux.
NetWare dominated the network operating system (NOS) market from the mid 80's thru the mid to late 90's due to its extremely high performance relative to other NOS technologies. Most benchmarks during this period demonstrated a 5:1 to 10:1 performance advantage over products from Microsoft, Banyan, and others. One benchmark that was especially interesting compared NetWare 3.x running NFS services over TCP/IP (not NetWare's native IPX protocol) to an expensive, dedicated Auspex NFS server and a SCO Unix server running NFS service. NetWare NFS outperformed both 'native' NFS systems and clocked in with a 2:1 performance advantage over SCO Unix NFS on the same hardware!
There were several reasons for NetWare's performance.
File service instead of disk service
At the time NetWare was first developed, nearly all LAN storage was based on the disk server model. This meant that if a client computer wanted to read a particular block from a particular file it would have to issue the following requests across the relatively slow LAN:
- Read first block of directory
- Continue reading subsequent directory blocks until the directory block containing the information on the desired file was found, could be many directory blocks
- Read thru multiple file entry blocks until the block containing the location of the desired file block was found, could be many directory blocks
- Read the desired data block
NetWare, since it was based on a file service model interacted with the client at the file API level:
- Send file open request (if this hadn't already been done)
- Send a request for the desired data from the file
All of the work of searching the directory to figure out where the desired data was physically located on the disk was performed at high speed locally on the server. By the mid 1980's, most NOS products had shifted from the disk service to the file service model. Today, the disk service model is making a comeback, see SAN.
Efficiency of NetWare Core Protocol (NCP)
Most network protocols in use at the time NetWare was developed didn't trust the network to deliver messages. A typical client file read would work something like this:
- Client sends read request to server
- Server acknowledges request
- Client acknowledges acknowledgement
- Server sends requested data to client
- Client acknowledges data
- Server acknowledges acknowledgement
In contrast, NCP was based on the idea that networks worked perfectly most of the time, so the reply to a request served as the acknowledgement. Here is an example of a client read request using this model:
- Client sends read request to server
- Server sends requested data to client
All requests contained a sequence number, so if the client didn't receive a response within an appropriate amount of time it would re-send the request with the same sequence number. If the server had already processed the request it would resend the cached response, if it had not yet had time to process the request it would send a 'positive acknowledgement' which meant, "I received your request but I haven't gotten to it yet so don't bug me". The bottom line to this 'trust the network' approach was a 2/3 reduction in network traffic and the associated latency.
Non-preemptive OS designed for network services
One of the raging debates of the 90's was whether it was more appropriate for network file service to be performed by a software layer running on top of a general purpose operating system, or by a special purpose operating sytem. NetWare was a special purpose operating system, not a timesharing OS.; it was written from the ground up as a platform for client/server processing services. Initially it focused on file and print services, but later demonstrated its inherent superiority by running database, email, web and other services. It also performed efficiently as a router, supporting IPX, TCP/IP, and Appletalk, though it never offered the flexibility of a 'hardware' router.
In 4.x and earlier versions, NetWare did not support preemption, time-sharing, virtual memory, GUI, etc. Processes and services running under the NetWare OS were expected to be well behaved; to process a request and return control to the OS in a timely fashion. By comparison, general purpose operating systems such as Unix or Microsoft Windows were based on an interactive, time-sharing model where competing programs would consume all available resources if not held in check by the OS. Such environments operated by preemption, memory virtualization, etc., generating significant overhead because there were never enough resources to do everything every application desired. These systems improved over time as network services shed their 'application' stigma and moved deeper into the kernel of the 'general purpose' OS but they never equaled the efficiency of NetWare. Unfortunately this trust of application processes to manage themselves often resulted in an ABEND in the earlier days.
Probably the single greatest reason for Novell's success during the 80's and 90's was the efficiency of NetWare compared to other NOS's based on general purpose operating sytems. Unfortunately as microprocessors increased in power, efficiency became less and less of an issue and with the introduction of the Pentium processor NetWare's performance advantage began to be outweighed by the complexity of managing and developing applications for the NetWare environment. The arrogance of Novell's marketing / management team in the face of a real competitive threat (NT4 and Microsoft Exchange) was the final straw that ultimately lead to NetWare's fall from prominence.
- Netware home page
- Early history of Netware (PDF)
- A brief history of Netware
- Another brief history of Netware
- A mostly Korean-text history of networking
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details