Cover V01, I03
Article

sep92.tar


UNIX networking in the 90s -- DOS/UNIX Connectivity

Bruce H. Hunter

From about 1970 to 1980, UNIX evolved and grew at Bell Labs and at universities until around 1980 when it finally became robust enough to function in commercial computer environments.

From 1980 to the present, UNIX continued to grow, responding to the complex, demanding needs of the engineering, scientific and business worlds. Many of these UNIX technologies are interesting and worthy of mention, but perhaps the past 10 years of network developments have been the most significant, because they so are monumental in nature that they have not only changed UNIX but also all computing everywhere.

AT&T got the ball rolling early by putting UUCP into UNIX. While a start, uucp hardly qualifies as a really useful network by today's standards. Besides, whereas cu and uucp operated at 300 baud on phone lines and whatever speed the I/O card's UART could handle, 9600 max on a hardwire, today moving data at 300 baud on a switched network would seem as exciting as watching paint dry, and it wouldn't be much faster.

The real networking revolution came from outside AT&T. ARPANET was developed by the U.S. government, which gave birth to the Internet. Meanwhile, Ethernet technology was developed by Xerox, Intel, and DEC. The Internet uses TCP/IP protocols, and eventually Ethernet-TCP/IP protocols proved to be a robust and commercially successful protocol stack. Ethernet-TCP/IP made its commercial debut on the UNIX scene when the University of California at Berkeley implemented it in BSD Version 4.

Compared to UUCP's 300 baud, the Ethernet did its work at a blazing 10,000,000 bits per second, and the line speed was only part of the formula; the protocols were equally important. The Berkeley R protocols (rlogin, rcp, rsh) did their thing without the network being apparent.

NFS (Network File Systems developed by Sun Microsystems) was the next major step in the UNIX network revolution. With NFS, any system in the domain could access files as if they were on the local system. YP (now known as NIS) was a natural companion.

Meanwhile, universities continued to contribute important networking research. Columbia University developed Kermit, which allowed any computer with a modem to get files from any other computer. Although at first glance this may seem relatively innocuous from today's perspective, this simple program opened up a new paradigm for the period: heterogeneous network access. Meanwhile, Stanford was giving rise to a windowing system called W, which, under Project Athena at MIT, was further developed as X. As a result, today any UNIX system can have a graphical interface and execute programs on any other UNIX system as if it those programs were local.

It's important to recognize that Kermit was an innovative idea. It was, in effect, the first successful heterogeneous networking tool, because the OS made no difference. It set the stage for what followed and for what people would eventually come to expect out of networking: remote file access as if it were local, remote execution as if it were local, and full graphics from any machine in any OS to any other machine in any OS.

These revolutionary developments ultimately came about in two ways: 1) by universities developing them to answer a need; and 2) by companies commercializing those that already existed or creating new ones to make a profit from a need. However, the next phase, full heterogeneous interoperability, is coming from private industry this time, and not from giants like IBM, DEC, or Sun, but rather from companies that were little more than garage operations only a few years back.

A Brief History of UNIX Networking

Early system administrators didn't get involved with the network or its hardware. Networking was taken care of by datacomm people, and the system staff stuck strictly to system administration. How times have changed. Thanks to explosive network growth, both in count and size, network administration comprises most of our system administration work. Not only that, administrators are also expected to know the network hardware intimately.

Increasing size and the resulting problems with out-of-band traffic led to routers and subnetworking, which in turn created the market for sophisticated and intelligent multi-processor routers, multi-port multi-processor file servers, and highly specialized devices like the Kaplana Etherswitch. To give you an idea of how fast this networking revolution has been taking place, three years ago, Auspex, Cisco, Wellfleet, Proteon, and Kaplana were small or non-existent companies, but today they produce leading-edge network-related technologies.

Paying the Price for Increasing Network Sophistication

Today subnetworking makes our domains manageable by increasing the number of systems we can have while reducing the traffic on any one piece of the overall domain network. Unfortunately, we have to pay an expensive price: increasingly complex network design and maintenance. A multi-Ethernet ported file server with six ports on six subnets has six system names and six Internet and Ethernet addresses. The network supporting this machine needs at least a 6-port router to deal with the subnets, and every system must have that router added to its route table or it won't even come up. In addition, you must map the wall plates in every office to know which subnetwork it serves, and separate and custom /etc/fstabs or /etc/filesystems files must be maintained for each subnetwork. In fact, you can't even casually move a workstation from one office to another unless you know for sure they are on the same subnet. With all this complexity, it's not surprising that network-related administration currently comprises most of a system administrator's time.

As workstations redouble their power yearly, the load on the network increases proportionally. Naturally, stress on the network increases along with it, and administrators have no choice but to respond.

Today we find ourselves looking at Etherswitches to route traffic through bottlenecks and pass single-wire capacity by using large-scale data transmission in parallel. Even watching the network has brought about special hardware, such as the network probes used on monitors like Concord's Trakker.

