The Internet Protocol Journal, Volume 10, No. 4

Book Review

Network Routing

Network Routing: Algorithms, Protocols, and Architectures, by Deepankar Medhi and Karthi­keyan Ramasamy, Morgan Kaufmann Publishers, ISBN-13:978-0120885886, 2007, http://www.NetworkRouting.net

Routing is a fundamental architectural component of any network, and in this book the authors examine in detail the routing technologies of the Internet and the Public Switched Telephone Network (PSTN).

Organization

The book is divided into five parts, with an additional advanced section provided on CDROM. The first part examines the funda-mentals of routing technology, looking in detail at the basic approaches of distance-vector and link-state routing. The second part looks at the routing protocols used in the Internet today, as well as Traffic Engineering. The third part addresses routing in the PSTN, examining the SS7 signaling protocol and the overall architecture of the PSTN. The next part explores the internal architecture of routers, address-lookup algorithms, and packet-classification techniques. Finally, the authors consider topics encompassed in the so-called "Next-Generation Network," including Quality-of-Service Routing, Multiprotocol Label Switching (MPLS), and Voice over IP (VoIP). The advanced-topic section includes a more detailed examination of packet-switching approaches, scheduling, and conditioning. This book is positioned as a graduate-level text, and each chapter is accompanied by exercises that review the material.

The book covers a broad range of material: each topic has been the subject of entire books. The level of detail in the book varies considerably. In some instances, such as in the area of IP Traffic Engineering, it presents a highly detailed mathematical analysis of aspects of the topic, whereas in other instances, such as in the treatment of the Border Gateway Protocol (BGP), the material appears to be obviously condensed. I was expecting a little more use of algorithms to illustrate routing concepts, and found at times the mathematical analysis to be unhelpful in terms of understanding the underlying problem space being described.

Comparison

In this area of Internet routing, any publication is inevitably com-pared to Radia Perlmann's book Interconnections: Bridges, Routers, Switches and Internetworking Protocols, and this book is no exception. To my mind it falls a little short of this rather demanding standard. Radia spends some time discussing the underlying rationale as to why a particular technology was devised for a given problem space, and also discusses the strengths and limitations of the technology in various areas of application.

In Network Routing the authors limit their approach to a description of the technology by looking at packet payloads and protocol interactions and numerous deployment scenarios that illustrate the features of this particular routing technology. The consideration of choices made in the development of the protocol, and the consequent implications of such design choices, are missing in such a treatment, and the reader is often left wondering why a routing protocol has chosen to support certain functions but not others.

I found this to be a very ambitious book, because it appears to position itself both as a reference publication on routing technologies and architecture and also on the description of routing protocols, while at the same time wanting to encompass the role of a course text. This goal could have been attainable if the book had chosen a tighter focus, but the all-encompassing approach that led to the inclusion of considerations of the PSTN topics makes the outcome less than fully satisfying.

Recommended

However, the book manages to bring together the basic topics in routing in both the Internet and the PSTN, and it not only includes a good description of the routing technologies in use today, but also looks at some of the advanced topics in routing today. I found the major strength of the book in its role as a graduate-course text, where there is sufficient description of the topic to lead into further reading of current research papers and more-detailed technical material. Although the book has some shortcomings, I'd certainly recommend it as a suitable addition to the shelves of any professional in the area of Internet routing technologies and architecture.

—Geoff Huston
gih@apnic.net

The Author Responds:

I thank Geoff Huston for writing a well-thought-out review; in general, this review is fair. This book was certainly an ambitious project. I wanted to do it as I've investigated various routing protocols for almost two decades—and many people I talked to thought that it would be useful to have such a book. In fact, Dave Clark, when he read the original book proposal, wrote "It is ambitious—there may be issues of how much depth they can get on all these topics in one book," but felt that "...the approach is distinctive and very valuable. So I support the idea." As can be observed from the book, the depth on different topics remained a major trade-off we pondered without making the book go over 1000 pages (with 140 pages on CD-ROM it came pretty close).

