Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!think!ames!hao!gatech!rutgers!princeton!allegra!ulysses!faline!karn From: karn@faline.UUCP Newsgroups: comp.dcom.lans,comp.protocols.misc,comp.sources.wanted Subject: Re: OSI-model software Message-ID: <638@faline.bellcore.com> Date: Fri, 12-Jun-87 20:34:04 EDT Article-I.D.: faline.638 Posted: Fri Jun 12 20:34:04 1987 Date-Received: Sat, 20-Jun-87 18:59:23 EDT References: <223@diab.UUCP> <233@idacrd.UUCP> <526@alliant.UUCP> <1204@botter.cs.vu.nl> Organization: Bell Communications Research, Inc Lines: 92 Summary: The problem with ISORMites (pronounced "eyesore-mites") Xref: mnetor comp.dcom.lans:541 comp.protocols.misc:72 comp.sources.wanted:1385 In article <1204@botter.cs.vu.nl>, ast@botter.UUCP writes: > Virtually everyone now agrees that the OSI model is a good way to look at > networking. The war is about which protocols which be used in which layer. About the only thing virtually everybody agrees on is that hierarchical layering is usually a good idea in a computer communication network. The ISO Reference Model (not so fondly called "eyesore-emm" by Padlipsky) is only one of several possible hierarchical models, and a rather outdated one at that. Among the major flaws of the ISO Reference Model are: 1. A fixed number (7) of layers. In a real network there may well be more or less than 7 layers. The important thing is the relative position of a protocol in the hierarchy and the function it performs, not the fixed "level x" designator it might have. Jon Postel and Danny Cohen wrote a paper a few years ago in which they examined some real networking systems and showed that either a) N = N + 1 (for any value of N), OR b) the notion of "seven and only seven layers" is fundamentally flawed. 2. It completely ignores internetworking. This is related to point #1, since in a real internetwork you may very well have two or more network layers in a "stack", e.g., a subnet layer underneath an internet layer. (Some people do split ISO Layer 3 into Layer 3A, the Subnet layer, and Layer 3B, the Internet layer.) The fact that the model still doesn't formally recognize the very real existence of and need for internetworking says something about the motivations of those who influence the ISO. 3. Overly redundant layer functionality. My pet peeve is the use of the term "reliable" in the link layer description, implying that the primary burden for reliable delivery of information rests here instead of the transport layer where it belongs. No other concept has contributed so much to needless complexity, inflated costs and lousy performance than the stubborn notion that each and every layer must "guarantee" reliability, usually through the use of an overhead-laden connection- oriented protocol. A decade ago this mentality brought you X.25. Now it has resurfaced in an even more astonishingly byzantine creation, "IEEE 802.1 Connection- Oriented Logical Link Control" (basically X.25 over Ethernet, believe it or not). For more on the general subject of end-to-end vs low level reliability mechanisms, see "End-to-end Arguments in System Design" by Jerome Saltzer of MIT. 4. While important concepts are ignored, another layer exists whose function is questionable at best: the Session layer. I've yet to figure out just what it's supposed to do, and why a separate layer is needed to do it. 5. While not a fault of the ISO RM per se, some of its overly zealous followers (whom Padlipsky also not-so-fondly refers to as ISORMites, pronounced "eyesore mites") tout it as *the* way a network *must* be built. Even the originators of the ISORM never intended it as anything other than as a general guide to *naming* the pieces of *existing* networks. For example, I've had people tell me that I can't have a "network" without a separate Session layer, even though TCP and UDP have perfectly adequate port numbering and "well known socket" mechanisms. When I ask why, they say "ISO says so". In addition to the faults of the underlying reference model, the ISO/OSI "protocol suite" has a host of faults of its own. First and foremost among them is the fetish for connection-oriented protocols. Only recently did a connectionless transport protocol get added, despite the widespread use of UDP in the ARPA Internet for things like network databases and distributed file systems. On the other hand, there are a FIVE different and mutually incompatible protocols all providing a connection-oriented transport service (TP-0 thru TP-4). If the ISO was *really* serious about "open systems interconnection", they would pick ONE connection-oriented transport protocol (TP-4, the most general one). They claim you don't need all that reliability if you're running on a PTT network, but of course the real reason is that they're scared to death of internetworking. There's no way a PTT is going to allow it to happen unimpeded. Yes, eventually you may be able to pick a "subset" of the ISO stack that answers the needs of the internetworking world. But if you do, you end up with something that is similar to, but (deliberately) incompatible with TCP/IP. So why bother? In summary, if you think open systems interconnection is a good idea, I agree. That's why I and so many others use TCP/IP. I have nothing against migrating to an international standard if it is provably superior to what we have (e.g., the metric system vs the English system) but this is *not* the case with OSI in its present form. I also dislike the "bomb crazed military", but I also see no reason not to take their technology and beat it into plowshares. In fact, it gives me a real feeling of satisfaction to take military technology and pervert and subvert it to peaceful uses! Phil