As for future trends, a few short years ago, FDDI's promise of 100,000,000 bits per second seemed staggering, but today that is being challenged by CDDI, 100-megabit transmission over copper twisted-wire pair. However, since both FDDI and CDDI are token ring technologies, they test out at only 2.5 times faster than traditional Ethernet in actual use, and no one seems all that impressed. In fact, many technical facilities have been running at 1 billion bits per second for a long time, and I've heard of specs for 10 billion bits-per-second networks. Where networking will be in 10 years no one knows for sure, but, if nothing else, I can guarantee that its speed will be dazzlingly fast.

UNIX/DOS Interoperability

The influence of networking is so pervasive, it is introducing problems that never would have fallen within the domain of UNIX system administration a few years ago. For example, in the past few years, the word "interoperability" has had to be redefined in the UNIX context because of ongoing networking developments. At first it was used to mean that one UNIX system could talk to another, but then the X Window System redefined the term to mean any UNIX system could be either server or client for any other UNIX system. Lately it has been redefined to cross operating system lines, and UNIX/DOS connectivity is the hottest network-related topic on many UNIX sites today.

Many UNIX administrators looked down on DOS and managed to ignore it for as long as possible. This standoffish approach to DOS wasn't surprising, considering that a few years ago administrators were scrambling to separate noisy DOS traffic from their heavily taxed UNIX networks. NetBIOS is fine in its own world, but when it is turned loose on a UNIX network, the net slows to a crawl because it is flooded with error messages and illegal broadcasts. In order to maximize bandwidth and to minimize errors in both worlds, most UNIX sites deliberately separated their Ethernet TCP/IP traffic from noisy DOS traffic by bridging with adaptive bridges or by subnetworking and using routers to span the gap across the networks.

Indeed, there was a time when people speculated about who would win the OS war, UNIX or DOS. But today it's becoming all too apparent that DOS will never displace UNIX, and vice versa. The war is over, and interoperability is the current goal.

Thus, many administrators are currently in the curious position of having to do an abrupt about-face and confront DOS on friendly terms by trying to achieve UNIX/DOS connectivity. One of the first things we must do is learn how to administer the interface to the DOS world, which so far is proving to be rather difficult from the UNIX side. Most of the advances so far have been from the DOS side, but since UNIX/DOS connectivity has become a priority in the computer industry. it's only a matter of time before interoperability becomes standard.

Network Development on DOS and UNIX

UNIX and DOS took different commercial paths. UNIX machines developed and spread slowly on machines that stressed technical quality, power, and speed, and networking was deliberately developed and built into them. Independent DOS PCs, on the other hand, propagated explosively on cheap, tiny machines on which user-friendliness was always the top priority, Speed, technical quality, and power would come much later, and networking was never a selling point until recently. However, the market potential of having millions of PCs working in concert was too large to ignore, and because no networking facilities were built into PCs, Novell and Banyan made their names by essentially doing for DOS what NFS did for UNIX: they created servers to do the networking for them. All PC users needed to do was was load up the appropriate cards, drivers, and software, and the server would do the rest. The hardware manufacturers who made the cards (3COM Corporation, Ungermann-Bass, Racal Interlan Inc., and others) also made a fortune, and all of these developments resulted in increased demand and competition, which, ironically, ultimately benefited the UNIX world, because Ethernet cards went from $800 to as low as $85.

The Technical Nitty-Gritty

How did UNIX networking succeed so well? UNIX and the Internet have a no-lose protocol set. In fact, Ethernet-TCP/IP has proven to be the most robust and troublefree protocol set in existence to date. Another major reason for UNIX's success (and the Ethernet's) is that every UNIX system is self contained in terms of networking. In fact, UNIX networking has been so carefully developed over the years that today it is no exaggeration to say that every major version of UNIX and all its variants are fully equipped with networking -- not just TCP/IP (which frequently means the R protocols, telnet and FTP) but also NFS and NIS as well (what an irony in a time when some of these UNIX versions no longer come with something that used to be considered standard UNIX, a C compiler). It just goes to show how commercially important networking has become.

The technical network developments on UNIX systems are marvelous and fascinatingly thorough. Not only are most UNIX systems ready to do networking as an ordinary node, they can do routing as well. That is, any UNIX system that is network ready can be an ordinary node, an NIS (YP) master or slave, a printer server, or an NFS server -- it's a function of how many Ethernet cards the machine has and what software is enabled. Add another card or two and the machine becomes a router -- all of this for the price of a UNIX binary license. The key to the satisfying thoroughness of these developments is that UNIX is an open system.

What a contrast to DOS. DOS does not automatically network as sold, but since it is ubiquitous, DOS networking developed because of its tremendous market potential. The networking products don't act like UNIX built-ins; instead separate systems act as file and network servers, and the software is installed separately on the DOS system. For example, booting a DOS system with Novell you are asked if you want the Novell product (active). If not, you have DOS; if so, you have Novell.

The protocol stacks are very different indeed. UNIX uses the classic Ethernet-TCP/IP stack in the lowest four levels of the OSI model.

TCP UDP ICMP ...  transport
IP                internet
Ethernet          link
Ethernet (twp, coax, fiber)
physical

Novell and Banyan are substantially different, both from UNIX and each other. Here is the more familiar Novell protocol stack:

