NetWare


NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol.
The original NetWare product in 1983 supported clients running both CP/M and MS-DOS, ran over a proprietary star network topology and was based on a Novell-built file server using the Motorola 68000 processor, but the company soon moved away from building its own hardware, and NetWare became hardware-independent, running on any suitable Intel-based IBM PC compatible system, and a wide range of network cards. From the beginning NetWare implemented a number of features inspired by mainframe and minicomputer systems that were not available in its competitors.
In 1991, Novell introduced cheaper peer-to-peer networking products for DOS and Windows, unrelated to their server-centric NetWare. These were NetWare Lite 1.0, and later Personal NetWare 1.0 in 1993.
In 1993, the main NetWare product line took a dramatic turn when version 4 introduced NetWare Directory Services, a global directory service similar to the Active Directory that Microsoft would release seven years later. This, along with a new e-mail system, application configuration suite, and security product were all targeted at the needs of large enterprises.
By 2000, however, Microsoft was taking more of Novell's customer base and Novell increasingly looked to a future based on a Linux kernel. The successor to NetWare, Open Enterprise Server, released in March 2005, offered all the services previously hosted by NetWare 6.5, but on a SUSE Linux Enterprise Server; the NetWare kernel remained an option until OES 11 in late 2011.
The final update release was version 6.5SP8 of May 2009; NetWare is no longer on Novell's product list. NetWare 6.5SP8 General Support ended in 2010, with Extended Support until the end of 2015, and Self Support until the end of 2017. The replacement is Open Enterprise Server.

History

NetWare evolved from a very simple concept: file sharing instead of disk sharing. In 1983 when the first versions of NetWare originated, all other competing products were based on the concept of providing shared direct disk access. Novell's alternative approach was validated by IBM in 1984, which helped promote the NetWare product.
Novell NetWare shared disk space in the form of NetWare volumes, comparable to DOS volumes. Clients running DOS would run a special terminate and stay resident program that allowed them to map a local drive letter to a NetWare volume. Clients had to log into a server in order to be allowed to map volumes, and access could be restricted according to the login name. Similarly, they could connect to shared printers on the dedicated server, and print as if the printer was connected locally.
At the end of the 1990s, with Internet connectivity booming, the Internet's TCP/IP protocol became dominant on LANs. Novell had introduced limited TCP/IP support in NetWare 3.x and 4.x, consisting mainly of FTP services and UNIX-style LPR/LPD printing, and a Novell-developed webserver. Native TCP/IP support for the client file and print services normally associated with NetWare was introduced in NetWare 5.0.
During the early to mid-1980s Microsoft introduced their own LAN system in LAN Manager, based on the competing NBF protocol. Early attempts to muscle in on NetWare failed, but this changed with the inclusion of improved networking support in Windows for Workgroups, and then the hugely successful Windows NT and Windows 95. NT, in particular, offered services similar to those offered by NetWare, but on a system that could also be used on a desktop, and connected directly to other Windows desktops where NBF was now almost universal.

Early years

NetWare originated from consulting work by SuperSet Software, a group founded by the friends Drew Major, Dale Neibaur, Kyle Powell and later Mark Hurst. This work stemmed from their classwork at Brigham Young University in Provo, Utah, starting in October 1981.
In 1981, Raymond Noorda engaged the work by the SuperSet team. The team was originally assigned to create a CP/M disk sharing system to help network the CP/M Motorola 68000 hardware that Novell sold at the time. The first S-Net was CP/M-68K-based and shared a hard disk. In 1983, the team was privately convinced that CP/M was a doomed platform and instead came up with a successful file-sharing system for the newly introduced IBM-compatible PC. They also wrote an application called Snipes – a text-mode game – and used it to test the new network and demonstrate its capabilities. Snipes was the first network application ever written for a commercial personal computer, and it is recognized as one of the precursors of many popular multiplayer games such as Doom and Quake.
First called ShareNet or S-Net, this network operating system was later called Novell NetWare. NetWare was based on 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, and NetWare communicated natively using only IPX/SPX.
The first product to bear the NetWare name was released in 1983. There were two distinct versions of NetWare at that time. One version was designed to run on the Intel 8086 processor and another on the Motorola processor which was called NetWare 68 ; it ran on the Motorola 68000 processor on a proprietary Novell-built file server and used a star network topology. This was soon joined by NetWare 86 4.x, which was written for the Intel 8086. This was replaced in 1985 with Advanced NetWare 86 version 1.0a which allowed more than one server on the same network. In 1986, after the Intel 80286 processor became available, Novell released Advanced NetWare 286 1.0a. Two versions were offered for sale; the basic version was sold as ELS I and the more enhanced version was sold as ELS II. The acronym ELS was used to identify this new product line as NetWare's Entry Level System.

