Read an Excerpt
Why This Book, Now?
Open systems - in particular, Open Systems Interconnection (OSI) and TCP/IP - are all the rage. There are plenty of books that discuss OSI and plenty more that discuss TCP/IP. However, despite the facts that the architecture and goals of OSI and TCP/IP are essentially the same, and that they are really just currently popular manifestations of the same fundamental principles and techniques, no previous book has examined the two in parallel. This book covers both Open Systems Interconnection and the Internet architecture and protocols, commonly known as TCP/IP. There are many compelling reasons for examining these architectures in parallel, which is what this book intends to do.
TCP/IP Has Strongly Influenced the Design of OSI
Many of the features and functions present in OSI trace their roots back to TCP/IP; for example, OSI's transport protocol class 4 and connectionless network protocol (CLNP) are functionally equivalent to TCP and IP. Furthermore, OSI's application services - Message Handling System, File Transfer Access and Management, the Directory, and Virtual Terminal -- are all attempts to improve upon their TCP/IP ancestors; the OSI Message Handling System, for example, is intended to improve upon the highly successful electronic-mail facilities provided in the TCP/IP protocol suite by the Simple Mail Transfer Protocol by permitting facsimile, images, and voice to accompany text in a mail envelope. The OSI Message Handling System also provides a platform for Electronic Data Interchange and Office Document Interchange, and the OSI Directory will provides a powerful,object-oriented, global information base that can be accessed by humans as well as by distributed applications such as electronic mail and network file and resource management, building on services hitherto provided by TCP/IP applications such as FINGER, WHOIS, and the Domain Name System.
OSI continues to profit from the experience accumulated during more than two decades of research on and real-world operation of TCP/IP networks, recorded (since 1969) in an on-line document series called the Internet requests for comments (RFCs). The RFCs constitute an archive of networking experiences that are in many cases directly applicable to OSI protocol design and the deployment of OSI-based networks as well as to the TCP/IP world that has been their traditional focus. This is particularly true, for example, in the area of transport protocol operation, in which OSI transport protocol class 4 and TCP share a common paradigm of "reliability through retransmission." OSI needs a research platform the likes of the Internet not only to test and draw interest to its application services but to stress the limits of its routing and transport protocols.
OSI Has Also Influenced TCP/IP
TCP/IP's open shortest path first routing protocol is derived from OSI's intradomain intermediate system to intermediate system routing protocol (which was itself an adaptation of a link-state routing protocol developed for IP under the auspices of the Defense Advanced Research Projects Agency). OSI's data-definition language, Abstract Syntax Notation One, is used to define the Simple Network Management Protocol and its management information base. And OSI's Message Handling System and Directory are so promising that they are already operated over TCP/IP in large portions of the Internet.
OSI and TCP/IP Are Learning to Cooperate
Government open systems interconnection profiles (GOSIPs) and other computer and communication system procurement specifications mandate that OSI be introduced into the networking environments of government (particularly defense) agencies in Europe and the United States. Mandates such as these, al-though highly criticized, have at least had the positive effect of causing developers on both "sides" to work together. Although the relationship between TCP/IP and OSI developers has ranged from quietly acrimonious to openly hostile in the past, the cold war is over (although, some highly vocal pockets of resistance remain), a period of détente is ending, and a glasnost has begun, as both sides see the benefits of working together. The number of "tweeners" - networking professionals who work on standards and development in both the OSI and the TCP/IP arenas - is growing, not because they think that it is important to cover all the political bases or because their positive self-image is enhanced by the broad-mindedness implicit in such an arrangement, but because the essential technical and organizational problems of networking (particularly internetworking) are the same everywhere and do not divide cleanly along party lines. The increased cooperation in areas of mutual concern - including interdomain (policy-based) routing protocols, OSI integration, and perhaps accredited standardization and government profiling of TCP/IP - will play an important role in the future of open systems networking.
The History of OSI Is Significant -- Yet Largely Unknown
Having read several books about OSI prior to undertaking this project, the authors discovered that without the context of "having been there" to explain some of the seemingly irrational behavior of the OSI standards makers -- and to translate the often impenetrable "standardese" of OSI - existing books either leave a false impression of OSI or fail to leave any impression at all, since they merely coalesce, condense, and regurgitate the OSI standards without separating what is important from what is not. The authors believe that one has a much better chance of understanding how something works if one knows how it got to be that way, if someone points out the issues that have been overblown, and if the unlikely scenarios are distinguished from the scenarios that are probable in real-world networks. The authors and contributors were present during the most significant periods of OSI standards development and remain active as architects of a future, multiprotocol Internet. They are in a much better position to sort the standards wheat from chaff than those who first encountered the issues only after the standards were published.
As Is the History of TCP/IP
To a large extent, the history of TCP/IP is the history of OSI. Those who are often perceived by the Internet community to be the "rational core" of OSI standards developers were, for the most part, weaned on TCP/IP: to the astonishment of some hard-core Internetters, they actually knew how to use and implement TCP/IP and its applications before they became involved in the development of OSI, but most important, they respected TCP/IP and appreciated the advantages of continued cross-fertilization between OSI and TCP/IP technology.
A Multiprotocol Global Internet Is Coming!
Open systems networking is the basis for the evolution of a truly global Internet. The significance of open systems networking cannot be understood by focusing attention on OSI or TCP/IP - or any "open" protocol architecture - in isolation. Only by examining both (eventually, all) of them in context can the history and likely future of internetworking be understood. From these observations come the objectives of this book: make OSI intelligible, relate it to TCP/IP, and in the process, reveal the stories -- the whys and wherefores -- behind the standards. These objectives serve as the major differentiator between this and many other books that appear to cover some of the same material. Open Systems Networking: TCP/IP and OSI is not simply a reiteration or regurgitation of the OSI and TCP/IP standards, nor does it treat open systems networking as an adjunct to a book whose main purpose is to talk about data communications. Such reference material already exists and is not sufficient.
Several OSI-related books are specialized. Rather than examine OSI in a detailed manner from top to bottom (more often, bottom to top), they focus on a specific area of OSI: upper layers, lower layers, perhaps a particular OSI application such as the Message Handling System or the Directory. These are valuable but often can't serve as (nor do they pretend to be) a comprehensive primer. Open Systems Networking: TCP/IP and OSI attempts to present OSI and TCP/IP in a methodical, stepwise progression, beginning with basic architectural principles, the application of those principles to specific services and protocols, and the behavior of computer systems that operate the protocols and form open networks.
Open Systems Networking: TCP/IP and OSI further departs from the norm by adopting a "top-down," user-oriented approach. Electronic mail, for example, is discussed in the following contexts: What does it do? What does a network have to do to make it happen? How do these functions appear in OSI and TCP/IP (and why do they appear in that particular way)? A consequence of applying the "top-down" approach is that the text makes forward references (typically, toward more detailed explanations of what has been described at a conceptual level); a benefit is that readers deal first with aspects of open systems networking at a conceptual level (what something is) and later with the specific details of how something actually works.
Demystifying Open Systems
OSI and TCP/IP share concepts, even some culture, but they certainly do not share terminology! OSI and TCP/IP both suffer from "acronymania"; OSI, in particular, is far and away the most acronymaniacal technology yet inflicted on the world of networking. This book attempts to translate OSI (and TCP/IP) architecture and terminology from "ISO-ese" to "plain-speak." A major objective of Open Systems Networking: TCP/IP and OSI is to make it easier for readers to understand and apply basic networking concepts in the context of open systems. To some extent, the use of acronyms is unavoidable (as readers may already have noted). In this book, the use of acronyms is as much as possible abandoned in favor of more popular and accessible terminology; for example, the word packet or frame is preferred to the less intuitive OSI acronym PDU (which stands for "protocol data unit").
Open Systems Networking: TCP/IP and OSI compares and contrasts the OSI approach with the TCP/IP approach in what is intended to be an evenhanded and pragmatic fashion, taking sides on technical issues when appropriate but avoiding the political-party fervor with which the comparison is often fraught. For example, if the question "What does OSI's MHS add to message handling that TCP/IP's SMTP lacks?" is interpreted as biased in favor of OSI, the balance is eventually restored when the question "Why has SNMP, not CMIP, been so widely embraced by the industry?" is also posed and answered.
In some areas, the book may appear to be almost chaotically neutral, suggesting, for example, that TCP/IP's Simple Network Management Protocol might be used over OSI's connectionless transport protocol to manage OSI network resources or that the OSI Directory be used over TCP/IP to provide an array of information services. Although this might be interpreted as heresy (or at least disloyalty) by purists in the OSI and TCP/IP communities, the authors believe that it serves the user community much better than orthodoxy, since it demonstrates that open systems networking is about solving communications problems, not creating or complicating them.
Notwithstanding the goal of equal treatment, readers will find much more information in this book about OSI than about TCP/IP, for two reasons. The first is the extent to which the OSI architecture - the famous seven-layer model - has been adopted, even by its critics, as a way to talk about open systems networking, even when the subject is not OSI. The concepts and terminology introduced by the OSI reference model have in many cases become the standard lingua franca of network architecture, to such an extent that even a completely evenhanded treatment of OSI and another protocol suite is liable to sound like a treatise on OSI, with the other suite appearing to be short-shrifted. The authors know of no way, short of introducing yet a third "neutral" nomenclature, to avoid this and consequently have not tried to do so.
The second is the sheer volume of information that a truly complete presentation of the entirety of OSI and TCP/IP would represent, which could not possibly be contained within a single book such as this. In those cases in which it is simply not feasible to provide truly "equal treatment" to both the OSI and the TCP/IP variations of the same theme, the authors have elected to describe the OSI side in detail and to compare and contrast the corresponding TCP/IP component with the more detailed OSI description. This choice recognizes that a number of high-quality books describing TCP/IP are already widely available, and that the technical specifications of the components of TCP/IP are not only available electronically on the Internet (at no cost beyond the network-access cost of retrieving them from one of the Internet document archives), but they are much easier to read and understand than their OSI counterparts. To successfully plow through the piles of OSI specifications (which must be purchased, at significant cost, from national standards organizations such as the American National Standards Institute without losing one's way simply requires more experienced guidance ... and money! The authors can, at least, provide the former.
Opinions Are Good!
The "value-neutral" approach adopted in many recent textbook-style treatments of OSI presents readers with the equivalent of an undifferentiated memory dump; by failing to distinguish between what is important and what isn't, these books serve the objective purpose of presenting the facts about OSI but make it very difficult for readers to understand it. A description of how each of the five OSI transport protocol classes works is a fine thing, but without knowing why there are five classes (why not just one? if more than one, why five?), and without being told that only two of the classes are ever used in practice, readers are not likely to come away with a very useful understanding of OSI transport services. The authors of Open Systems Networking: TCP/IP and OSI are in a position to make informed value judgments and to present the information in a format that leads to understanding rather than suffocation: like having an intelligent debugger, if you will, rather than a core dump.
Historical Asides and Authors' Insights
The historical and anecdotal observations made throughout the text are based on direct participation by the authors in the OSI and TCP/IP standards processes for the past 15 years, including participation in the Internet Engineering Task Force (IETF), the Internet Engineering Steering Group (IESG), and the Internet Architecture Board (IAB), as well as in many of the national and international standards committees. Many of the historical observations ("asides") concentrate on the standards process or the results of that process; by convention, they are italicized and proceeded in the text by a symbol in the text.
Readers familiar with The Open Book, by Dr. Marshall T. Rose, should not confuse these historical asides with the "soapboxes" used in Marshall's book. The Open Book is enlivened considerably by the use of soapboxes on which Marshall perches deliberately provocative, "not strictly objective" commentary on the material contained in the main text. Much of this commentary expresses Marshall's righteous indignation at the follies and pedantry of OSI and the OSI standardization process, claiming that since he wasn't there, he doesn't understand what really happened, but just look at the result! The net effect, of course, is to create and promote a pervasive negative impression about everything that carries the "OSI" label. (Some people, of course, believe that Marshall's negative impression of OSI is richly deserved ...)
The purpose of the historical asides in Open Systems Networking: TCP/IP and OSI is not to use "pen up" observations to take sides in a contest between OSI and TCP/IP. The historical asides and authors' insights in this book do not rush to defend the OSI standards or the OSI standards-making process; in fact, they are often indictments of bad decisions that led to bad standards, since they reveal how the decisions were made, exposing the inherent flaws in applying a committee consensus process to the development of technology. (In some cases, of course, the authors themselves are wholly or partly to blame, since they were there and might have known better; those asides can be read as rueful self-criticism.) The asides and insights are also used to sort the good in OSI from the bad; often, criticism is accompanied by a recommended action - such as "Ignore this part of standard X," or "Implement only these functions of standard Y" - or a forecast of what will really matter in the future. It is worth noting that the asides and insights are not confined to OSI; the shortcomings and missteps of the "working code and rough consensus" process applied in the Internet community bring TCP/IP under fire as well. The authors have jostled the memories of several of the original DARPA researchers to add an historical perspective of TCP/IP as well.
Who Should Read This Book?
For networking neophytes, this book may serve as both a primer and a road map; it answers questions such as "How does it work?," "What is relevant and what is not?," and perhaps most important, "Why did they choose to do it this way?" For experienced networking professionals, especially those familiar with TCP/IP, this book demystifies OSI and in the process illustrates both its strengths and its weaknesses. For those involved in network planning and administration, especially in environments in which TCP/IP and OSI coexistence, transition, and migration are the buzzwords du jour, this book provides a basis for understanding not only how OSI and TCP/IP work but how they might peacefully and productively coexist in complex, multiprotocol internets, today and tomorrow.
Open Systems Networking: TCP/IP and OSI does not give an exhaustive explanation of the details of every protocol or service. The goal of this book is not to serve as the definitive "reader's companion" for every open systems networking standard but to present and answer the "why" and "how" questions of building open networks. The book therefore includes only as much protocol detail as is necessary to facilitate understanding; no one should expect to use it as a protocol implementation manual. However, the book should enable the system designer to understand the way in which OSI and TCP/IP systems work and the way in which a specific set of concepts and terminology is used to define the protocols. It should also assist anyone who has a fundamental understanding of data communications and networking to understand and apply the principles and protocols of OSI and TCP/IP to satisfy real-world computer-networking requirements.
The authors are indebted to Lisa Phifer, Deirdre Kostick, Paul Francis (nee Tsuchiya), and Yakov Rekhter, who made substantial contributions to the chapters on network management and routing. Lisa also contributed to both the text and the historical insights provided in the chapters on the OSI upper layers and the application service elements. It is no exaggeration to say that her timely and diligent review greatly improved the quality of this book.
No project of this magnitude can succeed without the assistance of friends and family. Radia Perlman deserves credit for insisting that we write this book and then alternately encouraging and chiding us until we had. Among our friends in the Internet community, we wish to thank Stephen Crocker, Jon Postel, and Vinton Cerf for their technical assistance and the contribution of anecdotal information on TCP/IP. Among the "tweeners," our thanks go to Ross Callon, John Burruss, Christine Hemrick, Kaj Tesink, Nancy Hall, Rob Hagens, Steve Hardcastle-Kille, Susan Hares, Mark Knopper, Hans-Werner Braun, Erik Huizer, and David Katz. We also wish to acknowledge our colleagues (past and present) - Jeff Rosenberg, Jim Hopkins, Gary Summers, Scott Stein, Tracy Cox, Larry Lang, Phil Karn, Ted Brunner, Kathy So, James Davin, Dave Oran, Chuck Wade, John Day, Bud Emmons, and Al Grimstead -- who throughout our careers offered daily challenges and valuable insights, and enthusiastically supported our efforts. John Burruss, Radia Perlman, and Phil Almquist in particular deserve mention for having provided excellent technical reviews of the original manuscript.
We would certainly be remiss if we did not mention both the OSI and Internet communities as well; for more than 15 years, they have provided an immensely fertile testing ground for the formulation of networking ideas, and although the road has been somewhat rocky, we feel privileged to be a part of the process of developing networking technology.
Our wives and children demonstrated enormous patience and understanding, and offered support and encouragement that was simply remarkable. It will be difficult to repay the lost weekends and evenings, but a public acknowledgment of how much we love and appreciate them seems like a good start.
Finally, we'd like to thank Mark Taranto, who pounded the Byzantine principles of real analysis and metric space into Dave's head; he may not have contributed specifically to this project, but it's a good bet that Dave wouldn't be writing a book with Lyman without having completed his undergraduate degree in mathematics.
1. Transmission control protocol (TCP) and internet protocol (IP) are the core protocols of the Internet architecture.
2. The term Internet, with the initial I capitalized, refers to the worldwide interconnection of a vast number of backbone, regional, and local (enterprise) networks that operate TCP/IP, OSI, and other protocols. The Internet is a constantly growing entity, and although it is difficult to determine its exact size, well over 1.5 million hosts are (at the time of this writing) directly connected to the Internet using TCP/IP. A small, but growing, number of these hosts also use OSI protocols to connect to the Internet.
3. Acronymania \ 'ak-r -'nim-'m¯a-n¯e- , -ny \ n. orig. Piscitello, D. 1991 madness over acronyms; also rage or eager desire for anything related to acronyms; insane or morbid craving for words formed from the initial letters of other words; mental disorder characterized by high, uncontrolled excitement over the creation of an endless stream of words formed from the initial letters of other words (Decidedly not Webster's).
4. Readers are encouraged to refer especially to Comer (1991), Stevens (1990), and Perlman (1992a).