NetBIOS
session
XNS
SPX RIP PEP       transport
IPX               network
Ethernet || token ring ...
link
twp, coax, fiber  physical

Banyan's virtual network system (called Vines for short), is disconcertingly different, showing the troublesome lack of consistency among DOS network products today:

NetBIOS           session
TCP XNS           transport
IP                network
Ethernet, Token Ring, .. link
twp, coax, fiber  physical

It resembles Ethernet-TCP/IP, doesn't it? Only the Xerox protocol XNS sharing the transport layer and IBM's NetBIOS just above it reveal how different it is. However, it is similar enough at the physical and link layers to share the wire with UNIX, but not without its share of problems. These problems can be so severe that they must be isolated by bridge or router to prevent chaos on the UNIX side.

Of course, achieving true UNIX/DOS connectivity is not exactly going to be a walk in the park. Here are some of the catches. NetBIOS is a software specification and is implemented differently by individual vendors. XNS is implemented at different levels by Banyan as opposed to Novell, and it is not used by UNIX at all. IPX (Internetwork Packet Exchange) is very different from IP, and on it goes. At this level in UNIX, (IP) networks are known by unique addresses such as 128.123.0.0. If the address was obtained legitimately, it is truly unique, the only one in existence in the world. But Novell networks are nowhere near as comprehensive as the 4-byte/32-bit Internet address, they are hardly unique (with numbers like 1, 2, 3 ...), and they are not compatible with the IP part of TCP/IP. You can see the problems.

Joining DOS Networks to UNIX

With all of these protocol stack differences, how are UNIX system and network administrators going to join DOS networks to UNIX networks? Standalone DOS is no problem. SCO, for one, has DOS running as a process on UNIX. There are even non-X86 emulations like IBM's 86sim for AIX and SoftPC for Sun SPARC systems. So a simple solution would be adding another Ethernet card to your 486 and running one of these packages. Unfortunately, there is a catch: DOS over UNIX is virtual and can't see a hardware device like an Ethernet card. In other words, DOS cannot reach UNIX's hardware. The emulation software will rely on UNIX to get to the hardware through its own drivers, and UNIX will go for the card on the UNIX network every time.

The bulk of the solution will have to come from the PC side of the line. A multi-protocol interface will be required, and fortunately they exist. ODI is the popular choice at the moment. A commercial product that provides this multi-protocol connectivity is FTP's PC/TCP software. Novell seems better equipped (at the moment) to handle multi-protocols and UNIX connectivity, although Banyan has promise. If you are married to Banyan, you may have to look at Novell as an intermediate solution, going from Banyan to Novell to UNIX with Novell's portable NetWare.

Even if these solutions get you to DOS, how do the users get any of their applications to run? By using X Windows. X Windows on DOS? Why not? The OS is not a part of the X Window specification. Now the workstation is the host and the application, even if it is on a DOS client. That's what X is all about.

One Possible Software Solution

Here is one possible UNIX/DOS connectivity solution. Let's say that you have a mid-sized UNIX LAN that needs to contact a Banyan server's disk by way of UNIX workstations. The PC/TCP software can handle the multi-protocol problem at the lower layers, while the Quarterdeck DESQview/X package can handle the upper-level protocols.

Users will do an rlogin to the DOS system and if necessary do an xhost to clear the security barriers. From there Microsoft Windows on X can do whatever you want to do, including getting to the Banyan server. The code was originally written to get to Novell, and it does so quite well. An additional plus, the DESQview/X software is relatively easy to install and run, and it will give you good results once a few access permissions and files are taken care of.

DOS Gateways

There are also gateways that can do the job as well, for a gateway is a device that does protocol translations in and above the IP layer. As it turns out, Logicraft has been providing a DOS/UNIX gateway solution for a few years now. It's Omni-Ware product gives you DOS on a PC, accessible by UNIX, on the UNIX side of the network. Omni-Ware software is loaded on the workstations, and an Omni-Ware card and appropriate software is added to a PC in a simple, straightforward operation. Now the workstation is a keyboard and monitor server to the DOS system whenever DOS needs to be run. It runs, as you would suspect, in its own window on X, freely allowing the workstation to go about all of its other UNIX work.

To get to a DOS network, an Ethernet card is added to the DOS PC. Now it has two, the Omni-Ware card and the add-on Ethernet card. When working in the DOS window (under X of course), you can now access the Banyan or Novell network.

More Solutions to Come

Computer trade magazines and papers are full of articles on UNIX/DOS connectivity these days, and there will be many other solutions to read about in future issues. But if you need DOS connectivity on your UNIX site right now, you will probably have to opt for something similar to the hybrid described above. The only current alternative is a UNIX workstation and a PC DOS system on every desk, not exactly the most economical way to go.

As we move further into the 90s, networking problems and solutions will almost certainly become more complex, not less. Promises of easy solutions, simple administration through object- oriented code and easy-to-use graphical interfaces only mask ever more sophisticated underlying technologies. Now, more than ever, the only real answer to large-scale systems management in the 90s is educated administrators.

About the Author

Bruce H. Hunter is the co-author, with Karen Hunter, of UNIX Systems Advanced Administration and Management Handbook (Macmillan: 1991).