There were a few "design" decisions I deliberately made in organizing and writing this book. One of them was based on years of teaching and interacting with industry folks: I decided to divide materials broadly on "how and why" away from "what;" this approach is somewhat surprising, but people's learning style seems to fall into these two categories (certainly there are overlaps). Therefore, details on "how and why" of different protocols went into Chapter 3 (and for algorithms into Chapter 2), while details on "what" went with chapters on specific protocols such as OSPF or BGP. Similarly, I also separated out the topic of "how" routing in the global Internet works and is organized (such as public exchange points) from the chapter on BGP. Secondly, we separated math parts from non-math parts—this way, those who are interested, for example, in detailed Traffic Engineering modeling can read the relevant chapters. Others may skip them and read just the first couple of overview sections; it should be noted that math-oriented chapters are generally organized from simple concepts to difficult concepts. Thirdly, we covered address lookup, packet filtering and classification, and router architectures separately because they can be read independently; Karthik brought his wealth of experience in writing these chapters.

I want to take this opportunity to respond to a few of Geoff's comments:

  1. "...expecting a little more use of algorithms to illustrate routing concepts." I suspect that Geoff didn’t think that Chapters 2 and 3 covered enough, although these chapters included details illustrative of distance-vector protocols, link-state protocols, path-vector protocols (and their pitfalls), and so on. As stated previously, by design of the book, illustrative examples of routing concepts were separated from specific protocols so that readers can read different portions of the material according to their interests. As an indicator to the reader, each chapter starts with a brief "reading guideline" (which is a unique feature of this book) that states how the material is organized and its relation to other chapters or sections in the rest of the book.
  2. "The consideration of choices made in the development of the protocol, and the consequent implications of such design choices are missing in such a treatment." We did indeed cover these aspects in many instances. For example, the book covers why, for I-BGP scalability, the route reflector or the confederation approach are needed; why route flap damping was developed; why ROUTE-REFRESH was added; what MPLS was trying to solve that IP-only couldn't do at that time; the need for age with Sequence Number field in link-state protocols; what led to the development of dynamic call routing from hierarchical routing in the PSTN, and so on.

    That said, I did not include certain discussions because some choices on protocols have been based on personality clashes and "camps;" I felt that this is not easily explainable in many instances—trying to do so would require quite a bit of discussion, and could potentially divert from the main focus of the book. For example, I explained why the route reflector or confederation approach was needed for I-BGP scalability, but I didn't discuss why both route reflector and confederation approaches were developed simultaneously when both convey the same idea conceptually.
  3. "... the all-encompassing approach that led to the inclusion of considerations of the PSTN topics into this book make the outcome less than fully satisfying." I included routing in the PSTN because of its historic context, and particularly to make readers aware of the evolution from hierarchical routing to dynamic routing and recent changes in routing due to Local Number Portability—these lessons are important ones to learn for anyone interested in routing or designing future routing protocols. Secondly, many concepts in MPLS/GMPLS have parallels in the PSTN, thus certain aspects in MPLS/GMPLS are easily explainable if a reader is familiar with PSTN details. We therefore felt it was appropriate to include all this material in one place. Furthermore, control- and data-path separation in GMPLS is strikingly similar to separation of signaling in PSTN through SS7 from actual voice communication. Thus, lessons learned from failure propagation from SS7 to voice paths are relevant lessons to be aware of for anyone involved in deploying GMPLS-based networks. Lastly, to discuss VoIP routing, it is critical to tie into PSTN because in the real operational environment PSTN-Internet interworking for VoIP routing is expected to remain prevalent for years to come.

Finally, the "barrier to entry" in learning about routing is very high, especially for entry-level professionals—I've attempted to position the book as both a text and a reference for professionals. Thus, I very much appreciated Geoff's concluding comment "... as a suitable addition to the shelves of any professional in the area of Internet routing technologies and architecture."

—Deep Medhi
dmedhi@umkc.edu

Read Any Good Books Lately?

Then why not share your thoughts with the readers of IPJ? We accept reviews of new titles, as well as some of the "networking classics." In some cases, we may be able to get a publisher to send you a book for review if you don't have access to it. Contact us at ipj@cisco.com for more information.