NetWare 286 2.x

Advanced NetWare version 2.x, launched in 1986, was written for the then-new 80286 CPU. The 80286 CPU featured a new 16-bit protected mode that provided access to up to 16 MB RAM as well as new mechanisms to aid multi-tasking. The combination of a higher 16 MB RAM limit, 80286 processor feature utilization, and 256 MB NetWare volume size limit allowed the building of reliable, cost-effective server-based local area networks for the first time. The 16 MB RAM limit was especially important, since it made enough RAM available for disk caching to significantly improve performance. This became the key to Novell's performance while also allowing larger networks to be built.
In a significant innovation, NetWare 286 was also hardware-independent, unlike competing network server systems. Novell servers could be assembled using any brand system with an Intel 80286 CPU, any MFM, RLL, ESDI, or SCSI hard drive and any 8- or 16-bit network adapter for which NetWare drivers were available – and 18 different manufacturer's network cards were supported at launch.
A server could support up to four network cards, and these could be a mixture of technologies such as ARCNET, Token Ring and Ethernet. The operating system was provided as a set of compiled object modules that required configuration and linking. Any change to the operating system required a re-linking of the kernel. Installation also required the use of a proprietary low-level format program for MFM hard drives called COMPSURF.
The file system used by NetWare 2.x was NetWare File System 286, or NWFS 286, supporting volumes of up to 256 MB. NetWare 286 recognized 80286 protected mode, extending NetWare's support of RAM from 1 MB to the full 16 MB addressable by the 80286. A minimum of 2 MB was required to start up the operating system; any additional RAM was used for FAT, DET and file caching. Since 16-bit protected mode was implemented in the 80286 and every subsequent Intel x86 processor, NetWare 286 version 2.x would run on any 80286 or later compatible processor.
NetWare 2.x implemented a number of features inspired by mainframe and minicomputer systems that were not available in other operating systems of the day. The System Fault Tolerance features included standard read-after-write verification with on-the-fly bad block re-mapping and software RAID1. The Transaction Tracking System optionally protected files against incomplete updates. For single files, this required only a file attribute to be set. Transactions over multiple files and controlled roll-backs were possible by programming to the TTS API.
NetWare 286 2.x normally required a dedicated PC to act as the server, where the server used DOS only as a boot loader to execute the operating system file NET$OS.EXE. All memory was allocated to NetWare; no DOS ran on the server. However, a "non-dedicated" version was also available for price-conscious customers. In this, DOS 3.3 or higher would remain in memory, and the processor would time-slice between the DOS and NetWare programs, allowing the server computer to be used simultaneously as a network file server and as a user workstation. Because all extended memory was allocated to NetWare, DOS was limited to only 640 KB; expanded memory managers that used the MMU of 80386 and higher processors, such as EMM386, would not work; 8086-style expanded memory on dedicated plug-in cards was possible however. Time slicing was accomplished using the keyboard interrupt, which required strict compliance with the IBM PC design model, otherwise performance was affected.
Server licensing on early versions of NetWare 286 was accomplished by using a key card. The key card was designed for an 8-bit ISA bus, and had a serial number encoded on a ROM chip. The serial number had to match the serial number of the NetWare software running on the server. To broaden the hardware base, particularly to machines using the IBM MCA bus, later versions of NetWare 2.x did not require the key card; serialised license floppy disks were used in place of the key cards.
Licensing was normally for 100 users, but two ELS versions were also available. First a 5-user ELS in 1987, and followed by the 8-user ELS 2.12 II in 1988.

NetWare 3.x

