Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
PPP design, implementation, and debugging
Carlson J., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2000. 400 pp. Type: Book (9780201700534)
Date Reviewed: Nov 1 2001

The success of the Point-to-Point Protocol (PPP) as the de-facto standard in dialup and point-to-point Internet connections is unquestionable. What is not widely known, however, is that PPP is not only used on personal computers: it is a much broader protocol, used to transfer data between diverse kinds of systems, such as routers, satellites and mainframes.

As soon as I started reading, I realized that this book is far from just another collection of information replicated from requests for comments (RFCs) and user manuals. The author has a very strong engineering background and an in-depth knowledge of the PPP internals, which translates into a very clear and coherent presentationof almost every aspect of the PPP protocol. The flow of information is smooth, offering an almost linear learning curve for beginners, and for each topic, technical information is accompanied by valuable guidelines, drawn from the author’s PPP implementation experience.

The content of the book is carefully organized, starting with a short history of the roots of PPP and the Internet. Chapter 2 covers the PPP communication basics, explains how PPP fits into the overall picture of internetworking, and presents the way PPP is combined with High-level Data Link Control procedures (HDLC) to support almost every kind of communications media. The Link Control Protocol (LCP) and the PPP state machine are presented in chapter 3. This is one of the most important chapters in the book, because the operation of every PPP implementation is based on the PPP state machine, and every Network Control Protocol (NCP) is based on the same mechanisms used by the LCP. To help readers who do not have experience of reading complex state machine diagrams, the author separates the layer establishment from the layer tear-down procedure with two simple state machines, which are explained separately, making the learning process much easier. Once the reader comprehends these models, he or she is ready to trace the complete PPP state machine model, which is explained in detail. The text contains very useful option negotiation examples and packet loss scenarios with self-descriptive interactivity diagrams, that help aid understanding of how LCP option negotiation is performed.

Chapter 4 is dedicated to the PPP authentication protocols. Additional information on using external security servers with PPP is provided herein and the collection of PPP security pitfalls to be avoided by system administrators and users should be very useful.

Much of chapter 5 is also focused on protocol definitions, presenting almost every network layer protocol that PPP supports. The second part of this chapter is very useful for network administrators, as it deals with IP addressing issues and suggests ways to avoid configuration problems in various network topologies. The author provides useful suggestions for those implementing and operating PPP.

Data compression (Compression Control Protocol, or CCP) and encryption (Encryption Control Protocol, or ECP) in PPP are discussed in chapter 6.

Chapter 7 focuses on the bandwidth management techniques currently used with PPP today, including demand-dialing, aggregation of multiple links, active bandwidth management, cost-shifting and multiplexed use of a single link. Multilink PPP (MP) is a very important topic, and it is very clearly explained in this chapter, with illustrative diagrams, examples and valuable implementation guidelines.

PPP Tunneling is the process of running PPP on top of another protocol. There are various reasons for doing this, which are explained in chapter eight. Virtual Private Networking (VPN) is one of these applications. This chapter presents the PPP Tunneling Protocols, including the Layer Two Forwarding (L2F), the Point-to-Point Tunneling Protocol (PPTP), the Layer Two Tunneling Protocol (L2TP), the PPP over Ethernet (PPPoE) and other nonstandard tunneling mechanisms.

Debugging PPP links is the topic of chapter 9. Problems areidentified in the following three categories: communications, negotiation, and networking. The author describes the techniques for debugging different types of problems by following a top-down approach from the indication to the root of the problem.

Chapter 10 focuses on a specific PPP implementation that is currently used in the Linux operating system, namely the ppp-2.3 (or pppd). Pppd is distributed with most versions of Linux with an open-source license. It is written in C, and is considered to be a good example of a well-written PPP implementation. Finally, chapter 11 contains a rich collection of PPP resources.

With this book, Carlson has succeeded in a very challenging project: to collect, organize and present technical information and years of experience on the Point-to-Point Protocol in a vivid, coherent way. The book is exceptional in its clarity and completeness, and can be used as guide and reference material at the same time. I highly recommended it for all audiences interested in understanding how PPP works, including faculty members, students, network administrators and implementers.

Reviewer:  Nikolaos Tsarmpopoulos Review #: CR125519 (0111-0399)
Bookmark and Share
 
Ppp (C.2.2 ... )
 
 
Packet-Switching Networks (C.2.1 ... )
 
 
Standards (C.2.6 ... )
 
 
Communications Applications (H.4.3 )
 
 
General (C.2.0 )
 
 
Security and Protection (K.6.5 )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy