Dec. 2013 (Vol. 46, No. 12) pp. 9-10
0018-9162/13/$31.00 © 2013 IEEE

Published by the IEEE Computer Society
Andrew Tanenbaum: Writing the Book on Networks
  Article Contents  
  Round One  
  Round Two  
  Round Three?  
Download Citation
   
Download Content
 
PDFs Require Adobe Acrobat
 

Andrew Tanenbaum describes how he came to write one of the key books in the computer science field.

I would guess that most of the people reading this article have or will take a class at some point in their career that uses Andrew Tanenbaum's Computer Networks textbook—most people simply call it “the Tanenbaum book.” I fondly remember the version with the orange OSI model on the cover from the 1980s when I took my first networks class. Now in its fifth edition and nearly 1,000 pages long, Computer Networks has been in print continuously for more than 20 years.
I visited Tanenbaum at the Vrije Universiteit (VU) in Amsterdam to learn more about how his iconic book came to be published. To view our discussion in full, visit www.computer.org/computingconversations.
Round One
Computer Networks, first published in 1981, was Tanenbaum's second book; he had already published Structured Computer Organization in 1976:
There was nothing on computer architecture that I could use, so I began writing class notes, and I had somebody punch them onto paper tape. I wrote to a couple of publishers and said, “I have this book—are you interested in it?” Most said “no” right off the bat, but eventually Prentice Hall expressed interest. I said I had it on paper tape, thus it had already been typed in, but they didn't care. They sent the manuscript to Japan to be typeset—it took 18 months, cost the publisher $40 per page, and I had to proofread the whole thing at the end. I must say that the Japanese were pretty good at typesetting it accurately. If you gave me 500 pages of Japanese text to typeset, I assure you it would not be very accurate.
When Tanenbaum started to teach a networking course in addition to his computer architecture class at VU, he once again felt that there was no suitable book available that would meet the needs of his software-oriented students:
Up until that point, most of the books on networking were kind of like Len Kleinrock's thesis about queuing theory and bandwidth; there wasn't much on protocols and software. I’m a software guy, so I felt that it would be more important to talk about protocols and whatnot.
At that time, the International Organization for Standardization's seven-layer cake was out there but wasn't catching on for a variety of reasons—largely political I think because it was being shoved down the throats of various people by the postal, telephone, and telegraph agencies. People in the Internet community didn't want things shoved down their throats, but the idea of doing protocols as a series of levels was clearly a good idea.
While the ISO network model had political and technical issues that kept it from being widely adopted, Tanenbaum felt that the seven-layer approach was an excellent way to break down the networking issues into more understandable components for teaching purposes:
You can certainly think of examples where you have two philosophers who want to talk about some topic but don't want to deal with the details of communication, so they each give something to their secretaries, and the secretaries figure out whether they'll communicate by email or send letters or make phone calls or telegrams—all those protocol levels are different. With the seven-layer model, you can talk about the various issues that come up at different levels.
The next question was whether to teach the topics from the top down or start at the bottom and work up. Tanenbaum decided that bottom-up made the most sense:
It's hard to explain how TCP works when you don't know how the bits get from A to B, which is why we start with the wires. How does copper wire work? How does coaxial cable work? How does radio work? How does fiber work? Next, we explore how we know when there's a “bit” on the wire and how we know when a frame begins and ends—all the different things you see as you work your way up the stack. It seemed to me the most logical way to teach it.
Round Two
Once his materials for the networks class were well developed, he again approached Prentice Hall to see if they would publish a book, but he didn't want go through the 18-month process of hand-typesetting and proofreading:
I said that this time I had the book in troff format, and I knew about a company in Maryland that had a C/A/T typesetter that could typeset directly from troff. Prentice Hall sent a vice president in charge of manufacturing down to Maryland to investigate. He told them he had a book in troff format and asked whether they could typeset it. They answered “yes,” but immediately began apologizing: they were extremely busy, so there was absolutely no way to finish the typesetting that week. The VP kept blinking his eyes because he was thinking “18 months in Japan” versus “next Monday,” so he asked how much it would cost—the answer was $5 per page. He had to be thinking, “It was $40 per page in Japan and took 18 months, and these guys can do it in a week at $5 per page—maybe we’re on to something.”
Tanenbaum gave the company the text on a magnetic tape in troff format. After a bit of interaction about font tables and character widths, the book was quickly typeset and printed. Because of lower costs and quicker turnaround time, the pattern of using troff and typesetting machines quickly became the norm for publishing computer science textbooks. Eventually LaTex became more widely used for typesetting, but troff is still around—every Macbook and iMac is shipped with it.
Round Three?
The book was (and continues to be) very popular because it provided a way to study networks that fit into increasingly software-development-oriented computer science programs. As the author of the book that taught an entire generation of computer scientists about networks, Tanenbaum draws a crowd wherever he travels:
When I was in China a couple of years ago, I had a very rigid schedule with a number of things I had to do during the day. I gave a lecture, and then 400 students would show up afterward and want to have their picture taken with me and have me sign their books. The hosts were going crazy because this took about an hour, but I had fun with it.
Even though the book has been in print for 20 years with five editions, students’ need to understand networking is only increasing. The fifth edition is coauthored with David Wetherall from the University of Washington, and they’re both thinking about how to teach the material even more broadly:
David Wetherall and I collaborated on the most recent edition. He has made a MOOC [massive open online course] about the book. We’re trying to figure out exactly where the MOOC fits in with the rest of the book-related materials. He was recorded giving his lectures about the book, but now the questions are, “What next?” and “Where do MOOCs fit in?”
As practitioners, we’re fortunate to have had a book available from nearly the beginning of our global network's development. His book was first published back when the Arpanet was still putting the finishing touches on TCP/IP and five years before the NSFNET was deployed. Many of the people who built the earliest NSFNET technology and solved technical problems as TCP/IP scaled from hundreds of computers to millions most likely learned what they knew about networks from the “Tanenbaum book.” It's rare to see a book published so early that it enabled innovation at a key time for networking. You can find the MOOC for Computer Networks at http://computernetworks5e.org.
Charles Severance, Computing Conversations column editor and Computer's multimedia editor, is a clinical associate professor and teaches in the School of Information at the University of Michigan. Follow him on Twitter @drchuck or contact him at csev@umich.edu.
FIRST
PREV
NEXT
LAST
Page(s):
[%= name %]
[%= createDate %]
[%= comment %]
Share this:
Please login to enter a comment:

Computing Now Blogs
Business Intelligence
by Ray Major
Cloud Computing
A Cloud Blog: by Irena Bojanova
Enterprise Solutions
Enterprise Thinking: by Josh Greenbaum
Hot Topics
NealNotes: by Neal Leavitt
Industry Trends
Insights
Mobile Computing
Shay Going Mobile: by Shay Shmeltzer
Networking
NGN-Insights: by Martin Nuss and Uday Mudoi
Programming
No Batteries Required: by Ray Kahn
Software
Software Technologies: by Christof Ebert
Sponsored
RESET