NetWare's 3.x range was a major step forward. It began with version 3.0 in 1990, followed quickly by version 3.10 and 3.11 in 1991.
A key feature was support for 32-bit protected mode, eliminating the 16 MB memory limit of NetWare 286 and therefore allowing larger hard drives to be supported.
NetWare version 3.x was also much simpler to install, with disk and network support provided by software modules called a NetWare Loadable Module loaded either at start-up or when it was needed. NLMs could also add functionality such as anti-virus software, backup software, database and web servers. Support for long filenames was also provided by an NLM.
A new file system was introduced by NetWare 3.x – "NetWare File System 386", or NWFS 386, which significantly extended volume capacity, and could handle up to 16 volume segments spanning multiple physical disk drives. Volume segments could be added while the server was in use and the volume was mounted, allowing a server to be expanded without interruption.
In NetWare 386 3.x all NLMs ran on the server at the same level of processor memory protection, known as "ring 0". This provided the best possible performance, it sacrificed reliability because there was no memory protection, and furthermore NetWare 3.x used a co-operative multitasking model, meaning that an NLM was required to yield to the kernel regularly. For either of these reasons a badly behaved NLM could result in a fatal error.
NetWare continued to be administered using console-based utilities.
For a while, Novell also marketed an OEM version of NetWare 3, called Portable NetWare, together with OEMs such as Hewlett-Packard, DEC and Data General, who ported Novell source code to run on top of their Unix operating systems. Portable NetWare did not sell well.
While NetWare 3.x was current, Novell introduced its first high-availability clustering system, named NetWare SFT-III, which allowed a logical server to be completely mirrored to a separate physical machine. Implemented as a shared-nothing cluster, under SFT-III the OS was logically split into an interrupt-driven I/O engine and the event-driven OS core. The I/O engines serialized their interrupts into a combined event stream that was fed to two identical copies of the system engine through a fast inter-server link. Because of its non-preemptive nature, the OS core, stripped of non-deterministic I/O, behaves deterministically, like a large finite state machine. The outputs of the two system engines were compared to ensure proper operation, and two copies fed back to the I/O engines. Using the existing SFT-II software RAID functionality present in the core, disks could be mirrored between the two machines without special hardware. The two machines could be separated as far as the server-to-server link would permit. In case of a server or disk failure, the surviving server could take over client sessions transparently after a short pause since it had full state information. SFT-III was the first NetWare version able to make use of SMP hardware – the I/O engine could optionally be run on its own CPU. NetWare SFT-III, ahead of its time in several ways, was a mixed success.
With NetWare 3 an improved routing protocol, NetWare Link Services Protocol, has been introduced which scales better than Routing Information Protocol and allows building large networks.

NetWare 4.x

Version 4 in 1993 introduced NetWare Directory Services, later re-branded as Novell Directory Services, based on X.500, which replaced the Bindery with a global directory service, in which the infrastructure was described and managed in a single place. Additionally, NDS provided an extensible schema, allowing the introduction of new object types. This allowed a single user authentication to NDS to govern access to any server in the directory tree structure. Users could therefore access network resources no matter on which server they resided, although user license counts were still tied to individual servers.
Version 4 also introduced a number of useful tools and features, such as transparent compression at file system level and RSA public/private encryption.
Another new feature was the NetWare Asynchronous Services Interface. It allowed network sharing of multiple serial devices, such as modems. Client port redirection occurred via a DOS or Windows driver allowing companies to consolidate modems and analog phone lines.
The upgrade was not without its flaws – initially NetWare 4 could not coexist with earlier versions on the same network because of incompatibilities.

NetWare for OS/2

Promised as early as 1988, when the Microsoft-IBM collaboration was still ongoing and OS/2 1.x was still a 16-bit product, the product didn't become commercially available until after IBM and Microsoft had parted ways and OS/2 2.0 had become a 32-bit, pre-emptive multitasking and multithreading OS.
By August 1993, Novell released its first version of "NetWare for OS/2". This first release supported OS/2 2.1 as the base OS, and required that users first buy and install IBM OS/2, then purchase NetWare 4.01, and then install the NetWare for OS/2 product. It retailed for $200.
By around 1995, and coincidental with IBM's renewed marketing push for its 32-bit OS/2 Warp OS, both as a desktop client and as a LAN server, NetWare for OS/2 began receiving some good press coverage. "NetWare 4.1 for OS/2" allowed to run Novell's network stack and server modules on top of IBM's 32-bit kernel and network stack. It was basically NetWare 4.x running as a service on top of OS/2. It was compatible with third party client and server utilities and NetWare Loadable Modules.
Since IBM's 32-bit OS/2 included Netbios, IPX/SPX and TCP/IP support, this means that sysadmins could run all three most popular network stacks on a single box, and use the OS/2 box as a workstation too. NetWare for OS/2 shared memory on the system with OS/2 seamlessly. The book "Client Server survival Guide with OS/2" described it as "glue code that lets the unmodified NetWare 4.x server program think it owns all resources on a OS/2 system". It also claimed that a NetWare server running on top of OS/2 only suffered a 5% to 10% overhead over NetWare running over the bare metal hardware, while gaining OS/2's pre-emptive multitasking and object oriented GUI.
Novell continued releasing bugfixes and updates to NetWare for OS/2 up to 1998.

