N-2-3-075.06 Book Reviews David M. Piscitello, A. Lyman Chapin Open Systems Networking, TCP/IP and OSI Addison-Wesley, 1993 Reviewed by Vint Cerf Even if you know all there is to know about the TCP/IP and OSI protocol suites, or maybe if you know..., you should read this book. It is one of the clearest presentations of the principles underlying the TCP/IP and OSI standards, and is offered in a format that allows substantive comparison of the concepts and rationale for various technical aspects of each suite. The style of the book is light, self-deprecating, and utterly deflates any and all self-congratulatory or pompous tendencies in either the TCP/IP or OSI communities. There are wonderful "AHA" sections in which the authors offer insights into the rationale for various technical choices - often zinging the standards-makers when the outcomes seem particularly dense. If this book were a wine, I would describe it as full-bodied, mature, and distinctly nutty (well, distinctly Piscitello...); great bouquet and big nose (occasionally bloodied by brickbats the authors throw at themselves, their colleagues and the communities in which they have worked over the past 15 years). The humor is helpful, as is the genuine and, in my opinion, successful attempt to translate from OSI-ese into understandable English. Technical standards can be a stultifying topic. In this text, clarity takes precedence over any sense of political correctness. The authors speak with considerable authority, having personally participated in or led various working groups and committees in the OSI and TCP/IP communities. I have a few additions to page 7 listing the Landmarks in the History of TCP/IP which I would like to offer. The text doesn't mention that the initial work on TCP (which preceded IP by some years) was done at Stanford University where the Internet Project was launched under a research contract from ARPA. The first draft description was written in September 1973, and presented to the International Network Working Group (INWG which later became IFIP WG 6.1). Then a paper appeared in May 1974 (Cerf and kahn, A protocol for packet network intercommunication?********, IEEE Trans. Communications, V25? No 5, May 1974). The first detailed specification was prepared by Yogen Dalal and me in December 1974. The first implementation was written by Richard Karp in BCPL on a PDP 11/20 at Stanford. Another very early implementation was written by Ray Tomlinson at Bolt Beranek and Newman, also in 1974, and it was this version that clearly demonstrated the need for a three-way synchronization hand-shake. The protocol went through four iterations with increasing numbers of implementations, including one for a PDP-9 done at University College London under the direction of Peter T. Kirstein (more about whom see below). By 1978, version 4 had been implemented and IP had been split off from TCP as the key datagram transport element at the gateway (router). Although 1979 is shown as the date for Ethernet birth, it really was developed in the 1973 period as a 3 megabit/second system. The inventors, Robert Metcalfe and David Boggs were both at Xerox PARC at the time and Metcalfe and his colleagues participated in the Stanford seminars that explored TCP/IP protocol concepts in the 1973-75 period. The Internet Standards approval process has changed somewhat since the book was written. In particular, the Internet Engineering Steering Group has the responsibility to approve standards and to forward them to the RFC Editor for publication. The book is organized into a preface, 18 chapters, distributed into 5 parts, and two appendices. An important feature is that the OSI material and TCP/IP material are treated in parallel rather than serially. That is, OSI concepts and TCP/IP concepts are compared side-by-side as the book proceeds. This allows readers to make fairly detailed comparisons of technical aspects of the two protocol suites. This form of presentation, its clarity and depth are a real contribution to the community. The book contents is show below: Part One - Introduction to Open Systems Chapter 1 - Introduction (book organization) Chapter 2 - Open Systems Standards [Fig 2.2 is hilarious] Part Two - Open Network Architectures Chapter 3 - Concepts and Terminology of Open Systems Chapter 4 - The Languages of Open Systems Chapter 5 - Names and Addresses Part Three - Upper Layers Chapter 6 - Open Systems Applications Chapter 7 - Directories Chapter 8 - Open Systems Messaging: Electronic Mail Chapter 9 - Network Management Chapter 10 - "Core" Application Service Elements Chapter 11 - Presentation and Session Layers Part Four - Middle Layers Chapter 12 - The Transport Layer Chapter 13 - The Network Layer Chapter 14 - Routing Chapter 15 - Data Link and Physical Layers Part Five - The Future of Open Systems Networking Chapter 16 - Multiprotocol Open Systems Chapter 17 - An Architectural Alternative for the Internet Chapter 18 - A Reading from the Book of Genebits [Priceless!] Appendix A - Networking Acronyms Twenty one pages of acronyms including PTK (for Peter T. Kirstein of University College London!). Appendix B - Sources