Interconnections was written by Radia Perlman, a leading networking expert. She wrote this book intending to help people understand networking problems and provide a reference to relevant issues. She didn't simply present a collection of texts condensed from the literature and specs; instead, by keeping an open mind, she documented many techniques, both good and bad, in a carefully arranged manner with an expert's insight. It is one of the best books available on networking today.
People surf the Internet, from which they find an explosion of sources of human wisdom and civilization. Behind the scenes of the Internet are specialized boxes and protocols. These boxes are called bridges, routers, switches and hubs, and are connected via various communication channels, through which they talk with each other in predefined languages known as protocols. Writing a book to describe this area comprehensively is a daunting task. We haven't yet seen many good books in the field. Interconnections is excellent in its coverage of issues in both layer 2, that is, the data-link layer on which bridges are operating; and layer 3, the network layer on which routers are operating. It presents a broad view of the techniques to connect computers together. The book gives an excellent introduction to all these issues.
The first edition of this book, published in 1992, has been a best-seller and acclaimed as a classic on the topic. Since then, tremendous progress has been made in internetworking technology. Traditional companies are feeling pressure from new start-ups in the networking arena. More people are eager to learn about networking. It is great to see a new edition of Interconnections published at this time. The second edition is not simply an update, but a competent rewrite of most chapters, with a few exceptional chapters remaining largely unchanged. This new edition places more emphasis on networking designs and covers issues not found in the first edition, such as hubs, fast packet forwarding, autoconfiguration, multicasting and protocol design folklore.
This book is comprehensive for general networking concepts and techniques, including obsolete techniques in legacy systems such as X.25 and up-to-date advances such as multicast routing. The author intentionally puts various networking techniques (both good and bad) in one place to help people understand not only why we do something in this way but also why not in that way, in hopes that future networking designers can learn from these lessons and avoid the same mistakes. Given a problem, the author doesn't simply list a well-accepted solution, but often provides several alternatives. This helps reveal the differences, advantages and weaknesses of various solutions. For example, in Chapter 9 the author summarizes almost all well-known network layer address structures, whether widely or seldom used: IP, IPX, IPv6, CLNP, AppleTalk and DECnet.
Interconnections are implemented mainly by bridging and routing. The book discusses issues around these two interconnection approaches. It also mentions connections by devices like hubs, which are simple repeaters and widely used in offices. The best part of this book is the section on bridging. One of the author's greatest contributions, the spanning tree algorithm, was made in this area. Routing is complex. The author also did an excellent job in summarizing this issue. Most chapters are devoted to routing. Compared with other books on routing techniques, this one covers more general topics and has more author's comments. Moreover, Perlman's book is outstanding in that it deals with both bridging and routing in one text. Bridging techniques rarely found anywhere else are described in depth.
Confusion in networking terminology often arises in the networking industry. This is due to the complexity of the problems and, historically, the lack of consensus. The author makes complex topics understandable by using simple words and examples. The author tells us the word ``switch'' means nothing but ``fast'' bridge or router or some hybrid, better used as a generic term for a box that moves data. She also relates anecdotes, which make the text more entertaining as well as more informative.
Like many other books on networking, this one starts with an introduction to the well-known, seven-layered OSI reference model. The first chapter is characterized by discussions of a few networking properties which are important in network designs.
I found chapters 2, 3 and 4 to be the most interesting part of the book, as with the first edition. They are excellent descriptions of bridging techniques. The author describes transparent bridging and her invention of the spanning tree algorithm in detail. As an alternative (although not popular) solution, source routing bridges are introduced in Chapter 4.
Chapter 5 briefly discusses devices evolved from original repeaters, bridges and routers like hubs, faster and virtual LAN techniques.
Chapters 6 to 15 are about network layer (that is, layer 3) techniques. These chapters cover introductions to almost all major issues about moving data around internets, or simply routing. In these chapters, readers can find a wide range of information on networking techniques such as network service models (like connectionless and connection-oriented, best-effort and reliable services), address structures (like IPv4 and IPv6) and routing protocol data packet formats, and unicast and multicast routing protocols (like RIP, BGP, OSPF, ISIS, PNNI, DVMPR, MOSPF and PIM-SM).
Chapter 16 is an abstraction of the author's PhD dissertation on a technique for a high degree of network robustness.
Chapter 17 and 18 summarize the book. Chapter 17 compares bridges and routers. It further clears the confusion between terms of bridges, routers and switches. Chapter 18 is completely new in the 2nd edition. The author illustrates some good protocol design philosophy by relating some folklore. I thought it was the most entertaining chapter of the book.
The Internet infrastructure, consisting of interconnected devices and information sources, is a must for Linux to flourish. Linux, in turn, has been making ever-growing contributions to interconnection technology. Although not a single word about Linux can be found inside, Interconnections should benefit anyone inside and outside the Linux community, beginner and expert, developer and manager, who is curious about what happens inside networking boxes and wants to obtain a solid knowledge of networking.
He Zhu (hezhu@yahoo.com) is interested in system software and networking. He is currently working for Bell Labs, NJ.