Strategic mistakes

Novell's strategy with NetWare 286 2.x and 3.x proved very successful; before the arrival of Windows NT Server, Novell claimed 90% of the market for PC based servers.
While the design of NetWare 3.x and later involved a DOS partition to load NetWare server files, this feature became a liability as new users preferred the Windows graphical interface to learning DOS commands necessary to build and control a NetWare server. Novell could have eliminated this technical liability by retaining the design of NetWare 286, which installed the server file into a Novell partition and allowed the server to boot from the Novell partition without creating a bootable DOS partition. Novell finally added support for this in a Support Pack for NetWare 6.5.
As Novell used IPX/SPX instead of TCP/IP, they were poorly positioned to take advantage of the Internet in 1995. This resulted in Novell servers being bypassed for routing and Internet access in favor of hardware routers, Unix-based operating systems such as FreeBSD, and SOCKS and HTTP Proxy Servers on Windows and other operating systems.
A decision by the management of Novell also took away the ability of independent resellers and engineers to recommend and sell the product. The reduction of their effective sales force created this downward spiral in sales.

NetWare 4.1x and NetWare for Small Business

Novell priced NetWare 4.10 similarly to NetWare 3.12, allowing customers who resisted NDS to try it at no cost.
Later Novell released NetWare version 4.11 in 1996 which included many enhancements that made the operating system easier to install, easier to operate, faster, and more stable. It also included the first full 32-bit client for Microsoft Windows-based workstations, SMP support and the NetWare Administrator, a GUI-based administration tool for NetWare. Previous administration tools used the Cworthy interface, the character-based GUI tools such as SYSCON and PCONSOLE with blue text-based background. Some of these tools survive to this day, for instance MONITOR.NLM.
Novell packaged NetWare 4.11 with its Web server, TCP/IP support and the Netscape browser into a bundle dubbed IntranetWare. A version designed for networks of 25 or fewer users was named IntranetWare for Small Business and contained a limited version of NDS and tried to simplify NDS administration. The intranetWare name was dropped in NetWare 5.
During this time Novell also began to leverage 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 such as ZENworks and BorderManager.
NetWare still required IPX/SPX as NCP used it, but Novell 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 tools, such as the IPX/IP gateway, to ease the connection between IPX workstations and IP networks. It also began integrating Internet technologies and support through features such as a natively hosted web server.

NetWare 5.x

With the release of NetWare 5 in October 1998 Novell switched its primary NCP interface from the IPX/SPX network protocol to TCP/IP to meet market demand. Products continued to support IPX/SPX, but the emphasis shifted to TCP/IP. New features included:
The Cluster Services improved on SFT-III, as NCS did not require specialized hardware or identical server configurations.
Novell released NetWare 5 during a time when NetWare's market share had started dropping precipitously; many companies and organizations replaced their NetWare servers with servers running Microsoft's Windows NT operating system.
Around this time Novell also released their last upgrade to the NetWare 4 operating system, NetWare 4.2.
NetWare 5 and above supported Novell NetStorage for Internet-based access to files stored within NetWare.
Novell released NetWare 5.1 in January 2000. It introduced a number of tools, such as:
NetWare 6 was released in October 2001, shortly after its predecessor. This version has a simplified licensing scheme based on users, not server connections. This allows unlimited connections per user to any number of NetWare servers in the network. Novell Cluster Services was also improved to support 32-node clusters; the base NetWare 6.0 product included a two-node clustering license.

NetWare 6.5

NetWare 6.5 was released in August 2003. Some of the new features in this version included:
The latest – and apparently last – Service Pack for NetWare 6.5 is SP8, released May 2009.

Open Enterprise Server

1.0

