Different types of readers will find this book useful: laymen, who would like to get acquainted with the peer-to-peer (P2P) topic; teachers, who are looking for a good reference book for their overlay networking course; and newly established PhD students, who are curious whether P2P is still an interesting theme and want to know where current literature can be found. Also, engineers employed by Internet providers who are dealing with P2P traffic on a daily basis will like the book, as it presents the issue in a compact and easy-to-understand form.
An introductory work, the 400-plus pages sketch the current state of the art in P2P science and engineering, with emphasis on the former. After surveying P2P applications and both technical and business motivations for dealing with this dominant source of traffic in chapter 1, it presents an overview of the main technological aspects: operational foundations, graph-theoretic description, and routing problems. Three consecutive chapters deal with two types of P2P networking paradigms relevant for file sharing: unstructured (chapter 3) and structured overlays (chapters 4 and 5). They focus on routing issues and classification of approaches, as well as descriptions of the most representative examples. Maintenance issues are covered more thoroughly for overlays based on distributed hash tables. Chapter 6 is addressed to people who plan to deploy the relevant networks; it covers basic components of a P2P application, a few overlay protocols (such as Gnutella and BitTorrent), and practical problems with operation (network address translation (NAT) traversal and bootstrapping). Chapter 7 elaborates on searching methods, the second largest functionality of file-sharing overlays. Content delivery--the largest--is discussed in the subsequent chapter. Older P2P books were written too early to deal with the relevant multicasting methods; now, since it is possible to describe this rapidly evolving branch of overlays, chapter 9 is devoted to them. Then, Buford et al. discuss more networking issues: overlay measurement in chapter 10 and specific-purpose applications (such as resilient routing) in chapter 11. The well-known P2P-based Internet telephony application is discussed in chapter 12. The remainder of the book overviews atypical issues and will be of most interest to researchers. Chapter 13 overviews P2P-related mobility, chapter 14 covers security, and chapter 15 is on management.
The book includes a useful glossary of basic terms, a comprehensive bibliography, and an index. Furthermore, each chapter has its own “For Further Reading” section.
I cannot help but like this book, as it is short, nicely written, and perfectly edited. From a teacher’s perspective, it is very valuable. Without hesitation, I recommend it to readers beginning their P2P adventure.