Cover v07 i13 Article

Usenix 1998: UNIX, The Internet, and All that Jazz

Ted Nolan
 

In mid-June, the annual Usenix Technical Conference returned to New Orleans. This week-long event focuses mainly on developments in UNIX (and UNIX-like systems) and networking (especially IP networking and the Internet). As usual, there was a plethora of interesting papers, talks, and BOFs.

Scene

The New Orleans Marriott sits on the corner of Canal and Chartres streets, near the heart of the French Quarter. Does a conference setting really have any affect on the content? Not really, but try finding a decent restaurant or live jazz near the conference hotel in Anaheim.

2. Tutorials

Before the conference proper, Monday and Tuesday were devoted to full-day tutorials. I took Introduction to Java and Hot Topics in Modern System Administration.

2.1. Java

The Java tutorial was about as you might expect for the topic. Speaking as a C programmer, I find Java more approachable than C++ (which seems insanely large and overly complicated to me), but have not seen anything to make me prefer it to Tcl/Tk, at least for cross-platform GUIs. Nonetheless, the tutorial provided a decent introduction.

2.2. System Administration

Evi Nemeth and Trent Hein led the Hot Topics tutorial, which I found very interesting. The UNIX System Administration Handbook (http://www.admin.com) by Nemeth, Snyder, Seebass, & Hein is probably the best overall guide to UNIX and network administration available, and Nemeth and Hein used their tutorial to cover new developments in the same territory.

2.2.1. Squid

If you have a large site with lots of Web access, you probably need Squid (http://squid.nlanr.net/Squid). Squid is a Web cache server that can cut the traffic on your external links by caching Web pages locally. You can deploy a hierarchical system of Squids both within your organization and with other "nearby" Squid sites (such as your ISP) on the Internet. A typical Squid deployment will get a 30-40% cache hit rate, and this may go higher if your internal users tend to be focused on similar subjects.

If Squid has a weakness, it is that it has to believe the "freshness" indicators given on Web pages, and in particular Microsoft (surprise!) and AOL (surprise!) tend to set bad values for these.

2.2.2. Bind V8

The Internet Domain Name System (DNS) is basic to almost every aspect of using the Internet. When I started with SRI, we would FTP a file called hosts.txt from the NIC every week or so. This flat ASCII file listed, in theory, every host on the Internet and matched its host name to its IP address. Obviously, this was not a scaleable solution, and DNS was the answer. The first and still most popular DNS server was developed at UCB as the Berkeley Internet Name Daemon (bind) and is now maintained by Paul Vixie for the Internet Software Consortium. The current release, Bind 8.1.2, is available from the ISC at: http://www.isc.org.

Bind version 8 provides several new features, including:

  • RFC 2136 dynamic updating of Resource Records in response to requests coming in from the Net.

  • New types of RRs, such as the LOC record that specifies a system's location and size and the SRV record for service location (like MX records for non-mail services).

  • A new and more flexible configuration file format with support for more finely grained logging.

I have not looked closely at the dynamic update features, but this may provide a standards-based approach for our military friends to do what MSE's Tactical Name Server (TNS) does now in its own unique way.

2.2.3. Samba

Samba is a freely available suite of programs (http://samba.anu.edu.au/samba), which provides a high level of interoperability between UNIX and Windows (95/98/NT) machines. In particular, Windows machines can mount drives from a UNIX server (including those drives that the server itself may mount from elsewhere via NFS) and print to UNIX printers. UNIX machines can print to PC printers, access PC files from an FTP-like interface, and backup Windows machines to UNIX tape drives (in standard UNIX tar format).

The only current limitation to Samba is that most UNIX systems cannot use it to directly mount a shared PC drive as a filesystem. Linux does manage this now, and it is probably inevitable that the capability will migrate to commercial UNIX flavors if only to spare them embarrassment.

Sun's PC NFS was a good product in the days of DOS, but if you have recent Windows systems, there's really no longer any need for it, or indeed any third party software on the clients - just install Samba on the server.

2.2.4. 6 Bone

IPv6 is still struggling to achieve critical mass. It seems that with CIDR and other address-thriftiness techniques, the crisis of IP address depletion is not as acute as was initially thought. Still IPv6 will happen someday, and if you want to join those on the bleeding edge, you can install a v6 stack on all the free UNIX flavors and most of the commercial ones. Check http://www-cnr.lbl.gov/6bone for details on how to connect.

2.2.5. WAN Performance

Most of this topic was pretty general, but I can point you to a neat tool for monitoring your routers and producing traffic graphs on the Web in real-time: Check out the Multi-Router Traffic Grapher (MRTG) at: http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html.

3. General Sessions

After devoting Monday and Tuesday to tutorials, the general session of the conference began on Wednesday.

3.1. Conference Format

Like Gaul, a Usenix conference is divided into three parts. The first part or track features the presentation of those papers accepted for the conference, along with a question and answer session for each one. The second track features Invited Talks. These talks cover topics of interest to Usenix members and are given by experts in the various fields covered. The third track, Freenix, focuses on developments in the non-commercial UNIX and Open-Source (http://www.opensource.org) worlds.

I generally skip paper presentations, since those are available in the proceedings, and I concentrate on panel sessions and invited talks.

3.2. Keynote

The keynote speaker for the formal conference opening session on Wednesday morning was James Randi, perhaps better known as The Amazing Randi. Randi is a skeptic who is appalled at the general ignorance of Science, and indeed of rational thought itself in American society today. He has devoted his career to debunking psychics and pseudo-scientific quackery, something his training as a stage magician simplifies considerably.

Randi opened his talk by saying, in effect,

I'm the guy who tells you all the things I shouldn't have to tell you: Hey, there is no Santa Claus, and by the way, Elvis is dead.

He went on to show how he had already duped us once, just in his opening remarks and to expose several scams (of which he considers homeopathy to be one) and to talk about how the Internet has made scamming even easier.

It was a very entertaining talk (though not terribly relevant to computers, except to point out that people tend to believe anything that comes off a computer or the Internet) and a rather scary one. There are a lot of dumb people in the world, and a lot of the smart ones just don't think.

If your horoscope is favorable, you can check out Randi's worldview at http://www.randi.org.

3.3. Whither IPSEC?

This Wednesday morning panel focused on different implementations of IPSEC (IPv6 security for IPv4). There was general agreement that, whatever the implementation, a common API for accessing IPSEC needs to be specified in order for IPSEC to be useful. MIT's version of IPSEC is available at: http://web.mit.edu/network/isakmp.

3.4. Mixing UNIX and PC Operating Systems via Microkernels

This Wednesday afternoon panel discussed Softway Systems' experience in building UNIX on top of the Windows NT microkernel ("The world's biggest microkernel"), and Apple's experience implementing Rhapsody on top of the Mach microkernel.

You may know Softway Systems' product as OpenNT, but it has just been renamed Interix. Interix extends the existing Windows NT Posix subsystem to full Posix functionality (they claim they could have the system branded as UNIX if they wanted to spend the money), and makes it "play nice" with the Win32 subsystem (where most commercial applications live).

The Interix approach is different from the approach taken by Dave Korn's Uwin and DataFocus's NuTCRACKER, which try to emulate UNIX/Posix functionality wholly within the Win32 subsystem.

Rhapsody is an upcoming operating system for the Mac. Its genesis is in the old A/UX UNIX implementation, but the lower levels have been replaced with Mach, and it will co-exist with an emulation system for current MacOS programs. Given the venue, it's not surprising that the audience was somewhat hostile to hiding the UNIX basis of Rhapsody to the point where the average Mac user can't get at it. On the other hand, we are talking Mac users here.

3.5. Succumbing to the Dark Side of the Force Web Site

As you might expect, this Wednesday afternoon talk on "The Internet as Seen from an Adult Web Site" attracted a large audience. Dan Klein, the presenter, says that it suddenly dawned on him who the people making money off the Internet were, and that he probably knew more about networking than they did. He purposely did not address the morality issue, other than to say:

Which moral choice would you rather I made?

Peddle smut?

Be a typical computer salesman?

In addition to some discussion of Web loading and security (his site is subject to constant cracking attempts), he offered some interesting parenthetical speculations such as:

Digital Image Compression technology is being driven by Internet pornography.

DVD will succeed where Laser Disk failed, because Philips has no problem licensing its technology to adult video vendors and Sony did.

"I think my site now has better security than most banks".

And, Randi says his mother knows what he does for a living.

3.6. Historical UNIX

On Thursday morning, Dennis Ritchie reflected on the classic 1973 CACM paper on UNIX. He discussed what he and his co-workers did right in creating UNIX and what was lacking (primarily a robust filesystem and any concept of networking).

After Ritchie's talk, survivors of the first two UNIX ports spoke. Although the ports were done independently, both efforts chose Interdata machines - an 8/32 for the Bell Labs team, and a 7/32 for Juris Reinfelds of the University of Wollongong in Australia.

Reinfelds made an interesting and somewhat counterintuitive point in his talk. Paraphrasing, "So, is UNIX portable? Should I say Q.E.D since I did in fact port it? I would have to say not as such. The modules I had to rewrite were a substantial portion of the kernel code. The key thing about UNIX was that it was small, so even rewriting a good part of the kernel wasn't that huge an undertaking. Today, the amount of code you would have to write to port a version of UNIX from one platform to another comprises more lines than the entire UNIX system did at the time I ported it."

3.7. The Cathedral and the Bazaar

Thursday's Invited Talks track opened with a presentation of the two main models of software development in the open-source arena.

In the cathedral model, a small team of developers shepherds a project closely, taking care to pick and choose from all software contributions to the project, and works hard to integrate them into a coherent whole. The main examples of this approach are the various BSD efforts, starting with CSRG at Berkeley, and continuing today with the FreeBSD, NetBSD, and OpenBSD.

In the bazaar model, central control is much looser or absent, and different teams or individuals put the pieces of a project together in their own ways. Linux development is the most prominent example of a near-bazaar effort.

Marshall Kirk McKusick of BSD fame defended the cathedral model, while Eric Raymond (who compiled the published version of the Hacker's Dictionary among other things) spoke in favor of the bazaar. Both men acknowledged that few software efforts are purely one or the other, and that while a cathedral project like BSD may have more consistency and cohesiveness, a bazaar project like Linux will probably have faster overall development.

During the question session, talk turned to the concept of open-source software itself. In particular, Rob Kolstad of BSDI wanted to know how the vast bulk of programmers are supposed to make a living in an open-source world. He didn't get a wholly satisfactory answer, but I'm not overly worried myself: There will always remain a large number of software projects so incredibly boring that nobody will take them on as a hobby. (Hmm, OK perhaps I am worried.)

3.8. FreeBSD

Thursday afternoon I skipped over to the Freenix track for the FreeBSD talk. I run FreeBSD at home on my 386 and 486 machines, and so was interested in any new developments. There was no radical news, but FreeBSD usage continues to grow (the world's busiest FTP server runs on FreeBSD), and Linux binary compatibility is improving, which leverages the commercial applications now becoming available in that format. You can check out the FreeBSD world at http://www.freebsd.org, or get their latest newsletter at http://ftp.freebsd.org/pub/FreeBSD/newsletter/issue2.pdf.

3.9. Linux

Of course, the most successful free UNIX-like system is Linux, so there was quite a crowd to hear Linus Torvalds gave his talk on the state of the Linux world.

Torvalds is a soft-spoken gentleman who, I think, likes from time to time to rattle his audience, as he did during this presentation. First, he declared that "Java is dead" due to Sun's stupidity, and second that the next "Java" is the Win32 binary. In order to achieve world domination "fast", he feels it is essential to run Windows binaries.

In terms of Linux news, he announced that the stable 2.2 kernel would soon be available. He also said he was working to define a Linux Standard Base of software, which would be common across all the different Linux distributions, so that when you buy applications for Linux, you don't run into Linux version skew problems and dependencies on files not included in your distribution.

Aside from the main Intel version of Linux, there are now ports for the Alpha, PowerPC, ARM, and Sparc CPUs. Linux has also been ported to run on top of Mach, but Torvalds thinks this is a bad idea.

Work is proceeding on the KDE and GNOME desktop interfaces (more on this later), and Corel is porting its office suite to Linux (Corel WordPerfect is already available). Future versions of Linux may split the UNIX suid bit into several capability bits to make root less of an all or nothing proposition.

During the question and answer session, Torvalds gracefully resisted attempts to get him to react to Richard Stallman's (of the GNU project) branding Linux as GNU/Linux in GNU publications. He also made the interesting assertion that "Linux is the #2 operating system on the PC. NT is #3."

3.10. Other Conferences

On Friday, the Invited Talks track opened with highlights from other Usenix-sponsored conferences.

One interesting bit from the 7th Usenix Security Symposium is the observation that many current encryption methodologies depend on the difficulty of factoring large numbers, but that our ability to factor large numbers is increasing exponentially. Unless there is a theoretical limit on factoring speed (which has yet to be proven), this has dire implications for encryption technology.

The Conference on Object-Oriented Technologies & Systems featured a Web vs. distributed objects panel, a discussion of using Java to implement performance-sensitive distributed objects (as in medical image data), a look at Java for transactions, mobile objects & agents, and computing symbolic derivations at compile time with C++ templates. This last was apparently a C++ compiler torture test, which more or less implemented the functions of Mathematica at compile time with C++ templates. Some people have too much free time...

The Symposium on Internet Technologies & Systems included a keynote by the UUNET operations manager who spoke of the Internet reaching puberty, and gave a list of reasons why it has done as well as it has. These included the facts that the Internet is user driven, doesn't bill according to distance, is built on open systems, and needs only to support IP.

He also mentioned some interesting facts about UUNET operations. UUNET is currently shifting to OC-48 backbones with a goal of 100ms latency, even though UUNET backbone traffic is doubling every four months. Given the rapid nature of Internet change, they don't try to plan more than a year in advance, and have found, historically, that one year is the lifespan of a top-of-the line router (as a top-of-the-line router). After a year, they ship their old routers to Europe, after another year, they go to the Pacific Rim. This works well, since he estimates Europe is 3 to 4 years behind the United States in Internet growth, and the Pacific Rim another year behind Europe.

He projects that fax will be the next Internet killer app. Since fax makes massive use of the (metered) PSTN, but has few of voice or video's quality-of-service requirements. I think this is a good bet.

3.11. Desktop Environments

During the time of the great DOS vs. UNIX debate, UNIX was always the target of rather absurd "UNIX is harder to use than DOS" attacks, as though dir were any more intuitive than ls. With the advent of Windows, and more recently the Windows 95/98/NT desktop, the charge actually has merit. In the commercial world, the Common Desktop Environment (CDE) has been promulgated by the major UNIX vendors to address this issue. The Friday afternoon Freenix track included presentations on two free desktop environments for UNIX and UNIX-like systems, the K Desktop Environment (KDE) and the GNOME desktop environment.

3.11.1. KDE

B. J. Wuebben of Cornell made the KDE presentation. The KDE effort (http://www.kde.org) is based on C++ and the Qt graphics toolkit. KDE will provide a development framework, and also an application suite. Since there is some concern in the open-source arena about KDE's reliance on a commercial toolkit (Qt), the KDE organization has taken care to ensure that if the company distributing Qt is ever bought or goes out of business, the rights to Qt will revert to a non-profit organization.

3.11.2. GNOME

Miguel de Icaza of the Universidad Nacional Automata de Mexico made the GNU Network Object Model Environment (GNOME) (http://www.gnome.org) presentation. Icaza is a very entertaining speaker who frequently had the audience in stitches; very likely this colors my perception that GNOME is at the very least a more fun project than KDE. In order to keep the source code for GNOME completely available, and to avoid the requirement of using C++, the GNOME team has opted to base their interface on a GNU package, Gtk. Red Hat, a major Linux distributor has just hired two full-time programmers to work on GNOME and coordinate the team, so GNOME is positioned to be a major player in the Linux world.

3.12. The Future of the Internet

John Quarterman of Matrix Information and Directory Services, Inc. (MIDS) (http://www.mids.org) made the Friday afternoon Invited Talks presentation on the future of the Internet. MIDS does all sorts of Internet graphing, and Quarterman explored several trends in Internet growth. In particular, the growth of the number of users on the Internet cannot long continue on its current path, due the large but finite number of humans on the Earth. This is untrue of Internet hosts, and we may well at some point in the not too distant future have more Internet hosts than people. Quarterman also presented growth curves for other networks (UUCP, USENET, Bitnet, Fidonet, etc.), and found that except for those that have managed to harness themselves to the Internet (i.e., USENET) they have all gone flat, are in decline, or even (in the case of Bitnet) have ceased to exist. (I shed no tears for Bitnet...)

It was an interesting talk, but one which, unfortunately, I had to leave in order to catch my plane.

4. BOFs

Also announced at the BOF was a new Tcl Consortium, independent of Scriptics. The consortium will attempt to raise Tcl visibility and encourage Tcl developers. As part of their push for Tcl publicity, they gave out some spiffy mouse pads and t-shirts to the audience.

You can download the latest releases of Tcl/Tk from the Scriptics site at http://www.scriptics.com, and check out the activities of the Tcl Consortium at http://www.tclconsortium.org.

4.4. UWIN

Dave Korn is a familiar name in the UNIX community due to his popular UNIX command interpreter, the Korn shell (ksh). He continues to do interesting work inside AT&T, and one of his current projects is Uwin, a UNIX emulation package for Windows NT. The latest version of Uwin is available at: http://www.research.att.com/sw/tools/uwin, and is free to educational and research users. (Commercial users can license it at: http://www.gtlinc.com/Products/Uwin/uwin.html)

Another member of Korn's team also presented during the BOF, describing a Container Data Types (CDT) package based on splay trees, an improved malloc, (Vmalloc), and an improved alternative to the UNIX Standard I/O package called Safe Fast I/O (SFIO). This last was very interesting. It provides a binary compatibility interface for stdio programs, performs better, and also enables a number of new features, such as the ability to define new printf() formats and redefine old ones, and to safely specify data sizes (important as the world moves to 64 bits). In SFIO, for example, one could say:

printf("%I*d, sizeof (long long), long_long_var);

to safely print a long long integer no matter how many bits the internal representation requires.

CDT and Vmalloc are free for non-commercial use; SFIO is free for all use. All three are available at: http://www.research.att.com/sw/tools.

4.5. GNU

I couldn't attend the GNU BOF this year due to some scheduling conflicts, but I did get a copy of their periodic Gnusletter. Aside from the polemics about GNU/Linux, which I touched on earlier, there are several new developments:

Work has started on Display Ghostscript. This will extend the popular ghostscript PostScript emulator to deal with Display PostScript commands.

The GTK (Gnu GUI Toolkit) is available. (As I mentioned earlier, this toolkit is the graphic basis for GNOME).

GIMP (The Gnu Image Manipulation Program) is available in beta. This is a program that offers capabilities similar to Adobe Photoshop.

The Gnu spreadsheet, Oleo, is back under active development.

A Gnu SQL server (gsql) multi-user RDBMS is now available in alpha form.

As always, source code for all Gnu projects is freely available for FTP from prep.ai.mit.edu in /pub/gnu, and the GNU homepage is available at: http://www.gnu.org. No reasonable person would have started the Gnu effort way back when, and sometimes this is still obvious, but we all owe the Gnu folks a huge debt, so check out their programs and send them patches.

5. Envoi

In a world running on Internet-time, it's hard to avoid being overwhelmed; but after spending a week with people who do have a clue, and are so passionate about it, it's hard to be pessimistic. I doubt the future of computing or networking will be exactly what anyone in Usenix envisions (we are a notoriously UNIX-centric bunch), but by the same token, I don't think it will be exactly what Bill Gates envisions either. Several years ago, there was an almost palpable NT-scented miasma hanging over the UNIX and Internet communities. This year, even in the steam bath of New Orleans, I could feel a fresh breeze.

About the Author

Ted Nolan holds a B.S. and M.S. in Computer Science from the real USC, the University of South Carolina. A lifelong Southerner, he currently works in Augusta, Georgia as a programmer for a California-based research institute.