In 2003, Novell announced the successor product to NetWare: Open Enterprise Server. First released in March 2005, OES completes the separation of the services traditionally associated with NetWare from the platform underlying the delivery of those services. OES is essentially a set of applications that can run atop either a Linux or a NetWare kernel platform. Clustered OES implementations can even migrate services from Linux to NetWare and back again, making Novell one of the very few vendors to offer a multi-platform clustering solution.
Consequent to Novell's acquisitions of Ximian and the German Linux distributor SuSE, Novell moved away from NetWare and shifted its focus towards Linux. Marketing was focused on getting faithful NetWare users to move to the Linux platform for future releases. The clearest indication of this direction was Novell's controversial decision to release Open Enterprise Server on Linux only, not NetWare. Novell later watered down this decision and stated that NetWare's 90 million users would be supported until at least 2015. Meanwhile, many former NetWare customers rejected the confusing mix of licensed software running on an open-source Linux operating system in favor of moving to complete Open Source solutions such as those offered by Red Hat.

2.0

OES 2 was released on 8 October 2007. It includes NetWare 6.5 SP7, which supports running as a paravirtualized guest inside the Xen hypervisor and new Linux based version using SLES10.
;New features include:
some organizations still used Novell NetWare, but it had started to lose popularity from the mid-1990s, when NetWare was the de facto standard for file- and printer-sharing software for the Intel x86 server platform.
Microsoft successfully took market share from NetWare products from the late-1990s. Microsoft's more aggressive marketing was aimed directly at non-technical management through major magazines, while Novell NetWare's was through more technical magazines read by IT personnel.
Novell did not adapt their pricing structure to current market conditions, and NetWare sales suffered,

NetWare Lite / Personal NetWare

and Personal NetWare were a series of peer-to-peer networks developed by Novell for DOS- and Windows-based computers aimed at personal users and small businesses between 1991 and 1995.

Performance

NetWare dominated the network operating system market from the mid-1980s through the mid- to late-1990s 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 noteworthy benchmark pitted NetWare 3.x running NFS services over TCP/IP against a dedicated Auspex NFS server and an SCO Unix server running NFS service. NetWare NFS outperformed both 'native' NFS systems and claimed a 2:1 performance advantage over SCO Unix NFS on the same hardware.
The reasons for NetWare's performance advantage are given below.

File service instead of disk service

When 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:
  1. Read first block of directory
  2. Continue reading subsequent directory blocks until the directory block containing the information on the desired file was found, could be many directory blocks
  3. Read through multiple file entry blocks until the block containing the location of the desired file block was found, could be many directory blocks
  4. Read the desired data block
NetWare, since it was based on a file service model, interacted with the client at the file API level:
  1. Send file open request
  2. 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-1980s, 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.

Aggressive caching

From the start, the NetWare design focused on servers with copious amounts of RAM. The entire file allocation table was read into RAM when a volume was mounted, thereby requiring a minimum amount of RAM proportional to online disk space; adding a disk to a server would often require a RAM upgrade as well. Unlike most competing network operating systems prior to Windows NT, NetWare automatically used all otherwise unused RAM for caching active files, employing delayed write-backs to facilitate re-ordering of disk requests. An unexpected shutdown could therefore corrupt data, making an uninterruptible power supply practically a mandatory part of a server installation.
The default dirty cache delay time was fixed at 2.2 seconds in NetWare 286 versions 2.x. Starting with NetWare 386 3.x, the dirty disk cache delay time and dirty directory cache delay time settings controlled the amount of time the server would cache changed data before saving the data to a hard drive. The default setting of 3.3 seconds could be decreased to 0.5 seconds but not reduced to zero, while the maximum delay was 10 seconds. The option to increase the cache delay to 10 seconds provided a significant performance boost. Windows 2000 and 2003 server do not allow adjustment to the cache delay time. Instead, they use an algorithm that adjusts cache delay.

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:
  1. Client sends read request to server
  2. Server acknowledges request
  3. Client acknowledges acknowledgement
  4. Server sends requested data to client
  5. Client acknowledges data
  6. 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:
  1. Client sends read request to server
  2. 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 only send a "positive acknowledgement". The bottom line to this 'trust the network' approach was a 2/3 reduction in network transactions and the associated latency.

Non-preemptive OS designed for network services

One of the raging debates of the 1990s 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 system. 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 flexibility by running database, email, web and other services as well. 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, virtual memory, graphical user interfaces, etc. Processes and services running under the NetWare OS were expected to be cooperative, that is to process a request and return control to the OS in a timely fashion. On the down side, this trust of application processes to manage themselves could lead to a misbehaving application bringing down the server.